export declare class Vector3D extends Object {
    static X_AXIS: Vector3D;
    static Y_AXIS: Vector3D;
    static Z_AXIS: Vector3D;
    x: number;
    y: number;
    z: number;
    w: number;
    constructor(x?: number, y?: number, z?: number, w?: number);
    static angleBetween(a: Vector3D, b: Vector3D): number;
    static distance(pt1: Vector3D, pt2: Vector3D): number;
    clone(): Vector3D;
    dotProduct(a: Vector3D): number;
    crossProduct(a: Vector3D): Vector3D;
    get length(): number;
    get lengthSquared(): number;
    normalize(): number;
    scaleBy(s: number): void;
    incrementBy(a: Vector3D): void;
    decrementBy(a: Vector3D): void;
    add(a: Vector3D): Vector3D;
    subtract(a: Vector3D): Vector3D;
    negate(): void;
    equals(toCompare: Vector3D, allFour?: boolean): boolean;
    nearEquals(toCompare: Vector3D, tolerance: number, allFour?: boolean): boolean;
    project(): void;
    toString(): string;
    copyFrom(sourceVector3D: Vector3D): void;
    setTo(xa: number, ya: number, za: number): void;
}
