interface resMain {
  id: string;
  createdAt: Date;
  year: string;
  round: number;
  total: number;
  typeReport: String;
}

interface ResponseItems {
  activeDate: Date;
  createdAt: Date;
  firstName: string;
  id: string;
  isActive: boolean;
  lastName: string;
  location: string;
  organizationPositionOld: string;
  positionLevelOld: string;
  positionNumberOld: string;
  positionTypeOld: string;
  prefix: string;
  profileId: string;
  reason: string;
  salary: number;
  sendDate: Date;
  status: string;
  statustext: string;
  fullname: string;
  datetext: string | null;
  citizenId: string;
  reasonResign: string;
}

interface TypeFile {
  fileName: string;
  pathName: string;
}

interface rowFile {
  fileName: string;
  pathName: string;
}

interface FileList {
  id: string;
  fileName: string;
  pathName: string;
  title: string;
}

interface CheckBoxType {
  label: string;
  value: string;
}

interface RowsType {
  commanders: SeqTypeRow[];
  approvers: SeqTypeRow[];
}
interface SeqTypeRow {
  seq: number;
  prefix: string;
  firstName: string;
  lastName: string;
  positionName: string;
  profileId: string;
  keycloakId: string;
  approveStatus: string;
  comment: string;
  rejectDate: Date | null;
}

interface RetirementOld {
  dataRecords: DataRecords[];
  rowPerPage: number;
  startRecord: number;
  totalRecords: number;
}

interface DataRecords {
  citizenID: string;
  firstNameTH: string;
  lastNameTH: string;
  organizeID: string;
  organizeNameTH: string;
  positionID: string;
  positionLevelID: string;
  positionLevelNameTH: string;
  positionNameTH: string;
  positionTypeID: string;
  positionTypeNameTH: string;
  recordRow: number;
  retireDate: string;
  retireTypeID: string;
  retireTypeNameTH: string;
  retireYear: string;
  officerDocument: OfficerDocument[];
}

interface OfficerDocument {
  documentTypeID: string;
  documentTypeName: string;
  officerDocumentID: string;
}

export type {
  resMain,
  ResponseItems,
  TypeFile,
  rowFile,
  FileList,
  CheckBoxType,
  RowsType,
  SeqTypeRow,
  RetirementOld,
  DataRecords,
  OfficerDocument,
};
