/// <reference types="react" />
import { GetContainer } from './get-container';
import { MaskProps } from './mask-props';
import { PropagationEvent } from './propagation-event';
export interface PopupBaseProps {
    /**
     * 完全关闭后触发
     */
    afterClose?: () => void;
    /**
     * 完全展示后触发
     */
    afterShow?: () => void;
    /**
     * 内容区域类名
     */
    bodyClassName?: string;
    /**
     * 内容区域样式
     */
    bodyStyle?: React.CSSProperties;
    /**
     * 点击背景蒙层后是否关闭
     */
    closeOnMaskClick?: boolean;
    /**
     * 不可见时卸载内容
     */
    destroyOnClose?: boolean;
    /**
     * 阻止滚动
     */
    disableBodyScroll?: boolean;
    /**
     * 强制渲染内容
     */
    forceRender?: boolean;
    /**
     * 指定挂载的 HTML 节点，默认为 body，如果为 null 的话，会渲染到当前节点
     */
    getContainer?: GetContainer;
    /**
     * 是否展示蒙层
     */
    mask?: boolean;
    /**
     * 遮罩类名
     */
    maskClassName?: string;
    /**
     * 遮罩样式
     */
    maskStyle?: MaskProps['style'];
    /**
     * 点击事件触发的回调函数
     */
    onClick?: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
    /**
     * 关闭时触发的回调函数
     */
    onClose?: () => void;
    /**
     * 点击蒙层的回调事件
     */
    onMaskClick?: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
    /**
     * 是否显示关闭按钮
     */
    showCloseButton?: boolean;
    /**
     * 阻止事件冒泡
     */
    stopPropagation?: PropagationEvent[];
    /**
     * 是否可见
     */
    visible?: boolean;
}
