import { Model } from "mongoose";
import { Request, Response } from "express";
import { ResponseService } from "src/common/service/response.service";
import { TrainingPlanDocument } from "src/training-plan/schemas/training-plan.schema";
import { PerformanceDocument } from "src/performance/schemas/performance.schema";
import { MacroLogDocument } from "src/macros/schemas/macro.schema";
import { MacroTargetDocument } from "src/macros/schemas/target-macro.schema";
import { WeightLogDocument } from "src/weight/schemas/weight.schema";
import { StrengthService } from "src/strength/strength.service";
import { WorkoutSessionService } from "src/workout-session/workout-session.service";
import { ChallengesDocument } from "src/challenges/schemas/challenges.schema";
import { ChallengesUserDocument } from "src/challenges/schemas/challengesUser.schema";
import { AchievementsService } from "src/challenges/achievements.service";
export declare class ProgressService {
    private trainingPlanModel;
    private performanceModel;
    private macroLogModel;
    private macroTargetModel;
    private weightLogModel;
    private challengesModel;
    private challengesUserModel;
    private readonly strengthService;
    private readonly workoutSessionService;
    private readonly resService;
    private readonly achievementsService;
    constructor(trainingPlanModel: Model<TrainingPlanDocument>, performanceModel: Model<PerformanceDocument>, macroLogModel: Model<MacroLogDocument>, macroTargetModel: Model<MacroTargetDocument>, weightLogModel: Model<WeightLogDocument>, challengesModel: Model<ChallengesDocument>, challengesUserModel: Model<ChallengesUserDocument>, strengthService: StrengthService, workoutSessionService: WorkoutSessionService, resService: ResponseService, achievementsService: AchievementsService);
    getDashboard(req: Request, res: Response, user: any): Promise<Response<any, Record<string, any>>>;
    private fetchChallenges;
    private fetchAchievements;
    private fetchTrainingPlans;
    private fetchStrengthProgression;
    private fetchStreak;
    private fetchPersonalRecords;
    private fetchMacroOverview;
    private fetchWeightHistory;
    private isoWeek;
}
