import { ClassNames, GetStylesApi, MantineRadius, MantineShadow, Styles } from '../../core'; import { ArrowPosition, FloatingPosition, FloatingStrategy } from '../../utils/Floating'; import { BasePortalProps } from '../Portal'; import { TransitionOverride } from '../Transition'; import type { PopoverFactory } from './Popover'; import { PopoverWidth } from './Popover.types'; export interface PopoverContextValue { 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?: BasePortalProps; closeOnEscape: boolean | undefined; zIndex: string | number | undefined; radius?: MantineRadius | undefined; shadow?: MantineShadow | undefined; onClose?: () => void; onDismiss?: () => 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; referenceHidden: boolean | undefined; } export declare const PopoverContextProvider: import("react").Context, usePopoverContext: () => PopoverContextValue;