import { UserData, Dimensions, OrganizationData } from '@crystaldesign/diva-core';
import { Configuration, TemplateConfigType } from '@crystaldesign/web-planner-logic';
import { i18n } from 'i18next';
import { WindowType } from '../../../components/Product/Product/catalog';
import SettingsState from './Settings';
import { ReturnTo } from '@crystaldesign/web-planner-logic';
import { ViewChangedCause, CheckoutConfig } from '@crystaldesign/web-planner-logic';
export declare const SETTINGS_SCROLLER_HEIGHT = 55;
export declare const SETTINGS_SCROLLER_HEIGHT_MAX = 70;
export declare const PRODUCT_HEIGHT = 45;
export declare const PRODUCT_HEIGHT_MAX = 60;
export default class UIState {
    private checkedMobileFirstTime;
    private isCheckCurrentlyCheckingInMobileView;
    config: Configuration;
    private updatePlannerView;
    private visitActVisibleSteps;
    private updateCurTabGroupType;
    private settingsState;
    private getReturnTo;
    private getFilterForCheckoutButtons;
    private resizeObserver?;
    private configPalettescrollEventCounter;
    private tabGroupscrollEventCounter;
    checkoutConfig?: CheckoutConfig;
    isAdvancedConfigurator: boolean;
    constructor();
    initFunctions(updatePlannerView: (callingFrom: ViewChangedCause) => void, visitActVisibleSteps: () => void, updateCurTabGroupType: () => void, settingsState: SettingsState, getReturnTo: () => ReturnTo | undefined, getFilterForCheckoutButtons: () => string[]): void;
    /********************************************************************* Template STATES *********************************************************************/
    initTemplateConfig(t: TemplateConfigType | undefined, advancedconfigurator?: boolean): void;
    templateConfigKeys?: TemplateConfigType;
    templateConfig: {
        [template: string]: string;
    } | undefined;
    /*****************************************************************Mobile, Expand and fold state *****************************************************************/
    configuratorRef?: HTMLDivElement | null;
    setConfiguratorRef(val: HTMLDivElement | null): void;
    wrapperRef?: HTMLDivElement | null;
    setWrapperRef(val: HTMLDivElement | null): void;
    get snapPoints(): number[];
    coreMobile: boolean;
    setCoreMobile(val: boolean): void;
    private i18n;
    set i18nInstance(i18n: i18n | undefined);
    get i18nInstance(): i18n | undefined;
    get ItemsPaletteInProductVisible(): boolean | 0;
    user: UserData | undefined;
    setUser(user: UserData | undefined): void;
    organization: OrganizationData | undefined;
    setOrganization(organization: OrganizationData | undefined): void;
    firstVisit: boolean;
    setFirstVisit(val: boolean): void;
    isLoading: boolean;
    isLogicLoading: boolean;
    setIsLogicLoading(val: boolean): void;
    setIsLoading(val: boolean): void;
    configuratorDisabled: boolean;
    setConfiguratorDisabled(val: boolean): void;
    configuratorHidden: boolean;
    setConfiguratorHidden(val: boolean): void;
    private getOrientation;
    checkIsInMobileView(dimensions: Dimensions): Promise<void>;
    get isInMobileView(): boolean;
    isMobilePortrait: boolean;
    isMobileLandscape: boolean;
    isTablet: boolean;
    configSettingsIsExpanded: boolean;
    setConfigSettingsIsExpanded(val: boolean): void;
    configSettingsIsMaxExpanded: boolean;
    setConfigSettingsIsMaxExpanded(val: boolean): void;
    configSettingsIsMinExpanded: boolean;
    setConfigSettingsIsMinExpanded(val: boolean): void;
    doShowConfSettingsExpander?: boolean;
    doShowConfSettingsMaxMinExpander?: boolean;
    get ViewConfig(): import("@crystaldesign/web-planner-logic").ViewConfigData;
    get AllConfig(): Configuration;
    initFromConfig(config: Configuration): void;
    reset(): void;
    onClickExpandConfigSettings: () => void;
    onClickExpandMaxConfigSettings: () => void;
    onClickExpandMinConfigSettings: () => void;
    private visitSteps;
    /************************Resize Logic ***************************************/
    buildResizer(): void;
    onResize(): void;
    resizeCore(dimensions: Dimensions): Promise<void>;
    hidePrices: boolean;
    setHidePrices(hidden: boolean): void;
    buildResizeObserver(): void;
    setUpSettingsScrollEvent(element: HTMLElement): () => void;
    private onNewGesture;
    private lastScrollTop;
    private lastTime;
    speed: number;
    ignoreUntilNextGesture: boolean;
    private newTouchGestureInitClientY;
    swiperNavigationActive: boolean;
    setSpeed(speed: number): void;
    handleScrollSpeed: () => void;
    timeout: NodeJS.Timeout | null;
    private handleTouchMove;
    private handleScrollHeight;
    resetScrollAfterNavigation(tabgroupType: string): void;
    setUpTabGropsScrollEvent(element: HTMLElement): () => void;
    activeCatalogSection: WindowType;
    setActiveCatalogSection(val: WindowType): Promise<void>;
    navigateStepByStep: () => boolean;
    setCheckoutConfig(): void;
}
//# sourceMappingURL=index.d.ts.map