export interface PowerToWeightEntry { userProfilePk: number; calendarDate: string; origin: string; sport: string; functionalThresholdPower: number; weight: number; powerToWeight: number; ftpCreateTime: string; weightCreateTime: string; isStale: boolean; } export interface CyclingAbility { userProfilePk: number; deviceId: number; calendarDate: string; timestamp: string; primaryTrainingDevice: boolean; aerobicEndurance: number; aerobicCapacity: number; anaerobicCapacity: number; profileType: string; profileTypeFeedback: string; aerobicEnduranceFeedback: string; aerobicCapacityFeedback: string; anaerobicCapacityFeedback: string; } export interface PowerCurveEntry { duration: number; power: number; activityId: number; activityDate: string; } export interface PowerCurveResponse { startDate: string | null; endDate: string | null; entries: PowerCurveEntry[]; } export interface MaxMetSportEntry { calendarDate: string; vo2MaxPreciseValue: number; vo2MaxValue: number; fitnessAge: number | null; fitnessAgeDescription: string | null; maxMetCategory: number; } export interface HeatAltitudeAcclimation { calendarDate: string; altitudeAcclimationDate: string; previousAltitudeAcclimationDate: string; heatAcclimationDate: string; previousHeatAcclimationDate: string; altitudeAcclimation: number; previousAltitudeAcclimation: number; heatAcclimationPercentage: number; previousHeatAcclimationPercentage: number; heatTrend: string; altitudeTrend: string | null; currentAltitude: number; previousAltitude: number; acclimationPercentage: number; previousAcclimationPercentage: number; altitudeAcclimationLocalTimestamp: string; } export interface MaxMetResponse { userId: number; generic: MaxMetSportEntry | null; cycling: MaxMetSportEntry | null; heatAltitudeAcclimation: HeatAltitudeAcclimation; }