import { type AllocationType, type OrderType, type ProjectStatus } from "./enums.js";

export interface StaffingRequirement {
  id: string;
  role: string;
  roleId?: string;
  requiredSkills: string[];
  preferredSkills?: string[];
  hoursPerDay: number;
  headcount: number;
  budgetCents?: number;
  startDate?: string;
  endDate?: string;
  notes?: string;
  chapter?: string;
}

export interface Project {
  id: string;
  shortCode: string;
  name: string;
  orderType: OrderType;
  allocationType: AllocationType;
  winProbability: number;
  budgetCents: number;
  startDate: Date;
  endDate: Date;
  staffingReqs: StaffingRequirement[];
  dynamicFields: Record<string, unknown>;
  blueprintId?: string | null;
  status: ProjectStatus;
  responsiblePerson?: string | null;
  coverImageUrl?: string | null;
  createdAt: Date;
  updatedAt: Date;
}
