import { type HTMLAttributes } from "react";
import { type CSSTransitionClassNames, type CSSTransitionComponentProps, type SSRTransitionOptions, type TransitionActions, type TransitionTimeout } from "../transition/types.js";
import { type TooltipClassNameOptions } from "./styles.js";
/**
 * The base props for the `Tooltip` component. This can be extended when
 * creating custom tooltip implementations.
 *
 * @since 2.8.0 Supports the `RenderConditionalPortalProps`
 * @since 6.0.0 The `id` prop is optional.
 * @since 6.0.0 Removed `lineWrap` for `textOverflow`
 * @since 6.0.0 No longer supports the `RenderConditionalPortalProps` other than
 * `portal` with the `disablePortal` prop.
 * @since 6.3.1 Extends TooltipClassNameOptions for CSSProperties module
 * augmentation.
 */
export interface TooltipProps extends HTMLAttributes<HTMLSpanElement>, TooltipClassNameOptions, CSSTransitionComponentProps, SSRTransitionOptions, TransitionActions {
    visible: boolean;
    /**
     * @see {@link CSSTransitionComponentProps.temporary}
     * @defaultValue `true`
     */
    temporary?: boolean;
    /**
     * @see {@link CSSTransitionComponentProps.timeout}
     * @defaultValue `DEFAULT_TOOLTIP_TIMEOUT`
     */
    timeout?: TransitionTimeout;
    /**
     * @see {@link CSSTransitionComponentProps.classNames}
     * @defaultValue `DEFAULT_TOOLTIP_CLASSNAMES`
     */
    classNames?: CSSTransitionClassNames;
}
/**
 * **Client Component**
 *
 * This is the base tooltip component that can only be used to render a tooltip
 * with an animation when the visibility changes. If this component is used, you
 * will need to manually add all the event listeners and triggers to change the
 * `visible` prop.
 *
 * @example Simple Usage
 * ```tsx
 * import { Button } from "@react-md/core/button/Button";
 * import { Tooltip } from "@react-md/core/tooltip/Tooltip";
 * import { useTooltip } from "@react-md/core/tooltip/useTooltip";
 *
 * function Example() {
 *   const { elementProps, tooltipProps } = useTooltip();
 *
 *   return (
 *     <>
 *       <Button {...elementProps}>Button</Button>
 *       <Tooltip {...tooltipProps}>
 *         Tooltip Content
 *       </Tooltip>
 *     </>
 *   );
 * }
 * ```
 *
 * @see {@link https://react-md.dev/components/tooltip | Tooltip Demos}
 */
export declare const Tooltip: import("react").ForwardRefExoticComponent<TooltipProps & import("react").RefAttributes<HTMLSpanElement>>;
