import { Serializable } from '../common/interfaces.js'; export declare class Vector implements Serializable { x: number; y: number; private constructor(); private constructor(); addInPlace(vector: Vector): Vector; addInPlace(scalar: number): Vector; addInPlace(x: number, y: number): Vector; multiplyInPlace(vector: Vector): Vector; multiplyInPlace(scalar: number): Vector; multiplyInPlace(x: number, y: number): Vector; subtractInPlace(vector: Vector): Vector; subtractInPlace(scalar: number): Vector; subtractInPlace(x: number, y: number): Vector; normalizeInPlace(min: number, max: number): Vector; normalizeInPlace(minX: number, maxX: number, minY: number, maxY: number): Vector; clampInPlace(min: number, max: number): Vector; clampInPlace(minX: number, maxX: number, minY: number, maxY: number): Vector; transformInPlace(transform: DOMMatrix): Vector; absInPlace(): Vector; add(vector: Vector): Vector; add(scalar: number): Vector; add(x: number, y: number): Vector; multiply(vector: Vector): Vector; multiply(scalar: number): Vector; multiply(x: number, y: number): Vector; subtract(vector: Vector): Vector; subtract(scalar: number): Vector; subtract(x: number, y: number): Vector; normalize(min: number, max: number): Vector; normalize(minX: number, maxX: number, minY: number, maxY: number): Vector; clamp(min: number, max: number): Vector; clamp(minX: number, maxX: number, minY: number, maxY: number): Vector; isInside(start: Vector, end: Vector): boolean; isInside(x1: number, y1: number, x2: number, y2: number): boolean; assign(vector: Vector): Vector; assign(scalar: number): Vector; assign(x: number, y: number): Vector; transform(transform: DOMMatrix): Vector; abs(): Vector; toString(): string; clone(): Vector; max(): number; isEqual(vector: Vector, threshold?: number): boolean; static Distance(vector1: Vector, vector2: Vector): number; static Distance(x1: number, y1: number, x2: number, y2: number): number; static Midpoint(vector1: Vector, vector2: Vector): Vector; static Zero(): Vector; static Random(minX: number, maxX: number, minY: number, maxY: number): Vector; serialize(): SerializedVector; static create(x: number, y: number): Vector; static create(domPoint: DOMPoint): Vector; static create(vector: SerializedVector): Vector; } export interface SerializedVector { x: number; y: number; }