import { Placement } from '@floating-ui/dom';
import { StyleValue, DefineComponent, ComponentOptionsMixin, PublicProps, CSSProperties, ComponentProvideOptions } from 'vue';
import { TooltipEffect } from './tooltip.js';
interface TooltipContentProps {
    id?: string;
    appendTo?: string | HTMLElement;
    ariaLabel?: string;
    arrowStyle?: StyleValue;
    content?: string;
    effect?: TooltipEffect;
    floatingStyle?: StyleValue;
    maxWidth?: number | string;
    persistent?: boolean;
    popperClass?: string;
    popperStyle?: StyleValue;
    rawContent?: boolean;
    rendered?: boolean;
    showArrow?: boolean;
    teleported?: boolean;
    transition?: string;
    visible?: boolean;
    actualPlacement?: Placement;
}
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: {
        content?(_: {}): any;
    };
    refs: {
        contentElementRef: HTMLDivElement;
        arrowElementRef: HTMLSpanElement;
    };
    rootEl: any;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: DefineComponent<TooltipContentProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
    focusout: (event: FocusEvent) => any;
    keydown: (event: KeyboardEvent) => any;
    contentRef: (element: HTMLElement | null) => any;
    arrowRef: (element: HTMLElement | null) => any;
    requestOpen: (event: MouseEvent) => any;
    requestClose: (event: MouseEvent) => any;
    afterEnter: () => any;
    afterLeave: () => any;
}, string, PublicProps, Readonly<TooltipContentProps> & Readonly<{
    onFocusout?: ((event: FocusEvent) => any) | undefined;
    onKeydown?: ((event: KeyboardEvent) => any) | undefined;
    onContentRef?: ((element: HTMLElement | null) => any) | undefined;
    onArrowRef?: ((element: HTMLElement | null) => any) | undefined;
    onRequestOpen?: ((event: MouseEvent) => any) | undefined;
    onRequestClose?: ((event: MouseEvent) => any) | undefined;
    onAfterEnter?: (() => any) | undefined;
    onAfterLeave?: (() => any) | undefined;
}>, {
    id: string;
    content: string;
    visible: boolean;
    rendered: boolean;
    teleported: boolean;
    appendTo: string | HTMLElement;
    transition: string;
    effect: TooltipEffect;
    maxWidth: number | string;
    ariaLabel: string;
    persistent: boolean;
    popperClass: string;
    popperStyle: string | false | CSSProperties | StyleValue[] | null;
    actualPlacement: Placement;
    arrowStyle: string | false | CSSProperties | StyleValue[] | null;
    floatingStyle: string | false | CSSProperties | StyleValue[] | null;
    rawContent: boolean;
    showArrow: boolean;
}, {}, {}, {}, string, ComponentProvideOptions, false, {
    contentElementRef: HTMLDivElement;
    arrowElementRef: HTMLSpanElement;
}, any>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
