import { AfterContentInit, AfterViewChecked, ChangeDetectorRef, ComponentFactoryResolver, ElementRef, EventEmitter, OnDestroy, OnInit, QueryList } from "@angular/core";
import { BehaviorSubject } from "rxjs";
import { LoggerService } from "../../services/log-service";
import { IWizardSelectionEvent, IWizardStepComponent, IWizardWaitEvent } from "./public-api";
import { WizardStepComponent } from "./wizard-step.component";
/**
 * Component that provides wizard functionality.
 */
export declare class WizardComponent implements OnInit, AfterContentInit, AfterViewChecked, OnDestroy {
    private changeDetector;
    private componentFactoryResolver;
    private logger;
    private static placeholderFinishText;
    steps: QueryList<WizardStepComponent>;
    stepTitles: QueryList<ElementRef>;
    dynamicStep: any;
    /**
     * Set to true to show the "Finish" button at any point during the wizard process.
     *(default: false)
     */
    canFinish: boolean;
    /**
     * Set to true to enable overflow in wizard body container.
     */
    enableScroll: boolean;
    /**
     * Use this to set wizard body container height.
     */
    bodyContainerHeight: string;
    /**
     * Overrides the default text on the finish step button.
     *(default: 'Action')
     */
    finishText: string;
    /**
     * Use this to stretch lines between step labels according to largest label width.
     *(default: false)
     */
    stretchStepLines: boolean;
    /**
     * Evaluated when a step is selected.
     */
    selectionChange: EventEmitter<IWizardSelectionEvent>;
    /**
     * Evaluated when the user attempts to cancel the wizard.
     */
    cancel: EventEmitter<boolean>;
    /**
     * Evaluated when the user completes the wizard.
     */
    finish: EventEmitter<any>;
    /**
     * Emits when next button is clicked.
     */
    next: EventEmitter<any>;
    /**
     * Emits when Back button is clicked.
     */
    back: EventEmitter<any>;
    currentStep?: WizardStepComponent;
    stepLineWidth: number;
    navigationControl: BehaviorSubject<IWizardWaitEvent>;
    private selectionEvent;
    private stepIndex;
    private previousStepIndex;
    private futureStep?;
    private arraySteps;
    private dynamicSubscriptions;
    private dynamicRefs;
    constructor(changeDetector: ChangeDetectorRef, componentFactoryResolver: ComponentFactoryResolver, logger: LoggerService);
    ngOnInit(): void;
    ngAfterContentInit(): void;
    ngAfterViewChecked(): void;
    ngOnDestroy(): void;
    addStepDynamic(wizardStep: IWizardStepComponent, indexToInsert: number): any;
    removeStep(index: number): void;
    disableStep(step: WizardStepComponent): void;
    enableStep(step: WizardStepComponent): void;
    hideStep(step: WizardStepComponent): void;
    showStep(step: WizardStepComponent): void;
    resetStep(step: WizardStepComponent): void;
    goToStep(stepIndex: number): void;
    selectStep(step: WizardStepComponent): void;
    onBackClick(): void;
    onNextClick(): void;
    onFinishClick(): void;
    onCancelClick(): void;
    enterAnotherStep(): void;
    private disableFollowingSteps;
    private enableFollowingSteps;
    private getInputsAndOutputs;
    private handleStepControl;
    private getLargestLabelWidth;
    private onRemoveDynamic;
}
