import React from 'react';
import { OverlayMaskType } from '../overlay';
import { ButtonProps } from '../button';
export declare type ModalProps = {
    visible?: boolean;
    header?: string | React.ReactNode;
    footer?: null | React.ReactNode;
    width?: number | string;
    centered?: boolean;
    closable?: boolean;
    unmountOnClose?: boolean;
    afterClose?: () => any;
    maskType?: OverlayMaskType;
    maskClosable?: boolean;
    confirmLoading?: boolean;
    onConfirm?: React.MouseEventHandler<HTMLButtonElement>;
    onCancel?: React.MouseEventHandler<HTMLButtonElement>;
    confirmText?: string;
    cancelText?: string;
    confirmButtonProps?: ButtonProps;
    cancelButtonProps?: ButtonProps;
    animation?: 'slide' | 'scale';
    top?: number;
    zIndex?: number;
    prefixCls?: string;
    className?: string;
    style?: React.CSSProperties;
    headerStyle?: React.CSSProperties;
    bodyStyle?: React.CSSProperties;
    footerStyle?: React.CSSProperties;
    maskStyle?: React.CSSProperties;
    children?: React.ReactNode;
} & typeof defaultProps;
declare const defaultProps: {
    visible: boolean;
    width: number;
    centered: boolean;
    closable: boolean;
    unmountOnClose: boolean;
    maskType: string;
    maskClosable: boolean;
    prefixCls: string;
    confirmText: string;
    cancelText: string;
    confirmLoading: boolean;
    animation: string;
    zIndex: number;
    onConfirm: () => void;
    onCancel: () => void;
};
declare const Modal: {
    (props: ModalProps): JSX.Element;
    defaultProps: {
        visible: boolean;
        width: number;
        centered: boolean;
        closable: boolean;
        unmountOnClose: boolean;
        maskType: string;
        maskClosable: boolean;
        prefixCls: string;
        confirmText: string;
        cancelText: string;
        confirmLoading: boolean;
        animation: string;
        zIndex: number;
        onConfirm: () => void;
        onCancel: () => void;
    };
};
export default Modal;
