import type { Distribution } from '../types/configs.ts'; /** * Seeded pseudo-random number generator using xoshiro128** algorithm. * Provides deterministic random number generation from a single integer seed. * The seed is expanded into 4 state words using splitmix32. */ export declare class SeededRNG { private s0; private s1; private s2; private s3; constructor(seed?: number); /** * Initialize internal state from a single integer seed using splitmix32 * to expand into the 4 state words required by xoshiro128**. */ seed(n: number): void; /** * splitmix32: a simple 32-bit state hash used to expand a seed. */ private splitmix32; /** * Generate the next random number in [0, 1) using xoshiro128**. */ random(): number; /** * xoshiro128** core: produces a 32-bit unsigned integer. */ private xoshiro128ss; /** * Sample from a uniform distribution in [min, max). */ uniform(min: number, max: number): number; /** * Sample from an exponential distribution with the given mean. * Uses inverse transform sampling: -mean * ln(1 - U). */ exponential(mean: number): number; /** * Sample from a log-normal distribution with parameters mu and sigma. * Uses Box-Muller transform to generate a normal sample, then exponentiates. */ logNormal(mu: number, sigma: number): number; /** * Box-Muller transform: generate a standard normal sample from two uniform samples. */ private boxMullerNormal; /** * Convenience method: sample from a Distribution config object. */ sampleDistribution(dist: Distribution): number; } //# sourceMappingURL=prng.d.ts.map