declare type TBuilding = {
  _id?: string;
  site: string;
  name: string;
  block: number | null;
  levels: { _id: string; name: string }[];
  buildingFiles: { id: string, name: string }[] | string[];
};

declare type TBuildingUnit = {
  _id?: string;
  site: TSite;
  name?: string;
  owner?: string;
  ownerName?: string;
  building: string;
  buildingName?: string;
  block: number | null;
  level: { _id: string; name: string } | null;
  category: string;
  status: string;
  buildingUnitFiles: string[];
  companyName: string;
  companyRegistrationNumber: number | string;
  leaseStart: string;
  leaseEnd: string;
};


declare type TBuildingPayload = Pick<TBuilding, "site" | "name" | "block" | "buildingFiles"> & {
  levels: string[];
};


declare type TBuildingUpdatePayload = Pick<TBuilding, "name" | "buildingFiles"> & {
  levels: string[];
};

declare type TBuildingUnitPayload = Pick<TBuildingUnit, "site" | "name" | "building" | "buildingName" | "block" | "category" | "status" | "buildingUnitFiles" | "companyName" | "companyRegistrationNumber" | "leaseStart" | "leaseEnd"> & { level?: string}
