/** * Implementation of GOST R 34.11-2012 ([RFC 6986](https://datatracker.ietf.org/doc/html/rfc6986.html)) "Streebog" hash function * @module */ import { type Hash, type TArg, type TRet } from "@noble/hashes/utils.js"; /** Streebog (GOST R 34.11-2012) hash function */ declare abstract class Streebog> implements Hash> { private is512; readonly blockLen = 64; readonly outputLen: number; readonly canXOF = false; protected buffer: Uint8Array; abstract _cloneInto(to?: T): T; abstract clone(): T; /** Streebog (GOST R 34.11-2012) hash function */ constructor(is512: boolean); destroy(): void; update(data: TArg): this; digest(): TRet; digestInto(buf: TArg): void; } /** Streebog-256 hash function*/ export declare class Streebog256 extends Streebog { /** Streebog-256 (GOST R 34.11-2012) hash function */ constructor(); /** Create hash instance */ static create(): Streebog256; clone(): Streebog256; _cloneInto(to?: Streebog256): Streebog256; } /** Streebog-512 hash function*/ export declare class Streebog512 extends Streebog { /** Streebog-512 (GOST R 34.11-2012) hash function */ constructor(); /** Create hash instance */ static create(): Streebog512; clone(): Streebog512; _cloneInto(to?: Streebog512): Streebog512; } /** Streebog-256 hash function*/ export declare const streebog256: { outputLen: number; blockLen: number; canXOF: boolean; } & import("@noble/hashes/utils.js").HashInfo & { (msg: TArg): TRet; create(): Streebog256; } & ((msg: TArg>>) => Uint8Array & Uint8Array) & { outputLen: number; blockLen: number; canXOF: boolean; oid?: TRet | undefined; create: () => Streebog256; }; /** Streebog-512 hash function*/ export declare const streebog512: { outputLen: number; blockLen: number; canXOF: boolean; } & import("@noble/hashes/utils.js").HashInfo & { (msg: TArg): TRet; create(): Streebog512; } & ((msg: TArg>>) => Uint8Array & Uint8Array) & { outputLen: number; blockLen: number; canXOF: boolean; oid?: TRet | undefined; create: () => Streebog512; }; export {};