import type { WorkoutExerciseCTO } from '../../../ctos/workout/WorkoutExerciseCTO.js'; import type { WorkoutSession } from '../../../documents/workout/WorkoutSession.js'; import type { WorkoutSessionExercise } from '../../../documents/workout/WorkoutSessionExercise.js'; import { type WorkoutSet } from '../../../documents/workout/WorkoutSet.js'; import type WorkoutMesocyclePlanContext from '../Mesocycle/WorkoutMesocyclePlanContext.js'; export default class WorkoutSetService { #private; /** * Generates a list of workout sets for a given session exercise based on progression logic. * * This handles the "micro" decisions of load selection: * - Calculating the initial target weight/reps based on microcycle progression. * - Handling intra-session fatigue (dropping reps/weight across sets). * - Applying Deload phase modifications (cutting volume/intensity). * - Using previous performance data to adjust progression via autoregulation. */ static generateSetsForSessionExercise({ context, exerciseCTO, session, sessionExercise, microcycleIndex, sessionIndex, setCount, targetRir, isDeloadMicrocycle }: { context: WorkoutMesocyclePlanContext; exerciseCTO: WorkoutExerciseCTO; session: WorkoutSession; sessionExercise: WorkoutSessionExercise; microcycleIndex: number; sessionIndex: number; setCount: number; targetRir: number | null; isDeloadMicrocycle: boolean; }): void; /** * Returns true if the set has been logged (has actual performance data). * A set is considered completed when actualReps and actualWeight are recorded, * and either rir is recorded or no plannedRir was expected (deload sets). */ static isCompleted(set: WorkoutSet): boolean; } //# sourceMappingURL=WorkoutSet.service.d.ts.map