import { ClassNames, GetStylesApi, RaikouRadius, RaikouShadow, Styles } from '../../core'; import { ArrowPosition, FloatingPosition, FloatingStrategy } from '../Floating'; import { PortalProps } from '../Portal'; import { TransitionOverride } from '../Transition'; import type { PopoverFactory } from './Popover'; import { PopoverWidth } from './Popover.types'; interface PopoverContext { x: number; y: number; arrowX: number | undefined; arrowY: number | undefined; arrowRef: React.RefObject; opened: boolean; transitionProps?: TransitionOverride; reference: (node: HTMLElement) => void; floating: (node: HTMLElement) => void; width?: PopoverWidth; withArrow: boolean | undefined; arrowSize: number; arrowOffset: number; arrowRadius: number; arrowPosition: ArrowPosition; trapFocus: boolean | undefined; placement: FloatingPosition; withinPortal: boolean | undefined; portalProps?: Omit; closeOnEscape: boolean | undefined; zIndex: string | number | undefined; radius?: RaikouRadius | undefined; shadow?: RaikouShadow | undefined; onClose?: () => void; getDropdownId: () => string; getTargetId: () => string; controlled: boolean; onToggle: () => void; withRoles: boolean | undefined; targetProps: Record; disabled: boolean | undefined; returnFocus: boolean | undefined; classNames: ClassNames | undefined; styles: Styles | undefined; unstyled: boolean | undefined; __staticSelector: string; variant: string | undefined; keepMounted: boolean | undefined; getStyles: GetStylesApi; resolvedStyles: Record; floatingStrategy: FloatingStrategy | undefined; } export declare const PopoverContextProvider: ({ children, value }: { value: PopoverContext; children: React.ReactNode; }) => import("react/jsx-runtime").JSX.Element, usePopoverContext: () => PopoverContext; export {};