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 {
  profileId: string | null;
  prefix: string;
  rank: string;
  firstName: string;
  lastName: string;
  citizenId: string;
  position: string;
  posMaster: string | null;
  posLevelName: string | null;
  posLevelRank: string | null;
  posLevelId: string | null;
  posTypeName: string | null;
  posTypeRank: string | null;
  posTypeId: string | null;
  posExecutiveName: string;
  posExecutivePriority: string | null;
  posExecutiveId: string | null;
  rootId: string | null;
  root: string;
  child1Id: string | null;
  child1: string | null;
  child2Id: string | null;
  child2: string | null;
  child3Id: string | null;
  child3: string | null;
  child4Id: string | null;
  child4: string | null;
  node: string | null;
  nodeId: string | null;
}

export type { ProfileData, InformationData, DataProfile };
