import * as React from 'react'; import { useFloating, type Boundary, type FloatingRootContext, type VirtualElement, type Padding, type FloatingContext } from '@floating-ui/react'; export type Side = 'top' | 'bottom' | 'left' | 'right'; export type Alignment = 'start' | 'center' | 'end'; interface UseAnchorPositioningParameters { anchor?: Element | VirtualElement | (() => Element | VirtualElement | null) | React.MutableRefObject | null; positionMethod?: 'absolute' | 'fixed'; side?: Side; sideOffset?: number; alignment?: 'start' | 'center' | 'end'; alignmentOffset?: number; fallbackAxisSideDirection?: 'start' | 'end' | 'none'; collisionBoundary?: Boundary; collisionPadding?: Padding; hideWhenDetached?: boolean; sticky?: boolean; keepMounted?: boolean; arrowPadding?: number; floatingRootContext?: FloatingRootContext; mounted?: boolean; trackAnchor?: boolean; nodeId?: string; } interface UseAnchorPositioningReturnValue { positionerStyles: React.CSSProperties; arrowStyles: React.CSSProperties; arrowRef: React.MutableRefObject; arrowUncentered: boolean; renderedSide: Side; renderedAlignment: 'start' | 'center' | 'end'; hidden: boolean; refs: ReturnType['refs']; positionerContext: FloatingContext; } /** * Provides standardized anchor positioning behavior for floating elements. Wraps Floating UI's * `useFloating` hook. * @ignore - internal hook. */ export declare function useAnchorPositioning(params?: UseAnchorPositioningParameters): UseAnchorPositioningReturnValue; export {};