/**
 * Global Leaderboards Query Port
 *
 * Defines the interface for querying global leaderboards data.
 * This is a read-only query for retrieving top drivers and teams.
 */

/**
 * Query input for global leaderboards
 */
export interface GlobalLeaderboardsQuery {
  /**
   * Maximum number of drivers to return (default: 10)
   */
  driverLimit?: number;

  /**
   * Maximum number of teams to return (default: 10)
   */
  teamLimit?: number;
}

/**
 * Driver entry for global leaderboards
 */
export interface GlobalLeaderboardDriverEntry {
  rank: number;
  id: string;
  name: string;
  rating: number;
  teamId?: string;
  teamName?: string;
  raceCount: number;
}

/**
 * Team entry for global leaderboards
 */
export interface GlobalLeaderboardTeamEntry {
  rank: number;
  id: string;
  name: string;
  rating: number;
  memberCount: number;
  raceCount: number;
}

/**
 * Global leaderboards result
 */
export interface GlobalLeaderboardsResult {
  drivers: GlobalLeaderboardDriverEntry[];
  teams: GlobalLeaderboardTeamEntry[];
}
