import type { Vec3 } from "./geometry.js"; /** Sum of two 3D vectors. * @internal */ export declare function add(a: Vec3, b: Vec3): Vec3; /** Difference `a - b` of two 3D vectors. * @internal */ export declare function sub(a: Vec3, b: Vec3): Vec3; /** Scale a 3D vector by a scalar. * @internal */ export declare function scale(a: Vec3, s: number): Vec3; /** Negate a 3D vector. * @internal */ export declare function negate(a: Vec3): Vec3; /** Dot product of two 3D vectors. * @internal */ export declare function dot(a: Vec3, b: Vec3): number; /** Cross product `a × b` of two 3D vectors. * @internal */ export declare function cross(a: Vec3, b: Vec3): Vec3; /** Euclidean length of a 3D vector. * @internal */ export declare function length(a: Vec3): number; /** Squared length of a 3D vector; cheaper than `length` when only comparing magnitudes. * @internal */ export declare function lengthSquared(a: Vec3): number; /** Unit vector in the direction of `a`; returns the zero vector when `a` has no length. * @internal */ export declare function normalize(a: Vec3): Vec3; /** Distance between two points. * @internal */ export declare function distance(a: Vec3, b: Vec3): number; /** Squared distance between two points; cheaper than `distance` for radius comparisons on hot paths. * @internal */ export declare function distanceSquared(a: Vec3, b: Vec3): number; /** Linearly interpolate between points `a` and `b` by fraction `t`. * @internal */ export declare function lerp(a: Vec3, b: Vec3, t: number): Vec3;