interface FormType {
  status: string;
  type: string;
  year: number;
}

interface RowList {
  id: string;
  title: string;
  description: string;
  status: string;
  type: string;
  year: number;
  caseType: string;
  caseNumber: string;
  fullname: string;
  citizenId: string;
  profileId: string;
  lastUpdatedAt: string | null;
}

interface MainList {
  id: string;
  title: string;
  description: string;
  status: string;
  type: string;
  year: number;
  caseType: string;
  caseNumber: string;
  fullname: string;
  citizenId: string;
  profileId: string;
  lastUpdatedAt: Date;
}

interface EditDataList {
  id: string;
  title: string;
  description: string;
  status: string;
  type: string;
  year: number;
  caseType: string;
  caseNumber: string;
  fullname: string;
  citizenId: string;
  profileId: string;
  lastUpdatedAt: string;
  historyStatus: object | null;
  disciplineComplaint_Appeal_Docs: object | null;
}

interface HistoryStatusType {
  status: string;
  createdAt: string;
}
interface FileObType {
  id: string;
  pathName: string;
  fileName: string;
}
interface FormProfile {
  profileId: string;
  fullname: string;
  citizenId: string;
  oc: string;
  position: string;
}

interface FormDataType {
  id: string;
  title: string;
  type: string;
  description: string;
  year: string;
  caseType: string;
  caseNumber: string;
  fullname: string;
  profileId: string;
  citizenId: string;
  status: string;
  oc: string;
  position: string;
  disciplineComplaint_Appeal_Docs: FileObType[];
  historyStatus: HistoryStatusType[];
  files: File | null;
  lastUpdatedAt: Date | null;
}

export type {
  FormType,
  RowList,
  MainList,
  EditDataList,
  HistoryStatusType,
  FileObType,
  FormDataType,
  FormProfile
};
