import type { CompareFunction, MergeFunction, MetadataFunction } from './merkle-elements.js'; import { MerkleTree, type IMerkleTree } from './merkle-tree.js'; export declare class EmptyLeavesError extends Error { constructor(); } export declare class MerkleDepthError extends Error { constructor(depthLimit: number, leavesLimit: number); } export interface IMerkleTreeFactory> { build(leaves: Array | null | undefined): Promise; } export declare class MerkleTreeFactory implements IMerkleTreeFactory> { private readonly mergeFn; private readonly compareFn?; private readonly metadataFn?; private readonly depthLimit?; constructor(mergeFn: MergeFunction, compareFn?: CompareFunction | undefined, metadataFn?: MetadataFunction | undefined, depthLimit?: number | undefined); build(leaves: Array | null | undefined): Promise>; private buildLevel; } //# sourceMappingURL=merkle-tree-factory.d.ts.map