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" | "topLeft" | "topRight" | "bottomLeft" | "bottomRight" | "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 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" | "topLeft" | "topRight" | "bottomLeft" | "bottomRight" | "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<{
    title?: unknown;
    trigger?: unknown;
    visible?: unknown;
    defaultVisible?: unknown;
    placement?: unknown;
    color?: unknown;
    transitionName?: unknown;
    overlayStyle?: unknown;
    overlayClassName?: unknown;
    openClassName?: unknown;
    prefixCls?: unknown;
    mouseEnterDelay?: unknown;
    mouseLeaveDelay?: unknown;
    getPopupContainer?: unknown;
    arrowPointAtCenter?: unknown;
    autoAdjustOverflow?: unknown;
    destroyTooltipOnHide?: unknown;
    align?: unknown;
    builtinPlacements?: unknown;
    children?: unknown;
    onVisibleChange?: unknown;
    'onUpdate:visible'?: unknown;
} & {
    children: unknown[];
    color: string;
    prefixCls: string;
    transitionName: string;
    align: {
        [key: string]: any;
    };
    overlayClassName: string;
    mouseEnterDelay: number;
    mouseLeaveDelay: number;
    openClassName: string;
    builtinPlacements: {
        [key: string]: any;
    };
} & {
    visible?: boolean;
    title?: any;
    getPopupContainer?: (...args: any[]) => any;
    placement?: "left" | "right" | "bottom" | "top" | "topLeft" | "topRight" | "bottomLeft" | "bottomRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom";
    "onUpdate:visible"?: (...args: any[]) => any;
    trigger?: "click" | "contextmenu" | "focus" | "hover" | ("click" | "contextmenu" | "focus" | "hover")[];
    overlayStyle?: CSSProperties;
    onVisibleChange?: (...args: any[]) => any;
    defaultVisible?: boolean;
    arrowPointAtCenter?: boolean;
    autoAdjustOverflow?: boolean | {
        [key: string]: any;
    };
    destroyTooltipOnHide?: boolean;
}> & {
    "onUpdate:visible"?: (...args: any[]) => any;
    onVisibleChange?: (...args: any[]) => any;
}, {
    children: unknown[];
    color: string;
    prefixCls: string;
    getPopupContainer: (...args: any[]) => any;
    transitionName: string;
    "onUpdate:visible": (...args: any[]) => any;
    align: {
        [key: string]: any;
    };
    overlayClassName: string;
    mouseEnterDelay: number;
    mouseLeaveDelay: number;
    openClassName: string;
    onVisibleChange: (...args: any[]) => any;
    builtinPlacements: {
        [key: string]: any;
    };
}>;
export default _default;
