interface QuestionDescription {
  question1Desc: string;
  question2Desc: string;
  question3Desc: string;
  question4Desc: string;
  question5Desc: string;
  question6Desc: string;
  question7Desc: string;
  question8Desc: string;
  question9Desc: string;
  question10Desc: string;
  [key: string]: string;
}

interface OptionQuestions {
  label: string;
  value: number;
}
interface OptionQuestions2 {
  label: string;
  value: boolean;
}

interface MainList {
  id: string;
  location: string;
  sendDate: string;
  activeDate: string;
  reason: string;
  approveReason: string | null;
  rejectReason: string | null;
  status: string;
  isActive: boolean;
}

interface MainList {
  id: string;
  placeLeave: string;
  dateStartLeave: string;
  dateLeave: string;
  status: string;
  statustext: string;
}

interface MainListResponse {
  id: string;
  location: string;
  sendDate: Date | null;
  activeDate: Date | null;
  reason: string;
  approveReason: string | null;
  rejectReason: string | null;
  status: string;
  isActive: boolean;
}

interface DataOptions {
  id: string;
  name: string;
}

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

export type {
  QuestionDescription,
  OptionQuestions,
  OptionQuestions2,
  MainList,
  MainListResponse,
  DataOptions,
  RowsType,
  SeqTypeRow,
};
