import { Placement } from "../../../types/variables.mjs"; import { KeyboardEventHandler, MouseEventHandler, RefCallback, RefObject } from "react"; //#region src/components/overlays/popover/hooks.d.ts type PopoverContext = { rootId: string; type: 'dialog' | 'menu' | 'listbox'; closeOnClickAway: boolean; trapFocus: boolean; isOpen: boolean; toggleOpen: () => void; onOpen: () => void; onClose: () => void; placement: Placement; anchorName: string; flipDisabled: boolean; triggerRef: RefObject; setTriggerRef: (node: HTMLElement | null) => void; }; declare const PopoverProvider: import("react").Context, usePopoverContext: () => PopoverContext; declare const useOpenContext: () => { isOpen: boolean; onOpen: () => void; onClose: () => void; toggleOpen: () => void; }; type PopoverContentProps = { id: string; ref: RefObject; role: 'dialog' | 'menu' | 'listbox'; 'aria-orientation'?: 'vertical'; }; declare const usePopoverContent: () => { id: string; ref: RefObject; isOpen: boolean; trapFocus: boolean; anchorName: string; placement: Placement; flipDisabled: boolean; itemProps: PopoverContentProps; }; type PopoverTriggerProps = { ref: RefCallback; onClick: MouseEventHandler; onKeyDown: KeyboardEventHandler; 'aria-haspopup': 'dialog' | 'menu' | 'listbox'; 'aria-expanded': boolean; 'aria-controls'?: string; role?: 'combobox'; }; declare const usePopoverTrigger: () => PopoverTriggerProps; //#endregion export { PopoverContentProps, PopoverProvider, PopoverTriggerProps, useOpenContext, usePopoverContent, usePopoverContext, usePopoverTrigger };