import * as RadixTooltip from '@radix-ui/react-tooltip';
import { ReactElement } from 'react';
import { TooltipContent, TooltipContentProps, TooltipContentSimpleProps } from './TooltipContent';
export declare type TooltipProps = {
    /**
     * Accepts element of type `Tooltip.Content`, `title`, `text` and `type` props for it,
     * or a string for `text` prop.
     *
     * @example
     * ```tsx
     * content="As simple as this"
     *
     * content={{
     *   title: 'Stake',
     *   text: tooltips['Stake'],
     *   type: 'multiline',
     * }}
     *
     * content={<Tooltip.Content text="As simple as this" />}
     * ```
     *
     * Given `null` or `undefined`, and `{ text: null | undefined }`,
     * the Tooltip won't be displayed.
     */
    content: ReactElement<TooltipContentProps, typeof TooltipContent> | Pick<TooltipContentSimpleProps, 'title' | 'text' | 'type'> | string | (null | undefined);
    /**
     * The trigger element to show the tooltip on hover/focus.
     *
     * Can be explicitly given an element of type `Tooltip.Trigger`.
     * All other nodes will be wrapped in a `Tooltip.Trigger`.
     *
     * @example
     * ```tsx
     * <Tooltip content={content}>
     *   <Tooltip.Trigger ref={triggerRef} className="my-trigger" asChild>
     *     <Button disabled>Save</Button>
     *   </Tooltip.Trigger>
     * </Tooltip>
     *
     * <Tooltip>
     *   <Button disabled>Save</Button>
     * </Tooltip>
     * ```
     *
     * If `Tooltip.Trigger` is not used explicitly, the component used in `tooltip`
     * must accept `ref`.
     */
    children: ReactElement;
    open?: boolean;
    defaultOpen?: boolean;
    onOpenChange?: (open: boolean) => void;
    delayDuration?: number;
};
export declare const Tooltip: {
    ({ content, children, open, defaultOpen, onOpenChange, delayDuration, }: TooltipProps): import("theme-ui/jsx-runtime").JSX.Element;
    Content: import("react").ForwardRefExoticComponent<TooltipContentProps & import("react").RefAttributes<HTMLDivElement>>;
    Trigger: import("react").ForwardRefExoticComponent<RadixTooltip.TooltipTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
    InfoTrigger: import("react").ForwardRefExoticComponent<Omit<import("../../atoms/Icon/BaseIcon.types").BaseProps, "children" | "viewBox"> & {
        title?: string;
    } & import("react").RefAttributes<HTMLElement>>;
};
export declare const TooltipTrigger: import("react").ForwardRefExoticComponent<RadixTooltip.TooltipTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
export declare namespace Tooltip {
    interface TriggerProps extends RadixTooltip.TooltipTriggerProps {
    }
    type ContentProps = TooltipContentProps;
}
