import * as React from 'react'; import { Component } from 'react'; import { PopPositions } from '../pop'; import Popover, { PositionFunction } from '../popover'; export interface ITooltipBaseProps { title: React.ReactNode; display?: string; position?: PopPositions | PositionFunction; cushion?: number; centerArrow?: boolean; className?: string; containerSelector?: string; visible?: boolean; onVisibleChange?: (visible: boolean) => void; isOutside?: (target: HTMLElement, node: { contentNode: HTMLElement; triggerNode: HTMLElement; }) => boolean; } interface ITooltipTriggerProps extends ITooltipBaseProps { trigger?: 'none' | 'focus'; } interface ITooltipTriggerClickProps extends ITooltipBaseProps { trigger?: 'click'; closeOnClickOutside?: boolean; } interface ITooltipTriggerHoverProps extends ITooltipBaseProps { trigger?: 'hover'; quirk?: boolean; mouseEnterDelay?: number; mouseLeaveDelay?: number; } declare type ITooltipProps = ITooltipTriggerProps | ITooltipTriggerClickProps | ITooltipTriggerHoverProps; export declare class Tooltip extends Component { static defaultProps: { trigger: string; position: string; cushion: number; centerArrow: boolean; containerSelector: string; }; popoverRef: React.RefObject; renderContent(): JSX.Element; renderTrigger(): JSX.Element; render(): JSX.Element; } export default Tooltip;