export interface Activity { date: Date; activityType?: string; title?: string; distance?: number; // in kilometers duration?: number; // in minutes trainingStressScore?: number; calories?: number; } export interface ProcessedData { activities: Activity[]; dates: string[]; distances: (number | null)[]; durations: (number | null)[]; tss: (number | null)[]; } export interface MetricACWRData { dates: string[]; values: (number | null)[]; // Daily sum values average7d: (number | null)[]; // 7-day rolling average average28d: (number | null)[]; // 28-day rolling average acwr: (number | null)[]; // ACWR based on this metric targetTomorrowValue?: number | null; // Value needed tomorrow to reach target ACWR of 1.3 targetACWR?: number; // The target ACWR value used for calculation restTomorrowACWR?: number | null; // What ACWR would be with a rest day tomorrow todayValue?: number | null; // Today's value for reference activitiesByDate?: Map; // Activities grouped by date }