export declare const OrderOrigins: { id: string; name: string; }[]; export declare const PaymentMethods: { id: number; name: string; }[]; export declare enum PaymentMethod { Cash = 0, Card = 1, Transfer = 2 } export declare enum OrderOrigin { Suno = "Suno", Pos = "Pos", SunoWeb = "SunoWeb", WooCommerce = "WooCommerce", Facebook = "Facebook", TikTok = "TikTok", Lazada = "Lazada", Tiki = "Tiki", Shopee = "Shopee", Sendo = "Sendo", Zalo = "Zalo", Other = "Other" } export declare enum OrderType { Pos = 0, Online = 1 } export declare enum OrderState { PosDraft = 1001, PosComplete = 1002, Pending = 2001, Processing = 2002, OnlineComplete = 2003, Cancelled = 2004 } export declare enum NextOrderState { Pending = 2001, Confirmed = 2002 } export declare enum DeliverState { InStore = 1, Delivering = 2, DeliverReturned = 3, DeliverComplete = 4, DeliverCancelled = 5 } export declare const enum DiscountType { Percentage = 1, Number = 2 } export declare const enum PromotionType { Order = 1, AllProducts = 2, SpecificProducts = 3 } export declare const enum PromotionCategory { Promotion = 0, Policy = 1 } export declare const enum EarningPointStatus { NotExchangabled = 0, Exchanged = 1 } export declare const enum ActionResultStatus { None = 0, CanTransform = 1 } export declare enum ProductType { SimpleProduct = 0, MultiVariantProduct = 1, ExchangableProduct = 2, CompoundProduct = 3 } export interface OrderDetail { id: string; variantId: string; productName: string; barcode: string; quantity: number; stockTracking: boolean; overbookingAllowed: boolean; currentStock: number; serialTracking: boolean; serials: string[]; selectedSerials: string[]; retailPrice: number; unitPrice: number; newUnitPrice: number; vatAmount: number; vatPercent: number; subtotal: number; isDiscountPercent: boolean; unitDiscount: number; unitDiscountPercent: number; promotionId: string; promotionCode: string; availablePromotions: any[]; promotionOnItemSelected: any; pricePolicies: any[]; policySeletected: any; unitName: string; categoryId: number; isExpanded: boolean; note: string; productType: number; orderedInKitchenQty: number; isNew: boolean; toppings: any[]; notes: any[]; productId: string; variants: any[]; loc: string; productAttributes: any[]; } export interface SalesUser { id: string; name: string; } export interface Store { storeId: string; store: string; } export interface CustomerDetail { customerId: string; customerName: string; code: string; phone: string; email: string; address: string; district: string; province: string; ward: string; provinceId: number; districtId: number; wardCode: string; isNewAddress: boolean; newProvinceId: number; newProvince: string; newDistrictId: number; newWard: string; newWardCode: string; remainPoint: number; groups: string[]; oldDebt: number; taxCode: string; contact: string; hasHistory?: boolean; lastPurchaseProducts?: any[]; amountPurchasedProducts?: any[]; showMessage?: boolean; } export interface Payment { paymentMethod: string; amount: number; paymentDate: Date; voucherId: string; } export interface SaleOrder { orderId: string; orderCode: string; orderType: number; transactionDate: Date; subtotal: number; discount: number; discountPercent: number; isDiscountPercent: boolean; promotionId: string; promotionCode: string; vat: number; fee: number; total: number; paid: number; debt: number; storeId: string; store: string; items: OrderDetail[]; } export interface PosOrder extends SaleOrder { isDraft: boolean; note: string; salesUser: SalesUser; customerDetails: CustomerDetail; totalQuantity: number; payments: any[]; exchangedMoney: number; exchangedPoints: number; earnedPoints: number; promotions: any[]; isPromotion: boolean; availablePromotions: any[]; promotionSelected: any; promotionVoucher: any; isModifiedPaid: boolean; notes: any[]; tableId?: string | undefined; tableName: string; zoneId?: string | undefined; zoneName: string; startTime: Date; isModifiedSaleDate: boolean; waitingCode: string; sourceId: string; orderNumber: number; paymentType: number; takeAway: boolean; persons: number; isNew: boolean; isFulfilled: boolean; manualPayment?: any | undefined; } export interface SunoOrder { orders: PosOrder[]; saleOrder: PosOrder; } export interface OrderConfig { companySettings: any; store: Store; cashier: any; initialOrderCount: number; } export interface MessageResult { isSuccess: boolean; message: string; } export interface OrderResult extends MessageResult { data: PosOrder; } export interface OrderDetailResult extends MessageResult { data: OrderDetail; } export interface ShippingLocation { name: string; phone: string; address: string; district: string; province: string; ward: string; provinceId: number; districtId: number; wardCode: string; } export interface OnlineOrder extends PosOrder { origin: string; orderedAt: Date; expDelTime: Date; shipper: any; shipmentFee: number; shipmentStatus: string; shippingInfo: any; delivered: boolean; cod: number; processingState: string; } export interface OnlineOrderList extends SaleOrder { bookedDate: Date; processingState: number; cashierId: string; salesPersonId: string; customerDetails: CustomerDetail; deliverState: number; origin: string; shippingInfo: ShippingLocation; sharesPayments: boolean; notes: any[]; shipments: any[]; shipmentStatus: number; expectedDeliveryTime: Date; payments: any[]; } export interface Paging { pageIndex: number; pageSize: number; totalCount: number; result: T[]; aggregate: T; } export interface AdvancePayment { amount: number; paymentMethod: number; } export declare class TransformableItemConfiguration { variantId: string; name: string; barcode: string; currentStock: number; coefficient: number; isPrimary: boolean; unitName: string; constructor(); } export declare class TransformationSolution { constructor(list: TransformableItem[]); sourceList: TransformableItem[]; } export declare class TransformationResult { constructor(variantId: any, qty: any); variantId: string; qty: number; } export declare class TransformableItem { maxQty: number; variantId: string; name: string; barcode: string; coefficient: any; unitName: string; changedRecently: boolean; currentQty: number; constructor(variantId: any, name: any, barcode: any, coefficient: any, max: any, unitName: any, changedRecently: any, currentQty: any); } export interface DerivedOrderDetail extends OrderDetail { productType: ProductType; } export interface CurrentStock { storeId: string; quantity: number; serials: string[]; } export interface ProductVariant { variantId: string; barcode: string; name: string; imgUrl: string; categoryId: number; vat: number; retailPrice: number; stockTracking: boolean; overbookingAllowed: boolean; serialTracking: boolean; serials: string[]; selectedSerials: string[]; currentStock: CurrentStock; ingredients: any[]; unitName: string; toppings: any[]; notes: string[]; productType: number; productId: string; variants: any[]; loc: string; productAttributes: any[]; } export interface ActionResult extends OrderDetailResult { status: ActionResultStatus; } export interface FnbOrder extends PosOrder { expDelTime: Date; shipper: any; shippingInfo: any; processingState: number; referenceId: string; }