import { Component, ReactElement } from 'react';
import { PopPositions } from '../pop';
import Popover, { IPositionFunction } from '../popover';
export interface ITooltipBaseProps {
    title: React.ReactNode;
    style?: React.CSSProperties;
    position?: PopPositions | IPositionFunction;
    cushion?: number;
    centerArrow?: boolean;
    className?: string;
    containerSelector?: string;
    visible?: boolean;
    onVisibleChange?: (visible: boolean) => void;
    children: ReactElement | string | number;
    fixMouseEventsOnDisabledChildren?: boolean;
}
interface ITooltipTriggerProps extends ITooltipBaseProps {
    trigger?: 'none' | 'focus';
}
interface ITooltipTriggerClickProps extends ITooltipBaseProps {
    trigger?: 'click';
    closeOnClickOutside?: boolean;
}
interface ITooltipTriggerHoverProps extends ITooltipBaseProps {
    trigger?: 'hover';
    anchorOnly?: boolean;
    mouseEnterDelay?: number;
    mouseLeaveDelay?: number;
}
declare type ITooltipProps = ITooltipTriggerProps | ITooltipTriggerClickProps | ITooltipTriggerHoverProps;
export declare class Tooltip extends Component<ITooltipProps> {
    static defaultProps: {
        trigger: string;
        position: string;
        cushion: number;
        centerArrow: boolean;
        containerSelector: string;
    };
    popoverRef: import("react").RefObject<Popover>;
    renderContent(): JSX.Element;
    renderTrigger(): JSX.Element;
    render(): JSX.Element;
}
export default Tooltip;
