import type { ICoords } from '@adam-sv/arc'; export interface IGeometry { addVector: (vec1: ICoords, vec2: ICoords, scale1?: number, scale2?: number) => ICoords; getDistanceBetweenCoords: (coords1: ICoords, coords2: ICoords) => number; getMagnitude: (vec1: ICoords) => number; getPerpendicularVector: typeof getPerpendicularVector; normalizeVector: (vec: ICoords) => ICoords; getCenter: (rect: DOMRect) => ICoords; getClosestPointsBetweenRects: (rect: DOMRect, anotherRect: DOMRect, mode: 'midpoints' | 'corners' | 'midpoints-corners') => [ICoords, ICoords]; getClosestPointToAnotherRect: (rect: DOMRect, anotherRect: DOMRect) => ICoords; getEdgeCorners: (rect: DOMRect) => ICoords[]; getEdgeMidpoints: (rect: DOMRect) => ICoords[]; rectsAreEqual: (rect1: DOMRect, rect2: DOMRect) => boolean; } export declare const geometry: IGeometry; export interface ICoordsDistance { point: ICoords; distance: number; } export interface ICoordsDistanceBetween { points: [ICoords, ICoords]; distance: number; } export declare function addVector(vec1: ICoords, vec2: ICoords, scale1?: number, scale2?: number): ICoords; export declare function getMagnitude(vec: ICoords): number; export declare function getPerpendicularVector(vec: ICoords): ICoords; export declare function normalizeVector(vec: ICoords): ICoords; export declare function getEdgeMidpoints(rect: DOMRect): ICoords[]; export declare function getEdgeCorners(rect: DOMRect): ICoords[]; export declare function getCenter(rect: DOMRect): ICoords; export declare function getDistanceBetweenCoords(coords1: ICoords, coords2: ICoords): number; export declare function getClosestPointToAnotherRect(rect: DOMRect, anotherRect: DOMRect): ICoords; export declare function getClosestPointsBetweenRects(rect1: DOMRect, rect2: DOMRect, mode?: 'midpoints' | 'corners' | 'midpoints-corners'): [ICoords, ICoords]; export declare function rectsAreEqual(rect1: DOMRect, rect2: DOMRect): boolean;