import { default as React, ReactNode } from 'react'; type HintProps = { open: boolean; target: HTMLElement | null; children: ReactNode; offset?: number; maxWidthPx?: number; forceOverflowVisible?: boolean; }; /** * Hint (Tooltip-like) component displayed in a portal above all UI layers. * * The component positions itself near the target element, supports dynamic * repositioning on scroll/resize, and ensures the target element can * overflow visibly when required. Includes an arrow that automatically aligns * with the target. * * The tooltip uses `useLayoutEffect` to measure its size before final placement * to avoid flickering or incorrect positioning. * * @component * * @param {boolean} open * Controls visibility of the hint. When `false`, nothing is rendered. * * @param {HTMLElement | null} target * The DOM element to which the hint is anchored. Required when open. * * @param {ReactNode} children * The content of the hint bubble. * * @param {number} [offset=12] * Vertical distance between the bubble and the target element. * * @param {number} [maxWidthPx=420] * Maximum width of the bubble in pixels before wrapping text. * The component also ensures the bubble fits inside the viewport. * * @param {boolean} [forceOverflowVisible=true] * When `true`, temporarily forces the target element's overflow to be `visible` * so that the hint can appear outside its bounds, improving usability inside * clipped containers. * * @description * - On mount, optionally modifies the target element's `position` and `overflow` * styles to allow the bubble to display outside its bounding box. * - Uses a combination of `useEffect`, `useLayoutEffect`, `ResizeObserver`, and * scroll/resize listeners to recalculate position whenever layout changes. * - The bubble is rendered via `createPortal` into `document.body` * to escape stacking contexts. * * @example * ```tsx * * Some details about this item * * ``` */ export declare const Hint: React.FC; export {};