export interface Vector { x: number; y: number; z?: number; } export declare class Vector2 implements Vector { readonly x: number; readonly y: number; constructor(x?: number, y?: number); static readonly one: Vector2; static readonly zero: Vector2; } export declare class Vector3 implements Vector { readonly x: number; readonly y: number; readonly z: number; readonly length: number; readonly magnitude: number; constructor(x?: number, y?: number, z?: number); add(v: Vector3): Vector3; subtract(v: Vector3): Vector3; equals(v: Vector3): boolean; toString(): string; static readonly back: Vector3; static readonly down: Vector3; static readonly forward: Vector3; static readonly left: Vector3; static readonly one: Vector3; static readonly right: Vector3; static readonly up: Vector3; static readonly zero: Vector3; static angle(v1: Vector3, v2: Vector3): number; static dot(v1: Vector3, v2: Vector3): number; static distance(v1: Vector3, v2: Vector3): number; static equals(...vectors: Vector3[]): boolean; }