import type { Presenter } from '@core/shared/presentation';

export interface RaceWithSOFViewModel {
  id: string;
  leagueId: string;
  scheduledAt: string;
  track: string;
  trackId: string;
  car: string;
  carId: string;
  sessionType: string;
  status: string;
  strengthOfField: number | null;
  registeredCount: number;
  maxParticipants: number;
  participantCount: number;
}

export interface RaceWithSOFResultDTO {
  raceId: string;
  leagueId: string;
  scheduledAt: Date;
  track: string;
  trackId: string;
  car: string;
  carId: string;
  sessionType: string;
  status: string;
  strengthOfField: number | null;
  registeredCount: number;
  maxParticipants: number;
  participantCount: number;
}

export interface IRaceWithSOFPresenter
  extends Presenter<RaceWithSOFResultDTO, RaceWithSOFViewModel> {}