import mat3 from './mat3'; import quat from './quat'; export default class vec3 { get x(): number; get y(): number; get z(): number; get xy(): [number, number]; get xyz(): [number, number, number]; set x(value: number); set y(value: number); set z(value: number); set xy(values: [number, number]); set xyz(values: [number, number, number]); constructor(values?: [number, number, number]); private values; static readonly zero: vec3; static readonly one: vec3; static readonly up: vec3; static readonly right: vec3; static readonly forward: vec3; at(index: number): number; reset(): void; copy(dest?: vec3): vec3; negate(dest?: vec3): vec3; equals(vector: vec3, threshold?: number): boolean; length(): number; squaredLength(): number; add(vector: vec3): vec3; subtract(vector: vec3): vec3; multiply(vector: vec3): vec3; divide(vector: vec3): vec3; scale(value: number, dest?: vec3): vec3; normalize(dest?: vec3): vec3; multiplyByMat3(matrix: mat3, dest?: vec3): vec3; multiplyByQuat(quaternion: quat, dest?: vec3): vec3; toQuat(dest?: quat): quat; static cross(vector: vec3, vector2: vec3, dest?: vec3): vec3; static dot(vector: vec3, vector2: vec3): number; static distance(vector: vec3, vector2: vec3): number; static squaredDistance(vector: vec3, vector2: vec3): number; static direction(vector: vec3, vector2: vec3, dest?: vec3): vec3; static mix(vector: vec3, vector2: vec3, time: number, dest?: vec3): vec3; static sum(vector: vec3, vector2: vec3, dest?: vec3): vec3; static difference(vector: vec3, vector2: vec3, dest?: vec3): vec3; static product(vector: vec3, vector2: vec3, dest?: vec3): vec3; static quotient(vector: vec3, vector2: vec3, dest?: vec3): vec3; }