import DivaApiHandler from '../DivaApiHandler';
import { BasketData, OrderSetData, ReportConfigData } from '@crystaldesign/basket-model';
import { ReturnTo } from '../../interface/webPlannerParams/WebPlannerParamsType';
import { WebPlannerConfigParams } from '../../interface/webPlannerParams/WebPlannerParamsType';
import { EmailConfigType } from '../../interface/Configuration';
import IDivaWWSHandler from '../../interface/Basket/IDivaWWSHandler';
import { LiveClassifiaction, SendToSAP } from '../../interface/classifications/changedValues';
import DivaSet from '../Set/DivaSet';
export default class DivaBasketHandler {
    private baskets;
    private ignoreInitObjectWhenInitializing;
    private plannerConfig;
    private divaNr;
    private loadDivaNr?;
    specificSetIdToLoad?: string;
    private assignNewDivaNr;
    basketWasSavedWithCurrentDocVersion?: boolean;
    emailConfig?: EmailConfigType;
    reportConfig?: ReportConfigData;
    private _divaWWSHandler;
    private _handler?;
    private _basketHandler?;
    startProductId?: string;
    private initializationType?;
    private analyticsRelevantData;
    private hasConfiguratorSessionId;
    origConfiguration: {
        originDivaNr?: string;
        originArticleCodexes?: string[];
        originCatalogCodex?: string;
    };
    get hasConfiguratorSessionIdGetter(): boolean;
    get initializationTypeGetter(): "BASKET" | "ARTICLELIST" | "MODELINFO" | "SERVER_DIVANR" | "CUSTOM_PRODUCT_ID" | "PRODUCT_ID" | "OLD_PRODUCT_ID" | "START_PRODUCT" | "DEFAULT_CATALOG" | "PRODUCTLIST" | undefined;
    get analyticsRelevantDataGetter(): {
        [key: string]: string;
    };
    get actDivaNr(): string;
    get actBasket(): BasketData;
    get catalogCodexesOfOrderSets(): string[];
    get ArticlesToInitialize(): string[] | undefined;
    constructor(plannerConfig: WebPlannerConfigParams);
    updatePlannerConfig(plannerConfig: WebPlannerConfigParams): void;
    updateDivaNrInBasket(divaNr: string): void;
    setIgnoreInitObjectWhenInitializing(): void;
    initializeBasket(api: DivaApiHandler): Promise<any>;
    initProductId(api: DivaApiHandler, productId: string): Promise<any>;
    tryInitFirstCatalog(api: DivaApiHandler): Promise<boolean>;
    private createNewDivaNr;
    private initBasket;
    getOrderSetsByDivaNr(divaNr?: string): OrderSetData[];
    getBasketData(divaNr: string, variantId: number): BasketData;
    setBasketData(divaNr: string, basket: BasketData): void;
    private loadBasketByCatalogCodex;
    loadBasketByDivaNr(api: DivaApiHandler, divaNr: string): Promise<boolean>;
    loadBasketByCustomProductId(api: DivaApiHandler, key: string, productId: string, fields?: {
        origName: string;
        targetName: string;
    }[]): Promise<boolean>;
    getProduct(api: DivaApiHandler, productId: string): Promise<any>;
    private createNewBasket;
    fillOrigConfigurations(): void;
    saveToBasket(api: DivaApiHandler, actBasket: BasketData, returnTo?: ReturnTo, arReady?: boolean): Promise<any>;
    /**
     * This function returns the originalConfiguration options
     */
    getOrigConfiguration: () => {
        originDivaNr?: string;
        originArticleCodexes?: string[];
        originCatalogCodex?: string;
    };
    get divaWWSHandler(): IDivaWWSHandler;
    fillBaksetforOnWebPlanerConfigChange(set: DivaSet, newBasket: BasketData, options: string[], isInit?: boolean, eventKey?: string): {
        changedValues: {
            [optionCodex: string]: LiveClassifiaction[];
        };
        variantValues: {
            [codex: string]: string;
        };
        isInit: boolean | undefined;
        sendToSap: SendToSAP[];
        eventKey: string | undefined;
        SessionGUID?: string;
        BasketVersion?: string;
        SendIWOBasket: boolean;
        MatchingProductId?: string;
        MatchingProductRetailerArticleNr?: string;
        RetailArticleNr?: string;
        ProductSetName?: string;
        ReportConfigIdentifier?: string;
        OrganizationId: string;
        InheritedOrganizations: string[];
        OrganizationId_displayText?: string;
        Client?: import("@crystaldesign/basket-model").ClientData;
        ClientLanguage?: "DE" | "IT" | "FR" | "EN";
        ClientRemark?: string;
        ClientGUID?: string;
        catalogStatus?: "LISTED" | "NOTLISTED" | "ARCHIVED";
        catalogSearch?: string[];
        ApplicationEnvironment?: "SELLER" | "WEB" | "TEST" | "WYSIWYG";
        DocumentVersion: number;
        Status: import("@crystaldesign/basket-model").BasketStatus;
        StatusKey: "USER_CONFIGURATION" | "BASE_CONFIGURATION";
        ApplicationSource: "WEB" | "SELLER";
        DivaNr: string;
        OrigProductId?: string;
        OrigDivaNr?: string;
        OrigCatalogCodex?: string;
        OrigArticleCodexes?: string[];
        RetailerName: string;
        RetailerInfo: string;
        RetailerNr: string;
        RetailerGUID: string;
        RetailerOrderNum: string;
        RetailerOfferNum: string;
        Username: string;
        UserGUID: string;
        UserLanguage: "DE" | "IT" | "FR" | "EN";
        LocatedStore?: string;
        Salesperson?: string;
        SalespersonID?: string;
        SalespersonOverwrite?: string;
        SalespersonEmail?: string;
        SalespersonPhone?: string;
        SalespersonNr?: string;
        SetName?: string;
        SetName_locales?: {
            [lang: string]: string;
        };
        SetPlannerInfos?: import("@crystaldesign/basket-model").SetPlannerInfos;
        OrderSets: OrderSetData[];
        SAPOrderLines: import("@crystaldesign/basket-model").SAPOrderLineData[];
        PrintOptions: import("@crystaldesign/basket-model").PrintOptionsData;
        PrintLogo: string;
        PrintRetailLogo: string;
        Gdpr: boolean;
        Updated?: number;
        BestPriceLogicActive?: boolean;
        PriceFormat?: import("@crystaldesign/diva-utils").PriceFormat;
        _discounts: import("@crystaldesign/basket-model").Discount[];
        AdditionalPrices: import("@crystaldesign/basket-model").AdditionalPrice[];
        OrderStatus?: "SEND";
        OriginBaseUrl?: string;
        PDFDocumentURL?: string;
        ReturnTo?: string;
        pdfs?: string;
        HQRendering?: boolean;
        ConverterStatus3D?: string;
        ConverterFormat3D: string[];
        RenderBatch?: string;
        RenderType?: string;
        DocumentOrder?: string;
        RenderPipeline?: string;
        Viewpoint?: string;
        ImageFileFormat?: string;
        ResolutionMax?: string;
        ResolutionUnity?: string;
        Diva3DProject?: string;
        VariantDescription?: string;
        CustomerJourneyId?: string;
    };
    initWWSClient(wwsClient: string): Promise<void>;
}
//# sourceMappingURL=DivaBasketHandler.d.ts.map