import { IWizardInstance, IWizardStep, WizardStepModel, IWizardStepComponent } from ".";
import { MessageBusExposeOnlySubscription } from "../..";
export interface IWizardInstanceExtends extends IWizardInstance {
    goBack(): Promise<boolean>;
    goNext(): Promise<boolean>;
    instanceId: string;
    $forceUpdate: () => void;
}
export interface WizardStepModelExtends extends WizardStepModel {
    complete?: boolean;
    refInstance?: IWizardStepComponent;
    disableNext?: boolean;
    hideNext?: boolean;
    disableBack?: boolean;
    hideBack?: boolean;
    showBack?: boolean;
    hideStepProgress?: boolean;
}
export declare class WizardStep implements IWizardStep {
    private wizardInstance;
    private model;
    constructor(wizardInstance: IWizardInstanceExtends, model: WizardStepModelExtends);
    goBack(): this;
    goNext(): this;
    hideStepProgress(): this;
    showStepProgress(): this;
    registerButtons(afterButtons: () => JSX.Element[], beforeButtons?: () => JSX.Element[]): this;
    disableNext(): this;
    enableNext(): this;
    hideNext(): this;
    showNext(): this;
    disableBack(): this;
    enableBack(): this;
    hideBack(): this;
    showBack(): this;
    onStepVisible(): MessageBusExposeOnlySubscription<void>;
}
