import * as React from 'react';
import { AdaptableWizardStep } from './Interface/IAdaptableWizard';
import { AdaptableApi } from '../../types';
import { CSSProperties } from 'react';
import { ModuleInfo } from '../../Strategy/Interface/IModule';
export interface IWizardStepInfo {
    StepName: string;
    Element: React.JSX.Element;
    Index: number;
}
export declare const AdaptableWizardContext: React.Context<{
    data: any;
    updateGoBackState: () => void;
    onRender: (ActiveStep: AdaptableWizardStep) => void;
    api: AdaptableApi;
}>;
export declare const useWizardContext: () => {
    data: any;
    updateGoBackState: () => void;
    onRender: (ActiveStep: AdaptableWizardStep) => void;
    api: AdaptableApi;
};
export interface AdaptableWizardProps extends React.ClassAttributes<AdaptableWizard> {
    steps: IWizardStepInfo[];
    data: any;
    closeText?: React.ReactNode;
    closeTooltip?: string;
    onHide: Function;
    onFinish?: Function;
    stepStartIndex?: number;
    moduleInfo: ModuleInfo;
    modalContainer: HTMLElement;
    canFinishWizard: Function;
    style?: CSSProperties;
    showStepsLegend?: Boolean;
    api: AdaptableApi;
}
export interface AdaptableWizardState extends React.ClassAttributes<AdaptableWizard> {
    ActiveState: any;
    IndexState: number;
}
export declare class AdaptableWizard extends React.Component<AdaptableWizardProps, AdaptableWizardState> {
    private ActiveStep;
    private stepName;
    constructor(props: AdaptableWizardProps);
    render(): React.JSX.Element;
    private onStepButtonClicked;
    ForceUpdateGoBackState(): void;
    isLastStep(): boolean;
    isFirstStep(): boolean;
    canFinishWizard(): boolean;
    handleClickBack(): void;
    handleClickNext(): void;
    handleClickFinish(): void;
    private cloneWizardStep;
}
