/**
 * Copyright (c) 2024 Lark Technologies Pte. Ltd.
 * 
 * Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted,provided that the above copyright notice and this permission notice appear in all copies.
 * 
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
 * IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE
 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO
 * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR
 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
 * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 */
import { IBasePopoverProps } from '../../types';
export interface IPopoverProps extends IBasePopoverProps {
    /**
     * 触发方式
     */
    trigger?: 'hover' | 'click' | 'custom';
    /**
     * 如果只需要展示普通文本，直接给定 content 字符串即可
     */
    content?: string;
    /**
     * 自定义 entry 函数名，与插件在入口导出的自定义函数名匹配
     */
    entry?: string;
    /**
     * 指定 entry 时，允许传入自定义参数。
     *
     * 组件会将此参数携带给插件自定义 entry 函数的入参 props.context。
     *
     * 建议使用平面对象，不支持函数，proxy，等非常规数据。
     */
    context?: any;
    /**
     * 弹出层展示/隐藏时触发的回调
     */
    onVisibleChange?: (visible: boolean) => void;
    /**
     * 弹出层是否可见，配合trigger = 'custom' 时使用
     */
    visible?: boolean;
    /**
     * 当弹出层处于展示状态，点击非Children、非浮层内部区域时的回调（仅trigger为custom、click时有效）
     */
    onClickOutSide?: () => void;
}
