import { OmniaUxLocalization, WizardStyles } from "..";
import { IWebComponentInstance, MessageBusExposeOnlySubscription } from "../../";
import { VueComponentBase } from "../VueComponentBase";
import { IWizard, IWizardInstance, IWizardStepComponent, WizardStateModel, WizardStepModel } from "./IWizard";
import "./Wizard.css";
import { IWizardInstanceExtends, WizardStep } from "./WizardStep";
export default class WizardComponent extends VueComponentBase implements IWebComponentInstance, IWizard, IWizardInstanceExtends {
    styles?: typeof WizardStyles;
    steps: Array<WizardStepModel>;
    onInstanceCreated?: (inst: IWizardInstance) => void;
    defaultStepIndex: number;
    isOnDialog?: boolean;
    horizontalMinHeight?: number;
    protected omniaUxLoc: OmniaUxLocalization;
    private wizardSize;
    private omniaTheming;
    private summaryInfoState;
    private subscriptionHandler;
    private directionStore;
    private wizardClasses;
    private vertical;
    private resizeTimewatchId;
    private isRightToLeft;
    private state;
    instanceId: string;
    private topicStateChanged;
    created(): void;
    mounted(): void;
    beforeDestroy(): void;
    private goToDefaultStep;
    private handleSize;
    private handleResizeInTimeWatch;
    private calculateCols;
    private get currentStep();
    private get currentStepInstance();
    private get maximumStepIndex();
    private get maximumStepNumber();
    private getStepNumber;
    private getStepIndex;
    addSteps(steps: Array<WizardStepModel>): void;
    addStep(step: WizardStepModel, position: number): void;
    removeSteps(position: number, howmany?: number): void;
    goTo(targetStepNumber: number): Promise<boolean>;
    goBack(): Promise<boolean>;
    goNext(): Promise<boolean>;
    getStep(stepId: string): WizardStep;
    registerStepInstance(stepId: string, instance: IWizardStepComponent): any;
    getWizardState<T extends WizardStateModel>(): T;
    setWizardState(newState: WizardStateModel): void;
    onWizardStateChanged(): MessageBusExposeOnlySubscription<WizardStateModel>;
    notifyStateChanged(): void;
    private topicStepVisible;
    private renderSelectTemplateStepHeader;
    private renderSelectTemplateStepContent;
    private shouldRenderStep;
    renderHorizontalMode(): VueTsxSupport.JSX.Element | VueTsxSupport.JSX.Element[];
    renderVerticalMode(): VueTsxSupport.JSX.Element[] | VueTsxSupport.JSX.Element[][];
    renderActions(): VueTsxSupport.JSX.Element;
    render(): VueTsxSupport.JSX.Element;
}
