/**
 * copied almost directly from Mersenne Twister implementation found in https://gist.github.com/banksean/300494
 * all rights reserved to them.
 */
export declare class WeylRng {
    static N: number;
    static M: number;
    static MATRIX_A: number;
    static UPPER_MASK: number;
    static LOWER_MASK: number;
    mt: any[];
    mti: number;
    private seed?;
    constructor(seed?: number);
    get Seed(): number | undefined;
    private init_genrand;
    /**
     * generates a random number on [0,0xffffffff]-interval
     * @private
     */
    private _nextInt32;
    /**
     * generates an int32 pseudo random number
     * @param range: an optional [from, to] range, if not specified the result will be in range [0,0xffffffff]
     * @return {number}
     */
    nextInt32(range?: [number, number]): number;
    /**
     * generates a random number on [0,0x7fffffff]-interval
     */
    nextInt31(): number;
    /**
     * generates a random number on [0,1]-real-interval
     */
    nextNumber(): number;
    /**
     * generates a random number on [0,1) with 53-bit resolution
     */
    nextNumber53(): number;
    Shuffle(array: any[]): any[];
}
