import { ReactElement, HTMLAttributes } from 'react';
export type TooltipPlacement = "top" | "bottom" | "left" | "right";
export interface TooltipProps {
    /**
     * The tooltip label. Keep it short — a noun phrase or brief description.
     * Do not duplicate information already visible on screen.
     */
    label: string;
    /**
     * Preferred placement relative to the trigger.
     * The tooltip flips automatically if there is not enough space.
     * Defaults to `"top"`.
     */
    placement?: TooltipPlacement;
    /**
     * Delay in milliseconds before the tooltip appears on hover.
     * Defaults to `500`. Set to `0` for instant.
     */
    delay?: number;
    /**
     * The element that triggers the tooltip.
     * Must be a single React element that can receive `ref` and event props.
     */
    children: ReactElement<HTMLAttributes<HTMLElement>>;
}
/**
 * Informational tooltip following the Adwaita / GNOME HIG pattern.
 *
 * Wraps a single trigger element and shows a floating label on hover or
 * keyboard focus. The tooltip is positioned automatically and flips if
 * there is not enough space.
 *
 * - `aria-describedby` is wired to the trigger automatically.
 * - The tooltip itself is `role="tooltip"` and rendered in a portal.
 * - Does not show on touch — touch devices have no hover state.
 *
 * @example
 * <Tooltip label="Save file (Ctrl+S)">
 *   <Button aria-label="Save"><Icon icon={Save} /></Button>
 * </Tooltip>
 *
 * @see https://developer.gnome.org/hig/patterns/feedback/tooltips.html
 */
export declare function Tooltip({ label, placement: preferredPlacement, delay, children, }: TooltipProps): import("react/jsx-runtime").JSX.Element;
