import { Point4D } from './Point4D'; export declare class Vector4D extends Point4D { constructor(x?: number, y?: number, z?: number, w?: number); static negative(a: Vector4D, b: Vector4D): Vector4D; static add(a: Vector4D, b: Vector4D | number, c?: Vector4D): Vector4D; static subtract(a: Vector4D, b: Vector4D | number, c?: Vector4D): Vector4D; static multiply(a: Vector4D, b: Vector4D | number, c?: Vector4D): Vector4D; static divide(a: Vector4D, b: Vector4D | number, c?: Vector4D): Vector4D; static cross(a: Vector4D, b: Vector4D, c?: Vector4D): Vector4D; static unit(a: Vector4D, b: Vector4D): Vector4D; static fromBearing(angle: number, length: number): Vector4D; static fromAngles(theta: number, phi: number): Vector4D; static randomDirection(): Vector4D; static min(a: Vector4D, b: Vector4D): Vector4D; static max(a: Vector4D, b: Vector4D): Vector4D; static lerp(a: Vector4D, b: Vector4D, fraction: number): Vector4D; static fromArray(a: number[]): Vector4D; static angleBetween(a: Vector4D, b: Vector4D): number; negative(): Vector4D; add(v: Vector4D | number): Vector4D; subtract(v: Vector4D | number): Vector4D; multiply(v: Vector4D | number): Vector4D; divide(v: Vector4D | number): Vector4D; equals(v: Vector4D): boolean; dot(v: Vector4D): number; cross(v: Vector4D): Vector4D; magnitude(): number; length(): number; unit(): Vector4D; min(): number; max(): number; toAngles(): { theta: number; phi: number; }; angleTo(a: Vector4D): number; areaOfTriangle(a: Vector4D): number; volumeOfVectors(a: Vector4D, b: Vector4D): number; toArray(n?: number): number[]; clone(): Vector4D; private init; }