UNPKG

trainingpeaks-sdk

Version:
27 lines 1.73 kB
import type { Workout } from '../../domain/schemas/entities.schema.js'; import type { WorkoutStructure } from '../../domain/schemas/workout-structure.schema.js'; export interface WorkoutAggregate { readonly workout: Workout; readonly structure?: WorkoutStructure; } export declare const createWorkoutAggregate: (id: string, name: string, date: Date, duration: number, description?: string, distance?: number, activityType?: string, structure?: WorkoutStructure, fileContent?: string, fileName?: string) => WorkoutAggregate; export declare const updateWorkoutAggregate: (aggregate: WorkoutAggregate, updates: Partial<Pick<Workout, "name" | "description" | "distance" | "activityType">>) => WorkoutAggregate; export declare const updateWorkoutStructure: (aggregate: WorkoutAggregate, newStructure: WorkoutStructure) => WorkoutAggregate; export declare const removeWorkoutStructure: (aggregate: WorkoutAggregate, newDuration: number) => WorkoutAggregate; export declare const addWorkoutFile: (aggregate: WorkoutAggregate, fileContent: string, fileName: string) => WorkoutAggregate; export declare const removeWorkoutFile: (aggregate: WorkoutAggregate) => WorkoutAggregate; export declare const getAggregateDuration: (aggregate: WorkoutAggregate) => number; export declare const isAggregateConsistent: (aggregate: WorkoutAggregate) => boolean; export declare const getAggregateSummary: (aggregate: WorkoutAggregate) => { id: string; name: string; date: Date; duration: number; distance: number | undefined; activityType: string | undefined; isStructured: boolean; hasFile: boolean; structureElementCount: number; isConsistent: boolean; }; //# sourceMappingURL=workout-aggregate.d.ts.map