import { useFloating, type Placement } from "@floating-ui/react";
import { PointerDirection } from "./tooltip-utils/types";
export type FloatingDropdownHookReturn = {
    overlayStyles: ReturnType<typeof useFloating>["floatingStyles"] | undefined;
    refs: {
        host: ReturnType<typeof useFloating>["refs"]["reference"];
        overlay: ReturnType<typeof useFloating>["refs"]["floating"];
        setHost: ReturnType<typeof useFloating>["refs"]["setReference"];
        setOverlay: ReturnType<typeof useFloating>["refs"]["setFloating"];
    };
};
export type FloatingDropdownHookArgs = {
    open?: boolean;
    options?: FloatingDropdownHookOptions;
};
export type FloatingDropdownHookOptions = {
    offset?: number;
    reverse?: boolean;
    strategy?: "fixed" | "absolute";
};
export declare function useFloatingDropdown({ open, options }: FloatingDropdownHookArgs): FloatingDropdownHookReturn;
export type FloatingTooltipHookArgs = {
    open?: boolean;
    hostRef?: React.RefObject<HTMLElement>;
    options?: FloatingTooltipHookOptions;
};
export type FloatingTooltipHookOptions = {
    offset?: number;
    pointer?: PointerDirection;
    placement?: Placement;
    noFlip?: boolean;
    noShift?: boolean;
    notInline?: boolean;
    strategy?: "fixed" | "absolute";
};
export type FloatingTooltipHookReturn = {
    overlayStyles: ReturnType<typeof useFloating>["floatingStyles"];
    arrowStyles: React.CSSProperties;
    refs: {
        host: ReturnType<typeof useFloating>["refs"]["reference"];
        overlay: ReturnType<typeof useFloating>["refs"]["floating"];
        arrow: React.RefObject<HTMLElement>;
        setHost: ReturnType<typeof useFloating>["refs"]["setReference"];
        setOverlay: ReturnType<typeof useFloating>["refs"]["setFloating"];
    };
};
export declare function useFloatingTooltip({ open, hostRef, options }: FloatingTooltipHookArgs): FloatingTooltipHookReturn;
//# sourceMappingURL=floating-ui.d.ts.map