import { Action } from './CoreTypes';
import { TemplateConfigType } from './API/TemplateConfigType';
import { ViewConfigData } from './API/ViewConfigDataType';
import { ReportConfigData } from '@crystaldesign/basket-model';
export interface Configuration {
    configVariant?: string;
    serverId?: string;
    gaClientId?: string;
    reportConfigIdentifier?: string;
    applicationEnvironment?: 'SELLER' | 'WEB' | 'WYSIWYG';
    keepSalesPersonDataInBasket?: boolean;
    diva3dServerMode?: string;
    diva3dRenderGroup?: string;
    arViewerUrl?: string;
    arViewerIframe?: boolean;
    useMask?: boolean;
    language: Langs;
    checkForProductsPrice?: boolean;
    checkForProductsMatch?: boolean;
    diva3dStaticBGImage?: boolean;
    diva3dStaticBGImage_DefaultRoomList?: string;
    diva3DAllowDefaultCatRoomList?: boolean;
    onErrorHandling?: {
        openComponent?: Action;
        hideErrorMsg: boolean;
        errorMsg?: string;
    };
    doAllowSetPlanner?: boolean;
    returnTo?: string;
    showDivaNr?: boolean;
    dontLoadDimensions?: boolean;
    useIDMService?: boolean;
    useEnricherService?: boolean;
    packageId?: string;
    diva3DRenderingDefault?: boolean;
    doDisablePlanner2D?: boolean;
    dontLoadAdditionalModelInfos?: boolean;
    loadSupplierColors?: boolean;
    showSelectionModeZero?: boolean;
    dontLoadCatalogEditorLiteMask?: boolean;
    viewConfig: ViewConfigData;
    abTestCases?: string[];
    reportConfig?: ReportConfigData;
    templateConfig: TemplateConfigType;
    emailConfig?: EmailConfigType;
    loadProductBasketParams?: LoadProductBasketParams;
    addOrganizationIdToCacheKey?: boolean;
    subComponents?: {
        type: string;
        identifier: string;
    }[];
    configParams?: any;
    basketStatus?: string;
    /** When true, decision logging is enabled for the set (e.g. WYSIWYG). In WYSIWYG this defaults to true and must not be set to false. */
    logDecisions?: boolean;
}
export interface LoadProductBasketParams {
    customProductField: string;
    customFieldsToLoad?: {
        origName: string;
        targetName: string;
    }[];
}
export type Langs = 'DE' | 'FR' | 'IT' | 'EN';
export interface EmailConfigType {
    variant?: string;
    dialogText?: string;
    to?: string;
    showDialog?: boolean;
    v?: '1' | '2';
    subject?: string;
    content?: string;
    callback?: () => void;
}
//# sourceMappingURL=Configuration.d.ts.map