export type ProcessQuery = {
  page?: string;
  pageSize?: string;
  search?: string;
  processType?: string;
  inch?: string;
  status?: string;
  sortBy?: string;
  sortOrder?: string;
};

export type ProcessMaterialInput = {
  materialId?: string;
  materialName?: string;
  materialCategory?: string;
  unitPrice?: number | string;
  length?: number | string;
  width?: number | string;
  thickness?: number | string;
  noOfPcsPerStrip?: number | string;
  noOfSetsPerSheet?: number | string;
  weightGram?: number | string;
  quantity?: number | string;
  dia?: number | string;
  innerDia?: number | string;
  outerDia?: number | string;
};

export type ProcessMachineInput = {
  processName?: string;
  machineId?: string;
  pressCapacity?: number | string;
  tonnage?: number | string;
  runningCostPerHour?: number | string;
  labourCostPerHour?: number | string;
  productionPerHour?: number | string;
  oneStripCuttingCharge?: number | string;
  onePieceCuttingCharge?: number | string;
  quantity?: number | string;
  galvanizingCharge?: number | string;
  galvanizingMode?: string;
};

export type ProcessCoatingInput = {
  enabled?: boolean;
  coatingType?: string;
  price?: number | string;
  mode?: string;
  weightKg?: number | string;
  weightGram?: number | string;
  quantity?: number | string;
};

export type ProcessWriteDto = {
  processCode?: string;
  processName?: string;
  processType?: string;
  inch?: string;
  selectedItems?: unknown[];
  materialInput?: ProcessMaterialInput;
  machineInput?: ProcessMachineInput;
  coatingInput?: ProcessCoatingInput;
  materialCost?: number | string;
  machineCost?: number | string;
  coatingCost?: number | string;
  totalCost?: number | string;
  status?: string;
  createdBy?: string;
};

export type ImportPreviewDto = {
  fileName?: string;
  content?: string;
};

export type ImportCommitDto = {
  rows?: Record<string, unknown>[];
};
