import { InventoryRecordActionEnum } from "../../enums"; export declare type InventoryItem = BaseInventoryItem | StockInInventoryItem | ReturnInventoryItem | ConsumedInventoryItem | WastageInventoryItem | StockTakeInventoryItem; export interface BaseInventoryItem { inventoryId: string; name: string; action: InventoryRecordActionEnum; source: 'byUser' | 'byOrder'; quantityVariation: number; remainQuantity: number; unit?: string; categoryId?: string; note?: string; } export interface StockInInventoryItem extends BaseInventoryItem { action: InventoryRecordActionEnum.StockIn; source: 'byUser'; unitPrice?: number; amountVariation?: number; } export interface ReturnInventoryItem extends BaseInventoryItem { action: InventoryRecordActionEnum.Return; source: 'byUser'; unitPrice?: number; amountVariation?: number; } export interface ConsumedInventoryItem extends BaseInventoryItem { action: InventoryRecordActionEnum.Consumed; source: 'byUser' | 'byOrder'; orderId?: string; } export interface WastageInventoryItem extends BaseInventoryItem { action: InventoryRecordActionEnum.Wastage; source: 'byUser'; } export interface StockTakeInventoryItem extends BaseInventoryItem { action: InventoryRecordActionEnum.StockTake; source: 'byUser'; }