import * as React from 'react'; import { DismissableLayer } from '@radix-ui/react-dismissable-layer'; import * as PopperPrimitive from '@radix-ui/react-popper'; import { Portal as Portal$1 } from '@radix-ui/react-portal'; import { Primitive } from '@radix-ui/react-primitive'; type Scope = { [scopeName: string]: React.Context[]; } | undefined; type ScopeHook = (scope: Scope) => { [__scopeProp: string]: Scope; }; interface CreateScope { scopeName: string; (): ScopeHook; } declare const createTooltipScope: CreateScope; interface TooltipProviderProps { children: React.ReactNode; /** * The duration from when the pointer enters the trigger until the tooltip gets opened. * @defaultValue 700 */ delayDuration?: number; /** * How much time a user has to enter another trigger without incurring a delay again. * @defaultValue 300 */ skipDelayDuration?: number; /** * When `true`, trying to hover the content will result in the tooltip closing as the pointer leaves the trigger. * @defaultValue false */ disableHoverableContent?: boolean; } declare const TooltipProvider: React.FC; interface TooltipProps { children?: React.ReactNode; open?: boolean; defaultOpen?: boolean; onOpenChange?: (open: boolean) => void; /** * The duration from when the pointer enters the trigger until the tooltip gets opened. This will * override the prop with the same name passed to Provider. * @defaultValue 700 */ delayDuration?: number; /** * When `true`, trying to hover the content will result in the tooltip closing as the pointer leaves the trigger. * @defaultValue false */ disableHoverableContent?: boolean; } declare const Tooltip: React.FC; type PrimitiveButtonProps = React.ComponentPropsWithoutRef; interface TooltipTriggerProps extends PrimitiveButtonProps { } declare const TooltipTrigger: React.ForwardRefExoticComponent>; type PortalProps = React.ComponentPropsWithoutRef; interface TooltipPortalProps { children?: React.ReactNode; /** * Specify a container element to portal the content into. */ container?: PortalProps['container']; /** * Used to force mounting when more control is needed. Useful when * controlling animation with React animation libraries. */ forceMount?: true; } declare const TooltipPortal: React.FC; interface TooltipContentProps extends TooltipContentImplProps { /** * Used to force mounting when more control is needed. Useful when * controlling animation with React animation libraries. */ forceMount?: true; } declare const TooltipContent: React.ForwardRefExoticComponent>; type DismissableLayerProps = React.ComponentPropsWithoutRef; type PopperContentProps = React.ComponentPropsWithoutRef; interface TooltipContentImplProps extends Omit { /** * A more descriptive label for accessibility purpose */ 'aria-label'?: string; /** * Event handler called when the escape key is down. * Can be prevented. */ onEscapeKeyDown?: DismissableLayerProps['onEscapeKeyDown']; /** * Event handler called when the a `pointerdown` event happens outside of the `Tooltip`. * Can be prevented. */ onPointerDownOutside?: DismissableLayerProps['onPointerDownOutside']; } type PopperArrowProps = React.ComponentPropsWithoutRef; interface TooltipArrowProps extends PopperArrowProps { } declare const TooltipArrow: React.ForwardRefExoticComponent>; declare const Provider: React.FC; declare const Root: React.FC; declare const Trigger: React.ForwardRefExoticComponent>; declare const Portal: React.FC; declare const Content: React.ForwardRefExoticComponent>; declare const Arrow: React.ForwardRefExoticComponent>; export { Arrow, Content, Portal, Provider, Root, Tooltip, TooltipArrow, type TooltipArrowProps, TooltipContent, type TooltipContentProps, TooltipPortal, type TooltipPortalProps, type TooltipProps, TooltipProvider, type TooltipProviderProps, TooltipTrigger, type TooltipTriggerProps, Trigger, createTooltipScope };