import type { Idl, Program } from "@coral-xyz/anchor"; import type { PublicKey } from "@solana/web3.js"; import { MerkleTree } from "../merkle.js"; import type { CommitmentEvent } from "./types.js"; /** Rebuild a local Veilo tree from emitted, computed, and protected history. */ export declare function buildTreeFromEvents(params: { program: Program; mintAddress: PublicKey; treeId?: number; depth?: number; /** Eventless commitments recovered with the helpers in `events/recovery`. */ additionalEvents?: readonly CommitmentEvent[]; /** Includes the relayer's two protected historical repairs. Defaults to true. */ includeProtectedEvents?: boolean; /** Reject missing or duplicate leaf indices instead of building a wrong root. */ strictLeafIndices?: boolean; }): Promise<{ tree: MerkleTree; events: CommitmentEvent[]; latestSignature?: string; }>; export declare function dedupeCommitmentEvents(events: readonly CommitmentEvent[]): CommitmentEvent[]; /** Build a Merkle tree from already-collected events in authoritative order. */ export declare function reconstructTreeFromCommitmentEvents(events: readonly CommitmentEvent[], options?: { depth?: number; strictLeafIndices?: boolean; }): MerkleTree;