import { I as IASPProvider, c as MerkleProof } from '../types-EgAvBFvJ.cjs'; /** * Tree Manager * * Server-side tree management for ASP operators. * Wraps a provider with batch operations and tree statistics. */ declare class TreeManager { private readonly provider; constructor(provider: IASPProvider); /** * Add a single member */ addMember(identity: bigint): Promise; /** * Add multiple members in batch */ addMembers(identities: bigint[]): Promise; /** * Remove a single member */ removeMember(identity: bigint): Promise; /** * Get all current members */ getMembers(): Promise; /** * Get tree statistics */ getStats(): Promise<{ memberCount: number; treeDepth: number; maxMembers: number; root: bigint; }>; /** * Get the current root */ getRoot(): Promise; /** * Get a proof for a specific identity */ getProof(identity: bigint): Promise; /** * Check if an identity is a member */ hasMember(identity: bigint): Promise; } /** * Operator-side types */ interface TreeManagerConfig { /** Merkle tree depth (default: 20) */ treeDepth?: number; } interface RootPublisherConfig { /** ASP Registry Hub contract address */ registryAddress: `0x${string}`; /** ASP ID */ aspId: bigint; } /** * Root Publisher * * Publishes Merkle roots on-chain via the ASP Registry Hub. * Used by ASP operators to keep the on-chain root up to date. */ declare class RootPublisher { private readonly registryAddress; private readonly aspId; constructor(config: RootPublisherConfig); /** * Publish a new root on-chain */ publishRoot(root: bigint, walletClient: any): Promise<`0x${string}`>; /** * Get the current on-chain root */ getCurrentRoot(publicClient: any): Promise; /** * Check if a root is valid on-chain */ isValidRoot(root: bigint, publicClient: any): Promise; } export { RootPublisher, type RootPublisherConfig, TreeManager, type TreeManagerConfig };