import * as React from 'react';
import { BuildInPlacements } from 'rc-trigger/lib/interface';
import { TooltipProps as RcTooltipProps } 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<RcTooltipProps> {
    /** 样式 */
    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<TooltipProps & React.RefAttributes<unknown>>;
export default Tooltip;
declare const TooltipMemo: React.MemoExoticComponent<React.ForwardRefExoticComponent<TooltipProps & React.RefAttributes<unknown>>>;
export { TooltipMemo };
