import React, { Component } from 'react';
import ConfigContext, { ConfigContextValue } from '../../../lib/config-provider/ConfigContext';
import { TooltipPlacement, TooltipTheme } from '../../../lib/tooltip';
import { RenderFunction, TriggerProps } from '../../../lib/trigger/Trigger';
import { Action } from '../../../lib/trigger/enum';
import { AdjustOverflow } from './placements';
export { TooltipPlacement, TooltipTheme };
export interface TooltipProps extends TriggerProps {
    placement?: TooltipPlacement;
    defaultHidden?: boolean;
    onHiddenBeforeChange?: (hidden: boolean) => boolean;
    onHiddenChange?: (hidden: boolean) => void;
    trigger?: Action[];
    openClassName?: string;
    arrowPointAtCenter?: boolean;
    autoAdjustOverflow?: boolean | AdjustOverflow;
    title?: React.ReactNode | RenderFunction;
    overlay?: React.ReactNode | RenderFunction;
    theme?: TooltipTheme;
}
export default class Tooltip extends Component<TooltipProps, any> {
    static get contextType(): typeof ConfigContext;
    static displayName: string;
    static defaultProps: {
        suffixCls: string;
        placement: string;
        transitionName: string;
        mouseEnterDelay: number;
        mouseLeaveDelay: number;
        arrowPointAtCenter: boolean;
        autoAdjustOverflow: boolean;
        defaultHidden: boolean;
        trigger: Action[];
    };
    static show: any;
    static hide: any;
    context: ConfigContextValue;
    state: {
        translate: {
            x: number;
            y: number;
        };
    };
    get prefixCls(): string;
    get placements(): any;
    getContent(...props: any[]): any;
    handlePopupAlign(_source: any, _align: any, _target: any, translate: any): void;
    renderPopupContent(...props: any[]): JSX.Element | undefined;
    render(): JSX.Element | null;
}
