interface ProfileData {
  rank?: string;
  prefix: string;
  firstName: string;
  lastName: string;
  position: string;
  posExecutiveName?: string;
  posTypeName: string;
  posLevelName: string;
  posNo: string;
  profileId: string;
  citizenId?: string;
  salary?: number | null;
  birthDate?: string;
  keycloakId?: string;
  org?: string;
  dateStart?: string;
  dateRetireLaw?: string;
}

interface InformationData {
  rank?: string; //ยศ
  citizenId: string; //เลขประจำตัวประชาชน
  prefix: string;
  firstName: string;
  lastName: string;
  birthDate: Date | null; //วันเกิด
  gender: string; //เพศ
  relationship: string; //สถานภาพ
  nationality: string; //สัญชาติ
  ethnicity: string; //เชื้อชาติ
  religion: string; //ศาสนา
  bloodGroup: string; //หมู่เลือด
  phone: string; //เบอร์โทร
  email: string;
}

interface DataProfile {
  amountSpecial: number;
  avatar: string;
  avatarName: string;
  birthDate: string;
  child1: string;
  child1DnaId: string;
  child1Id: string;
  child1ShortName: string;
  child2: string;
  child2DnaId: string;
  child2Id: string;
  child2ShortName: string;
  child3: string;
  child3DnaId: string;
  child3Id: string;
  child3ShortName: string;
  child4: string | null;
  child4DnaId: string | null;
  child4Id: string | null;
  child4ShortName: string | null;
  citizenId: string;
  dateRetireLaw: string;
  dateStart: string;
  firstName: string;
  isDirector: boolean;
  isProbation: boolean;
  keycloak: string;
  lastName: string;
  leaveDate: string | null;
  node: number;
  nodeDnaId: string;
  nodeId: string;
  nodeShortName: string;
  posExecutiveId: string | null;
  posExecutiveName: string | null;
  posExecutivePriority: number | null;
  posLevelId: string;
  posLevelName: string;
  posLevelRank: number;
  posMaster: number;
  posMasterNo: number;
  posNo: string;
  posTypeId: string;
  posTypeName: string;
  posTypeRank: number;
  position: string;
  positionArea: string | null;
  positionExecutiveField: string | null;
  prefix: string;
  profileId: string;
  profileType: string;
  rank: string | null;
  root: string;
  rootDnaId: string;
  rootId: string;
  rootShortName: string;
  salary: number;
}

export type { ProfileData, InformationData, DataProfile };
