import { Component, ReactNode, ReactElement } from 'react';
import { ProgressStepProps, Status } from '../ProgressStep';
import './DrawerProgress.less';
declare type RenderParams = {
    content: ReactElement;
    footer?: ReactNode;
};
export declare type DrawerProgressProps = {
    baseClassName?: string;
    title?: ReactNode;
    steps: ProgressStepProps[];
    buttons?: ReactNode;
    autoCloseTimeout?: number;
    onStart?: () => void;
    onClose?: () => void;
    onCancel?: () => void;
    onFinish?: () => void;
    onFail?: () => void;
    cancelable?: boolean;
    onClosableChange?: (closable: boolean) => void;
    onStatusChange?: (status: Status) => void;
    render?: (params: RenderParams) => ReactNode;
};
declare type DrawerProgressState = {
    status: ProgressStepProps['status'] | null;
};
declare class DrawerProgress extends Component<DrawerProgressProps, DrawerProgressState> {
    static defaultProps: {
        baseClassName: string;
        autoCloseTimeout: number;
        cancelable: boolean;
        steps: never[];
    };
    state: {
        status: null;
    };
    componentDidUpdate(_prevProps: DrawerProgressProps, prevState: DrawerProgressState): void;
    componentWillUnmount(): void;
    closeTimeout?: number;
    handleStatusChange: (status: Status) => void;
    handleClose: () => void;
    handleCancel: () => void;
    render(): ReactNode;
}
export default DrawerProgress;
