export type Point = [number, number];
export interface ICoord {
    x: number;
    y: number;
}
export interface Geometry {
    distanceBetweenPoints(p1: Point, p2: Point): number;
    distanceBetweenPointsX(p1: Point, p2: Point): number;
    distanceBetweenPointsXoR(p1: Point, p2: Point): number;
    sizeByTwoPoints(p1: Point, p2: Point): number;
    rectCenter(start: Point, end: Point): Point;
    angleBetweenTwoVectors(vector1: number[], vector2: number[]): number;
    triangleArea(a: number, b: number, c: number): number;
}
/**
 * calculates distance between two points
 * @param {Number[]} p1 - first coord [x1, y1]
 * @param {Number[]} p2 - second coord [x2, y2]
 * @return {number}
 */
export declare const distanceBetweenPoints: (p1: Point, p2: Point) => number;
/**
 * calculates distance between two points
 * @param {Number[]} p1 - first coord [x1, y1]
 * @param {Number[]} p2 - second coord [x2, y2]
 * @return {number}
 */
export declare const distanceBetweenPointsX: (p1: Point, p2: Point) => number;
export declare const sizeByTwoPoints: (p1: Point, p2: Point) => number;
export declare const rectCenter: (start: Point, end: Point) => Point;
export declare const angleBetweenTwoVectors: (vector1: number[], vector2: number[]) => number;
export declare const distanceBetweenPointsXoR: (p1: Point, p2: Point) => number;
export declare const triangleArea: (a: number, b: number, c: number) => number;
export declare const calculateBboxAspectRatio: (bbox: {
    topLeft: {
        x: number;
        y: number;
    };
    bottomRight: {
        x: number;
        y: number;
    };
}) => number;
export declare const isValidAspectRatio: (aspectRatio: number) => boolean;
declare const geometry: Geometry;
export default geometry;
