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

export interface LeagueJoinRequestViewModel {
  id: string;
  leagueId: string;
  driverId: string;
  requestedAt: Date;
  message: string;
  driver: { id: string; name: string } | null;
}

export interface GetLeagueJoinRequestsViewModel {
  joinRequests: LeagueJoinRequestViewModel[];
}

export interface GetLeagueJoinRequestsResultDTO {
  joinRequests: unknown[];
  drivers: { id: string; name: string }[];
}

export interface IGetLeagueJoinRequestsPresenter extends Presenter<GetLeagueJoinRequestsResultDTO, GetLeagueJoinRequestsViewModel> {}