import { default as React, ReactNode } from 'react';
import { Size } from '../../../libraries/action/src/action';
import { BaseProps } from '../../../libraries/common-types/src/common-types';
export declare const TOOLTIP_POSITION: {
    readonly TOP: "top";
    readonly BOTTOM: "bottom";
    readonly LEFT: "left";
    readonly RIGHT: "right";
};
export type TooltipPosition = (typeof TOOLTIP_POSITION)[keyof typeof TOOLTIP_POSITION];
export declare const TOOLTIP_ALIGN: {
    readonly START: "start";
    readonly CENTER: "center";
    readonly END: "end";
};
export type TooltipAlign = (typeof TOOLTIP_ALIGN)[keyof typeof TOOLTIP_ALIGN];
type WithTriggerElement = {
    triggerElement: ReactNode;
    triggerAriaLabel?: never;
};
type WithoutTriggeElement = {
    triggerElement?: never;
    triggerAriaLabel: string;
};
export type TooltipProps = Omit<BaseProps, "children"> & {
    align?: TooltipAlign;
    buttonSize?: Size;
    children: ReactNode;
    negative?: boolean;
    position?: TooltipPosition;
    triggerAriaLabel?: string;
    triggerElement?: ReactNode;
    contentClassName?: string;
} & (WithTriggerElement | WithoutTriggeElement);
export declare const Tooltip: React.ForwardRefExoticComponent<(Omit<Omit<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & {
    [key: `data-${string}`]: string | undefined;
}, "children"> & {
    align?: TooltipAlign;
    buttonSize?: Size;
    children: ReactNode;
    negative?: boolean;
    position?: TooltipPosition;
    triggerAriaLabel?: string;
    triggerElement?: ReactNode;
    contentClassName?: string;
} & WithTriggerElement, "ref"> | Omit<Omit<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & {
    [key: `data-${string}`]: string | undefined;
}, "children"> & {
    align?: TooltipAlign;
    buttonSize?: Size;
    children: ReactNode;
    negative?: boolean;
    position?: TooltipPosition;
    triggerAriaLabel?: string;
    triggerElement?: ReactNode;
    contentClassName?: string;
} & WithoutTriggeElement, "ref">) & React.RefAttributes<HTMLButtonElement>>;
export {};
//# sourceMappingURL=tooltip.d.ts.map