import type { ComputedRef, ExtractPropTypes, PropType, Ref } from 'vue';
export declare type Alignment = 'start' | 'end';
export declare type BasePlacement = 'top' | 'right' | 'bottom' | 'left' | 'top-start' | 'top-end' | 'right-start' | 'right-end' | 'bottom-start' | 'bottom-end' | 'left-start' | 'left-end';
export declare const tooltipProps: {
    content: {
        type: StringConstructor;
        default: string;
    };
    position: {
        type: PropType<BasePlacement | BasePlacement[]>;
        default: string;
    };
    align: {
        type: PropType<Alignment> | null;
        default: null;
    };
    showAnimation: {
        type: BooleanConstructor;
        default: boolean;
    };
    mouseEnterDelay: {
        type: NumberConstructor;
        default: number;
    };
    mouseLeaveDelay: {
        type: NumberConstructor;
        default: number;
    };
    enterable: {
        type: BooleanConstructor;
        default: boolean;
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    hideAfter: {
        type: NumberConstructor;
        default: number;
    };
    overlayClass: {
        type: StringConstructor;
        default: string;
    };
    teleport: {
        type: PropType<string | import("vue").RendererElement | null | undefined>;
        default: string;
    };
};
export declare type TooltipProps = ExtractPropTypes<typeof tooltipProps>;
export declare type UseTooltipFn = {
    visible: Ref<boolean>;
    placement: Ref<BasePlacement>;
    positionArr: ComputedRef<BasePlacement[]>;
    overlayStyles: ComputedRef<Record<string, string>>;
    onPositionChange: (pos: BasePlacement) => void;
    onMouseenter: () => void;
    onMouseleave: () => void;
    onMouseenterOverlay: () => void;
};
