import React, { CSSProperties, HTMLAttributes, ReactNode } from 'react';
import { WithRef } from '../utils/type';
export interface Props {
/** 是否可见 */
visible?: boolean;
/** 标题 */
title: ReactNode;
/**
* 固定宽度
*
* @default 600
*/
width?: number;
/**
* 自定义底部区域(按钮所在的位置)
*/
footer?: ReactNode;
/**
* 点击确定回调
*/
onOk?: () => Promise | void;
/**
* 点击模态框右上角叉、取消按钮、遮罩层或键盘按下 Esc 时的回调
*/
onCancel?: () => void;
/**
* 不可见时是否自动销毁
*
* @default false
*/
autoDestroy?: boolean;
/** 自定义样式名 */
className?: string;
/** 自定义样式 */
style?: CSSProperties;
/** 模态框内容 */
children?: ReactNode;
/**
* 根元素的 html 属性
*/
rootHtmlProps?: WithRef, HTMLDivElement>;
/**
* 遮罩的 html 属性
*/
maskHtmlProps?: WithRef, HTMLDivElement>;
/**
* 点击 mask 是否允许关闭对话框;默认使用全局配置 mask.modal.clickable (false)
*/
maskClickable?: boolean;
/**
* 是否允许通过键盘的 `esc` 按钮关闭对话框
*
* @default true
*/
keyboard?: boolean;
/**
* 是否垂直居中展示
*
* @default false
*/
centered?: boolean;
}
export interface InternalModalProps extends Props {
/** 自定义 modal render 逻辑 */
renderModal?: (node: ReactNode) => ReactNode;
}
/** 对(icecream)内的 Modal 实现,相比对外的 Modal 提供更高的可定制化程度 */
export declare function InternalModal(props: InternalModalProps): React.JSX.Element;
export default function Modal(props: Props): React.JSX.Element;