export type MobileIntervention = {
  id: number;
  titre?: string;
  statut?: string;
  date_prevue?: string;
  site_nom?: string;
  machine_nom?: string;
  machine_marque?: string;
  machine_modele?: string;
  type_intervention?: string;
  priorite?: string;
  numero_r?: string;
  [key: string]: unknown;
};

export type MobileInterventionDetails = MobileIntervention & {
  description?: string;
  recommandations?: string;
  type_intervention?: string;
  priorite?: string;
  date_debut?: string;
  date_fin?: string;
  site_adresse?: string;
  machine_marque?: string;
  machine_modele?: string;
  technicien_nom?: string;
  technicien_prenom?: string;
  site_details?: Record<string, unknown>;
  machine_details?: Record<string, unknown>;
};

export type MobilePrecheckRequirements = {
  needs_cerfa: boolean;
  needs_prelevement: boolean;
  prelevement_info: string;
};

export type MobileInterventionPrecheck = {
  intervention_id: number;
  technicien_id: number;
  cerfa_enabled: boolean;
  cerfa_number: string;
  prelevement_number: string;
  status: "draft" | "started";
  started_at: string | null;
  created_at: string | null;
  updated_at: string | null;
};

export type MobilePrecheckState = {
  intervention_id: number;
  technicien_id: number;
  intervention_status: string;
  requirements: MobilePrecheckRequirements;
  precheck: MobileInterventionPrecheck | null;
};

export type MobilePrecheckPayload = {
  intervention_id: number;
  cerfa_enabled: boolean;
  cerfa_number: string;
  prelevement_number: string;
};

export type InterventionsPayload = {
  items: MobileIntervention[];
  count: number;
  technicien_id: number;
  date_debut: string;
  date_fin: string;
};
