import { type PropType, type VNode } from 'vue';
import { type ArrowPosition, type FloatingAxesOffsets, type FloatingPosition, type FloatingStrategy } from '../../utils/Floating';
import type { TooltipBaseProps, TooltipMiddlewares, TooltipStylesNames } from './Tooltip.types';
export interface TooltipProps extends TooltipBaseProps {
    onPositionChange?: (position: FloatingPosition) => void;
    openDelay?: number;
    closeDelay?: number;
    opened?: boolean;
    defaultOpened?: boolean;
    offset?: number | FloatingAxesOffsets;
    withArrow?: boolean;
    arrowSize?: number;
    arrowOffset?: number;
    arrowRadius?: number;
    arrowPosition?: ArrowPosition;
    transitionProps?: Record<string, any>;
    events?: {
        hover: boolean;
        focus: boolean;
        touch: boolean;
    };
    inline?: boolean;
    keepMounted?: boolean;
    floatingStrategy?: FloatingStrategy;
    autoContrast?: boolean;
    target?: any;
    middlewares?: TooltipMiddlewares;
}
export declare const Tooltip: {
    new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
        label: {
            required: true;
        };
        position: {
            type: PropType<FloatingPosition>;
            default: undefined;
        };
        refProp: StringConstructor;
        withinPortal: {
            type: BooleanConstructor;
            default: undefined;
        };
        radius: (NumberConstructor | StringConstructor)[];
        color: StringConstructor;
        multiline: BooleanConstructor;
        zIndex: (NumberConstructor | StringConstructor)[];
        disabled: BooleanConstructor;
        portalProps: ObjectConstructor;
        middlewares: ObjectConstructor;
        onPositionChange: PropType<(position: FloatingPosition) => void>;
        openDelay: NumberConstructor;
        closeDelay: NumberConstructor;
        opened: {
            type: BooleanConstructor;
            default: undefined;
        };
        defaultOpened: BooleanConstructor;
        offset: {
            type: PropType<number | FloatingAxesOffsets>;
            default: undefined;
        };
        withArrow: BooleanConstructor;
        arrowSize: NumberConstructor;
        arrowOffset: NumberConstructor;
        arrowRadius: NumberConstructor;
        arrowPosition: {
            type: PropType<ArrowPosition>;
            default: undefined;
        };
        transitionProps: ObjectConstructor;
        events: PropType<{
            hover: boolean;
            focus: boolean;
            touch: boolean;
        }>;
        inline: BooleanConstructor;
        keepMounted: BooleanConstructor;
        floatingStrategy: {
            type: PropType<FloatingStrategy>;
            default: undefined;
        };
        autoContrast: BooleanConstructor;
        target: {
            type: PropType<any>;
            default: undefined;
        };
        classNames: (ObjectConstructor | FunctionConstructor)[];
        styles: (ObjectConstructor | FunctionConstructor)[];
        vars: (ObjectConstructor | FunctionConstructor)[];
        unstyled: BooleanConstructor;
    }>> & Readonly<{}>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }> | VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>[], {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {
        autoContrast: boolean;
        multiline: boolean;
        opened: boolean;
        disabled: boolean;
        offset: number | FloatingAxesOffsets;
        target: any;
        position: FloatingPosition;
        keepMounted: boolean;
        inline: boolean;
        unstyled: boolean;
        withinPortal: boolean;
        defaultOpened: boolean;
        arrowPosition: ArrowPosition;
        withArrow: boolean;
        floatingStrategy: FloatingStrategy;
    }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import("vue").ExtractPropTypes<{
        label: {
            required: true;
        };
        position: {
            type: PropType<FloatingPosition>;
            default: undefined;
        };
        refProp: StringConstructor;
        withinPortal: {
            type: BooleanConstructor;
            default: undefined;
        };
        radius: (NumberConstructor | StringConstructor)[];
        color: StringConstructor;
        multiline: BooleanConstructor;
        zIndex: (NumberConstructor | StringConstructor)[];
        disabled: BooleanConstructor;
        portalProps: ObjectConstructor;
        middlewares: ObjectConstructor;
        onPositionChange: PropType<(position: FloatingPosition) => void>;
        openDelay: NumberConstructor;
        closeDelay: NumberConstructor;
        opened: {
            type: BooleanConstructor;
            default: undefined;
        };
        defaultOpened: BooleanConstructor;
        offset: {
            type: PropType<number | FloatingAxesOffsets>;
            default: undefined;
        };
        withArrow: BooleanConstructor;
        arrowSize: NumberConstructor;
        arrowOffset: NumberConstructor;
        arrowRadius: NumberConstructor;
        arrowPosition: {
            type: PropType<ArrowPosition>;
            default: undefined;
        };
        transitionProps: ObjectConstructor;
        events: PropType<{
            hover: boolean;
            focus: boolean;
            touch: boolean;
        }>;
        inline: BooleanConstructor;
        keepMounted: BooleanConstructor;
        floatingStrategy: {
            type: PropType<FloatingStrategy>;
            default: undefined;
        };
        autoContrast: BooleanConstructor;
        target: {
            type: PropType<any>;
            default: undefined;
        };
        classNames: (ObjectConstructor | FunctionConstructor)[];
        styles: (ObjectConstructor | FunctionConstructor)[];
        vars: (ObjectConstructor | FunctionConstructor)[];
        unstyled: BooleanConstructor;
    }>> & Readonly<{}>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }> | VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>[], {}, {}, {}, {
        autoContrast: boolean;
        multiline: boolean;
        opened: boolean;
        disabled: boolean;
        offset: number | FloatingAxesOffsets;
        target: any;
        position: FloatingPosition;
        keepMounted: boolean;
        inline: boolean;
        unstyled: boolean;
        withinPortal: boolean;
        defaultOpened: boolean;
        arrowPosition: ArrowPosition;
        withArrow: boolean;
        floatingStrategy: FloatingStrategy;
    }>;
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    label: {
        required: true;
    };
    position: {
        type: PropType<FloatingPosition>;
        default: undefined;
    };
    refProp: StringConstructor;
    withinPortal: {
        type: BooleanConstructor;
        default: undefined;
    };
    radius: (NumberConstructor | StringConstructor)[];
    color: StringConstructor;
    multiline: BooleanConstructor;
    zIndex: (NumberConstructor | StringConstructor)[];
    disabled: BooleanConstructor;
    portalProps: ObjectConstructor;
    middlewares: ObjectConstructor;
    onPositionChange: PropType<(position: FloatingPosition) => void>;
    openDelay: NumberConstructor;
    closeDelay: NumberConstructor;
    opened: {
        type: BooleanConstructor;
        default: undefined;
    };
    defaultOpened: BooleanConstructor;
    offset: {
        type: PropType<number | FloatingAxesOffsets>;
        default: undefined;
    };
    withArrow: BooleanConstructor;
    arrowSize: NumberConstructor;
    arrowOffset: NumberConstructor;
    arrowRadius: NumberConstructor;
    arrowPosition: {
        type: PropType<ArrowPosition>;
        default: undefined;
    };
    transitionProps: ObjectConstructor;
    events: PropType<{
        hover: boolean;
        focus: boolean;
        touch: boolean;
    }>;
    inline: BooleanConstructor;
    keepMounted: BooleanConstructor;
    floatingStrategy: {
        type: PropType<FloatingStrategy>;
        default: undefined;
    };
    autoContrast: BooleanConstructor;
    target: {
        type: PropType<any>;
        default: undefined;
    };
    classNames: (ObjectConstructor | FunctionConstructor)[];
    styles: (ObjectConstructor | FunctionConstructor)[];
    vars: (ObjectConstructor | FunctionConstructor)[];
    unstyled: BooleanConstructor;
}>> & Readonly<{}>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}> | VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}>[], {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
    autoContrast: boolean;
    multiline: boolean;
    opened: boolean;
    disabled: boolean;
    offset: number | FloatingAxesOffsets;
    target: any;
    position: FloatingPosition;
    keepMounted: boolean;
    inline: boolean;
    unstyled: boolean;
    withinPortal: boolean;
    defaultOpened: boolean;
    arrowPosition: ArrowPosition;
    withArrow: boolean;
    floatingStrategy: FloatingStrategy;
}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & {
    classes: Record<string, string>;
    varsResolver: (theme: import("../..").MantineTheme, props: any, ctx: Record<string, any>) => Record<string, Record<string, string | undefined>>;
    Floating: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        label: {
            required: true;
        };
        refProp: StringConstructor;
        withinPortal: {
            type: BooleanConstructor;
            default: undefined;
        };
        offset: NumberConstructor;
        position: {
            type: PropType<FloatingPosition>;
            default: undefined;
        };
        zIndex: (NumberConstructor | StringConstructor)[];
        disabled: BooleanConstructor;
        defaultOpened: BooleanConstructor;
        multiline: BooleanConstructor;
        radius: (NumberConstructor | StringConstructor)[];
        color: StringConstructor;
        portalProps: ObjectConstructor;
        classNames: (ObjectConstructor | FunctionConstructor)[];
        styles: (ObjectConstructor | FunctionConstructor)[];
        vars: (ObjectConstructor | FunctionConstructor)[];
        unstyled: BooleanConstructor;
    }>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>[], {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        label: {
            required: true;
        };
        refProp: StringConstructor;
        withinPortal: {
            type: BooleanConstructor;
            default: undefined;
        };
        offset: NumberConstructor;
        position: {
            type: PropType<FloatingPosition>;
            default: undefined;
        };
        zIndex: (NumberConstructor | StringConstructor)[];
        disabled: BooleanConstructor;
        defaultOpened: BooleanConstructor;
        multiline: BooleanConstructor;
        radius: (NumberConstructor | StringConstructor)[];
        color: StringConstructor;
        portalProps: ObjectConstructor;
        classNames: (ObjectConstructor | FunctionConstructor)[];
        styles: (ObjectConstructor | FunctionConstructor)[];
        vars: (ObjectConstructor | FunctionConstructor)[];
        unstyled: BooleanConstructor;
    }>> & Readonly<{}>, {
        multiline: boolean;
        disabled: boolean;
        position: FloatingPosition;
        unstyled: boolean;
        withinPortal: boolean;
        defaultOpened: boolean;
    }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    Group: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        openDelay: {
            type: NumberConstructor;
            default: number;
        };
        closeDelay: {
            type: NumberConstructor;
            default: number;
        };
    }>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>[] | undefined, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        openDelay: {
            type: NumberConstructor;
            default: number;
        };
        closeDelay: {
            type: NumberConstructor;
            default: number;
        };
    }>> & Readonly<{}>, {
        openDelay: number;
        closeDelay: number;
    }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
};
export type { TooltipStylesNames };
