/// <reference types="node" />
/**
 *
 * @param {CryptoSystem} cryptoSystem
 */
export function MerkleHashCalculator(cryptoSystem: CryptoSystem): void;
export class MerkleHashCalculator {
    /**
     *
     * @param {CryptoSystem} cryptoSystem
     */
    constructor(cryptoSystem: CryptoSystem);
    cryptoSystem: CryptoSystem;
    /**
     * @param {number} prefix
     * @param {Buffer} hashLeft
     * @param {Buffer} hashRight
     */
    calculateNodeHash(prefix: number, hashLeft: Buffer, hashRight: Buffer): any;
    /**
     * @param {*} value
     */
    calculateLeafHash(value: any): any;
    /**
     * @param {number} prefix
     * @param {Buffer} hashLeft
     * @param {Buffer} hashRight
     */
    calculateNodeHashInternal(prefix: number, hashLeft: Buffer, hashRight: Buffer, hashFunc: any): any;
    calculateHashOfValueInternal(valuetoHash: any, serializeFun: any, hashFunc: any): any;
    isContainerProofValueLeaf(value: any): boolean;
}
export function CryptoSystem(): void;
export class CryptoSystem {
    digest(buffer: any): Buffer;
}
import { Buffer } from "buffer";
