import { Component } from 'react';
import { Placement, ReferenceObject, TriggerTypes } from 'rdk';
export interface TooltipProps {
    /**
     * Content for the tooltip.
     */
    content: any;
    /**
     * Reference of the tooltip to align to.
     */
    reference?: ReferenceObject | HTMLElement | any;
    /**
     * Popperjs placement.
     */
    placement: Placement;
    /**
     * Delay before showing tooltip.
     */
    enterDelay: number;
    /**
     * Delay before closing tooltip.
     */
    leaveDelay: number;
    /**
     * Popperjs modifiers.
     */
    modifiers?: any;
    /**
     * External setter for visibility.
     */
    visible: boolean;
    /**
     * Additiona CSS classnames.
     */
    className?: any;
    /**
     * How the tooltip will be triggered.
     */
    trigger: TriggerTypes[] | TriggerTypes;
    /**
     * Whether the tooltip is disabled.
     */
    disabled?: boolean;
    /**
     * Whether the tooltip should move with the cursor or not.
     */
    followCursor?: boolean;
}
interface TooltipState {
    visible: boolean;
}
export declare class Tooltip extends Component<TooltipProps, TooltipState> {
    static defaultProps: Partial<TooltipProps>;
    timeout: any;
    state: TooltipState;
    componentDidUpdate(prevProps: TooltipProps): void;
    componentWillUnmount(): void;
    onActivate(): void;
    onDeactivate(): void;
    activate(): void;
    deactivate(): void;
    deactivateAll(): void;
    renderContent: () => JSX.Element | null;
    render(): JSX.Element;
}
export {};
