import type { Vector3 } from './types.js'; /** Full circle in radians, shared by periodic geometry builders. */ export declare const TAU: number; /** * Restricts a number to an inclusive range. * * @param value Candidate number. * @param min Inclusive lower bound. * @param max Inclusive upper bound. * @returns `value` restricted to the supplied range. */ export declare const clamp: (value: number, min: number, max: number) => number; /** * Interpolates linearly between two values. * * @param start Value at `amount = 0`. * @param end Value at `amount = 1`. * @param amount Interpolation amount; values outside `0`–`1` extrapolate. * @returns Linear interpolation between the two values. */ export declare const lerp: (start: number, end: number, amount: number) => number; /** * Applies a cubic smooth-step easing curve to a normalized value. * * @param value Progress normally in the `0`–`1` range. * @returns Cubic ease-in-out progress with zero velocity at both ends. */ export declare const smoothstep: (value: number) => number; /** * Produces a deterministic pseudo-random value without retaining state. * * @param seed Any finite number used to identify a particle or line. * @returns A stable number in the half-open range `[0, 1)`. */ export declare function hash(seed: number): number; /** * Places one point on an approximately uniform unit sphere using a Fibonacci distribution. * * @param index Zero-based point index. * @param count Total number of points in the distribution. * @returns A unit-length `[x, y, z]` vector. */ export declare function fibonacciPoint(index: number, count: number): Vector3; /** * Normalizes a 3D vector safely. * * @param vector Three-dimensional vector to normalize. * @returns A unit vector, or `[0, 0, 0]` when the input has zero length. */ export declare function normalize([x, y, z]: Vector3): Vector3; //# sourceMappingURL=math.d.ts.map