import { z } from 'zod'; /** * The schema for {@link WorkoutExerciseCTO}. * * Bundles an exercise with its best calibration, best set, equipment type, * and most recent accumulation performance. Eliminates the need for core * service methods to separately accept exercise, calibration, and equipment * parameters and then perform expensive lookups. */ export declare const WorkoutExerciseCTOSchema: z.ZodObject<{ equipmentType: z.ZodObject<{ docType: z.ZodDefault>; title: z.ZodString; description: z.ZodOptional>; weightOptions: z.ZodOptional>>; createdDate: z.ZodDefault; lastUpdatedDate: z.ZodDefault; _id: z.ZodPipe, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>; userId: z.ZodPipe>; }, z.core.$strip>; bestCalibration: z.ZodNullable>; workoutExerciseId: z.ZodPipe>; exerciseProperties: z.ZodOptional>>; reps: z.ZodInt; weight: z.ZodNumber; dateRecorded: z.ZodDefault; associatedWorkoutSetId: z.ZodOptional>>>; createdDate: z.ZodDefault; lastUpdatedDate: z.ZodDefault; _id: z.ZodPipe, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>; userId: z.ZodPipe>; }, z.core.$strip>>; bestSet: z.ZodNullable>; workoutExerciseId: z.ZodPipe>; workoutSessionId: z.ZodPipe>; workoutSessionExerciseId: z.ZodPipe>; plannedReps: z.ZodOptional>; plannedWeight: z.ZodOptional>; plannedRir: z.ZodOptional>; actualReps: z.ZodOptional>; actualWeight: z.ZodOptional>; rir: z.ZodOptional>; exerciseProperties: z.ZodOptional>>; createdDate: z.ZodDefault; lastUpdatedDate: z.ZodDefault; _id: z.ZodPipe, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>; userId: z.ZodPipe>; }, z.core.$strip>>; lastSessionExercise: z.ZodNullable>; workoutSessionId: z.ZodPipe>; workoutExerciseId: z.ZodPipe>; setOrder: z.ZodDefault>>>; rsm: z.ZodOptional>; pump: z.ZodOptional>; disruption: z.ZodOptional>; }, z.core.$strip>>>; fatigue: z.ZodOptional>; perceivedEffort: z.ZodOptional>; unusedMusclePerformance: z.ZodOptional>; }, z.core.$strip>>>; sorenessScore: z.ZodOptional>; performanceScore: z.ZodOptional>; isRecoveryExercise: z.ZodDefault; createdDate: z.ZodDefault; lastUpdatedDate: z.ZodDefault; _id: z.ZodPipe, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>; userId: z.ZodPipe>; }, z.core.$strip>>; lastSessionSets: z.ZodDefault>; workoutExerciseId: z.ZodPipe>; workoutSessionId: z.ZodPipe>; workoutSessionExerciseId: z.ZodPipe>; plannedReps: z.ZodOptional>; plannedWeight: z.ZodOptional>; plannedRir: z.ZodOptional>; actualReps: z.ZodOptional>; actualWeight: z.ZodOptional>; rir: z.ZodOptional>; exerciseProperties: z.ZodOptional>>; createdDate: z.ZodDefault; lastUpdatedDate: z.ZodDefault; _id: z.ZodPipe, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>; userId: z.ZodPipe>; }, z.core.$strip>>>; lastAccumulationSessionExercise: z.ZodNullable>; workoutSessionId: z.ZodPipe>; workoutExerciseId: z.ZodPipe>; setOrder: z.ZodDefault>>>; rsm: z.ZodOptional>; pump: z.ZodOptional>; disruption: z.ZodOptional>; }, z.core.$strip>>>; fatigue: z.ZodOptional>; perceivedEffort: z.ZodOptional>; unusedMusclePerformance: z.ZodOptional>; }, z.core.$strip>>>; sorenessScore: z.ZodOptional>; performanceScore: z.ZodOptional>; isRecoveryExercise: z.ZodDefault; createdDate: z.ZodDefault; lastUpdatedDate: z.ZodDefault; _id: z.ZodPipe, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>; userId: z.ZodPipe>; }, z.core.$strip>>; lastAccumulationSessionSets: z.ZodDefault>; workoutExerciseId: z.ZodPipe>; workoutSessionId: z.ZodPipe>; workoutSessionExerciseId: z.ZodPipe>; plannedReps: z.ZodOptional>; plannedWeight: z.ZodOptional>; plannedRir: z.ZodOptional>; actualReps: z.ZodOptional>; actualWeight: z.ZodOptional>; rir: z.ZodOptional>; exerciseProperties: z.ZodOptional>>; createdDate: z.ZodDefault; lastUpdatedDate: z.ZodDefault; _id: z.ZodPipe, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>; userId: z.ZodPipe>; }, z.core.$strip>>>; docType: z.ZodDefault>; exerciseName: z.ZodString; workoutEquipmentTypeId: z.ZodPipe>; notes: z.ZodOptional>; restSeconds: z.ZodOptional>; customProperties: z.ZodOptional; }, z.core.$strip>>>>; repRange: z.ZodEnum; preferredProgressionType: z.ZodDefault>; primaryMuscleGroups: z.ZodDefault>>>; secondaryMuscleGroups: z.ZodDefault>>>; initialFatigueGuess: z.ZodObject<{ jointAndTissueDisruption: z.ZodOptional>; perceivedEffort: z.ZodOptional>; unusedMusclePerformance: z.ZodOptional>; }, z.core.$strip>; createdDate: z.ZodDefault; lastUpdatedDate: z.ZodDefault; _id: z.ZodPipe, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>; userId: z.ZodPipe>; }, z.core.$strip>; /** * A CTO that bundles a workout exercise with its best calibration, best set, * equipment type, and most recent accumulation performance data. This replaces * the CalibrationExercisePair pattern with a richer data structure that * eliminates the need for cross-document lookups in service methods. */ export type WorkoutExerciseCTO = z.infer; //# sourceMappingURL=WorkoutExerciseCTO.d.ts.map