export type LeagueCapacityAndScoringPrimaryChampionshipType =
  | 'driver'
  | 'team'
  | 'nations'
  | 'trophy';

export type LeagueCapacityAndScoringSummaryScoringDTO = {
  gameId: string;
  gameName: string;
  primaryChampionshipType: LeagueCapacityAndScoringPrimaryChampionshipType;
  scoringPresetId: string;
  scoringPresetName: string;
  dropPolicySummary: string;
  scoringPatternSummary: string;
};

export type LeagueCapacityAndScoringSocialLinksDTO = {
  discordUrl?: string;
  youtubeUrl?: string;
  websiteUrl?: string;
};

export type LeagueCapacityAndScoringSettingsDTO = {
  maxDrivers: number;
  sessionDuration?: number;
  qualifyingFormat?: string;
};

export type LeagueWithCapacityAndScoringDTO = {
  id: string;
  name: string;
  description: string;
  ownerId: string;
  createdAt: string;
  settings: LeagueCapacityAndScoringSettingsDTO;
  usedSlots: number;
  logoUrl?: string;
  socialLinks?: LeagueCapacityAndScoringSocialLinksDTO;
  scoring?: LeagueCapacityAndScoringSummaryScoringDTO;
  timingSummary?: string;
  category?: string;
};

export type AllLeaguesWithCapacityAndScoringDTO = {
  leagues: LeagueWithCapacityAndScoringDTO[];
  totalCount: number;
};