/**
 * Presenter Interface: IGetPrizesPresenter
 */

import type { Presenter } from '@core/shared/presentation/Presenter';
import type { PrizeType } from '../../domain/entities/Prize';

export interface PrizeDto {
  id: string;
  leagueId: string;
  seasonId: string;
  position: number;
  name: string;
  amount: number;
  type: PrizeType;
  description?: string;
  awarded: boolean;
  awardedTo?: string;
  awardedAt?: Date;
  createdAt: Date;
}

export interface GetPrizesResultDTO {
  prizes: PrizeDto[];
}

export interface GetPrizesViewModel {
  prizes: PrizeDto[];
}

export interface IGetPrizesPresenter extends Presenter<GetPrizesResultDTO, GetPrizesViewModel> {}