import * as React from 'react';
import type { FloatingRootContext } from '@floating-ui/react';
import type { GenericHTMLProps } from '../../utils/types.js';
import type { TransitionStatus } from '../../utils/useTransitionStatus.js';
import type { OpenChangeReason } from '../../utils/translateOpenChangeReason.js';
export interface TooltipRootContext {
    open: boolean;
    setOpen: (open: boolean, event?: Event, reason?: OpenChangeReason) => void;
    setTriggerElement: (el: Element | null) => void;
    positionerElement: HTMLElement | null;
    setPositionerElement: (el: HTMLElement | null) => void;
    popupRef: React.RefObject<HTMLElement | null>;
    delay: number;
    closeDelay: number;
    mounted: boolean;
    setMounted: React.Dispatch<React.SetStateAction<boolean>>;
    getRootTriggerProps: (externalProps?: GenericHTMLProps) => GenericHTMLProps;
    getRootPopupProps: (externalProps?: GenericHTMLProps) => GenericHTMLProps;
    instantType: 'delay' | 'dismiss' | 'focus' | undefined;
    floatingRootContext: FloatingRootContext;
    trackCursorAxis: 'none' | 'x' | 'y' | 'both';
    transitionStatus: TransitionStatus;
}
export declare const TooltipRootContext: React.Context<TooltipRootContext | undefined>;
export declare function useTooltipRootContext(): TooltipRootContext;
