import type { SeededRng } from '../types.js'; /** Tiny fast seeded PRNG: returns a `() => number` yielding uniform values in [0, 1). Same seed → same stream. */ export declare function mulberry32(seed: number): () => number; /** Stateless 2D coordinate hash to [0, 1) — cheap lattice noise, no seed state. */ export declare function hash2(x: number, y: number): number; /** Stateless 3D coordinate hash to [0, 1). */ export declare function hash3(x: number, y: number, z: number): number; /** Linear interpolation from `a` to `b` by `t`. */ export declare function lerp(a: number, b: number, t: number): number; /** Hermite smoothstep: 0 below `edge0`, 1 above `edge1`, smooth in between. */ export declare function smoothstep(edge0: number, edge1: number, x: number): number; /** * Seeded random stream with the fork-per-consumer determinism API: seed * once, `fork(label)` a deterministic sub-stream per consumer, and build * order or replay never changes the output. * * @param seed - Any integer. * @returns A `SeededRng` with `next`/`range`/`int`/`pick`/`fork`. * @example * const rng = createSeededRng(42) * const grass = rng.fork('grass') // stable regardless of call order */ export declare function createSeededRng(seed: number): SeededRng; //# sourceMappingURL=rng.d.ts.map