import { Node, PathDirection, type MergeFunction } from './merkle-elements.js'; export interface IMerkleTree { readonly root: Node; readonly leafNodes: Array>; readonly metadata: TMetadata | null; getProof(elemIndex: number): Array>; getDirectPathFromRoot(elemIndex: number): PathDirection[]; verifyProof(proof: Node[], element: TData): Promise; } export declare class MerkleTree implements IMerkleTree { private readonly mergeFn; readonly root: Node; readonly leafNodes: Array>; readonly metadata: TMetadata | null; constructor(mergeFn: MergeFunction, root: Node, leafNodes: Array>, metadata: TMetadata | null); getProof(elemIndex: number): Array>; getDirectPathFromRoot(elemIndex: number): PathDirection[]; verifyProof(proof: Node[], element: TData): Promise; } export declare function pathByIndex(index: number, leavesCount: number): PathDirection[]; //# sourceMappingURL=merkle-tree.d.ts.map