/*!----------------------------------------------------------- * Copyright (c) IJS Technologies. All rights reserved. * Released under dual AGPLv3/commercial license * https://ijs.network *-----------------------------------------------------------*/ import { Wallet } from "./wallet"; import { IMerkleTreeAbiItem } from "./nodeTypes"; export interface IMerkleTreeOptions { leavesData: Record[]; abi: IMerkleTreeAbiItem[]; abiKeyName?: string; getCustomKey?: (leafData: Record) => string; } export interface IGetMerkleProofOptions { leafData?: Record; key?: string; } export interface IGetMerkleLeafDataOptions { key?: string; hash?: string; } export declare class MerkleTree { private tree; leavesData: Record; private leavesKeyHashMap; private leavesHashDataMap; private abi; private nodeInfoMap; constructor(wallet: Wallet, options: IMerkleTreeOptions); toString(): string; getHexRoot(): string; getHexProofsByKey(key: string): string[][]; getHexProof(leaf: string): any[]; getABI(): IMerkleTreeAbiItem[]; getLeavesByKey(key: string): string[]; getLeavesDataByKey(key: string): Record[]; getLeafData(leaf: string): Record; }