import { UseFloatingReturn, useInteractions } from '@floating-ui/react';
import { default as React, FC } from 'react';
import { WithChildren } from '../../core/types.cjs';
import { TooltipProps } from './types.cjs';
type UseTooltipReturn = {
    triggerOn: NonNullable<TooltipProps["triggerOn"]>;
    isOpen: boolean;
    setOpen: React.Dispatch<React.SetStateAction<boolean>>;
    arrowElement: React.RefObject<SVGSVGElement>;
    refs: {
        description: React.MutableRefObject<HTMLElement | null>;
        setDescription: (element: HTMLElement | null) => void;
    } & UseFloatingReturn["refs"];
} & UseFloatingReturn & ReturnType<typeof useInteractions>;
declare const useTooltip: ({ initialOpen, placement, delay, triggerOn, onOpenChange, }: TooltipProps) => UseTooltipReturn;
export type TooltipContext = ReturnType<typeof useTooltip> | null;
export declare const TooltipProvider: React.Provider<TooltipContext>;
export declare const useTooltipContext: () => UseTooltipReturn;
export declare const Tooltip: FC<TooltipProps & WithChildren>;
export {};
