import { TooltipTheme } from './TooltipTheme';
import { Modifiers, Placement, ReferenceObject } from '../../utils/Position';
import { TriggerTypes } from '../../utils/Overlay';
import { FC, ReactNode } from 'react';

export interface TooltipProps {
    /**
     * Content to wrap.
     */
    children?: ReactNode;
    /**
     * Close on any click.
     */
    closeOnClick?: boolean;
    /**
     * Close when the body is clicked.
     */
    closeOnBodyClick?: boolean;
    /**
     * Close when escape key is triggered.
     */
    closeOnEscape?: boolean;
    /**
     * Content for the tooltip.
     */
    content?: any;
    /**
     * Reference of the tooltip to align to.
     */
    reference?: ReferenceObject | HTMLElement | any;
    /**
     * floating-ui placement.
     */
    placement?: Placement;
    /**
     * Delay before showing tooltip.
     */
    enterDelay?: number;
    /**
     * Delay before closing tooltip.
     */
    leaveDelay?: number;
    /**
     * floating-ui modifiers.
     */
    modifiers?: Modifiers;
    /**
     * External setter for visibility.
     */
    visible?: boolean;
    /**
     * Additional CSS classnames.
     */
    className?: string;
    /**
     * CSS Classname for the tooltip container ( ie. the thing that the tooltip is bound to ).
     */
    triggerClassName?: string;
    /**
     * How the tooltip will be triggered.
     */
    trigger?: TriggerTypes[] | TriggerTypes;
    /**
     * Whether the tooltip is disabled.
     */
    disabled?: boolean;
    /**
     * Whether the tooltip should move with the cursor or not.
     */
    followCursor?: boolean;
    /**
     * Add pointer events or not. Usually not for tooltips.
     */
    pointerEvents?: string;
    /**
     * Differentiator for popovers to be handled separate from tooltips
     */
    isPopover?: boolean;
    /**
     * Tooltip was opened.
     */
    onOpen?(): void;
    /**
     * Tooltip was closed.
     */
    onClose?(): void;
    /**
     * Theme for the tooltip.
     */
    theme?: TooltipTheme;
}
export declare const Tooltip: FC<TooltipProps>;
