/// <reference types="react" />
import * as React from 'react';
import { Quadrant } from '../utils';
import { StyleDeclaration } from 'aphrodite';
export declare const defaultToolTipStyle: ToolTipStyle;
export interface ToolTipStyle extends StyleDeclaration {
    Tooltip: React.CSSProperties;
    tooltip: React.CSSProperties;
    tooltipFixed: React.CSSProperties;
}
export interface TooltipProps {
    content: string | ((props?: any) => JSX.Element);
    contentProps?: any;
    tooltipClassName?: string;
    offsetLeft?: number;
    offsetRight?: number;
    offsetTop?: number;
    offsetBottom?: number;
    styles?: Partial<ToolTipStyle>;
    show?: boolean;
    onTooltipShow?: () => void;
    onTooltipHide?: () => void;
    fixedMode?: boolean;
    wndRegion?: Quadrant;
}
export interface TooltipState {
    wndRegion: Quadrant;
    show: boolean;
    ttClassName: string;
    offsetLeft: number;
    offsetRight: number;
    offsetTop: number;
    offsetBottom: number;
    tooltipDimensions: {
        width: number;
        height: number;
    };
}
export declare class Tooltip extends React.Component<TooltipProps, TooltipState> {
    private childRef;
    private tooltipRef;
    constructor(props: TooltipProps);
    render(): JSX.Element;
    private onMouseMove;
    private onMouseEnter;
    private onMouseleave;
    private computeStyle;
}
export default Tooltip;
