export type LabCaseActivityType =
  | 'CASE_SENT'
  | 'CLINIC_COMMENT'
  | 'LAB_COMMENT'
  | 'CASE_IMPORTANT'
  | 'CASE_AMENDED'
  | 'TASK_COMPLETED'
  | 'TASK_ASSIGNED';

export interface LabCaseActivityItem {
  id: string;
  labCaseId: string;
  type: LabCaseActivityType;
  createdAt: string;
  actorName: string | null;
  commentBody?: string | null;
  stepLabel?: string | null;
  visibleToClinic?: boolean;
}

export interface PatientLabCaseProsthesisGroup {
  prosthesisTypeCode: string;
  teeth: string[];
  connected?: boolean;
  selectionGroupId?: string;
}

export interface PatientLabCaseSummary {
  labCaseId: string;
  patientId: string;
  patientFirstName: string;
  patientLastName: string;
  treatmentId: string;
  appointmentId: string | null;
  treatmentAt: string;
  detailClientId: string;
  teeth: string[];
  prosthesisGroups: PatientLabCaseProsthesisGroup[];
  toothCount: number;
  labOrganizationId: string | null;
  labName: string;
  sentAt: string | null;
  dueDate: string | null;
  isOverdue: boolean;
  taskProgress: { completed: number; total: number };
  hasUnread: boolean;
  lastActivity: LabCaseActivityItem | null;
}
