import * as React from 'react'; import type { OpenChangeReason, FloatingRootContext } from '@floating-ui/react'; import type { TransitionStatus } from '../../utils/useTransitionStatus'; import type { GenericHTMLProps } from '../../utils/types'; export interface PopoverRootContext { open: boolean; openOnHover: boolean; setOpen: (open: boolean, event?: Event, reason?: OpenChangeReason) => void; triggerElement: Element | null; setTriggerElement: (el: Element | null) => void; positionerElement: HTMLElement | null; setPositionerElement: (el: HTMLElement | null) => void; popupRef: React.RefObject; delay: number; closeDelay: number; delayType: 'rest' | 'hover'; instantType: 'dismiss' | 'click' | undefined; mounted: boolean; setMounted: React.Dispatch>; transitionStatus: TransitionStatus; titleId: string | undefined; setTitleId: React.Dispatch>; descriptionId: string | undefined; setDescriptionId: React.Dispatch>; floatingRootContext: FloatingRootContext; getRootTriggerProps: (externalProps?: GenericHTMLProps) => GenericHTMLProps; getRootPopupProps: (externalProps?: GenericHTMLProps) => GenericHTMLProps; } export declare const PopoverRootContext: React.Context; export declare function usePopoverRootContext(): PopoverRootContext;