import * as React from "react";
export declare type TooltipX = "Left" | "Right" | "Middle";
export declare type TooltipY = "Top" | "Bottom" | "Center";
declare type AnyHTMLElement = HTMLElementTagNameMap[keyof HTMLElementTagNameMap];
declare const Tooltip: React.FunctionComponent<TooltipProps>;
export default Tooltip;
export interface TooltipChildProps {
    htmlRef: React.RefObject<AnyHTMLElement | null>;
}
export interface TooltipRenderProps {
    left: number;
    top: number;
    visible: boolean;
    htmlRef: React.RefObject<AnyHTMLElement | null>;
}
export interface TooltipPositionOptions {
    horizontalAlign: TooltipX;
    verticalAlign: TooltipY;
    verticalSpacing: number;
    horizontalSpacing: number;
}
export interface TooltipProps extends Partial<TooltipPositionOptions> {
    showDelay?: number;
    hideDelay?: number;
    visible: boolean;
    calculatePosition?(targetRect: ClientRect, toolTipRect: ClientRect, positionOptions: TooltipPositionOptions): {
        left: number;
        top: number;
    };
    renderTooltip(props: TooltipRenderProps): React.ReactElement;
    children(props: TooltipChildProps): React.ReactElement;
}
