/// import { SmartContractLib, ByteString } from 'scrypt-ts'; export interface MerkleTreiLeaf { key(): bigint; serialize(): Buffer; } export declare class MerkleTreiNode { nodeMap: Map; constructor(); addSubNode(key: number, value: Buffer): void; getHash(emptyHash: Buffer): Buffer; getNeighbors(subIndex: number, emptyHash: Buffer): Buffer; } export declare function hashFunc(buf: Buffer): Buffer; export declare class MerkleTreiTree extends SmartContractLib { static readonly NEIGHBOR_LEN = 5100; static readonly HEIGHT = 32; static addTxid(txid: ByteString, oldMerkleRoot: ByteString, merklePath: ByteString): ByteString; } export declare class MerkleTreiTreeHelper { leafNodes: Map; emptyHashs: Buffer[]; hashNodeSets: Map[]; leafSize: number; constructor(leafNodeArray: MerkleTreiLeaf[], leafSize: number); get merkleRoot(): any; get size(): number; addLeafNode(leafNode: MerkleTreiLeaf): void; getNodeIndex(key: bigint): { index: bigint; subIndex: number; }; buildMerkleTree(): void; updateLeafNode(leafNode: MerkleTreiLeaf): { oldLeafBuf: Buffer; merklePath: Buffer; newLeafBuf: Buffer; }; updateTree(leaf: MerkleTreiLeaf): Buffer; getNode(key: bigint): MerkleTreiLeaf; }