import type { ProtestStatus, ProtestIncident } from '../../domain/entities/Protest'; export interface RaceProtestViewModel { id: string; raceId: string; protestingDriverId: string; protestingDriverName: string; accusedDriverId: string; accusedDriverName: string; incident: ProtestIncident; comment?: string; proofVideoUrl?: string; status: ProtestStatus; reviewedBy?: string; reviewedByName?: string; decisionNotes?: string; filedAt: string; reviewedAt?: string; } export interface RaceProtestsViewModel { protests: RaceProtestViewModel[]; } export interface IRaceProtestsPresenter { present( protests: Array<{ id: string; raceId: string; protestingDriverId: string; accusedDriverId: string; incident: ProtestIncident; comment?: string; proofVideoUrl?: string; status: ProtestStatus; reviewedBy?: string; decisionNotes?: string; filedAt: Date; reviewedAt?: Date; }>, driverMap: Map ): RaceProtestsViewModel; }