import * as React from 'react'; import type { BuildInPlacements } from '@rc-component/trigger/lib/interface'; import { TooltipProps as RcTooltipProps, TooltipRef } from 'rc-tooltip/lib/Tooltip'; import { AdjustOverflow } from './placements'; import './style/tooltip.css'; export declare type TooltipPlacement = 'top' | 'left' | 'right' | 'bottom' | 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight' | 'leftTop' | 'leftBottom' | 'rightTop' | 'rightBottom'; 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 extends Partial { /** 样式 */ style?: React.CSSProperties; /** 类名 */ className?: string; /** 气泡框位置 */ placement?: TooltipPlacement; /** 描述popup的菜单如何被定位) */ builtinPlacements?: BuildInPlacements; /** 打开的类名 */ openClassName?: string; /** 箭头是否指向目标元素中心 */ arrowPointAtCenter?: boolean; /** 气泡被遮挡时自动调整位置 */ autoAdjustOverflow?: boolean | AdjustOverflow; /** 浮层渲染父节点,默认渲染到 body 上 */ getPopupContainer?: (triggerNode: HTMLElement) => HTMLElement; } export declare type RenderFunction = () => React.ReactNode; export interface TooltipPropsWithOverlay extends AbstractTooltipProps { /** 提示文字 */ title?: React.ReactNode | RenderFunction; /** 内容替换 */ overlay: React.ReactNode | RenderFunction; } export interface TooltipPropsWithTitle extends AbstractTooltipProps { /** 提示文字 */ title: React.ReactNode | RenderFunction; /** 内容替换 */ overlay?: React.ReactNode | RenderFunction; } export declare type TooltipProps = TooltipPropsWithTitle | TooltipPropsWithOverlay; export declare const Tooltip: React.ForwardRefExoticComponent>; export default Tooltip; declare const TooltipMemo: React.MemoExoticComponent>>; export { TooltipMemo };