import type { JSX, ReactNode, RefObject } from 'react'; /** * Returns whether the current subtree is wrapped in a {@link ContextCardProvider}. */ export declare function useHasContextCardProvider(): boolean; /** * Provides shared state and a portal container for {@link ContextCardTrigger} * components. Must wrap any tree containing triggers; manages positioning, * visibility transitions, and the animated arrow tip across all cards. */ export declare function ContextCardProvider({ children, portalTarget, }: { children: ReactNode; /** Custom container for the portal. Accepts either an element or a ref. */ portalTarget?: HTMLElement | RefObject | null; }): ReactNode; export type Side = 'top' | 'bottom' | 'left' | 'right'; export type Align = 'start' | 'center' | 'end'; /** Props for the {@link ContextCardTrigger} component. */ export interface ContextCardTriggerProps extends Omit, 'content'> { /** The content rendered inside the context card popup. */ content: ReactNode; /** Which side of the trigger to display the card. Defaults to `"right"`. */ side?: Side; /** Alignment of the card relative to the trigger. Defaults to `"center"`. */ align?: Align; /** Distance in pixels between the trigger and the card. Defaults to `16`. */ sideOffset?: number; /** Offset in pixels along the alignment axis. Defaults to `0`. */ alignOffset?: number; /** Whether to disable pointer events on the card content. */ ignoreCardPointerEvents?: boolean; /** Whether to remove default padding from the card content. */ noPadding?: boolean; /** Whether the trigger uses the Slot pattern to merge props onto its child. */ asChild?: boolean; /** Can be used to hide the card when needed. */ hide?: boolean; /** Time in milliseconds before the card is dismissed after mouse leaves. */ inactiveTimeoutMs?: number; } /** * Displays a floating context card on hover with viewport-aware collision * detection and animated position transitions between triggers in the same * {@link ContextCardProvider}. Persists briefly after mouse leave. */ export declare function ContextCardTrigger({ content, children, side, align, sideOffset, alignOffset, ignoreCardPointerEvents, noPadding, asChild, className, hide, inactiveTimeoutMs, }: ContextCardTriggerProps): JSX.Element; //# sourceMappingURL=context-card.d.ts.map