/*! Copyright 2025 the gnablib contributors MPL-1.1 */
import { U64 } from '../primitive/number/U64.js';
interface ItoBytesLEer {
    toBytesLE(): Uint8Array;
}
export declare abstract class APrng64<T extends ItoBytesLEer> {
    protected readonly _state: T;
    readonly saveable: boolean;
    abstract get bitGen(): number;
    abstract get safeBits(): number;
    abstract rawNext(): U64;
    protected constructor(_state: T, saveable: boolean);
    save(): Uint8Array;
    private _nextU;
    nextBool(): boolean;
    nextByte(): number;
    nextU16(): number;
    nextI16(): number;
    nextU31(): number;
    nextU32(): number;
    nextU64(): U64;
    seqU64(n?: number): Generator<U64, void, unknown>;
    nextI32(): number;
    nextF32(): number;
    nextF64(): number;
    fillBytes(target: Uint8Array): Uint8Array;
}
export {};
