import type { Game, GameKartState } from '../Game';
import type { KartRankingItem } from '../KartRankingItem';
import type { KartProgress } from './KartProgress';

export interface RaceKartState extends GameKartState {
  currentLap: number;
}

export interface RaceRakingItem extends KartRankingItem {
  progress: number;
  lapsCompleted: number;
}

export interface Race extends Game {
  type: 'Race';
  laps: number;
  kartsState: Record<string, RaceKartState>;
  kartsProgress: Record<string, KartProgress[]>;
  gameRanking: RaceRakingItem[];
}
