import { Tooltip as TooltipPrimitive } from '@base-ui/react/tooltip'; import * as React from 'react'; declare function TooltipProvider({ delay, ...props }: TooltipPrimitive.Provider.Props): React.JSX.Element; declare namespace TooltipProvider { var displayName: string; } /** * Base UI 1.8 sets neither `role="tooltip"` nor `aria-describedby`. This Root * tracks open state (controlled `open` wins) and shares the popup id so the * trigger references the popup only while it is open. */ declare function TooltipA11yRoot({ open: openProp, defaultOpen, onOpenChange, disabled, triggerId: triggerIdProp, defaultTriggerId, ...props }: TooltipPrimitive.Root.Props): React.JSX.Element; /** * Trigger props: appends the popup id to `aria-describedby` while open. Base UI * lets a `render` element's own props win over injected ones, so an element * carrying its own `aria-describedby` is re-rendered with the merged value * (its own ref is merged with Base UI's). * * Limitation: detached triggers (Base UI `handle`, outside Root) and `render` * callbacks that set their own `aria-describedby` after spreading props are * not wired. */ declare function useTooltipTriggerA11y({ 'aria-describedby': describedBy, render, }: Pick, forwardedRef?: React.Ref): Pick & { ref: React.RefCallback; }; /** Popup props: `role="tooltip"` + id shared with the trigger. */ declare function useTooltipPopupA11y(id: string | undefined, hidden?: boolean): { role: 'tooltip'; id: string | undefined; ownerDocumentBody: HTMLElement | null | undefined; }; declare function Tooltip({ ...props }: TooltipPrimitive.Root.Props): React.JSX.Element; declare namespace Tooltip { var displayName: string; } declare const TooltipTrigger: React.ForwardRefExoticComponent, "ref"> & React.RefAttributes>; declare function TooltipPopup({ className, side, sideOffset, align, alignOffset, children, container, ...props }: TooltipPrimitive.Popup.Props & Pick & { /** * DOM node to portal the popup into. Falls back to * `usePortalContainerOverride()` (which checks `PortalContainerProvider`), then to * the active trigger owner document body. Eventless opens defer until * registered triggers mount; unresolvable events use Base UI's default. */ container?: HTMLElement | null; }): React.JSX.Element; declare namespace TooltipPopup { var displayName: string; } export { Tooltip, TooltipA11yRoot, TooltipPopup, TooltipProvider, TooltipTrigger, useTooltipPopupA11y, useTooltipTriggerA11y, };