import { type MutableRefObject } from "react";
import { type Placement, type ReferenceType } from "@floating-ui/react";
import { type ITheme } from "@gooddata/sdk-model";
import { type Dimensions, type PlacementShift, type TooltipArrowPlacement } from "./types.js";
export declare const getOppositeBasicPlacement: (arrowPlacement: TooltipArrowPlacement, behaviour: "popover" | "tooltip") => Placement;
export declare const getFlipFallbackOrder: (arrowPlacement: TooltipArrowPlacement, behaviour: "popover" | "tooltip") => Placement[];
export declare const getDimensionsFromRect: (rect: DOMRect | {
    width: number;
    height: number;
} | null) => {
    width: number;
    height: number;
};
export declare const getDimensionsFromRef: (ref: MutableRefObject<ReferenceType | null>) => {
    width: number;
    height: number;
};
export declare const computeTooltipShift: (arrowPlacement: TooltipArrowPlacement, floatingDimensions: Dimensions, isEnabled: boolean, theme?: ITheme | undefined) => PlacementShift;
export declare const computeArrowOffset: (arrowPlacement: TooltipArrowPlacement, floatingDimensions: Dimensions, isEnabled: boolean, theme?: ITheme | undefined) => number | null;
//# sourceMappingURL=utils.d.ts.map