export interface MersenneTwisterState { readonly index: number; readonly state: readonly number[]; } /** * Minimal MT19937 implementation mirroring the rerelease's std::mt19937 usage in g_local.h. * The generator outputs deterministic unsigned 32-bit integers which drive the * higher-level helpers such as frandom/crandom/irandom. */ export declare class MersenneTwister19937 { private state; private index; constructor(seed?: number); seed(seed: number): void; nextUint32(): number; private twist; getState(): MersenneTwisterState; setState(snapshot: MersenneTwisterState): void; } export interface RandomGeneratorOptions { readonly seed?: number; } export interface RandomGeneratorState { readonly mt: MersenneTwisterState; } /** * Deterministic helper mirroring the random helpers defined in rerelease g_local.h. */ export declare class RandomGenerator { private readonly mt; constructor(options?: RandomGeneratorOptions); seed(seed: number): void; /** Uniform float in [0, 1). */ frandom(): number; /** Uniform float in [min, max). */ frandomRange(minInclusive: number, maxExclusive: number): number; /** Uniform float in [0, max). */ frandomMax(maxExclusive: number): number; /** Uniform float in [-1, 1). */ crandom(): number; /** Uniform float in (-1, 1). */ crandomOpen(): number; /** Raw uint32 sample. */ irandomUint32(): number; /** Uniform integer in [min, max). */ irandomRange(minInclusive: number, maxExclusive: number): number; /** Uniform integer in [0, max). */ irandom(maxExclusive: number): number; /** Uniform time in milliseconds [min, max). */ randomTimeRange(minMs: number, maxMs: number): number; /** Uniform time in milliseconds [0, max). */ randomTime(maxMs: number): number; randomIndex(container: T): number; getState(): RandomGeneratorState; setState(snapshot: RandomGeneratorState): void; } export declare function createRandomGenerator(options?: RandomGeneratorOptions): RandomGenerator; //# sourceMappingURL=random.d.ts.map