export interface IVec3 { x: number; y: number; z: number; } export declare class Vector3 implements IVec3 { x: number; y: number; z: number; static create(v1: number | IVec3): Vector3; static clone(v1: IVec3): Vector3; static add(v1: IVec3, v2: number | IVec3): Vector3; static subtract(v1: IVec3, v2: IVec3): Vector3; static multiply(v1: IVec3, v2: IVec3 | number): Vector3; static divide(v1: IVec3, v2: IVec3 | number): Vector3; static dotProduct(v1: IVec3, v2: IVec3): number; static crossProduct(v1: IVec3, v2: IVec3): Vector3; static normalize(v: Vector3): Vector3; constructor(x: number, y: number, z: number); clone(): Vector3; /** * The product of the Euclidean magnitudes of this and another Vector3. * * @param v Vector3 to find Euclidean magnitude between. * @returns Euclidean magnitude with another vector. */ distanceSquared(v: IVec3): number; /** * The distance between two Vectors. * * @param v Vector3 to find distance between. * @returns Distance between this and another vector. */ distance(v: IVec3): number; readonly normalize: Vector3; crossProduct(v: IVec3): Vector3; add(v: number | IVec3): IVec3; subtract(v: IVec3): Vector3; multiply(v: number | IVec3): Vector3; divide(v: number | IVec3): IVec3; replace(v: IVec3): void; readonly Length: number; }