export interface AcuteTrainingLoadDTO { acwrPercent: number; acwrStatus: string; acwrStatusFeedback: string; dailyTrainingLoadAcute: number; maxTrainingLoadChronic: number; minTrainingLoadChronic: number; dailyTrainingLoadChronic: number; dailyAcuteChronicWorkloadRatio: number; } export interface TrainingStatusData { calendarDate: string; sinceDate: string | null; weeklyTrainingLoad: number | null; trainingStatus: number; timestamp: number; deviceId: number; loadTunnelMin: number | null; loadTunnelMax: number | null; loadLevelTrend: string | null; sport: string; subSport: string; fitnessTrendSport: string; fitnessTrend: number; trainingStatusFeedbackPhrase: string; trainingPaused: boolean; acuteTrainingLoadDTO: AcuteTrainingLoadDTO; primaryTrainingDevice: boolean; } export interface LatestTrainingStatusResponse { userId: number; latestTrainingStatusData: Record; recordedDevices: RecordedDevice[]; showSelector: boolean; lastPrimarySyncDate: string; } export interface RecordedDevice { deviceId: number; imageURL: string; deviceName: string; category: number; } export interface TrainingLoadBalanceDTO { calendarDate: string; deviceId: number; monthlyLoadAerobicLow: number; monthlyLoadAerobicHigh: number; monthlyLoadAnaerobic: number; monthlyLoadAerobicLowTargetMin: number; monthlyLoadAerobicLowTargetMax: number; monthlyLoadAerobicHighTargetMin: number; monthlyLoadAerobicHighTargetMax: number; monthlyLoadAnaerobicTargetMin: number; monthlyLoadAnaerobicTargetMax: number; trainingBalanceFeedbackPhrase: string; primaryTrainingDevice: boolean; } export interface TrainingLoadBalanceResponse { userId: number; metricsTrainingLoadBalanceDTOMap: Record; recordedDevices: RecordedDevice[]; } export interface WeeklyTrainingStatusResponse { userId: number; fromCalendarDate: string; toCalendarDate: string; showSelector: boolean; recordedDevices: RecordedDevice[]; reportData: Record; }