export declare enum PurchaseOrderStatusType {
    DRAFT = "DRAFT",
    WORKING = "WORKING",
    SHIPPING = "SHIPPING",
    COMPLETED = "COMPLETED"
}
export declare enum PurchaseOrderExpenseType {
    PRODUCTION = "PRODUCTION",
    DUTY = "DUTY",
    SHIPPING = "SHIPPING",
    TAX = "TAX",
    EXTRA = "EXTRA"
}
export declare enum ShippingMethod {
    TRUCK = "TRUCK",
    SHIP = "SHIP",
    TRAIN = "TRAIN",
    PLANE = "PLANE"
}
export declare class PurchaseOrderStatus {
    status: PurchaseOrderStatusType;
    date: Date;
}
export declare class PurchaseOrderCost {
    reference: string;
    type: PurchaseOrderExpenseType;
    transactionId: string;
}
export declare class ProductPurchase {
    id: string;
    bin: string;
    quantity: number;
}
export declare class PurchaseOrder {
    id: string;
    name: string;
    notes: string;
    vectorType: ShippingMethod;
    status: PurchaseOrderStatusType;
    productPurchases: Array<ProductPurchase>;
    statusHistory: Array<PurchaseOrderStatus>;
    costs: Array<PurchaseOrderCost>;
    availableAt?: Date;
    createdAt: Date;
    constructor();
    getProductPurchaseQuantityBySku(bins: Array<string>): number;
    getPurchasedBins(): Array<string>;
    getProductPurchaseBySku(bin: string): ProductPurchase | undefined;
}
