import { OnInit, AfterViewInit } from '@angular/core';
import { MatDialogRef } from "@angular/material/dialog";
import { MatStepper } from '@angular/material/stepper';
import { MatDialog } from "@angular/material/dialog";
import { DxFormComponent, DxDataGridComponent } from 'devextreme-angular';
import ArrayStore from "devextreme/data/array_store";
import DataSource from "devextreme/data/data_source";
import ODataStore from "devextreme/data/odata/store";
import "devextreme/ui/validation_engine";
import { Country } from "mobicloud-core";
import { MobiCloudDataService, CompanyInfo, Shipment, PickingList, PickingLine, InventLocation, PackagingBox, PackagingBoxType, ShipmentProviderType, Product } from "mobicloud-core/api";
import { Observable } from 'rxjs';
import * as i0 from "@angular/core";
export declare class PickinglistAddNewShipment implements OnInit, AfterViewInit {
    dialogRef: MatDialogRef<PickinglistAddNewShipment>;
    data: any;
    cloudDataService: MobiCloudDataService;
    private matDialog;
    isLoadingData: boolean | undefined;
    loadingText: string | undefined;
    createCompleted: boolean;
    createCompletedText: string;
    createError: boolean;
    createErrorText: string;
    stepper: MatStepper;
    form_Sender: DxFormComponent;
    form_Receiver: DxFormComponent;
    form_ShippingInfo: DxFormComponent;
    selectedBoxesList: DxDataGridComponent;
    async_call: boolean;
    showLoadIndicator: boolean | undefined;
    company_store: ODataStore;
    company: CompanyInfo | undefined;
    shipmentProviderType: ShipmentProviderType | undefined;
    shipmentVendor_Name: string | undefined;
    salesOrder_store: ODataStore;
    pickingList_store: ODataStore;
    pickingLine_store: ODataStore;
    pickingList: PickingList;
    pickingLines: PickingLine[] | undefined;
    selectedPickingLinesKeys: any[];
    allowSelectPickingLines: boolean;
    packagingBox_store: ODataStore;
    packagingBoxes: PackagingBox[];
    selectedBoxes: PackagingBoxEntry[];
    disableCarrierProducts: boolean;
    showCarriers: boolean;
    shipmentCarriers: Shipping_Carrier[];
    selectedCarrierId: string | undefined;
    shipmentProducts: Shipping_CarrierProduct[];
    selectedShipmentProducts: any[];
    selectedShippingProduct: Shipping_CarrierProduct | undefined;
    servicePointRequired: boolean;
    servicePointAvailable: boolean;
    servicePoints: Shipping_ServicePoint[];
    selectedServicePoint: Shipping_ServicePoint | undefined;
    printer_store: ODataStore | undefined;
    selectedPrinterId: string | undefined;
    createPackageList: boolean;
    formInstanceShipment: Shipment;
    formReceiver_FirstName: string | undefined;
    formReceiver_LastName: string | undefined;
    internationalShipping: boolean;
    internationalShipping_forceProductInBoxes: boolean;
    inventLocationId: string | undefined;
    pickingListId: string | undefined;
    returnLabelsEnabled: boolean;
    skipLinesTab: boolean;
    skipSenderTab: boolean;
    skipReceiverTab: boolean;
    webshopOrderId: string | undefined;
    isWebshopOrder: boolean;
    constructor(dialogRef: MatDialogRef<PickinglistAddNewShipment>, data: any, cloudDataService: MobiCloudDataService, matDialog: MatDialog);
    ngOnInit(): void;
    getProductsBoxheight(): number;
    returnCheckBoxChanged(args: any): void;
    loadPickingList(): Promise<void>;
    initializePickingList(picking_list: PickingList): Promise<void>;
    loadPickingLines(): Promise<void>;
    ngAfterViewInit(): void;
    onPickingListInitialized(): void;
    skipSteps(): void;
    senderSelectbox_onValueChanged(e: any): void;
    updateSenderFields(inventLoc: InventLocation | undefined | null): void;
    updateSenderFields_Company(): void;
    updateReceiverFields(): void;
    setFocus(): void;
    pickingLinesSelectionValid: boolean;
    onClick_Lines(): boolean;
    onClick_Sender(): void;
    onClick_Receiver(): void;
    checkForInternationalShipping(): void;
    calculateProductAndBoxesQty(): {
        [key: string]: {
            qty: number;
            pickqty: number;
            product: Product | undefined;
        };
    };
    validateProductBoxesQuantity(): boolean;
    boxesSelectionValid: boolean;
    productBoxesQuantityValid: boolean;
    onClick_Packages(): void;
    onClick_Packages_Default(): void;
    onClick_Packages_CarriersEnabled(): void;
    fetchShipmentProducts(): Promise<void>;
    onCarrierSelectionChanged(e: any): void;
    packagingBoxInitEntity: PackagingBox | undefined;
    onAddBoxButtonClick(e: any): void;
    onInitNewRow_Boxes(e: any): Promise<void>;
    setCellValue_BoxType(newData: any, value: any, currentRowData: any): Promise<void>;
    loadShipmentCarriers(): Promise<Observable<Shipping_Carrier[]>>;
    loadShipmentProducts(): Promise<Observable<Shipping_CarrierProduct[]>>;
    create_Shipment_Sender(): Shipment_Sender;
    create_Shipment_Receiver(): Shipment_Receiver;
    create_Shipping_Parcels(): Shipping_Parcel[];
    onShipmentProductSelectionChanged(e: any): void;
    validationConfig_ProductCode: {
        getValue: () => boolean;
    };
    loadServicePoints(): Promise<Observable<Shipping_ServicePoint[]>>;
    onServicePointSelectionChanged(e: any): void;
    validationConfig_ServicePoint: {
        getValue: () => Shipping_ServicePoint | undefined;
    };
    productCodeValid: boolean | undefined;
    servicePointValid: boolean | undefined;
    shippingInfoValid: boolean | undefined;
    validateShipment(): void;
    onCreateShipmentClick(): void;
    onClose(): void;
    onCancelClick(): void;
    onCancel(): void;
    createShipment(): void;
    createCompanyStore(): void;
    odatastore_pickingList_filter: string | undefined;
    applyPickingListStoreFilter(): void;
    createPickingListStore(): void;
    createSalesOrderStore(): void;
    odatastore_pickingLine_filter: string | undefined;
    applyPickingLineStoreFilter(): void;
    createPickingLineStore(): void;
    location_store: ODataStore | undefined;
    odatastore_location_filter: string | undefined;
    applyLocationStoreFilter(): void;
    createLocationStore(): Promise<void>;
    getLocation(): Promise<void>;
    inventLocation_store: ODataStore | undefined;
    inventLocation_ds: DataSource | undefined;
    odatastore_inventLocation_filter: string | undefined;
    applyInventLocationStoreFilter(): void;
    createInventLocationStore(): Promise<void>;
    createPrinterStore(): Promise<void>;
    createPackagingBoxStore(): Promise<void>;
    packagingBoxType_ds: any[];
    sender_country_ds: ArrayStore<Country> | undefined;
    receiver_country_ds: ArrayStore<Country> | undefined;
    createCountryDataSource(): void;
    onValueChanged_SenderCountry(e: any, data: any): void;
    _senderCountryRequireState: boolean | undefined;
    onSenderCountry_Updated(countryCode: string | undefined): void;
    sender_state_ds: DataSource | undefined;
    createSenderStateDataSource(countryCode: string | undefined): void;
    receiver_state_ds: DataSource | undefined;
    onValueChanged_ReceiverCountry(e: any, data: any): void;
    _receiverCountryRequireState: boolean | undefined;
    onReceiverCountry_Updated(countryCode: string | undefined): void;
    createReceiverStateDataSource(countryCode: string | undefined): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<PickinglistAddNewShipment, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<PickinglistAddNewShipment, "mobicloud-pickinglist-add-new-shipment", never, { "isLoadingData": { "alias": "isLoadingData"; "required": false; }; "loadingText": { "alias": "loadingText"; "required": false; }; "createCompleted": { "alias": "createCompleted"; "required": false; }; "createCompletedText": { "alias": "createCompletedText"; "required": false; }; "createError": { "alias": "createError"; "required": false; }; "createErrorText": { "alias": "createErrorText"; "required": false; }; }, {}, never, never, false, never>;
}
export declare class PackagingBoxEntry extends PackagingBox {
    Quantity?: number | undefined;
    Lines?: PackagingBoxEntryLine[];
}
export declare class PackagingBoxEntryLine {
    PickingLine?: PickingLine | undefined;
    ParcelLine?: Shipping_ParcelLine | undefined;
}
export declare class Shipping_Carrier {
    id?: string | undefined;
    name?: string | undefined;
    code?: string | undefined;
}
export declare class Shipping_CarrierProduct {
    id?: string | undefined;
    name?: string | undefined;
    carrier_id?: string | undefined;
    product_name?: string | undefined;
    product_code?: string | undefined;
    transit_time?: string | undefined;
    price_amount?: string | undefined;
    price_currency?: string | undefined;
    service_point_required?: boolean | undefined;
    service_point_available?: boolean | undefined;
    estimated_delivery_date_from?: Date | undefined;
    estimated_delivery_date_to?: Date | undefined;
    is_return?: boolean | undefined;
    parameters?: Shipping_CarrierProductParameter[] | undefined;
}
export declare class Shipping_CarrierProductParameter {
    attr_type?: string | undefined;
    attr_name?: string | undefined;
    attr_key?: string | undefined;
    add_on_dependency?: string | undefined;
    enum?: any;
}
export declare class Shipping_ServicePoint {
    id?: string | undefined;
    name?: string | undefined;
    distance?: number | undefined;
    address_line?: string | undefined;
    address_line2?: string | undefined;
    zip_code?: string | undefined;
    city?: string | undefined;
    country_code?: string | undefined;
    state?: string | undefined;
    latitude?: number | undefined;
    longitude?: number | undefined;
}
export declare class Shipment_Receiver {
    name?: string | undefined;
    attention?: string | undefined;
    address1?: string | undefined;
    address2?: string | undefined;
    zipcode?: string | undefined;
    city?: string | undefined;
    country_code?: string | undefined;
    state_code?: string | undefined;
    email?: string | undefined;
    mobile_phone?: string | undefined;
    instruction?: string | undefined;
    residential?: boolean | undefined;
}
export declare class Shipment_Sender {
    name?: string | undefined;
    attention?: string | undefined;
    address1?: string | undefined;
    address2?: string | undefined;
    zipcode?: string | undefined;
    city?: string | undefined;
    country_code?: string | undefined;
    state_code?: string | undefined;
    email?: string | undefined;
    mobile_phone?: string | undefined;
}
export declare class Shipping_Parcel {
    quantity?: number | undefined;
    height?: number | undefined;
    length?: number | undefined;
    width?: number | undefined;
    weight?: number | undefined;
    volume?: number | undefined;
    id?: string | undefined;
    boxtype?: PackagingBoxType | undefined;
    Lines?: Shipping_ParcelLine[];
}
export declare class Shipping_ParcelLine {
    PickingListLinesId?: string | undefined;
    Quantity?: number | undefined;
}
export declare class ShipmentPriceRequest {
    Carrier_Id?: string | undefined;
    ShipmentType?: string | undefined;
    Sender?: Shipment_Sender | undefined;
    Receiver?: Shipment_Receiver | undefined;
    Packages?: Shipping_Parcel[] | undefined;
    IsReturn?: boolean | undefined;
}
export declare class CreateShipmentRequest {
    ShipmentVendorId?: string | undefined;
    ShipmentId?: string | undefined;
    PickingListId?: string | undefined;
    Sender?: Shipment_Sender | undefined;
    Receiver?: Shipment_Receiver | undefined;
    ReturnAddress?: Shipment_Sender | undefined;
    Packages?: Shipping_Parcel[] | undefined;
    PickinglineIds_NoPackages?: string[] | undefined;
    ReturnLabel?: boolean | undefined;
    CarrierCode?: string | undefined;
    ProductCode?: string | undefined;
    ServicePoint?: Shipping_ServicePoint | undefined;
    ShippingDate?: Date | undefined;
    Remarks?: string | undefined;
    Description?: string | undefined;
    PrintLabels?: boolean | undefined;
    PrinterId?: string | undefined;
    Duitable?: boolean | undefined;
    Reference?: string | undefined;
    ShipmentDescription?: string | undefined;
    CreatePackageList?: boolean | undefined;
}
export declare class CreateShipmentResponse {
    ShipmentId?: string | undefined;
    ShipmentId_Provider?: string | undefined;
    Status_Provider?: string | undefined;
    RequestId_Provider?: string | undefined;
    ShipmentVendorId?: string | undefined;
    ShipmentProvider?: string | undefined;
}
//# sourceMappingURL=pickinglist-add-new-shipment.component.d.ts.map