import { GarminWorkoutUploadPayload, ICalendar, IScheduleWorkout, IWorkout, IWorkoutDetail, TrainingPlanDetail, TrainingPlansResponse } from '../types'; import Running from '../workouts/Running'; import { ModuleConstructor } from './types'; export declare function applyWorkoutModule(Base: ModuleConstructor): { new (...args: any[]): { getWorkouts(start?: number, limit?: number): Promise; getWorkoutDetail(workout: { workoutId: string; }): Promise; addWorkout(workout: IWorkoutDetail | GarminWorkoutUploadPayload | Running): Promise; addRunningWorkout(name: string, meters: number, description: string): Promise; deleteWorkout(workout: { workoutId: string; }): Promise; scheduleWorkout(workout: { workoutId: string; }, date?: Date): Promise; getScheduledWorkouts(year?: number, month?: number): Promise; getScheduledWorkoutById(scheduledWorkoutId: number | string): Promise; unscheduleWorkout(scheduledWorkoutId: number | string): Promise; getTrainingPlans(): Promise; getTrainingPlanById(planId: number | string): Promise; getAdaptiveTrainingPlanById(planId: number | string): Promise; client: import("../../common/HttpClient").HttpClient; url: import("../UrlClass").UrlClass; domain: import("../types").GarminDomain; getUserProfile(): Promise; }; };