import type { PortalProps } from "../Portal"; import type { TransitionProps } from "../Transition"; import type { ThemeColor, ThemeRadius, ThemeShadow } from "../theme.types"; import type { PopoverWidth, ArrowPosition, FloatingPosition } from "./Popover.types"; interface PopoverContext { /** disabled will not dropdown */ disabled?: boolean; zIndex?: string | number; radius?: ThemeRadius; shadow?: ThemeShadow; withinPortal?: boolean; portalProps?: Omit; closeOnEscape?: boolean; trapFocus?: boolean; /** * close dropdown */ close?: () => void; /** * toggle dropdown */ toggle: () => void; getDropdownId: () => string; getTargetId: () => string; controlled: boolean; withRoles?: boolean; targetProps: Record; transitionProps?: Omit; returnFocus?: boolean; keepMounted?: boolean; /** * dropdown and arrow background color */ dropdownColor?: ThemeColor; reference: (node: HTMLElement) => void; floating: (node: HTMLElement) => void; opened: boolean; width?: PopoverWidth; x: number; y: number; placement: FloatingPosition; withArrow?: boolean; arrowX?: number; arrowY?: number; arrowRef: React.RefObject; arrowSize: number; arrowOffset: number; arrowRadius: number; arrowPosition: ArrowPosition; } export declare const PopoverContextProvider: import("react").Context, usePopoverContext: () => PopoverContext; export {};