/**
 * 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, IBasePortalProps } from '../../types';
export interface IClientPopoverProps extends IBasePortalProps, Pick<IBasePopoverProps, 'children'> {
    /**
     * 触发方式
     */
    trigger: 'hover' | 'click' | 'custom';
    /**
     * 弹出层是否可见，配合trigger = 'custom' 时使用
     */
    visible?: boolean;
    /**
     * 弹出层展示/隐藏时触发的回调
     */
    onVisibleChange?: (visible: boolean) => void;
    /**
     * 当弹出层处于展示状态，点击非Children、非浮层内部区域时的回调（仅trigger为custom、click时有效）
     */
    onClickOutSide?: () => void;
    openPayload?: {
        popoverProps: Omit<IBasePopoverProps, 'children'>;
    } & Record<string, any>;
    disabled?: boolean;
    contentRef?: React.MutableRefObject<{
        popup?: Record<string, any>;
    }> | undefined;
    context?: Record<string, any>;
}
