import { vec3 as Vec3 } from 'gl-matrix'; import Vector from './Vector'; /** * Encapsulates a 3D vector. Allows chaining operations by returning a reference to itself in all modification methods. * @author badlogicgames@gmail.com */ declare class Vector3 implements Vector { data: Vec3; /** * Creates a vector from the given vector * @param vector The vector */ constructor(data?: Vec3); x: number; y: number; z: number; /** * Sets the vector to the given components * * @param x The x-component * @param y The y-component * @param z The z-component * @return this vector for chaining */ set(x: number, y: number, z: number): Vector3; copy(vector: Vector3): Vector3; clone(): Vector3; add(vector: Vector3): Vector3; sub(a: Vector3): Vector3; scale(scalar: number): Vector3; scaleAndAdd(vec: Vector3, scalar: number): Vector3; len(): number; sqrLen(): number; dst(vector: Vector3): number; dst2(point: Vector3): number; nor(): Vector3; dot(vector: Vector3): number; isZero(): boolean; limit(limit: number): Vector3; limit2(limit2: number): Vector3; epsilonEquals(other: Vector3, epsilon: number): boolean; setZero(): Vector3; } export default Vector3;