import "../_dnt.polyfills.js"; import * as $ from "../deps/scale.js"; export declare abstract class Hasher { abstract create(): Hashing; abstract digestLength: number; abstract concat: boolean; $hash($inner: $.Codec): $.Codec; hash(data: Uint8Array): Uint8Array; } export declare function $hash(hasher: Hasher, $inner: $.Codec): $.Codec; export declare class Blake2Hasher extends Hasher { concat: boolean; digestLength: number; constructor(size: 64 | 128 | 256 | 512, concat: boolean); create(): Hashing; } export declare class IdentityHasher extends Hasher { digestLength: number; concat: boolean; create(): Hashing; $hash($inner: $.Codec): $.Codec; hash(data: Uint8Array): Uint8Array; } export declare class TwoxHasher extends Hasher { concat: boolean; digestLength: number; rounds: number; constructor(size: 64 | 128 | 256, concat: boolean); create(): Hashing; } export interface Hashing { update(data: Uint8Array): void; digestInto(array: Uint8Array): void; dispose?(): void; } export declare const blake2_64: Blake2Hasher; export declare const blake2_128: Blake2Hasher; export declare const blake2_128Concat: Blake2Hasher; export declare const blake2_256: Blake2Hasher; export declare const blake2_512: Blake2Hasher; export declare const identity: IdentityHasher; export declare const twox128: TwoxHasher; export declare const twox256: TwoxHasher; export declare const twox64Concat: TwoxHasher; export declare class DecodeNonTransparentKeyError extends Error { readonly name = "DecodeNonTransparentKeyError"; }