import DivaWebPlanner, { PlannerMessageType, TabGroupTypes, BasketEvent, ReturnTo } from '@crystaldesign/web-planner-logic';
import ConfiguratorStructureHandler from '../../../TabGroup/ConfiguratorStructureHandler';
import PaletteViewHandler from '../../../Palette/PaletteViewHandler';
import UIState from '..';
import { Modal } from '@crystaldesign/diva-core';
import SettingsState from '../Settings';
import DivaViewHandler from '../../../../model/DivaViewHandler';
export default class ActionButtonState {
    private divaWebPlanner;
    private uiState;
    private settingsState;
    private configuratorStructureHandler;
    private paletteViewHandler;
    private getState;
    private updateConfiguratorState;
    private updatePlannerMsgContainer;
    private openModal?;
    constructor(uiState: UIState, settingsState: SettingsState, configuratorStructureHandler: ConfiguratorStructureHandler, getState: () => TabGroupTypes, updateConfiguratorState: (wasNaviagtion: boolean) => void, updatePlannerMsgContainer: (codex: PlannerMessageType, doShowPlannerMsg: boolean, type: 'WARNING' | 'INFO', content: string, autoHide: boolean, timeoutDuration?: number | undefined) => void, openModal?: (data: Modal) => void);
    initFunctions(divaWebPlanner: DivaWebPlanner, paletteViewHandler: PaletteViewHandler): void;
    isOnFirstStep: boolean;
    isOnLastStep: boolean;
    isOnFirstStepDisabled: boolean;
    checkoutButtonIsDisabled: boolean;
    initForUpdate(): void;
    onClickAddToBasket: (viewHandler?: DivaViewHandler, event?: BasketEvent, force?: boolean, returnTo?: ReturnTo, dontGoToSummary?: boolean, hideLoading?: boolean) => Promise<boolean>;
    onClickConfiguratorSettingsBack: () => void;
    onClickConfiguratorSettingsForth: (force?: boolean, forceNextOption?: boolean) => void;
    askToDefineAllOptions({ articles, options }: {
        articles: string[];
        options: {
            title: string;
            configStepKey: string;
        }[];
    }): Promise<void>;
    /**
     * This function is called when we save the act Planning to basket
     */
    saveToBasket(event?: BasketEvent, returnTo?: ReturnTo, hideLoading?: boolean): Promise<boolean>;
    get maxVariantCount(): number;
}
//# sourceMappingURL=index.d.ts.map