import { useFloating, Placement } from '@floating-ui/react';
import { default as React } from 'react';
export interface TooltipProps extends React.HTMLAttributes<HTMLDivElement> {
    variant?: "primary" | "secondary";
    size?: "sm" | "md" | "lg";
    shape?: "full" | "minimal" | "sharp";
}
interface TooltipContextType {
    isOpen: boolean;
    setIsOpen: React.Dispatch<React.SetStateAction<boolean>>;
    getReferenceProps: (userProps?: React.HTMLProps<HTMLElement> | undefined) => Record<string, unknown>;
    getFloatingProps: (userProps?: React.HTMLProps<HTMLElement> | undefined) => Record<string, unknown>;
    floatingStyles: React.CSSProperties;
    refs: {
        setReference: (node: HTMLElement | null) => void;
        setFloating: (node: HTMLElement | null) => void;
    };
    middlewareData: ReturnType<typeof useFloating>["middlewareData"];
    placement: ReturnType<typeof useFloating>["placement"];
    arrowRef: React.RefObject<HTMLDivElement>;
}
export declare const useTooltip: () => TooltipContextType;
export declare const TooltipProvider: ({ children, placement, }: {
    children: React.ReactNode;
    placement?: Placement;
}) => import("react/jsx-runtime").JSX.Element;
export declare const TooltipTrigger: React.ForwardRefExoticComponent<Omit<React.HTMLProps<HTMLElement> & {
    asChild?: boolean;
}, "ref"> & React.RefAttributes<HTMLElement>>;
export declare const Tooltip: React.ForwardRefExoticComponent<TooltipProps & React.RefAttributes<HTMLDivElement>>;
export {};
