import type { PrimitiveProps } from '../Primitive';
import type { PopperContentProps } from '../Popper';
export type TooltipContentImplEmits = {
    'escapeKeyDown': [event: KeyboardEvent];
    'pointerDownOutside': [event: Event];
};
export interface TooltipContentImplProps extends PrimitiveProps, Pick<PopperContentProps, 'side' | 'sideOffset' | 'align' | 'alignOffset' | 'avoidCollisions' | 'collisionBoundary' | 'collisionPadding' | 'arrowPadding' | 'sticky' | 'hideWhenDetached'> {
    /**
     * By default, screenreaders will announce the content inside
     * the component. If this is not descriptive enough, or you have
     * content that cannot be announced, use aria-label as a more
     * descriptive label.
     *
     * @default String
     */
    ariaLabel?: string;
}
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
    asChild: {
        type: import("vue").PropType<boolean>;
        default: boolean;
    };
    as: {
        type: import("vue").PropType<import('../Primitive').AsTag | import("vue").Component>;
    };
    ariaLabel: {
        type: import("vue").PropType<string>;
    };
    align: {
        type: import("vue").PropType<"center" | "end" | "start">;
        default: string;
    };
    sticky: {
        type: import("vue").PropType<"partial" | "always">;
        default: string;
    };
    side: {
        type: import("vue").PropType<"right" | "left" | "bottom" | "top">;
        default: string;
    };
    sideOffset: {
        type: import("vue").PropType<number>;
        default: number;
    };
    alignOffset: {
        type: import("vue").PropType<number>;
    };
    avoidCollisions: {
        type: import("vue").PropType<boolean>;
        default: boolean;
    };
    collisionBoundary: {
        type: import("vue").PropType<Element | (Element | null)[] | null>;
        default: () => never[];
    };
    collisionPadding: {
        type: import("vue").PropType<number | Partial<Record<"right" | "left" | "bottom" | "top", number>>>;
        default: number;
    };
    arrowPadding: {
        type: import("vue").PropType<number>;
        default: number;
    };
    hideWhenDetached: {
        type: import("vue").PropType<boolean>;
        default: boolean;
    };
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    escapeKeyDown: (event: KeyboardEvent) => void;
    pointerDownOutside: (event: Event) => void;
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    asChild: {
        type: import("vue").PropType<boolean>;
        default: boolean;
    };
    as: {
        type: import("vue").PropType<import('../Primitive').AsTag | import("vue").Component>;
    };
    ariaLabel: {
        type: import("vue").PropType<string>;
    };
    align: {
        type: import("vue").PropType<"center" | "end" | "start">;
        default: string;
    };
    sticky: {
        type: import("vue").PropType<"partial" | "always">;
        default: string;
    };
    side: {
        type: import("vue").PropType<"right" | "left" | "bottom" | "top">;
        default: string;
    };
    sideOffset: {
        type: import("vue").PropType<number>;
        default: number;
    };
    alignOffset: {
        type: import("vue").PropType<number>;
    };
    avoidCollisions: {
        type: import("vue").PropType<boolean>;
        default: boolean;
    };
    collisionBoundary: {
        type: import("vue").PropType<Element | (Element | null)[] | null>;
        default: () => never[];
    };
    collisionPadding: {
        type: import("vue").PropType<number | Partial<Record<"right" | "left" | "bottom" | "top", number>>>;
        default: number;
    };
    arrowPadding: {
        type: import("vue").PropType<number>;
        default: number;
    };
    hideWhenDetached: {
        type: import("vue").PropType<boolean>;
        default: boolean;
    };
}>> & {
    onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
    onPointerDownOutside?: ((event: Event) => any) | undefined;
}, {
    asChild: boolean;
    align: "center" | "end" | "start";
    sticky: "partial" | "always";
    side: "right" | "left" | "bottom" | "top";
    sideOffset: number;
    avoidCollisions: boolean;
    collisionBoundary: Element | (Element | null)[] | null;
    collisionPadding: number | Partial<Record<"right" | "left" | "bottom" | "top", number>>;
    arrowPadding: number;
    hideWhenDetached: boolean;
}, {}>, {
    default?(_: {}): any;
}>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
