import { InfoboxContentProps, ItemPalette, PlannerFilter } from '../../../types';
import { ArticleInfoType, FreePlacesOnGrids, PlannedPlacesOnGrids, ViewChangedCause, GeneralPlanningState } from '@crystaldesign/web-planner-logic';
import { BBoxType } from '@crystaldesign/diva-core';
import { AddElementSelected } from '../../../Palette/Steps/Planner2Dot0Step/PlannerItems';
import UIState from '..';
import { DrawerMenu } from '@crystaldesign/diva-core';
import { PlannerType } from '@crystaldesign/web-planner-logic/interface/webPlannerParams/WebPlannerParamsType';
export default class SettingsState {
    private updateExternalPlannerState;
    private scrollToCurTabgroupHorizontal?;
    private updatePlannerView?;
    private uiState?;
    constructor(updateExternalPlannerState: () => void);
    configChanged: number;
    organizationAISettings: {
        anonymousDailyIPLimit?: number;
        loggedInDailyIPLimit?: number;
        leadRewardBonus?: number;
    } | undefined;
    setOrganizationAISettings(settings: {
        anonymousDailyIPLimit?: number;
        loggedInDailyIPLimit?: number;
        leadRewardBonus?: number;
    }): void;
    ConfigDidChange: () => void;
    /**Itempalettes */
    itemPalettes: Map<number, ItemPalette>;
    get itemPaletteArr(): [number, ItemPalette][];
    get itemPaletteInProduct(): {
        palette: ItemPalette;
        id: number;
    }[];
    updateItemPalette(paletteId: number, itemPalette: ItemPalette): void;
    getItemPaletteByConfigStepKey(configStepKey: string): [number, ItemPalette] | undefined;
    hideNotUsedPalettes(index: number): void;
    openGroupWithCodex(paletteId: number, codex: string): void;
    openGroup(paletteId: number, groupKey: string, allOthersClosed?: boolean): void;
    onAllGroups(paletteId: number, closed: boolean): void;
    closeGroup(paletteId: number, groupKey: string): void;
    forceSettingsHeaderInScrollContainer: boolean;
    setForceSettingsHeaderInScrollContainer(val: boolean): void;
    /**Roomlist initzializer for Rooms in Product  */
    roomListInitialized: number;
    roomListCountUp(): void;
    paletteHeaderStepName: string;
    setPaletteHeaderStepName(val: string): void;
    /**Config Single */
    doShowConfigSingle: boolean;
    doConfigSingle: boolean;
    updateConfigSingle(show?: boolean, state?: boolean): void;
    /**Article Info  */
    doShowActElementInfo: boolean;
    setDoShowActElementInfo(val: boolean): void;
    bbox: BBoxType | undefined;
    setBBox(bbox: BBoxType): void;
    articleInfos: {
        [posNr: string]: ArticleInfoType;
    };
    setArticleInfos(articleInfos: {
        [posNr: string]: ArticleInfoType;
    }): void;
    get posNrAreHidden(): boolean | undefined;
    get showTabgroupHeaderForConfigSinge(): boolean;
    get allArticlesAreActive(): boolean;
    get getSelectedBasketIds(): string[];
    get allBaksetIds(): string[];
    /**
     * this function resets/cleans all ItemPalette ViewParameters
     */
    initForUpdate(): void;
    get selectedArticles(): ArticleInfoType[];
    /***HTML REFS */
    settingsScrollerElement?: HTMLDivElement | null;
    setScrollerElement(ref: HTMLDivElement | null): void;
    settingsHeaderElement?: HTMLElement | null;
    setHeaderElement(ref: HTMLElement | null): void;
    /**planner Filter */
    plannerFilter: PlannerFilter;
    doShowReplaceMode: boolean;
    plannerReplaceMode: boolean;
    plannerReplaceModeAutoSwitch: boolean;
    setPlannerReplaceMode(val: boolean): void;
    plannerReplaceModeAvailable: boolean;
    setPlannerReplaceModeAvailable(val: boolean): void;
    updatePlannerFilter(plannerFilter: PlannerFilter): void;
    /**Inputwindow */
    inputBoxValue: string;
    setInputBoxValue: (val: string) => void;
    inputBoxVisible: boolean;
    inputBoxItem: any | undefined;
    updateInputBoxValues(visible: boolean, item: any): void;
    infoBoxContent?: InfoboxContentProps;
    updateInfoBox(newVal?: InfoboxContentProps): void;
    /**SettingsWidth */
    settingsWidth: number;
    setSettingsWidth(val: number): void;
    /**
     * shelfplanner free spaces
     */
    freePlacesOnGrids?: FreePlacesOnGrids[];
    setFreePlacesOnGrids: (free?: FreePlacesOnGrids[]) => void;
    plannedPlacesOnGrids?: PlannedPlacesOnGrids[];
    setGridsData: (free?: FreePlacesOnGrids[], planned?: PlannedPlacesOnGrids[]) => void;
    selectedShelfAccessoire?: string;
    setSelectedShelfAccessoire(basketId?: string): void;
    autoOpenContentItems: string[] | boolean;
    contentItemId?: string;
    clickedFrom?: string;
    dontReopenAutomatically: boolean;
    setDontReopenAutomatically(val: boolean): void;
    setContentItemId(id?: string, isOfOPV?: boolean, clickedFrom?: string): void;
    setClickedFrom(val?: string): void;
    contentItemVisible: boolean;
    setContentItemVisible(visible: boolean): void;
    get isContentItemVisible(): boolean | "" | undefined;
    onClickContentItemId(id?: string, clickedFrom?: string): void;
    conetentItemOfOPVOpen: boolean;
    notificationsShown: number[];
    reset: () => void;
    partlistArticlesInOverview: {
        [key: string]: {
            totalCount: number;
            items: {
                opv: string;
                articles: {
                    plaCodex: string;
                    retailArticleNr: string;
                    quantity: number;
                }[];
            }[];
        };
    };
    setPartlistArticlesInOverview(val: {
        [key: string]: {
            totalCount: number;
            items: {
                opv: string;
                articles: {
                    plaCodex: string;
                    retailArticleNr: string;
                    quantity: number;
                }[];
            }[];
        };
    }): void;
    planner2Dot0Active: boolean;
    setPlanner2Dot0Active(val: boolean): void;
    addElementSelected?: AddElementSelected;
    setAddElementSelected(val?: AddElementSelected): void;
    lastesScrollPositionDirectionChange: number;
    setLastesScrollPositionDirectionChange(val: number): void;
    isScrollingDown: boolean;
    setIsScrollingDown(val: boolean): void;
    lastesScrollPosition: number;
    setLastesScrollPosition(val: number): void;
    isMicroScrollingDown: 'up' | 'down' | undefined;
    setIsMicroScrollingDown(val: 'up' | 'down'): void;
    activeSnapPointIndex: number;
    setActiveSnapPointIndex(activeSnapPointIndex: number, force?: boolean): void;
    productHeight: string;
    setProductHeight(val: string): void;
    generalPlanningState: {
        [setId: string]: GeneralPlanningState;
    };
    setGeneralPlanningState(setId: string, generalPlanningState: GeneralPlanningState): void;
    initFunctions(scrollToCurTabgroupHorizontal: () => void, updatePlannerView: (from: ViewChangedCause) => void, uiState: UIState): void;
    promotedGroups: {
        items: any[];
        _id: string;
    }[];
    promotedOptimisticProductId: string | null;
    promotedListLoadedKey: string | null;
    private promotedLoadId;
    setPromotedGroups(groups: {
        items: any[];
        _id: string;
    }[]): void;
    setPromotedOptimisticProductId(id: string | null): void;
    resetPromotedProducts(): void;
    loadPromotedProducts(productHandler: {
        apiLoadProductVariantsGrouped: (params: any) => Promise<any>;
    }, organizationId: string, catalogCodex: string | undefined, plannerType?: PlannerType, productsConfig?: {
        filter?: any[];
        maxCount?: number;
        sort?: string;
        showSkeletions?: boolean;
    }): void;
    nestedDrawer: DrawerMenu | undefined;
    setNestedDrawer(val: DrawerMenu | undefined): void;
}
//# sourceMappingURL=index.d.ts.map