/*! Copyright 2024-2025 the gnablib contributors MPL-1.1 */
import { U64, U64MutArray } from '../primitive/number/U64.js';
import { APrng64 } from './APrng64.js';
declare abstract class AXoshiro256 extends APrng64<U64MutArray> {
    readonly bitGen = 64;
    protected abstract _gen(): U64;
    rawNext(): U64;
}
export declare class Xoshiro256p extends AXoshiro256 {
    readonly safeBits = 53;
    protected _gen(): U64;
    get [Symbol.toStringTag](): string;
    static new(saveable?: boolean): Xoshiro256p;
    static seed(seed0: U64, seed1: U64, seed2: U64, seed3: U64, saveable?: boolean): Xoshiro256p;
    static restore(state: Uint8Array, saveable?: boolean): Xoshiro256p;
}
export declare class Xoshiro256pp extends AXoshiro256 {
    readonly safeBits = 64;
    protected _gen(): U64;
    get [Symbol.toStringTag](): string;
    static new(saveable?: boolean): Xoshiro256pp;
    static seed(seed0: U64, seed1: U64, seed2: U64, seed3: U64, saveable?: boolean): Xoshiro256pp;
    static restore(state: Uint8Array, saveable?: boolean): Xoshiro256pp;
}
export declare class Xoshiro256ss extends AXoshiro256 {
    readonly safeBits = 64;
    protected _gen(): U64;
    get [Symbol.toStringTag](): string;
    static new(saveable?: boolean): Xoshiro256ss;
    static seed(seed0: U64, seed1: U64, seed2: U64, seed3: U64, saveable?: boolean): Xoshiro256ss;
    static restore(state: Uint8Array, saveable?: boolean): Xoshiro256ss;
}
export {};
