/** * Point Utils * A point is an array of two numbers e.g. [0, 0]. */ import * as kvector from "./vector"; export type Point = ReadonlyArray; export declare function rotateRad(point: readonly [number, number], theta: number, center?: readonly [number, number]): Point; export declare function rotateDeg(point: readonly [number, number], theta: number, center?: readonly [number, number]): Point; export declare function distanceToPoint(point1: Point, point2: Point): number; export declare function distanceToLine(point: Point, line: [Point, Point]): number; export declare function reflectOverLine

(point: P, line: [P, P]): P; /** * Compares two points, returning negative, 0, or positive, for use with * Array.prototype.sort * * Note: This technically doesn't satisfy the total-ordering * requirements of Array.prototype.sort unless equalityTolerance * is 0. In some cases very close points that compare within a * few equalityTolerances could appear in the wrong order. */ export declare function compare(point1: Point, point2: Point, equalityTolerance?: number): number; export declare const is: typeof kvector.is; export declare const addVector: typeof kvector.add; export declare const addVectors: typeof kvector.add; export declare const subtractVector: typeof kvector.subtract; export declare const equal: typeof kvector.equal; export declare const polarRadFromCart: typeof kvector.polarRadFromCart; export declare const polarDegFromCart: typeof kvector.polarDegFromCart; export declare const cartFromPolarRad: typeof kvector.cartFromPolarRad; export declare const cartFromPolarDeg: typeof kvector.cartFromPolarDeg; export declare const round: typeof kvector.round; export declare const roundTo: typeof kvector.roundTo; export declare const floorTo: typeof kvector.floorTo; export declare const ceilTo: typeof kvector.ceilTo;