/** Keccak-224 hash */ export declare class Keccak224 extends Sponge { constructor(); } /** Keccak-256 hash */ export declare class Keccak256 extends Sponge { constructor(); } /** Keccak-384 hash */ export declare class Keccak384 extends Sponge { constructor(); } /** Keccak-512 hash */ export declare class Keccak512 extends Sponge { constructor(); } declare type Message = string | ArrayBuffer; /** Sha3-224 hash */ export declare class Sha3_224 extends Sponge { constructor(); } /** Sha3-256 hash */ export declare class Sha3_256 extends Sponge { constructor(); } /** Sha3-384 hash */ export declare class Sha3_384 extends Sponge { constructor(); } /** Sha3-512 hash */ export declare class Sha3_512 extends Sponge { constructor(); } /** Shake128 hash */ export declare class Shake128 extends Sponge { /** * Instantiates a new Shake128 hash * @param bitsize length of hash in bits */ constructor(bitsize: number); } /** * Instantiates a new Shake256 hash * @param bitsize length of hash in bits */ export declare class Shake256 extends Sponge { constructor(bitsize: number); } /** Sponge construction */ declare class Sponge { #private; constructor(option: SpongeOption); /** Applies padding to internal state */ private pad; /** Squeezes internal state */ protected squeeze(length: number): Uint8Array; /** Updates internal state by absorbing */ update(data: Message): this; /** Returns the hash in ArrayBuffer */ digest(): ArrayBuffer; /** Returns the hash in given format */ toString(format?: "hex"): string; } /** Sponge construction option */ declare interface SpongeOption { bitsize: number; rate: number; dsbyte: number; permutator: SpongePermutator; } declare type SpongePermutator = (data: Uint8Array) => void; export { }