/**
 * Application Use Case Interface: ITeamRankingUseCase
 * 
 * Use case for computing team rankings from rating snapshots.
 * This is an application layer concern that orchestrates domain data.
 */

export interface TeamRanking {
  teamId: string;
  teamName: string;
  drivingRating: number;
  adminTrustRating: number;
  overallRating: number;
  eventCount: number;
  lastUpdated: Date;
  overallRank: number | null;
}

export interface ITeamRankingUseCase {
  getAllTeamRankings(): Promise<TeamRanking[]>;
  getTeamRanking(teamId: string): Promise<TeamRanking | null>;
}