import React from 'react';
import type { ActionObject, IScopedContext } from 'jamis-core';
import { ScopedContext } from 'jamis-core';
import type { IWizardEvent, WizardProps } from '../types';
interface WizardState {
    currentStep: number;
    completeStep: number;
}
export default class Wizard extends React.Component<WizardProps, WizardState> {
    static defaultProps: Partial<WizardProps>;
    static propsList: Array<string>;
    dom: any;
    form: any;
    asyncCancel: () => void;
    parentNode?: any;
    unSensor: Function;
    affixDom: React.RefObject<HTMLDivElement>;
    footerDom: React.RefObject<HTMLDivElement>;
    initalValues: {
        [propName: string]: any;
    };
    state: {
        currentStep: number;
        completeStep: number;
    };
    componentDidMount(): void;
    componentDidUpdate(prevProps: WizardProps): void;
    componentWillUnmount(): void;
    dispatchEvent(action: IWizardEvent, value?: object): Promise<boolean>;
    handleInitEvent(data: any): Promise<void>;
    affixDetect(): void;
    gotoStep(index: number): Promise<void>;
    formRef(ref: any): void;
    submitToTarget(target: string, values: object): void;
    reloadTarget(target: string, data: any): void;
    reload(subPath?: string, query?: any, ctx?: any): void;
    receive(values: object): void;
    wizardRef(ref: any): any;
    getPopOverContainer(): any;
    checkSubmit(): void;
    handleAction(e: React.UIEvent<any> | void, action: ActionObject, data: object, throwErrors?: boolean, delegate?: IScopedContext): void | Promise<void>;
    handleQuery(query: any): void;
    openFeedback(dialog: any, ctx: any): Promise<unknown>;
    handleChange(values: object): Promise<void>;
    handleInit(values: any): void;
    handleReset(values: any): void;
    finalSubmit(values?: object, action?: ActionObject): Promise<void>;
    handleSubmit(values: object, action: ActionObject): boolean;
    handleDialogConfirm(values: object[], action: ActionObject, targets: Array<any>): void;
    handleDialogClose(confirmed?: boolean): void;
    renderHeader(): JSX.Element;
    renderActions(): JSX.Element | null;
    renderFooter(): JSX.Element | null;
    renderWizard(): JSX.Element;
    render(): JSX.Element;
}
export declare class WizardRenderer extends Wizard {
    static contextType: React.Context<IScopedContext<import("jamis-core").ScopedComponentType<import("jamis-core").RendererProps>>>;
    context: React.ContextType<typeof ScopedContext>;
    constructor(props: WizardProps, context: IScopedContext);
    componentWillUnmount(): void;
    doAction(action: ActionObject, data: object, throwErrors?: boolean): void | Promise<void>;
    submitToTarget(target: string, values: object): void;
    reloadTarget(target: string, data: any): void;
    handleDialogConfirm(values: object[], action: ActionObject, targets: Array<any>): void;
    setData(values: object): void;
}
export {};
