import * as React from 'react'; import './Tooltip.css'; export declare type Placement = 'bottom' | 'right' | 'left' | 'top'; export interface TooltipProps { classNameSpace?: string; children: React.ReactElement<{}>; mouseEnterDelay?: number; mouseLeaveDelay?: number; onShow?: () => void; onHide?: () => void; overlay: React.ReactNode; placement?: Placement; visible?: boolean; } interface Measurements { height: number; left: number; top: number; width: number; } interface OwnState { flipped: boolean; placement?: Placement; visible: boolean; } declare type State = OwnState & Partial; export default function Tooltip(props: TooltipProps): JSX.Element; export declare class TooltipInner extends React.Component { throttledPositionTooltip: () => void; mouseEnterTimeout?: number; mouseLeaveTimeout?: number; tooltipNode?: HTMLElement | null; mounted: boolean; mouseIn: boolean; static defaultProps: { mouseEnterDelay: number; }; constructor(props: TooltipProps); componentDidMount(): void; componentDidUpdate(prevProps: TooltipProps, prevState: State): void; componentWillUnmount(): void; static contextType: React.Context; addEventListeners: () => void; removeEventListeners: () => void; clearTimeouts: () => void; isVisible: () => boolean; getPlacement: () => Placement; tooltipNodeRef: (node: HTMLElement | null) => void; adjustArrowPosition: (placement: Placement, { leftFix, topFix }: { leftFix: number; topFix: number; }) => { marginTop: number; marginLeft?: undefined; } | { marginLeft: number; marginTop?: undefined; }; positionTooltip: () => void; clearPosition: () => void; handleMouseEnter: () => void; handleMouseLeave: () => void; handleOverlayMouseEnter: () => void; handleOverlayMouseLeave: () => void; needsFlipping: (leftFix: number, topFix: number) => boolean; renderActual: ({ leftFix, topFix }: { leftFix?: number | undefined; topFix?: number | undefined; }) => JSX.Element | null; render(): JSX.Element; } export {};