import * as React from "react"; import "./style.scss"; export declare type TooltipTrigger = "hover" | "focus" | "click" | "contextMenu"; export interface AdjustOverflow { adjustX?: 0 | 1; adjustY?: 0 | 1; } export interface TooltipAlignConfig { points?: [string, string]; offset?: [number | string, number | string]; targetOffset?: [number | string, number | string]; overflow?: { adjustX: boolean; adjustY: boolean; }; useCssRight?: boolean; useCssBottom?: boolean; useCssTransform?: boolean; } export interface AbstractTooltipProps { prefixCls?: string; overlayClassName?: string; style?: React.CSSProperties; overlayStyle?: React.CSSProperties; placement?: string; builtinPlacements?: Object; defaultVisible?: boolean; visible?: boolean; onVisibleChange?: (visible: boolean) => void; mouseEnterDelay?: number; mouseLeaveDelay?: number; transitionName?: string; trigger?: TooltipTrigger; openClassName?: string; arrowPointAtCenter?: boolean; autoAdjustOverflow?: boolean | AdjustOverflow; getTooltipContainer?: (triggerNode: Element) => HTMLElement; getPopupContainer?: (triggerNode?: HTMLElement) => HTMLElement; children?: React.ReactNode; align?: TooltipAlignConfig; maxWidth?: number; showOverflowTooltip?: boolean; isHTMLContent?: boolean; } export interface TooltipProps extends AbstractTooltipProps { title?: string | React.ReactNode; overlay?: React.ReactNode; extraCls?: string; } export default class Tooltip extends React.Component { private tooltip; private childNode; private timeout; private innerPlacement; static defaultProps: { prefixCls: string; trigger: string; destroyTooltipOnHide: boolean; autoAdjustOverflow: boolean; arrowPointAtCenter: boolean; isHTMLContent: boolean; extraCls: string; overlayClassName: string; placement: string; maxWidth: number; }; constructor(props: TooltipProps); componentDidMount(): void; componentWillUnmount(): void; componentDidUpdate(prevProps: any, prevState: any): void; reFreshChild(): void; isNoTitle(): boolean; static getDerivedStateFromProps(nextProps: TooltipProps): any; getOverlay(element: string | React.ReactNode): "" | JSX.Element; setOverlayState(): void; saveTooltip(node: React.ReactNode): void; onVisibleChange(visible: boolean): void; getPlacements(): {}; getOverflow(): { adjustX: number; adjustY: number; }; onPopupAlign(domNode: HTMLElement, align: any): void; caculatePlacement(domNode: any, newPlacement?: string): boolean; caculateArrowPosition(placement: string, domNode: HTMLElement): void; render(): JSX.Element; }