export declare const MAX_NUMBER_TREE_LEAVES = 256; type Hash = string; /** * Proof represents a proof data structure with hashes and source flags. */ export declare class Proof { hashes: Hash[]; sourceFlags: boolean[]; /** * Creates a new Proof instance. * @param hashes - Proof hashes. * @param sourceFlags - Source flags indicating leaf vs internal nodes. */ constructor(hashes?: Hash[], sourceFlags?: boolean[]); /** * Counts the number of source flags that match the given boolean value. * @param b - The boolean value to count. * @returns The count of source flags matching the provided boolean value. */ countSourceFlags(b: boolean): number; } /** * Represents a Merkle Tree data structure. */ export declare class Tree { layers: Hash[][]; /** * Creates a new Merkle Tree using the provided context and leaf hashes. * @param leafHashes - An array of leaf hashes to construct the tree. * @returns A new Merkle Tree instance. * @throws Error if there are no leaf hashes provided. */ constructor(leafHashes: Hash[]); /** * Returns the root hash of the Merkle Tree. * @returns The root hash. */ root(): Hash; /** * Generates a Merkle proof for a set of indices in the tree. * @param indices - The indices for which to generate the proof. * @returns A proof object containing hashes and source flags. */ prove(indices: number[]): Proof; } /** * Converts an array of boolean proof flags to a BigNumber where each flag represents a bit. * @param proofFlags - An array of boolean proof flags. * @returns A BigNumber representing the encoded flags. */ export declare function proofFlagsToBits(proofFlags: boolean[]): bigint; /** * Verifies and computes the Merkle root hash based on provided leaf hashes and a Merkle proof. * @param leafHashes - An array of leaf hashes. * @param proof - The Merkle proof containing hashes and source flags. * @returns The computed Merkle root hash. */ export declare function verifyComputeRoot(leafHashes: Hash[], proof: Proof): Hash; export {}; //# sourceMappingURL=merklemulti.d.ts.map