import { Type } from '@angular/core';
import { Strings } from '../../generated/strings';
import { BannerItem } from '../banner';
import { SmeHeaderData } from '../header';
import { WizardStep } from './models';
import { WizardBuilderInterface } from './models/wizard-builder-interface';
import { WizardStage } from './models/wizard-stage';
export declare class WizardBuilder implements WizardBuilderInterface {
    /**
     * Resource strings for the component.
     */
    get strings(): Strings;
    /**
     * The stages of the wizard.
     */
    private wizardStages;
    private wizardBannerItems;
    /**
     * The finish view of the wizard.
     */
    private wizardFinishView;
    /**
     * The heading of the wizard.
     */
    private wizardHeading;
    /**
     * The subtitle for the heading of the wizard.
     */
    private wizardHeaderData;
    /**
     * The title of exit button.
     */
    private wizardExitButtonTitle;
    /**
     * The title of finish button.
     */
    private wizardFinishButtonTitle;
    /**
     * Whether the steps list side pane will be visible.
     */
    private wizardHideStepsListSidePane;
    /**
     * Whether the wizard has an exit button.
     */
    private wizardShowExitButton;
    /**
     * Whether a confirmation dialog should be shown when 'Exit' is clicked.
     */
    private wizardShowExitConfirmationDialog;
    /**
     * Whether the wizard is in preview.
     */
    private wizardIsInPreviewState;
    /**
     * Whether the wizard can navigate to a previous step.
     */
    private wizardCanNavigateToPreviousStep;
    /**
     * Initializes a new instance of the WizardBuilder class.
     */
    constructor();
    /**
     * Gets the array of wizard stages (each containing the corresponding wizard steps).
     */
    get stages(): WizardStage[];
    get bannerItems(): BannerItem[];
    /**
     * Gets the wizard finish view.
     */
    get finishView(): WizardStep;
    /**
     * Sets the wizard finish view.
     */
    set finishView(value: WizardStep);
    /**
     * Gets the wizard heading.
     */
    get heading(): string;
    /**
     * Sets the wizard heading.
     */
    set heading(value: string);
    /**
     * Gets the heading subtitle.
     */
    get headerData(): SmeHeaderData;
    /**
     * Sets the heading subtitle.
     */
    set headerData(value: SmeHeaderData);
    /**
     * Gets the wizard exit button title.
     */
    get exitButtonTitle(): string;
    /**
     * Sets the wizard exit button title.
     */
    set exitButtonTitle(value: string);
    /**
     * Gets the wizard finish button title.
     */
    get finishButtonTitle(): string;
    /**
     * Sets the wizard finish button title.
     */
    set finishButtonTitle(value: string);
    /**
     * Gets the boolean indicating whether the steps list will be hidden (default is false).
     */
    get hideStepsListSidePane(): boolean;
    /**
     * Sets whether the steps list will be hidden or not (useful if there is just one step per stage for all stages).
     */
    set hideStepsListSidePane(value: boolean);
    /**
     * Gets the boolean indicating whether a exit button is shown throughout the wizard.
     */
    get showExitButton(): boolean;
    /**
     * Sets the boolean indicating whether a exit button is shown throughout the wizard.
     */
    set showExitButton(value: boolean);
    /**
     * Gets the boolean indicating whether a confirmation dialog will be shown when 'Exit' is clicked.
     */
    get showExitConfirmationDialog(): boolean;
    /**
     * Sets the boolean indicating whether a confirmation dialog will be shown when 'Exit' is clicked.
     */
    set showExitConfirmationDialog(value: boolean);
    /**
     * Gets preview status.
     */
    get isInPreviewState(): boolean;
    /**
     * Sets preview status.
     */
    set isInPreviewState(value: boolean);
    /**
     * Gets if navigating to a previous step is allowed.
     */
    get canNavigateToPreviousStep(): boolean;
    /**
     * Sets if navigating to a previous step is allowed.
     */
    set canNavigateToPreviousStep(value: boolean);
    /**
     * Creates a new WizardStep, and adds it to the specified WizardStage.
     * If the specified WizardStage does not exist, it will be created.
     *
     * @param stepName - The name for the new WizardStep.
     * @param stepComponentType - The componentType for the new WizardStep.
     * @param stageName - The name of the WizardStage in which this new WizardStep should be added.
     */
    addStepInStage(stepName: string, stepComponentType: Type<any>, stageName: string): void;
    /**
     * Creates a new WizardStep, and adds it to the specified WizardStage at the specified index.
     * If the specified WizardStage does not exist, it will be created.
     *
     * @param stepName - The name for the new WizardStep.
     * @param stepComponentType - The componentType for the new WizardStep.
     * @param stageName - The name of the WizardStage in which this new WizardStep should be added.
     * @param index - The step index to insert step (will increase index of existing step at given index by 1 if any)
     */
    addStepInStageByIndex(stepName: string, stepComponentType: Type<any>, stageName: string, index: number): void;
    /**
     * Removes WizardStep at specified index in specified stage.
     * If the specified stage or index does not exist, false will be returned.
     *
     * @param stageName - The name of the Wizard stage in which to remove the step.
     * @param index - The step index to be removed (will decrease indices of proceeding steps)
     * @returns - True if step is removed successfully, false otherwise.
     */
    removeStepInStageByIndex(stageName: string, index: number): boolean;
    /**
     * Creates a new WizardStage at the specified index.
     *
     * @param stageName - The Name for the new WizardStage
     * @param index - The stage index to insert stage (will increase index of existing stage at given index by 1 if any)
     */
    addStageByIndex(stageName: string, index: number): void;
    /**
     * Adds banner items to the entire wizard.
     *
     * @param item - The Banner Item
    */
    addWizardBannerItems(item: BannerItem): void;
    /**
     * Clears all steps from given stage.
     * If the specified stage does not exist, false will be returned.
     *
     * @param stageName - The name of the Wizard stage to clear steps from.
     * @returns - True if stage is cleared successfully, false otherwise.
     */
    clearStage(stageName: string): boolean;
    /**
     * Creates a new WizardStep for the Finish view using the component specified.
     */
    addFinishView(stepComponentType: Type<any>): void;
}
