import { RefObject } from "react"; export type Position = { side: "left" | "right" | "top" | "bottom" | "center"; alignment: "top" | "bottom" | "center" | "right" | "left"; }; type Props = { targetRef: RefObject; tetherRef: RefObject; targetPosition?: Position; tetherPosition?: Position; offset?: { y: number; x: number; }; boundingContainer?: RefObject; onCollision?: (props: Collision) => Positions; }; export interface Positions { tetherPosition: Position; targetPosition: Position; } export interface Collision extends Positions { collision: { left: boolean; right: boolean; top: boolean; bottom: boolean; }; } export declare function useTether({ targetPosition, tetherPosition, targetRef, tetherRef, offset: { y, x }, boundingContainer, onCollision, }: Props): { styles: { left?: number; top?: number; zIndex?: number; position?: "absolute"; }; positions: Positions; }; export {};