import { Hash, Input } from './utils.js'; declare class u64 { hi: number; lo: number; constructor(h: number, l: number); plus(oWord: u64): u64; setShiftLeft(bits: number): u64; setxor64(...args: u64[]): u64; addOne(): void; clone(): u64; xor(oWord: u64): u64; } export declare class GroestlContext { state: Array; ptr: number; count: u64; buffer: Array; constructor(); } export declare abstract class GROESTL> extends Hash { outputLen: number; readonly padOffset: number; readonly isLE: boolean; protected buffer: Uint8Array; protected finished: boolean; protected length: number; protected pos: number; protected destroyed: boolean; blockLen: number; protected ctx: GroestlContext; protected constructor(outputLen: number, padOffset: number, isLE: boolean); update(data: Input): this; digestInto(out: Uint8Array): void; digest(): Uint8Array; _cloneInto(to?: T): T; destroy(): void; private static compress; private final; process(data: any, len: number): void; finish(): Array; } export {};