import { Tooltip as TooltipPrimitive } from '@base-ui/react/tooltip'; import * as React from 'react'; declare const tooltipVariants: (props?: ({ variant?: "destructive" | "info" | "primary" | "secondary" | "success" | "warning" | null | undefined; shape?: "default" | "rounded" | null | undefined; } & import("class-variance-authority/types").ClassProp) | undefined) => string; declare const arrowVariants: (props?: ({ variant?: "destructive" | "info" | "primary" | "secondary" | "success" | "warning" | null | undefined; } & import("class-variance-authority/types").ClassProp) | undefined) => string; type TooltipVariant = 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'destructive'; type TooltipShape = 'default' | 'rounded'; type TooltipPosition = 'top' | 'bottom' | 'left' | 'right' | 'none'; declare function TooltipProvider({ delay, ...props }: TooltipPrimitive.Provider.Props): React.JSX.Element; declare namespace TooltipProvider { var displayName: string; } declare function TooltipRoot(props: TooltipPrimitive.Root.Props): React.JSX.Element; declare namespace TooltipRoot { var displayName: string; } declare const TooltipTrigger: React.ForwardRefExoticComponent, "ref"> & React.RefAttributes>; interface TooltipPopupProps extends TooltipPrimitive.Popup.Props, Pick { variant?: TooltipVariant; shape?: TooltipShape; /** Optional Base UI portal container for the tooltip popup. */ container?: TooltipPrimitive.Portal.Props['container']; /** When true or position is 'none', hides the arrow */ hideArrow?: boolean; } declare function TooltipPopup({ className, side, sideOffset, align, alignOffset, variant, shape, hideArrow, container, children, ...props }: TooltipPopupProps): React.JSX.Element; declare namespace TooltipPopup { var displayName: string; } declare function TooltipIcon({ children, className, }: { children: React.ReactNode; className?: string; }): React.JSX.Element; declare namespace TooltipIcon { var displayName: string; } declare function TooltipAvatar({ src, alt, children, className, }: { src?: string; alt: string; children?: React.ReactNode; className?: string; }): React.JSX.Element; declare namespace TooltipAvatar { var displayName: string; } declare function TooltipContent({ children, className, }: { children: React.ReactNode; className?: string; }): React.JSX.Element; declare namespace TooltipContent { var displayName: string; } declare function TooltipTitle({ children, className, }: { children: React.ReactNode; className?: string; }): React.JSX.Element; declare namespace TooltipTitle { var displayName: string; } interface TooltipSubtitleProps { children: React.ReactNode; className?: string; /** Variant affects subtitle opacity */ variant?: TooltipVariant; } declare function TooltipSubtitle({ children, className, variant, }: TooltipSubtitleProps): React.JSX.Element; declare namespace TooltipSubtitle { var displayName: string; } declare function TooltipBadge({ children, className, }: { children: React.ReactNode; className?: string; }): React.JSX.Element; declare namespace TooltipBadge { var displayName: string; } interface TooltipImageProps { src: string; alt: string; layout?: 'vertical' | 'horizontal'; className?: string; } declare function TooltipImage({ src, alt, layout, className, }: TooltipImageProps): React.JSX.Element; declare namespace TooltipImage { var displayName: string; } interface TooltipProps { /** The element that triggers the tooltip (required) */ trigger: React.ReactElement; /** The main tooltip text */ content: React.ReactNode; /** Style variant */ variant?: TooltipVariant; /** Shape variant */ shape?: TooltipShape; /** Arrow position - 'none' hides the arrow */ position?: TooltipPosition; /** Alignment of tooltip relative to trigger */ align?: 'start' | 'center' | 'end'; /** Delay in ms before showing tooltip */ delayDuration?: number; /** Distance from trigger */ sideOffset?: number; /** Optional icon before content */ icon?: React.ReactNode; /** Optional avatar - string for src or ReactNode for custom */ avatar?: string | React.ReactNode; /** Optional supporting text */ subtitle?: React.ReactNode; /** Optional badge element */ badge?: React.ReactNode; /** Optional image */ image?: string; /** Image layout - auto-detected or override */ imageLayout?: 'vertical' | 'horizontal'; /** Optional Base UI portal container. Takes precedence over the trigger owner document. */ container?: TooltipPrimitive.Portal.Props['container']; /** Override content with custom children */ children?: React.ReactNode; } declare const Tooltip: { ({ trigger, content, variant, shape, position, align, delayDuration, sideOffset, icon, avatar, subtitle, badge, image, imageLayout, container, children, }: TooltipProps): React.JSX.Element; displayName: string; }; /** * Tooltip component with dot notation for compound parts. * * @example * ```tsx * // Simple usage (recommended for most cases) * Hover me} content="Tooltip text" /> * * // With variants * Save} content="Saved!" variant="success" shape="rounded" /> * * // With rich content * Info} content="Title" icon={} subtitle="Description" /> * * // Advanced usage with dot notation * * Hover me} /> * * * * Title * Description * * * * ``` */ declare const TooltipCompound: typeof Tooltip & { Root: typeof TooltipRoot; Provider: typeof TooltipProvider; Trigger: React.ForwardRefExoticComponent, "ref"> & React.RefAttributes>; Popup: typeof TooltipPopup; Icon: typeof TooltipIcon; Avatar: typeof TooltipAvatar; Content: typeof TooltipContent; Title: typeof TooltipTitle; Subtitle: typeof TooltipSubtitle; Badge: typeof TooltipBadge; Image: typeof TooltipImage; }; export type { TooltipPosition, TooltipProps, TooltipShape, TooltipVariant }; export { arrowVariants, TooltipAvatar, TooltipBadge, TooltipCompound as Tooltip, TooltipContent, TooltipIcon, TooltipImage, TooltipPopup, TooltipProvider, TooltipRoot, TooltipSubtitle, TooltipTitle, TooltipTrigger, tooltipVariants, };