import React, { SyntheticEvent } from "react";
import { Alignment } from "./Tooltip";
declare const AccessibleTooltipButton: <T extends keyof JSX.IntrinsicElements>(props: (JSX.IntrinsicElements[T] extends React.HTMLAttributes<{}> ? Partial<Omit<JSX.IntrinsicElements[T], "ref" | "onKeyDown" | "onKeyUp" | "onClick" | "onMouseDown">> & Omit<React.InputHTMLAttributes<Element>, "onClick"> : Partial<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref" | "onKeyDown" | "onKeyUp" | "onClick" | "onMouseDown">> & Omit<React.InputHTMLAttributes<Element>, "onClick">) & {
    element?: T | undefined;
    kind?: import("./AccessibleButton").AccessibleButtonKind | undefined;
    disabled?: boolean | undefined;
    triggerOnMouseDown?: boolean | undefined;
    onClick: ((e: import("./AccessibleButton").ButtonEvent) => void | Promise<void>) | null;
} & React.RefAttributes<HTMLElement> & {
    /**
     * Title to show in the tooltip and use as aria-label
     */
    title?: string | undefined;
    /**
     * Tooltip node to show in the tooltip, takes precedence over `title`
     */
    tooltip?: React.ReactNode;
    /**
     * Trigger label to render
     */
    label?: string | undefined;
    /**
     * Classname to apply to the tooltip
     */
    tooltipClassName?: string | undefined;
    /**
     * Force the tooltip to be hidden
     */
    forceHide?: boolean | undefined;
    /**
     * Alignment to render the tooltip with
     */
    alignment?: Alignment | undefined;
    /**
     * Function to call when the children are hovered over
     */
    onHover?: ((hovering: boolean) => void) | undefined;
    /**
     * Function to call when the tooltip goes from shown to hidden.
     */
    onHideTooltip?(ev: SyntheticEvent): void;
}) => React.ReactElement<any, string | React.JSXElementConstructor<any>> | null;
export default AccessibleTooltipButton;
