/**
 * Repository Interface: PrizeRepository
 */

import type { Prize } from '../entities/Prize';

export interface PrizeRepository {
  findById(id: string): Promise<Prize | null>;
  findByLeagueId(leagueId: string): Promise<Prize[]>;
  findByLeagueIdAndSeasonId(leagueId: string, seasonId: string): Promise<Prize[]>;
  findByPosition(leagueId: string, seasonId: string, position: number): Promise<Prize | null>;
  create(prize: Prize): Promise<Prize>;
  update(prize: Prize): Promise<Prize>;
  delete(id: string): Promise<void>;
}