import { Mat3 } from '../math/Mat3'; export declare class Vec3 { x: number; y: number; z: number; static ZERO: Vec3; static UNIT_X: Vec3; static UNIT_Y: Vec3; static UNIT_Z: Vec3; constructor(x?: number, y?: number, z?: number); cross(vector: Vec3, target?: Vec3): Vec3; set(x: number, y: number, z: number): Vec3; setZero(): void; vadd(vector: Vec3): Vec3; vadd(vector: Vec3, target: Vec3): void; vsub(vector: Vec3): Vec3; vsub(vector: Vec3, target: Vec3): void; crossmat(): Mat3; normalize(): number; unit(target?: Vec3): Vec3; norm(): number; length(): number; norm2(): number; lengthSquared(): number; distanceTo(p: Vec3): number; distanceSquared(p: Vec3): number; mult(scalar: number, target?: Vec3): Vec3; scale(scalar: number, target?: Vec3): Vec3; vmul(vector: Vec3, target?: Vec3): Vec3; addScaledVector(scalar: number, vector: Vec3, target?: Vec3): Vec3; dot(vector: Vec3): number; isZero(): boolean; negate(target?: Vec3): Vec3; tangents(t1: Vec3, t2: Vec3): void; toString(): string; toArray(): [number, number, number]; copy(vector: Vec3): Vec3; lerp(vector: Vec3, t: number, target: Vec3): void; almostEquals(vector: Vec3, precision?: number): boolean; almostZero(precision?: number): boolean; isAntiparallelTo(vector: Vec3, precision?: number): boolean; clone(): Vec3; }