import type { ExtractPropTypes, CSSProperties } from 'vue';
import type { triggerTypes, placementTypes } from './abstractTooltipProps';
export type { AdjustOverflow, PlacementsConfig } from './placements';
export declare type TooltipPlacement = typeof placementTypes[number];
export interface TooltipAlignConfig {
    points?: [string, string];
    offset?: [number | string, number | string];
    targetOffset?: [number | string, number | string];
    overflow?: {
        adjustX: boolean;
        adjustY: boolean;
    };
    useCssRight?: boolean;
    useCssBottom?: boolean;
    useCssTransform?: boolean;
}
export declare const tooltipProps: () => {
    title: import("vue-types").VueTypeValidableDef<any>;
    trigger: import("vue-types").VueTypeDef<"click" | "contextmenu" | "focus" | "hover" | ("click" | "contextmenu" | "focus" | "hover")[]>;
    visible: import("vue-types").VueTypeValidableDef<boolean>;
    defaultVisible: import("vue-types").VueTypeValidableDef<boolean>;
    placement: import("vue-types").VueTypeDef<"left" | "right" | "bottom" | "top" | "bottomLeft" | "bottomRight" | "topLeft" | "topRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom">;
    color: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    transitionName: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    overlayStyle: import("vue-types").VueTypeValidableDef<CSSProperties>;
    overlayClassName: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    openClassName: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    prefixCls: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    mouseEnterDelay: import("vue-types").VueTypeValidableDef<number> & {
        default: number;
    };
    mouseLeaveDelay: import("vue-types").VueTypeValidableDef<number> & {
        default: number;
    };
    getPopupContainer: import("vue-types").VueTypeValidableDef<(...args: any[]) => any> & {
        default: (...args: any[]) => any;
    };
    arrowPointAtCenter: import("vue-types").VueTypeValidableDef<boolean>;
    autoAdjustOverflow: import("vue-types").VueTypeDef<boolean | {
        [key: string]: any;
    }>;
    destroyTooltipOnHide: import("vue-types").VueTypeValidableDef<boolean>;
    align: import("vue-types").VueTypeValidableDef<{
        [key: string]: any;
    }> & {
        default: () => {
            [key: string]: any;
        };
    };
    builtinPlacements: import("vue-types").VueTypeValidableDef<{
        [key: string]: any;
    }> & {
        default: () => {
            [key: string]: any;
        };
    };
    children: import("vue-types").VueTypeValidableDef<unknown[]> & {
        default: () => unknown[];
    };
    onVisibleChange: import("vue-types").VueTypeValidableDef<(...args: any[]) => any> & {
        default: (...args: any[]) => any;
    };
    'onUpdate:visible': import("vue-types").VueTypeValidableDef<(...args: any[]) => any> & {
        default: (...args: any[]) => any;
    };
};
export declare const tooltipDefaultProps: {
    trigger: string;
    transitionName: string;
    align: () => {};
    placement: string;
    mouseEnterDelay: number;
    mouseLeaveDelay: number;
    arrowPointAtCenter: boolean;
    autoAdjustOverflow: boolean;
};
export declare type TriggerTypes = typeof triggerTypes[number];
export declare type PlacementTypes = typeof placementTypes[number];
export declare type TooltipProps = Partial<ExtractPropTypes<ReturnType<typeof tooltipProps>>>;
declare const _default: import("vue").DefineComponent<{
    title: import("vue-types").VueTypeValidableDef<any>;
    trigger: import("vue-types").VueTypeDef<"click" | "contextmenu" | "focus" | "hover" | ("click" | "contextmenu" | "focus" | "hover")[]>;
    visible: import("vue-types").VueTypeValidableDef<boolean>;
    defaultVisible: import("vue-types").VueTypeValidableDef<boolean>;
    placement: import("vue-types").VueTypeDef<"left" | "right" | "bottom" | "top" | "bottomLeft" | "bottomRight" | "topLeft" | "topRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom">;
    color: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    transitionName: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    overlayStyle: import("vue-types").VueTypeValidableDef<CSSProperties>;
    overlayClassName: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    openClassName: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    prefixCls: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    mouseEnterDelay: import("vue-types").VueTypeValidableDef<number> & {
        default: number;
    };
    mouseLeaveDelay: import("vue-types").VueTypeValidableDef<number> & {
        default: number;
    };
    getPopupContainer: import("vue-types").VueTypeValidableDef<(...args: any[]) => any> & {
        default: (...args: any[]) => any;
    };
    arrowPointAtCenter: import("vue-types").VueTypeValidableDef<boolean>;
    autoAdjustOverflow: import("vue-types").VueTypeDef<boolean | {
        [key: string]: any;
    }>;
    destroyTooltipOnHide: import("vue-types").VueTypeValidableDef<boolean>;
    align: import("vue-types").VueTypeValidableDef<{
        [key: string]: any;
    }> & {
        default: () => {
            [key: string]: any;
        };
    };
    builtinPlacements: import("vue-types").VueTypeValidableDef<{
        [key: string]: any;
    }> & {
        default: () => {
            [key: string]: any;
        };
    };
    children: import("vue-types").VueTypeValidableDef<unknown[]> & {
        default: () => unknown[];
    };
    onVisibleChange: import("vue-types").VueTypeValidableDef<(...args: any[]) => any> & {
        default: (...args: any[]) => any;
    };
    'onUpdate:visible': import("vue-types").VueTypeValidableDef<(...args: any[]) => any> & {
        default: (...args: any[]) => any;
    };
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:visible" | "visibleChange")[], "update:visible" | "visibleChange", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
    title: import("vue-types").VueTypeValidableDef<any>;
    trigger: import("vue-types").VueTypeDef<"click" | "contextmenu" | "focus" | "hover" | ("click" | "contextmenu" | "focus" | "hover")[]>;
    visible: import("vue-types").VueTypeValidableDef<boolean>;
    defaultVisible: import("vue-types").VueTypeValidableDef<boolean>;
    placement: import("vue-types").VueTypeDef<"left" | "right" | "bottom" | "top" | "bottomLeft" | "bottomRight" | "topLeft" | "topRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom">;
    color: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    transitionName: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    overlayStyle: import("vue-types").VueTypeValidableDef<CSSProperties>;
    overlayClassName: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    openClassName: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    prefixCls: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    mouseEnterDelay: import("vue-types").VueTypeValidableDef<number> & {
        default: number;
    };
    mouseLeaveDelay: import("vue-types").VueTypeValidableDef<number> & {
        default: number;
    };
    getPopupContainer: import("vue-types").VueTypeValidableDef<(...args: any[]) => any> & {
        default: (...args: any[]) => any;
    };
    arrowPointAtCenter: import("vue-types").VueTypeValidableDef<boolean>;
    autoAdjustOverflow: import("vue-types").VueTypeDef<boolean | {
        [key: string]: any;
    }>;
    destroyTooltipOnHide: import("vue-types").VueTypeValidableDef<boolean>;
    align: import("vue-types").VueTypeValidableDef<{
        [key: string]: any;
    }> & {
        default: () => {
            [key: string]: any;
        };
    };
    builtinPlacements: import("vue-types").VueTypeValidableDef<{
        [key: string]: any;
    }> & {
        default: () => {
            [key: string]: any;
        };
    };
    children: import("vue-types").VueTypeValidableDef<unknown[]> & {
        default: () => unknown[];
    };
    onVisibleChange: import("vue-types").VueTypeValidableDef<(...args: any[]) => any> & {
        default: (...args: any[]) => any;
    };
    'onUpdate:visible': import("vue-types").VueTypeValidableDef<(...args: any[]) => any> & {
        default: (...args: any[]) => any;
    };
}>> & {
    "onUpdate:visible"?: (...args: any[]) => any;
    onVisibleChange?: (...args: any[]) => any;
}, {
    prefixCls: string;
    color: string;
    align: {
        [key: string]: any;
    };
    getPopupContainer: (...args: any[]) => any;
    "onUpdate:visible": (...args: any[]) => any;
    transitionName: string;
    builtinPlacements: {
        [key: string]: any;
    };
    mouseEnterDelay: number;
    mouseLeaveDelay: number;
    overlayClassName: string;
    onVisibleChange: (...args: any[]) => any;
    openClassName: string;
    children: unknown[];
}>;
export default _default;
