/** * ## LiveRandom * * Will loop through all of the numbers in range before repeating. * Does not use any table nor any messy bash, just math. B) * * It first finds a co-prime integer to n between 1 and (n - 1) and constantly increments a running sum. * * - This is guaranteed to touch all of the integers. * * ### Complexity * * - **Storage:** `O(1)` * - **Construction:** `O(log(n))` * - **Get:** `O(1)` * * ### Example * * ```ts * const randomLib = new LiveRandom(1, 10); * print(randomLib.get()) * ``` */ export declare class LiveRandom { constructor(min: number, max?: number, seed?: number); static instanceof(this: void, object: unknown): object is LiveRandom; /** * Peeks at the next value. This does not cause * it to roll a new value. */ peek(): number; /** * Rigs the random number generator, which forces * the next value to be the given value. * * @param value The value to rig with. * @returns */ rig(value: number): this; /** * Gets a random value. * @returns */ get(): number; private last; private readonly offset; private readonly prime; private readonly range; private readonly rigged; }