import { DefineComponent, PropType, Ref } from 'vue'; export type TooltipPlacement = 'top' | 'bottom' | 'left' | 'right'; export type TooltipTrigger = 'hover' | 'focus' | 'click' | 'hover-focus' | 'outside-click'; export declare function getViewportSize(): { width: number; height: number; }; export declare function isAvailableAtPosition(trigger: HTMLElement, popup: HTMLElement, placement: TooltipPlacement): boolean; export declare function setTooltipPosition(tooltip: HTMLElement, trigger: HTMLElement, placement: TooltipPlacement, auto: boolean, appendToSelector: string | null, viewport: string | ((trigger: HTMLElement) => Element)): void; declare const _default: DefineComponent<{ modelValue: { type: BooleanConstructor; default: boolean; }; tag: { type: StringConstructor; default: string; }; trigger: { type: PropType; default: string; }; placement: { type: PropType; default: string; }; autoPlacement: { type: BooleanConstructor; default: boolean; }; appendTo: { type: StringConstructor; default: string; }; transitionDuration: { type: NumberConstructor; default: number; }; hideDelay: { type: NumberConstructor; default: number; }; showDelay: { type: NumberConstructor; default: number; }; enable: { type: BooleanConstructor; default: boolean; }; enterable: { type: BooleanConstructor; default: boolean; }; target: { type: PropType; default: null; }; viewport: { type: PropType Element)>; default: null; }; customClass: StringConstructor; }, { triggerEl: Ref; }, { name: string; hideTimeoutId: number; showTimeoutId: number; transitionTimeoutId: number; autoTimeoutId: number; }, {}, { isNotEmpty(): false; initTriggerElByTarget(target: string | HTMLElement | DefineComponent): void; initListeners(): void; clearListeners(): void; clearTimeouts(): void; resetPosition(): void; hideOnLeave(): void; toggle(): void; show(): void; hide(): void; $hide(): void; isShown(): boolean; windowClicked(event: MouseEvent): void; handleAuto(): void; }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { 'update:modelValue': (value: boolean) => boolean; input: (value: boolean) => boolean; show: () => true; hide: () => true; }, string, import("vue").PublicProps, Readonly; default: string; }; placement: { type: PropType; default: string; }; autoPlacement: { type: BooleanConstructor; default: boolean; }; appendTo: { type: StringConstructor; default: string; }; transitionDuration: { type: NumberConstructor; default: number; }; hideDelay: { type: NumberConstructor; default: number; }; showDelay: { type: NumberConstructor; default: number; }; enable: { type: BooleanConstructor; default: boolean; }; enterable: { type: BooleanConstructor; default: boolean; }; target: { type: PropType; default: null; }; viewport: { type: PropType Element)>; default: null; }; customClass: StringConstructor; }>> & { onInput?: ((value: boolean) => any) | undefined; "onUpdate:modelValue"?: ((value: boolean) => any) | undefined; onHide?: (() => any) | undefined; onShow?: (() => any) | undefined; }, { tag: string; target: string | HTMLElement | DefineComponent; modelValue: boolean; appendTo: string; trigger: TooltipTrigger; enable: boolean; placement: TooltipPlacement; autoPlacement: boolean; transitionDuration: number; hideDelay: number; showDelay: number; enterable: boolean; viewport: string | ((trigger: HTMLElement) => Element); }, {}>; export default _default;