/**
* @fileoverview Tooltip — animated contextual hint with spring entrance, arrow support, and configurable delay.
* @module packages/ui/components/ui/tooltip
* @layer core
*
* @component
* @example
* import { TooltipProvider, Tooltip, TooltipTrigger, TooltipContent } from '@saasflare/ui';
*
*
* Hover me
* Helpful hint
*
*
*/
import * as React from "react";
import * as TooltipPrimitive from "@radix-ui/react-tooltip";
import { type SaasflareComponentProps } from "../../providers";
/**
* Context provider that shares open-delay and skip-delay behavior across all
* descendant tooltips. Wrap once near the app root; defaults `delayDuration`
* to 0 so tooltips appear instantly.
*
* @component
* @layer core
*/
declare function TooltipProvider({ delayDuration, ...props }: React.ComponentProps): import("react/jsx-runtime").JSX.Element;
/**
* Contextual hint shown when an element is hovered or keyboard-focused.
* Root of the composition — owns open state and wires {@link TooltipTrigger}
* and {@link TooltipContent} together. Must be rendered inside a
* {@link TooltipProvider}.
*
* @component
* @layer core
*/
declare function Tooltip({ ...props }: React.ComponentProps): import("react/jsx-runtime").JSX.Element;
/**
* Element that shows the tooltip on hover or keyboard focus.
*
* @component
* @layer core
*/
declare function TooltipTrigger({ ...props }: React.ComponentProps): import("react/jsx-runtime").JSX.Element;
/**
* Props for {@link TooltipContent}. Extends the Radix Tooltip content props
* with the Saasflare theming axes (`surface`, `radius`, `animated`,
* `iconWeight`).
*/
interface TooltipContentProps extends Omit, keyof SaasflareComponentProps>, SaasflareComponentProps {
}
/**
* The tooltip bubble itself. Portals to the body, enters with a spring
* scale/fade, and resolves `surface`/`radius`/`animated` against the
* context.
*
* @component
* @layer core
*/
declare function TooltipContent({ className, sideOffset, children, surface, radius, animated, iconWeight, ...props }: TooltipContentProps): import("react/jsx-runtime").JSX.Element;
/** Props for {@link TooltipArrow}. Pure pass-through to the Radix Tooltip arrow. */
interface TooltipArrowProps extends React.ComponentProps {
}
/**
* Arrow connecting the tooltip to its trigger.
*
* Renders as a child of `` (consumes Popper context) and rides
* the existing spring entrance because it lives inside the animated panel — no
* extra motion wiring is needed, and reduced-motion / `animated=false` gating is
* inherited from the content. Fill follows the `bg-primary` token via
* `fill-primary` to match the tooltip body, so it stays palette- and
* theme-reactive. Override the fill with `className` under custom surfaces.
*
* @component
* @layer core
* @example
*
* Copy link
*
*
*/
declare function TooltipArrow({ className, ...props }: TooltipArrowProps): import("react/jsx-runtime").JSX.Element;
export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider, TooltipArrow, type TooltipContentProps, type TooltipArrowProps };