interface DataOption {
  id: string;
  name: string;
  type?: string;
}

interface DataOptionShort {
  id: string;
  name: string;
  shortCode: string;
}

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

interface ItemsMenu {
  label: string;
  icon: string;
  color: string;
  type: string;
}

interface ItemsCards {
  label: string;
  name: string;
  color: string;
  total: number;
}

interface FormData {
  name: string;
  posTypeId: string;
  posLevelId: string;
  isActive: boolean;
  date: Date | null;
  startDate: Date | null;
  endDate: Date | null;
  details: string;
  isSpecial: boolean;
}

interface FormSalaryRate {
  salaryId: string;
  salary: null | number | string;
  salaryHalf: null | number | string;
  salaryHalfSpecial: null | number | string;
  salaryFull: null | number | string;
  salaryFullSpecial: null | number | string;
  salaryFullHalf: null | number | string;
  salaryFullHalfSpecial: null | number | string;
  isNext: boolean;
}

export type {
  DataOption,
  NewPagination,
  ItemsMenu,
  DataOptionShort,
  FormData,
  FormSalaryRate,
  ItemsCards,
};
