/** * Repository Interface: ILiveryRepository * * Defines operations for livery-related entities */ import type { DriverLivery } from '../entities/DriverLivery'; import type { LiveryTemplate } from '../entities/LiveryTemplate'; export interface ILiveryRepository { // DriverLivery operations findDriverLiveryById(id: string): Promise; findDriverLiveriesByDriverId(driverId: string): Promise; findDriverLiveryByDriverAndCar(driverId: string, carId: string): Promise; findDriverLiveriesByGameId(gameId: string): Promise; findDriverLiveryByDriverAndGame(driverId: string, gameId: string): Promise; createDriverLivery(livery: DriverLivery): Promise; updateDriverLivery(livery: DriverLivery): Promise; deleteDriverLivery(id: string): Promise; // LiveryTemplate operations findTemplateById(id: string): Promise; findTemplatesBySeasonId(seasonId: string): Promise; findTemplateBySeasonAndCar(seasonId: string, carId: string): Promise; createTemplate(template: LiveryTemplate): Promise; updateTemplate(template: LiveryTemplate): Promise; deleteTemplate(id: string): Promise; }