import type { WorkoutEquipmentType } from '../../../documents/workout/WorkoutEquipmentType.js'; import type { WorkoutExercise } from '../../../documents/workout/WorkoutExercise.js'; import { ExerciseRepRange } from '../../../documents/workout/WorkoutExercise.js'; import type { WorkoutExerciseCalibration } from '../../../documents/workout/WorkoutExerciseCalibration.js'; import type { WorkoutSet } from '../../../documents/workout/WorkoutSet.js'; /** * A service for handling operations related to {@link WorkoutExercise}s. */ export default class WorkoutExerciseService { #private; /** * Returns the numeric rep range based on the ExerciseRepRange enum. * * - Heavy: { min: 5, max: 15 } * - Medium: { min: 10, max: 20 } * - Light: { min: 15, max: 30 } * * @param repRange The exercise rep range. */ static getRepRangeValues(repRange: ExerciseRepRange): { min: number; max: number; }; /** * Gets the fatigue score for an exercise. * * @param exercise The exercise to get the fatigue score for. */ static getFatigueScore(exercise: WorkoutExercise): number; /** * Calculates the target weight and reps for the FIRST set of an exercise. * * When `previousSets` are provided (completed or planned-only), autoregulation * computes an average surplus across all sets and applies progression. Planned-only * sets are forecasted with surplus = 0 so the plan progresses smoothly without * falling back to calibration. * * When no previous sets exist (first mesocycle or new exercise), the calibration-based * formula computes initial targets from the exercise's 1RM and rep range. */ static calculateTargetRepsAndWeightForFirstSet(params: { exercise: WorkoutExercise; calibration: WorkoutExerciseCalibration; equipment: WorkoutEquipmentType; firstMicrocycleRir: number; previousSets: WorkoutSet[]; }): { targetWeight: number; targetReps: number; }; } //# sourceMappingURL=WorkoutExercise.service.d.ts.map