declare type TCleanerChecklist = {
  _id: string;
  date: string;
  status: TCleanerChecklistStatus[];
  createdAt: string;
  updatedAt: string;
  attachments: string[];
};

declare type TCleanerChecklistStatus = {
  type: string;
  site: string;
  status: string;
  completedAt: string;
  createdByName: string;
};

declare type TAreaRejectChecklist = {
  attachments: string[];
  remarks: string;
};

declare type TAreaChecklistHistory = {
  _id: string;
  name: string;
  status: string;
  createdAt: string;
  endedAt: string;
  acceptedByName: string;
};

declare type TUnitChecklistItem = {
  unit: string;
  name: string;
  status: string;
  remarks: string;
  completedByName?: string;
  timestamp?: string;
};

declare type TChecklistSet = {
  units: TUnitChecklistItem[];
  set: number;
  remarks?: string;
  attachments?: string[];
  completedByName?: string;
  isScheduleTask?: boolean;
};

declare type TFlattenedUnitItem = TUnitChecklistItem & {
  set: number;
};

declare type TScheduleAreaStatus = "All" | "Open" | "Ongoing" | "Completed";
declare type TAreaType = "all" | "common" | "toilet";
