import type { CSSProperties, ReactElement, ReactNode } from 'react'; export type TooltipSide = 'top' | 'bottom' | 'left' | 'right'; export interface TooltipTargetRect { left: number; top: number; right: number; bottom: number; width: number; height: number; } interface TooltipProps { content: ReactNode; side?: TooltipSide; /** Delay in ms before the tooltip appears. Defaults to instant. */ delay?: number; children: ReactElement; } interface TooltipPopupProps { content: ReactNode; target: TooltipTargetRect | null; side?: TooltipSide; className?: string; style?: CSSProperties; } /** * Controlled tooltip popup for virtual or pointer-driven targets. This is * useful when the active target is calculated by a parent rather than being * represented by one stable trigger element. */ export declare function TooltipPopup({ content, target, side, className, style, }: TooltipPopupProps): import("react").ReactPortal; /** * Lightweight animated tooltip. Renders via portal so it is never clipped * by overflow or transformed ancestors, and clamps to the viewport while * the arrow keeps pointing at the trigger. Wraps a single child element * and shows on hover/focus. */ export declare function Tooltip({ content, side, delay, children, }: TooltipProps): import("react/jsx-runtime").JSX.Element; export {}; //# sourceMappingURL=Tooltip.d.ts.map