export { default as MerkleTree } from './FixedMerkleTree'; export { PartialMerkleTree } from './PartialMerkleTree'; export { simpleHash } from './simpleHash'; export declare type HashFunction = { (left: T, right: T): string; }; export declare type MerkleTreeOptions = { hashFunction?: HashFunction; zeroElement?: Element; }; export declare type Element = string | number; export declare type SerializedTreeState = { levels: number; _zeros: Array; _layers: Array; }; export declare type SerializedPartialTreeState = { levels: number; leaves: Element[]; _edgeElementsCount: number; _zeros: Array; _edgeLeafProof: ProofPath; _edgeLeaf: LeafWithIndex; }; export declare type ProofPath = { pathElements: Element[]; pathIndices: number[]; pathPositions: number[]; pathRoot: Element; }; export declare type TreeEdge = { edgeElement: Element; edgePath: ProofPath; edgeIndex: number; edgeElementsCount: number; }; export declare type TreeSlice = { edge: TreeEdge; elements: Element[]; }; export declare type LeafWithIndex = { index: number; data: Element; };