import { CreateAppUsersStepDto } from './dto/create-app_users_step.dto';
import { AppUsersStep } from './entities/app_users_step.entity';
import { AppUserStepsRepository } from './app_users_steps.repository';
import { EntityManager, Repository } from 'typeorm';
import { AppUserRepository } from 'src/app_users/app_users.repository';
import { MultipleAppUsersStepDto } from './dto/multiple-app_users_step.dto';
import { AppUser } from 'src/app_users/entities/app_user.entity';
export declare class AppUsersStepsService {
    private readonly userStepsEntity;
    private readonly userStepsRepository;
    private readonly userRepository;
    private readonly userEntity;
    constructor(userStepsEntity: Repository<AppUsersStep>, userStepsRepository: AppUserStepsRepository, userRepository: AppUserRepository, userEntity: Repository<AppUser>);
    create(createAppUsersStepDto: CreateAppUsersStepDto, manager: EntityManager): Promise<AppUsersStep>;
    updateTodayStreak(id: string): Promise<{
        date: Date;
        steps: unknown;
    }[]>;
    createMultipleUserSteps(createAppUsersStepDto: MultipleAppUsersStepDto, manager: EntityManager): Promise<void>;
    updateMultipleStreaks(id: string): Promise<{
        date: Date;
        steps: unknown;
    }[]>;
    findAll(take: number, skip: number): Promise<{
        count: number;
        data: AppUsersStep[];
    }>;
    findOne(id: string): Promise<AppUsersStep>;
    findHighestStepsWithDate(id: string): Promise<{
        best_day: {
            highest_step: number;
            date: any;
        };
        best_week: {
            total_step: number;
            week_start: string;
            day_total: Record<string, number>;
        } | {
            total_step: number;
            day_total: Record<string, number>;
        };
        last_week: any[];
        current_week: any[];
        last_week_total: number;
        current_week_total: number;
        daily_goal: number;
        best_streak: number;
    }>;
    findLastRecord(id: string): Promise<{
        last_date: string;
    }>;
    findUserById(id: string): Promise<any>;
}
