import React, { Component } from 'react';
import Popper, { type PopperOptions, type ReferenceObject } from './Popper';
type TooltipProps = typeof Tooltip.defaultProps & {
children: React.ReactNode;
interactive?: boolean;
options?: PopperOptions;
popperClassName?: string;
reshowTimeout?: number;
timeout?: number;
referenceObject?: ReferenceObject | null;
onEntered?: () => void;
onExited?: () => void;
'data-testid'?: string;
};
interface TooltipState {
isShown: boolean;
}
/**
* Component that can be added to an element to automatically display a tooltip.
* Content is mounted lazily, so don't worry about complex tooltips!
*
* Usage:
*
* Hover this container to see a tooltip
*
* My tooltip content goes here!
*
*
*/
declare class Tooltip extends Component {
static defaultTimeout: number;
static defaultReshowTimeout: number;
static triggerReshowThreshold: number;
static shownTooltipCount: number;
static lastHiddenTime: number;
static defaultProps: {
interactive: boolean;
options: {};
popperClassName: string;
reshowTimeout: number;
timeout: number;
onEntered: () => void;
onExited: () => void;
'data-testid': undefined;
};
static handleHidden(): void;
static handleShown(): void;
constructor(props: TooltipProps);
componentDidMount(): void;
componentDidUpdate(prevProps: TooltipProps, prevState: TooltipState): void;
componentWillUnmount(): void;
container: React.RefObject;
popper: React.RefObject;
parent: HTMLElement | null;
timer: number | null;
startListening(): void;
stopListening(): void;
startListeningWindow(): void;
stopListeningWindow(): void;
handleMouseMove(): void;
handleWheel(): void;
handleMouseLeave(): void;
handleTimeout(): void;
handleWindowMouseMove(event: MouseEvent): void;
startTimer(): void;
stopTimer(): void;
show(): void;
hide(): void;
update(): void;
handleExited(): void;
stopShowingTooltip(): void;
render(): JSX.Element;
}
export default Tooltip;
//# sourceMappingURL=Tooltip.d.ts.map