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

//ข้อมูลส่วนตัว
interface Information {
  cardid: string | null;
  prefix: string | null;
  age: string | null;
  prefixId: string | null;
  firstname: string | null;
  lastname: string | null;
  birthDate: Date | null;
  genderId: string | null;
  bloodId: string | null;
  nationality: string | null;
  ethnicity: string | null;
  statusId: string | null;
  religionId: string | null;
  tel: string | null;
  employeeType: string | null;
  employeeClass: string | null;
  profileType: string | null;
  rank?: string | null;
}

interface DataOption {
  id: string;
  name: string;
  zipCode?: string;
}

interface DataOptioninfo {
  id: string;
  name: string;
}
interface DocList {
  pathName: string;
  fileName: string;
}

interface FormAddPerson {
  birthDate: Date | null;
  prefix: string;
  firstName: string;
  lastName: string;
  citizenId: string;
  age: string | null;
  genderId: string | null;
  bloodId: string | null;
  nationality: string | null;
  ethnicity: string | null;
  statusId: string | null;
  religionId: string | null;
  tel: string | null;
  employeeType: string | null;
  employeeClass: string | null;
  profileType: string | null;
}

const defaultInformation: Information = {
  cardid: null,
  age: null,
  prefix: null,
  prefixId: null,
  firstname: null,
  lastname: null,
  birthDate: null,
  genderId: null,
  bloodId: null,
  nationality: null,
  ethnicity: null,
  statusId: null,
  religionId: null,
  tel: null,
  employeeType: null,
  employeeClass: null,
  profileType: null,
};

export { defaultInformation };
export type {
  Information,
  DataOption,
  DataOptioninfo,
  DocList,
  InformationOps,
  FormAddPerson,
};
