import { type Ref, type ComputedRef } from 'vue';
import type { TriggerType } from '../types';
export interface UseTriggerOptions {
    /** 显示弹出层 */
    show: () => void;
    /** 隐藏弹出层 */
    hide: () => void;
    /** 切换显示状态 */
    toggle: () => void;
    /** 停止隐藏 */
    stopHide: () => void;
    /** 触发内容区鼠标移入事件 */
    emitContentMouseenter?: (e: MouseEvent) => void;
    /** 触发内容区鼠标移出事件 */
    emitContentMouseleave?: (e: MouseEvent) => void;
}
export interface UseTriggerProps {
    trigger: TriggerType;
    disabled: boolean;
    /** 是否始终显示 */
    always?: boolean;
    /** 点击 Reference 时是否忽略收起 */
    hideIgnoreReference?: boolean;
    /** 当前是否显示 */
    isOpen?: boolean;
}
export interface UseTriggerReturn {
    /** Reference 元素的事件监听器 */
    referenceListeners: ComputedRef<Record<string, (e: Event) => void>>;
    /** Floating 元素（弹出内容）的事件监听器 */
    floatingListeners: ComputedRef<Record<string, (e: Event) => void>>;
}
/**
 * 管理 Popover 的触发事件
 *
 * 根据 trigger 类型返回不同的事件监听器：
 * - hover: mouseenter/mouseleave/focus/blur
 * - click: click
 * - manual: 无事件（通过 isShow prop 控制）
 */
export declare function useTrigger(props: Ref<UseTriggerProps>, options: UseTriggerOptions): UseTriggerReturn;
