// ข้อมูลรายการสอบแข่งขัน/คัดเลือก
interface FormPlacementMainData {
  id: number;
  examRound: string;
  examOrder: number;
  fiscalYear: number;
  numberOfCandidates: number;
  examTypeValue: string;
  examTypeName: string;
  accountStartDate: string;
  accountExpirationDate: string;
  isExpired?: boolean;
}

interface ItemTabs {
  label: string;
  name: string;
}

interface DataOptions {
  id: string;
  name: string;
}
interface FormOrderPlacementMainData {
  Order: string;
  OrderNum: string;
  fiscalYear: number;
  OrderDate: string;
  OrderBy: string;
  Signer: string;
  OrderStatus: string;
  OrderType: string;
}

interface FormMainProbation {
  personal_id: number;
  ordering: number;
  name: string;
  position_line: string;
  position_line_id: string;
  position_level: string;
  position_level_id: string;
  organization: string;
  probation_no: number;
  order_number: string;
  probation_status: string;
}
interface FormMainProbation2 {
  no: string;
  name: string;
  position: string;
  level: string;
  institution: string;
}
interface FormProbationDetail {
  no: string;
  id: string;
  round_no: number;
  date_start: string;
  date_finish: string;
  mentors: string;
  commander: string;
  chairman: null;
}
interface FormProbationPersonal {
  personal_id: string;
  name: string;
  position_line: string;
  position_line_id: string;
  position_level: string;
  position_level_id: string;
  organization: string;
  probation_no: number;
  order_number: string;
  probation_status: string;
}
interface mapData {
  id: string;
  fullname: string;
  position: string;
  positionEmployeeLevel: string;
  oc: string;
  probation: string;
}
interface OpfillterType {
  id: number;
  value: string;
}
interface OpfillterTypeSt {
  id: string;
  value: string;
}
interface CriteriaType {
  criteriaType: string;
  criteriaValue: string;
}

interface AppointMainRows {
  id: string;
  topic: string;
  commandNo: string;
  status: string;
  directors: any[];
}

interface FormAppointData {
  topic: string;
  persons: PersonsAppointData[];
}

interface PersonsAppointData {
  profileId: string;
  name?: string;
  citizenId: string;
  prefix: string;
  firstName: string;
  lastName: string;
  position: string;
  positionType: string;
  positionLevel: string;
  actFullName: string;
  posNo: string;
  role?: string;
}

interface MemBerType {
  id: string;
  prefix: string;
  firstName: string;
  lastName: string;
  citizenId: string;
  position: string;
  posLevel: string;
  posType: string;
  posNo: string;
  actFullName: string;
  isDirector?: boolean;
  orgRootId?: string;
}

interface FormDataAppoint {
  node: string;
  nodeId: number;
  orgRevisionId: string;
  positionId: string;
  posMasterNo: number;
  positionName: string;
  posTypeId: string;
  posTypeName: string;
  posLevelId: string;
  posLevelName: string;
  reportingDate: string;
  posmasterId: string;
  posExecutiveName?: string;
  typeCommand: string;
  positionExecutiveField?: string;
  positionArea?: string;
}
export type {
  FormPlacementMainData,
  FormOrderPlacementMainData,
  FormMainProbation,
  FormMainProbation2,
  FormProbationDetail,
  FormProbationPersonal,
  mapData,
  OpfillterType,
  CriteriaType,
  OpfillterTypeSt,
  ItemTabs,
  AppointMainRows,
  FormAppointData,
  MemBerType,
  PersonsAppointData,
  FormDataAppoint,
  DataOptions,
};
