/**
 * Types pour les phases de chantiers
 */

export interface PhaseChantier {
  id: string;
  nom: string;
  description?: string;
  statut: StatutPhase;
  dateDebutPrevue: string;
  dateFinPrevue: string;
  dateDebutReelle?: string;
  dateFinReelle?: string;
  pourcentageAvancement: number;
  budgetPrevu?: number;
  coutReel?: number;
  critique: boolean;
  responsable?: {
    id: string;
    nom: string;
    prenom: string;
  };
  phaseParent?: {
    id: string;
    nom: string;
  };
}

export type StatutPhase = 
  | 'PLANIFIEE'
  | 'EN_ATTENTE' 
  | 'EN_COURS'
  | 'EN_PAUSE'
  | 'TERMINEE'
  | 'ANNULEE'
  | 'EN_RETARD';

export interface PhaseFormData {
  nom: string;
  description?: string;
  dateDebutPrevue: string;
  dateFinPrevue: string;
  budgetPrevu?: number;
  critique: boolean;
  responsableId?: string;
  phaseParentId?: string;
  chantierId: string;
}

export interface PhaseStats {
  total: number;
  planifiees: number;
  enCours: number;
  terminees: number;
  enRetard: number;
  avancementMoyen: number;
}