import type { PropType, Ref } from 'vue'; import type { TooltipTriggerElement } from './tooltipTrigger'; export declare const TOOLTIP_NAME = "OkuTooltip"; type TooltipInjectValue = { contentId: Ref; open: Ref; stateAttribute: Ref<'closed' | 'delayed-open' | 'instant-open'>; trigger: Ref; onTriggerChange(trigger: TooltipTriggerElement | null): void; onTriggerEnter(): void; onTriggerLeave(): void; onOpen(): void; onClose(): void; disableHoverableContent: Ref; }; export declare const tooltipProvide: (props: TooltipInjectValue & { scope: import("@oku-ui/provide/dist/createProvide").Scope; }) => void, useTooltipInject: (consumerName: string, scope: import("@oku-ui/provide/dist/createProvide").Scope) => TooltipInjectValue; export interface TooltipProps { open?: boolean; /** * When `true`, trying to hover the content will result in the tooltip closing as the pointer leaves the trigger. * @defaultValue false */ defaultOpen?: boolean; /** * 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; } export type TooltipEmits = { 'update:modelValue': [open: boolean]; 'openChange': [open: boolean]; }; export declare const tooltipProps: { props: { asChild: BooleanConstructor; modelValue: { type: PropType; default: undefined; }; open: { type: PropType; default: undefined; }; defaultOpen: { type: PropType; default: boolean; }; delayDuration: { type: PropType; default: number; }; disableHoverableContent: { type: PropType; default: boolean; }; }; emits: { 'update:modelValue': (open: boolean) => boolean; openChange: (open: boolean) => boolean; }; }; export declare const OkuTooltip: import("vue").DefineComponent<{ scopeOkuTooltip: { type: PropType>; required: boolean; }; asChild: BooleanConstructor; modelValue: { type: PropType; default: undefined; }; open: { type: PropType; default: undefined; }; defaultOpen: { type: PropType; default: boolean; }; delayDuration: { type: PropType; default: number; }; disableHoverableContent: { type: PropType; default: boolean; }; }, () => import("vue").VNode, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { 'update:modelValue': (open: boolean) => boolean; openChange: (open: boolean) => boolean; }, string, import("vue").PublicProps, Readonly>; required: boolean; }; asChild: BooleanConstructor; modelValue: { type: PropType; default: undefined; }; open: { type: PropType; default: undefined; }; defaultOpen: { type: PropType; default: boolean; }; delayDuration: { type: PropType; default: number; }; disableHoverableContent: { type: PropType; default: boolean; }; }>> & { "onUpdate:modelValue"?: ((open: boolean) => any) | undefined; onOpenChange?: ((open: boolean) => any) | undefined; }, { asChild: boolean; delayDuration: number | undefined; disableHoverableContent: boolean | undefined; modelValue: boolean | undefined; open: boolean | undefined; defaultOpen: boolean; }, {}>; export {};