export enum TransactionOptionsTypes {
  ALL = 'ALL',
  INCOME = 'INCOME',
  INCREASE = 'INCREASE',
  EXCHANGE = 'EXCHANGE',
}

export enum TransactionStatusTypes {
  ALL = 'ALL',
  APPROVE = 'APPROVE',
  IN_PROCESS = 'IN_PROCESS',
  PENDING = 'PENDING',
  CANCELED = 'CANCELED',
  REJECTED = 'REJECTED',
}

export type UserData = {
  Age: string;
  Birthdate: string;
  EmailAddress: string;
  EmployeeCategory: string;
  EmployeeCategoryCode: string;
  EmployeeType: string;
  FirstName: string;
  Gender: string;
  JobTitle: string;
  LastName: string;
  ManagerFirstName: string;
  ManagerId: string;
  ManagerLastName: string;
  PersonId: string;
  PersonIdExternal: string;
  PhoneNumber: string;
  PositionId: string;
  UserId: string;
};

export type UserSones = {
  active: boolean;
  amount: number;
  email: string;
  employeeName: string;
  employeeNumber: number;
  sonesID: number;
};

export type PlantObject = {
  KaizalaGroupId: string;
  id: number;
  name: string;
  plantId: number;
  plantName: string;
  siteId: number;
  unityId: number;
};

export type AreaObject = {
  areaId: number;
  areaName: string;
  id: number;
  name: string;
};

export type SupervisorObject = {
  ID: number;
  Nombre: string;
  id: number;
  Correo: string;
  name: string;
};

export type ApproversObject = {
  actionDate: string;
  approvalId: number;
  approverEmail: string;
  approverId: number;
  approverName: string;
  comments: string;
  folio: number;
  statusId: number;
  statusName: string;
};

export type IdeaObject = {
  active: boolean;
  category: string;
  categoryID: number;
  created: string;
  createdBy: number;
  createdByName: string;
  defect: string;
  defectDetail: string;
  delayCodes: string;
  employeeArea: string;
  employeeAreaID: number;
  employeeEmail: string;
  employeeID: number;
  employeeName: string;
  employeePlant: string;
  employeePlantID: number;
  equipment: string;
  equipmentImproved: string;
  existingDangers: string;
  folio: number;
  hasNegativeImpact: boolean;
  hasSecurityRisks: boolean;
  ideaArea: string;
  ideaAreaID: number;
  ideaBenefits: string;
  ideaCurrencyID: number;
  ideaID: number;
  ideaImplemented: boolean;
  ideaPlant: string;
  ideaPlantID: number;
  ideaProposal: string;
  ideaTitle: string;
  impactedTeams: string;
  implementationDate: string;
  improvedActivities: string;
  improvedIndicator: string;
  improvedStandards: string;
  inventories: boolean;
  investment: string;
  isARepair: boolean;
  kaizalaGroupId: string;
  kgsWasted: string;
  kgsWastedAfter: string;
  manager: string;
  managerID: number;
  materialSavings: string;
  modified: string;
  modifiedBy: number;
  modifiedByName: string;
  movements: boolean;
  ocurrence: string;
  overProduction: boolean;
  overprocessing: boolean;
  ownIdea: boolean;
  personsByShift: string;
  problemDescription: string;
  product: string;
  reduceInspections: boolean;
  sapCode: string;
  sapCodeChange: string;
  savings: string;
  severity: string;
  status: string;
  statusID: number;
  team: boolean;
  timeReduction: string;
  transfers: boolean;
  unityCost: string;
  unityCostAfter: string;
  usageFrecuency: string;
  usageFrecuencyAfter: string;
  waitings: boolean;
  zone: string;
  approvers?: ApproversObject[];
};

export type ProductObject = {
  SiteID: number;
  active: boolean;
  color: string;
  created: string;
  createdBy: number;
  description: string;
  finish: string;
  iVA: number;
  image: string;
  itemCategoryID: number;
  itemID: number;
  minimum: number;
  modified: string;
  modifiedBy: number;
  name: string;
  priceMXN: number;
  priceSones: number;
  quantity: number;
  reStock: boolean;
  stockID: number;
  supplierCost: number;
  totalMXN: number;
};

export type TransactionObject = {
  amount: string;
  created: string;
  description: string;
  email: string;
  employeeName: string;
  employeeid: number;
  folio: string;
  movement: string;
  orderID: string;
  telephoneNumber: string;
  totalSones: string;
  transactionsId: number;
};

export type EmployeeTableObject = {
  Age: string;
  employeeName: string;
  EmployeeNumber: string;
};

export type MultipleToggleOptions = {
  value: string | number;
  label: string;
};

export type ColorType =
  | 'default'
  | 'error'
  | 'primary'
  | 'secondary'
  | 'info'
  | 'success'
  | 'warning';

export type Credentials = {
  id: string;
  password: string;
};

export type ImageData = {
  fileName: string;
  imageData: string;
};
