/*! Copyright 2024-2025 the gnablib contributors MPL-1.1 */
import { APrng32 } from './APrng32.js';
declare abstract class AXoshiro128 extends APrng32<Uint32Array> {
    readonly bitGen = 32;
    protected abstract _gen(): number;
    protected trueSave(): Uint8Array<ArrayBuffer>;
    rawNext(): number;
}
export declare class Xoshiro128p extends AXoshiro128 {
    readonly safeBits = 24;
    protected _gen(): number;
    get [Symbol.toStringTag](): string;
    static new(saveable?: boolean): Xoshiro128p;
    static seed(seed0: number, seed1: number, seed2: number, seed3: number, saveable?: boolean): Xoshiro128p;
    static restore(state: Uint8Array, saveable?: boolean): Xoshiro128p;
}
export declare class Xoshiro128pp extends AXoshiro128 {
    readonly safeBits = 32;
    protected _gen(): number;
    get [Symbol.toStringTag](): string;
    static new(saveable?: boolean): Xoshiro128pp;
    static seed(seed0: number, seed1: number, seed2: number, seed3: number, saveable?: boolean): Xoshiro128pp;
    static restore(state: Uint8Array, saveable?: boolean): Xoshiro128pp;
}
export declare class Xoshiro128ss extends AXoshiro128 {
    readonly safeBits = 32;
    protected _gen(): number;
    get [Symbol.toStringTag](): string;
    static new(saveable?: boolean): Xoshiro128ss;
    static seed(seed0: number, seed1: number, seed2: number, seed3: number, saveable?: boolean): Xoshiro128ss;
    static restore(state: Uint8Array, saveable?: boolean): Xoshiro128ss;
}
export {};
