import type { Ref } from 'vue';
interface TooltipProviderContext {
    isOpenDelayed: Ref<boolean>;
    delayDuration: Ref<number>;
    onOpen(): void;
    onClose(): void;
    onPointerInTransitChange(inTransit: boolean): void;
    isPointerInTransitRef: Ref<boolean>;
    disableHoverableContent: Ref<boolean>;
    disableClosingTrigger: Ref<boolean>;
}
export declare const injectTooltipProviderContext: <T extends TooltipProviderContext | null | undefined = TooltipProviderContext>(fallback?: T | undefined) => T extends null ? TooltipProviderContext | null : TooltipProviderContext, provideTooltipProviderContext: (contextValue: TooltipProviderContext) => TooltipProviderContext;
export interface TooltipProviderProps {
    /**
     * 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;
    /**
     * When `true`, clicking on trigger will not close the content.
     * @defaultValue false
     */
    disableClosingTrigger?: boolean;
}
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
    delayDuration: {
        type: import("vue").PropType<number>;
        default: number;
    };
    skipDelayDuration: {
        type: import("vue").PropType<number>;
        default: number;
    };
    disableHoverableContent: {
        type: import("vue").PropType<boolean>;
        default: boolean;
    };
    disableClosingTrigger: {
        type: import("vue").PropType<boolean>;
    };
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    delayDuration: {
        type: import("vue").PropType<number>;
        default: number;
    };
    skipDelayDuration: {
        type: import("vue").PropType<number>;
        default: number;
    };
    disableHoverableContent: {
        type: import("vue").PropType<boolean>;
        default: boolean;
    };
    disableClosingTrigger: {
        type: import("vue").PropType<boolean>;
    };
}>>, {
    delayDuration: number;
    skipDelayDuration: number;
    disableHoverableContent: boolean;
}, {}>, {
    default?(_: {}): any;
}>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
