import { default as React } from 'react';
import { ToolTipVariant, TooltipPlacement } from './ToolTip.types';
/**
 * This hook holds the TooltipContext.
 *
 * @returns TooltipContext
 */
export declare const useTooltipState: () => {
    placement: import('@floating-ui/utils').Placement;
    strategy: import('@floating-ui/utils').Strategy;
    middlewareData: import('@floating-ui/core').MiddlewareData;
    x: number;
    y: number;
    isPositioned: boolean;
    update: () => void;
    floatingStyles: React.CSSProperties;
    refs: {
        reference: React.MutableRefObject<import('@floating-ui/react-dom').ReferenceType | null>;
        floating: React.MutableRefObject<HTMLElement | null>;
        setReference: (node: import('@floating-ui/react-dom').ReferenceType | null) => void;
        setFloating: (node: HTMLElement | null) => void;
    } & import('@floating-ui/react').ExtendedRefs<import('@floating-ui/react').ReferenceType>;
    elements: {
        reference: import('@floating-ui/react-dom').ReferenceType | null;
        floating: HTMLElement | null;
    } & import('@floating-ui/react').ExtendedElements<import('@floating-ui/react').ReferenceType>;
    context: {
        x: number;
        y: number;
        placement: import('@floating-ui/utils').Placement;
        strategy: import('@floating-ui/utils').Strategy;
        middlewareData: import('@floating-ui/core').MiddlewareData;
        isPositioned: boolean;
        update: () => void;
        floatingStyles: React.CSSProperties;
        open: boolean;
        onOpenChange: (open: boolean, event?: Event) => void;
        events: import('@floating-ui/react').FloatingEvents;
        dataRef: React.MutableRefObject<import('@floating-ui/react').ContextData>;
        nodeId: string | undefined;
        floatingId: string;
        refs: import('@floating-ui/react').ExtendedRefs<import('@floating-ui/react').ReferenceType>;
        elements: import('@floating-ui/react').ExtendedElements<import('@floating-ui/react').ReferenceType>;
    };
    getReferenceProps: (userProps?: React.HTMLProps<Element>) => Record<string, unknown>;
    getFloatingProps: (userProps?: React.HTMLProps<HTMLElement>) => Record<string, unknown>;
    getItemProps: (userProps?: React.HTMLProps<HTMLElement>) => Record<string, unknown>;
    open: boolean;
    setOpen: (_open: boolean) => void;
    variant: ToolTipVariant | undefined;
    disabled: boolean;
};
export interface TooltipProps extends React.HTMLAttributes<HTMLElement> {
    variant?: ToolTipVariant;
    /** Uncontrolled Tooltip: Choose which event should trigger the opening of the tooltip (click or hover) */
    triggerEvent?: "click" | "hover";
    /** Tooltip placement in relation to trigger, default is top */
    placement?: TooltipPlacement;
    /** Disable the tooltip. If this is true, the uncontrolled tooltip can't be opened anymore and the cursor hovered over the trigger will be the default cursor instead of the pointer cursor */
    disabled?: boolean;
    /** Set whether tooltip should be initially rendered opened or closed. This is only evaluated if Tooltip is in uncontrolled mode */
    initialOpen?: boolean;
    /** Whether the Tooltip is open. By passing this prop you turn the Tooltip into a controlled component, which means
     * you also have to take care of opening and closing it. In this case the triggerEvent prop is ignored since you're handling the trigger yourself */
    open?: boolean;
    /** Pass the TooltipTrigger and TooltipContent elements as children */
    children?: React.ReactNode;
}
/**
 * A tooltip component that optionally comes in the various semantic flavors (e.g. info, warning, ...). It can be used as an uncontrolled component where
 * you configure the event type that should open the tooltip (click or hover) or alternatively you can use it as a controlled component where you set the
 * open state and handle the events that open/close the tooltip yourself.
 */
export declare const Tooltip: React.FC<TooltipProps>;
//# sourceMappingURL=Tooltip.component.d.ts.map