import type { ComponentPublicInstance, Ref } from 'vue'; import type { Placement, Strategy } from '@floating-ui/dom'; export type PopupEvent = 'hover' | 'click' | 'focus' | 'manual'; export declare function usePopupControl(props: { triggerRef: Ref; popupRef: Ref; arrowRef: Ref; componentProps: Ref<{ disabled?: boolean; readonly?: boolean; events: PopupEvent | PopupEvent[]; placement: Placement; interactable: boolean; visible?: boolean; animationDuration: number; hoverHideDelay: number; offset: number; popupOptions?: { strategy?: Strategy; }; }>; emit: (event: any, ...args: any[]) => void; }): { visible: Ref; show: () => void; hide: () => void; onClick: () => void; onClickOutside: () => void; onKeyEscape: () => void; focusTrigger: () => void; createPopup: () => void; destroyPopup: () => void; };