/**
 * Repository Interface: ITeamRatingRepository
 * 
 * Port for persisting and retrieving TeamRating snapshots.
 * Snapshots are derived from rating events for fast reads.
 */

import type { TeamRatingSnapshot } from '../services/TeamRatingSnapshotCalculator';

export interface ITeamRatingRepository {
  /**
   * Find rating snapshot by team ID
   */
  findByTeamId(teamId: string): Promise<TeamRatingSnapshot | null>;
  
  /**
   * Save or update a team rating snapshot
   */
  save(teamRating: TeamRatingSnapshot): Promise<TeamRatingSnapshot>;
}