import type { zipCodeOption } from "../../components/profileType";
interface Pagination {
  rowsPerPage: number;
}

interface DataOption {
  id: string;
  name: string;
  disable?: boolean;
}

interface DataOptionLeave {
  id: string;
  name: string;
  totalLeave: number;
}

interface DataOptionInsignia {
  id: string;
  name: string;
  typeName: string;
}

interface treeTab {
  id: string;
  label: string;
  children: treeTab[];
}

interface InformationOps {
  prefixOps: DataOption[];
  prefixOldOps: DataOption[];
  genderOps: DataOption[];
  bloodOps: DataOption[];
  statusOps: DataOption[];
  religionOps: DataOption[];
  employeeClassOps: DataOption[];
  employeeTypeOps: DataOption[];
}

interface OldNameOps {
  prefixOps: DataOption[];
  statusOps: DataOption[];
}

interface AddressOps {
  provinceOps: DataOption[];
  districtOps: DataOption[];
  districtCOps: DataOption[];
  subdistrictOps: zipCodeOption[];
  subdistrictCOps: zipCodeOption[];
}

interface FamilyOps {
  prefixOps: DataOption[];
}

interface EduOps {
  levelOptions: DataOption[];
  positionPathOptions: DataOption[];
}

interface InsigniaOps {
  insigniaOptions: DataOptionInsignia[];
}

interface DisciplineOps {
  levelOptions: DataOption[];
}

export type {
  Pagination,
  DataOption,
  DataOptionInsignia,
  treeTab,
  InformationOps,
  OldNameOps,
  AddressOps,
  FamilyOps,
  EduOps,
  InsigniaOps,
  DisciplineOps,
  DataOptionLeave,
};
