import { ProtestDriverViewModel } from './ProtestDriverViewModel';
import { ProtestViewModel } from './ProtestViewModel';
import { RaceViewModel } from './RaceViewModel';

export type PenaltyTypeOptionViewModel = {
  type: string;
  label: string;
  description: string;
  requiresValue: boolean;
  valueLabel: string;
  defaultValue: number;
};

export type ProtestDetailViewModel = {
  protest: ProtestViewModel;
  race: RaceViewModel;
  protestingDriver: ProtestDriverViewModel;
  accusedDriver: ProtestDriverViewModel;
  penaltyTypes: PenaltyTypeOptionViewModel[];
  defaultReasons: {
    upheld: string;
    dismissed: string;
  };
  initialPenaltyType: string | null;
  initialPenaltyValue: number;
};