import type { ReactElement } from 'react';
import React from 'react';
import { GlobalContext } from '../Utils/contexts.js';
declare global {
    interface Window {
        richContentHideTooltips: boolean;
    }
}
interface Props {
    content?: React.ReactNode;
    tooltipOffset?: {
        x: number;
        y: number;
    };
    children: ReactElement;
    isError?: boolean;
    place?: 'top' | 'bottom' | 'left' | 'right';
    followMouse?: boolean;
    hideArrow?: boolean;
    forceVisibility?: boolean;
}
export declare class Tooltip extends React.Component<Props> {
    static defaultProps: {
        isError: boolean;
        place: string;
        tooltipOffset: {
            x: number;
            y: number;
        };
    };
    disabled: boolean;
    mousePosition: {
        x: number;
        y: number;
    };
    timeoutId: NodeJS.Timeout;
    state: {
        tooltipVisible: boolean;
    };
    static contextType: React.Context<{
        experiments: import("../../ricos-types/common-types.js").AvailableExperiments;
        isMobile: boolean;
        t?: import("../../ricos-types/common-types.js").TFunction;
        languageDir?: import("../../ricos-types/common-types.js").TextDirection;
    }>;
    context: React.ContextType<typeof GlobalContext>;
    componentDidUpdate(): void;
    componentWillUnmount(): void;
    showTooltip: (e: MouseEvent) => void;
    onMouseMove: (e: MouseEvent) => void;
    updateTooltipPosition: () => void;
    hideTooltip: () => void;
    wrappChildrenProp: (propName: string, func: (e: MouseEvent) => void) => {
        [x: string]: (e: $TSFixMe) => void;
    };
    wrapperProps: {
        [x: string]: (e: $TSFixMe) => void;
    };
    render(): React.JSX.Element;
}
export {};
//# sourceMappingURL=tooltip.d.ts.map