import { SkuChange as ISkuChange } from '~core/stockManager'; import * as I from '~core/modules/inventory/definitions'; import { CreatePurchaseOrderDto as ICreatePurchaseOrderDto } from '~core/stockManager'; import { UpdatePurchaseOrderOption as IUpdatePurchaseOrderOption } from '~core/stockManager/purchaseOrder/operation'; import { SkuConversion as ISkuConversion } from '~core/stockManager/fn/conversionToSkuChanges'; import { PurchaseOrderAction } from '~core/stockManager/purchaseOrder/operation'; import { SkuDoc, UnitMeasurement } from '~backend/menu-v3/menu-v3.model'; import { AdjustmentAmount } from '~backend/utils/model'; import { Types } from 'mongoose'; declare class Address implements I.Address { line1: string; line2?: string; state: string; city: string; postcode: string; country: string; } export declare class Supplier implements I.Supplier { name: string; contactName?: string; email?: string; phoneNumber?: string; registrationNumber: string; address: Address; } export declare class PurchaseOrderSupplier implements I.PurchaseOrderSupplier { name: string; contactName?: string; email?: string; phoneNumber?: string; address: Address; _id: string | null; internal?: I.InternalPurchaseOrderType; registrationNumber: string; } export declare class SupplierDoc extends Supplier implements I.SupplierDoc { _id: string; _rev: string; } export declare class PurchaseOrderItem implements I.PurchaseOrderItem { sku: SkuDoc; code: string; name: string; quantity: AdjustmentAmount; measurement?: UnitMeasurement; } export declare class CreatePurchaseOrderDto implements ICreatePurchaseOrderDto { supplier: PurchaseOrderSupplier; ref?: string; remark?: string; items: PurchaseOrderItem[]; } export declare class UpdatePurchaseOrderDto extends CreatePurchaseOrderDto implements IUpdatePurchaseOrderOption { _id: string; _rev: string; status: I.PurchaseOrderStatus; } export declare class PurchaseOrderDocDto extends UpdatePurchaseOrderDto implements I.PurchaseOrderDoc { seqNumber: number; deliveryOrder: []; } export declare class PurchaseOrderOperationDto { operation: PurchaseOrderAction; doc: any; } export declare class PurchaseOrderRequestTarget implements I.PurchaseOrderRequestTarget { dbName: string; name: string; } export declare class PurchaseOrderRequest implements I.PurchaseOrderRequest { _id: Types.ObjectId; get id(): string; from: PurchaseOrderRequestTarget; to: PurchaseOrderRequestTarget; purchaseOrderId: string; processedAt: Date; rejectedAt: Date; adjustmentIds: []; get fromWarehouse(): boolean; get toWarehouse(): boolean; get fromRestaurant(): boolean; get fromId(): string; purchaseOrder?: I.PurchaseOrderDoc; } declare class SkuConversion implements ISkuConversion { doc: SkuDoc; amount: AdjustmentAmount; } export declare class ConvertSkuDto { conversions: SkuConversion[]; } declare class SkuChange implements ISkuChange { id: string; amount: AdjustmentAmount; measurement?: UnitMeasurement; doc: SkuDoc; type: I.SkuAdjustmentType; remark?: string; deltaKey?: string; parentKey?: string; } export declare class AdjustSkuBalanceDto { remark?: string; adjustments: SkuChange[]; } export {};