interface DataOptions {
  id: string;
  name: string;
}
interface Pagination {
  descending: boolean;
  page: number;
  rowsPerPage: number;
  sortBy: string;
}

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

interface ProjectYearOp {
  id: string;
  year: number;
  projectName: string;
}

interface PosmasterActType {
  id: string;
  posMasterOrder: number;
  profileId: string;
  citizenId: string;
  prefix?: string;
  firstName?: string;
  lastName?: string;
  posLevel: string;
  posType: string;
  position: string;
  posNo: string;
}

interface EvaluatorType {
  fullName: string;
  position: string;
  avartar: string;
  posTypeName: string;
  posLevelName: string;
  posExecutiveName: string | null;
  org: string;
  isPosmasterAct: boolean;
  posmasterAct: PosmasterActType[];
}

interface MainListKpi {
  id: string;
  profileId: string;
  prefix: string;
  firstname: string;
  lastname: string;
  kpiPeriodId: string;
  evaluationStatus: string;
  evaluationResults: string;
  evaluatorId: string;
  commanderId: string | null;
  commanderHighId: string | null;
  createdAt: string;
  plannedPoint: number;
  rolePoint: number;
  specialPoint: number;
  capacityPoint: number;
  year: number;
  durationKPI: string;
}

interface PaginationType {
  sortBy: string;
  descending: boolean;
  page: number;
  rowsPerPage: number;
}

interface ListCriteria {
  id: string;
  level: number;
  description: string;
}

export type {
  DataOptions,
  Pagination,
  DataOptionTechnique,
  ProjectYearOp,
  EvaluatorType,
  MainListKpi,
  PaginationType,
  ListCriteria,
};
