using System.Collections.Generic; namespace JobTrackerApi.Models { // Read-only analytics/statistics response DTOs. Extracted from // JobApplicationsController so the aggregation logic can live in AnalyticsService. public sealed record JobStats( int Total, int Active, int Deleted, Dictionary ByStatus, int AppliedLast30Days, double AverageDaysSinceApplied ); public sealed record FunnelStagePoint(string Label, int Count); public sealed record ResponseRatePoint(string Label, int Total, int Responses, double Rate); public sealed record CompanyActivityPoint(int CompanyId, string Company, int Count, int Responses, double ResponseRate); public sealed record StageDurationDto(string Stage, double MedianDays, int Count); public sealed record SalaryInsightDto(string Currency, string Period, int Count, decimal Minimum, decimal Maximum, decimal AverageMidpoint); public sealed record AnalyticsOverviewDto( List Funnel, List ResponseRateBySource, List TopCompanies, double? MedianDaysToFirstResponse, int TotalResponses, int TotalActive, List TimeInStage, List SalaryInsights ); }