import { z } from 'zod';
import {
  kartLapTimesSchema,
  kartProgressSchema,
  lapTimeSchema,
  raceKartStateSchema,
  raceRankingItemSchema,
  raceSchema,
  raceWithDetailedRankingSchema,
  rankingWithKartsAndLapTimesSchema,
} from './Race.schema';

export type KartProgress = z.infer<typeof kartProgressSchema>;
export type LapTime = z.infer<typeof lapTimeSchema>;
export type KartLapTimes = z.infer<typeof kartLapTimesSchema>;

export type RaceKartState = z.infer<typeof raceKartStateSchema>;
export type RaceRankingItem = z.infer<typeof raceRankingItemSchema>;
export type RankingWithKartsAndLapTimes = z.infer<typeof rankingWithKartsAndLapTimesSchema>;

export type Race = z.infer<typeof raceSchema>;
export type RaceWithDetailedRanking = z.infer<typeof raceWithDetailedRankingSchema>;
