import { MuscleGroup, SimplifiedMuscleGroup } from '..'; import type { TrainerWorkoutTemplateName } from './constants'; import type { ExercisePrescription, ExerciseSelectionParams, ExerciseSelectionTrace, TrainerLibraryExercise } from './types'; /** * Resolves the concrete muscle group to target for a prescription, handling the * special `focus_muscle` prescription which rotates through the muscle groups of * the user's selected focus muscle. */ export declare const getMuscleGroup: ({ muscleGroupPrescription, programFocusMuscleExerciseCount, focusMuscle, workoutTemplateName, }: { muscleGroupPrescription: ExercisePrescription["muscle_group"]; programFocusMuscleExerciseCount: number; focusMuscle?: SimplifiedMuscleGroup; workoutTemplateName: TrainerWorkoutTemplateName; }) => MuscleGroup | undefined; /** * Selects the best exercise for a given prescription using a multi-pass strategy */ type PickExerciseResult = { exercise?: T; trace: ExerciseSelectionTrace; }; export declare function pickTrainerExercise(params: ExerciseSelectionParams & { withTrace: true; }): PickExerciseResult; export declare function pickTrainerExercise(params: ExerciseSelectionParams): T | undefined; export {};