import React from 'react';
import IBasePro from '../0form/abase';
import { IPropertyComponent } from '../ztranslate';
interface ModalInner {
    /** 组件CSS类前缀 */
    classPrefix?: string;
}
interface ModalHeader extends ModalInner {
    /** 是否显示关闭按钮 - rsuite Modal.Header.closeButton */
    closeButton?: boolean;
    /** 隐藏事件 - rsuite Modal.Header.onHide */
    onHide?: (event: React.SyntheticEvent<any>) => void;
}
interface IDialogPro extends IBasePro {
    /** 弹出位置 - rsuite Modal.placement: 'top' | 'center' 等 */
    placement?: string;
    /** 是否为抽屉模式 - rsuite Drawer */
    drawer?: boolean;
    /** 是否显示对话框 - rsuite Modal.show */
    show: boolean;
    /** 是否自动聚焦 - rsuite Modal.autoFocus */
    autoFocus?: boolean;
    /** 背景遮罩 - rsuite Modal.backdrop: boolean | 'static' */
    backdrop?: any;
    /** 背景遮罩样式类名 - rsuite Modal.backdropClassName */
    backdropClassName?: string;
    /** 组件CSS类前缀 */
    classPrefix?: string;
    /** 对话框样式类名 - rsuite Modal.dialogClassName */
    dialogClassName?: string;
    /** 对话框自定义元素类型 - rsuite Modal.dialogComponentClass */
    dialogComponentClass?: React.ElementType;
    /** 是否强制聚焦 - rsuite Modal.enforceFocus */
    enforceFocus?: boolean;
    /** 是否全屏 - rsuite Modal.full */
    full?: boolean;
    /** 是否支持ESC关闭 - rsuite Modal.keyboard */
    keyboard?: boolean;
    /** 进入动画开始事件 - rsuite Modal.onEnter */
    onEnter?: () => void;
    /** 进入动画完成事件 - rsuite Modal.onEntered */
    onEntered?: () => void;
    /** 进入动画中事件 - rsuite Modal.onEntering */
    onEntering?: () => void;
    /** 退出动画开始事件 - rsuite Modal.onExit */
    onExit?: () => void;
    /** 退出动画完成事件 - rsuite Modal.onExited */
    onExited?: () => void;
    /** 退出动画中事件 - rsuite Modal.onExiting */
    onExiting?: () => void;
    /** 隐藏事件 - rsuite Modal.onHide */
    onHide?: () => void;
    /** 显示事件 - rsuite Modal.onShow */
    onShow?: () => void;
    /** 是否溢出滚动 - rsuite Modal.overflow */
    overflow?: boolean;
    /** 对话框尺寸 - rsuite Modal.size: 'xs' | 'sm' | 'md' | 'lg' | 'full' */
    size?: string;
    /** 头部组件类型 - rsuite Modal.Header */
    headerType?: IPropertyComponent;
    /** 标题组件类型 - rsuite Modal.Title */
    titleType?: IPropertyComponent;
    /** 底部组件类型 - rsuite Modal.Footer */
    footerType?: IPropertyComponent;
    /** 内容组件类型 - rsuite Modal.Body */
    bodyType?: IPropertyComponent;
    /** 头部属性配置 - rsuite Modal.Header */
    modalHeader?: ModalHeader;
    /** 标题属性配置 - rsuite Modal.Title */
    modalTitle?: ModalInner;
    /** 底部属性配置 - rsuite Modal.Footer */
    modalFooter?: ModalInner;
    /** 内容属性配置 - rsuite Modal.Body */
    modalBody?: ModalInner;
    /** 内容区域高度 */
    bodyHeight?: number;
    /** 对话框标题文本 */
    title?: string;
    /** 提交事件回调 */
    handleSubmit?: () => void;
    /** 取消事件回调 */
    handleCancel?: () => void;
    /** 自定义底部渲染函数 */
    footer?: () => any[] | Function;
}
export type { IDialogPro };
