/// <reference types="react" />
import React from 'react';
export interface ModalProps {
    /** 对话框是否可见*/
    visible?: boolean;
    /** 标题*/
    title?: React.ReactNode | string;
    /** 是否显示右上角的关闭按钮*/
    closable?: boolean;
    /** 点击确定回调*/
    onOk?: (e: React.MouseEvent<any>) => void | Promise;
    /** 点击模态框右上角叉、取消按钮、Props.maskClosable 值为 true 时的遮罩层或键盘按下 Esc 时的回调*/
    onCancel?: (e: React.MouseEvent<any>) => void | Promise;
    afterClose?: () => void;
    /** 宽度*/
    width?: string | number;
    /** 底部内容*/
    footer?: React.ReactNode;
    /** 确认按钮文字*/
    okText?: string;
    /** 取消按钮文字*/
    cancelText?: string;
    /** 点击蒙层是否允许关闭*/
    maskClosable?: boolean;
    style?: React.CSSProperties;
    wrapClassName?: string;
    maskTransitionName?: string;
    transitionName?: string;
    className?: string;
}
export interface ModalFuncProps {
    title?: React.ReactNode | string;
    content?: React.ReactNode | string;
    duration?: number;
    onOk?: () => void | Promise;
    onClose?: () => void;
    afterClose?: () => void;
}
export interface ConfirmOptions extends ModalProps {
    title: string | React.ReactNode;
    content: string | React.ReactNode;
    width?: number;
    okText?: string | React.ReactNode;
    cancelText?: string | React.ReactNode;
    duration?: number;
    onOk?: () => void | Promise;
    onConfirm?: () => void | Promise;
    onCancel?: () => void | Promise;
    afterClose?: () => void;
}
export interface ModalShowFuncProps extends ModalProps {
    content: string | React.ReactNode
}
export declare type ModalFunc = (props: ModalFuncProps) => {
    destroy: () => void
};
export default class Modal extends React.Component<ModalProps, any> {
    static show: (options: ModalShowFuncProps) => { destroy: () => void };
    static info: ModalFunc;
    static success: ModalFunc;
    static error: ModalFunc;
    static warn: ModalFunc;
    static confirm: (options: ConfirmOptions) => { destroy: () => void };;
    static defaultProps: {
        prefixCls: string;
        width: number;
        transitionName: string;
        maskTransitionName: string;
        visible: boolean;
    };
    static propTypes: {
        prefixCls: any;
        onOk: any;
        onCancel: any;
        okText: any;
        cancelText: any;
        width: any;
        visible: any;
        align: any;
        footer: any;
        title: any;
        closable: any;
    };
    handleCancel: (e: any) => void;
    handleOk: (e: any) => void;
    componentDidMount(): void;
    render(): JSX.Element;
}
