/** * Package blake2b implements BLAKE2b cryptographic hash function. */ import { SerializableHash } from "../../../../@stablelib/hash-1.0.1/packages/hash/hash"; export declare const BLOCK_SIZE = 128; export declare const DIGEST_LENGTH = 64; export declare const KEY_LENGTH = 64; export declare const PERSONALIZATION_LENGTH = 16; export declare const SALT_LENGTH = 16; export declare const MAX_LEAF_SIZE: number; export declare const MAX_FANOUT = 255; export declare const MAX_MAX_DEPTH = 255; /** * Configuration for hash function. */ export declare type Config = { key?: Uint8Array; salt?: Uint8Array; personalization?: Uint8Array; tree?: Tree; }; /** * Tree hashing parameters. */ export declare type Tree = { fanout: number; maxDepth: number; leafSize: number; nodeOffsetHighBits: number; nodeOffsetLowBits: number; nodeDepth: number; innerDigestLength: number; lastNode: boolean; }; /** * BLAKE2b hash function. */ export declare class BLAKE2b implements SerializableHash { digestLength: number; readonly blockSize = 128; private _state; private _buffer; private _bufferLength; private _ctr; private _flag; private _lastNode; private _finished; private _vtmp; private _mtmp; private _paddedKey; private _initialState; constructor(digestLength?: number, config?: Config); reset(): this; validateConfig(config: Config): void; update(data: Uint8Array, dataLength?: number): this; finish(out: Uint8Array): this; digest(): Uint8Array; clean(): void; saveState(): SavedState; restoreState(savedState: SavedState): this; cleanSavedState(savedState: SavedState): void; private _G; private _incrementCounter; private _processBlock; } export declare type SavedState = { state: Uint32Array; buffer: Uint8Array; bufferLength: number; ctr: Uint32Array; flag: Uint32Array; lastNode: boolean; paddedKey: Uint8Array | undefined; initialState: Uint32Array; }; export declare function hash(data: Uint8Array, digestLength?: number, config?: Config): Uint8Array;