import { I as IASPProvider, c as MerkleProof } from '../types-EgAvBFvJ.js'; export { L as LocalStorageProvider, a as LocalStorageProviderConfig, l as loadPersonalASPId, s as storePersonalASPId } from '../localStorage-CptisNFJ.js'; /** * Memory Provider * * In-memory ASP member storage. Data is lost when the process exits. * Use for tests, scripts, and prototyping. */ interface MemoryProviderConfig { /** Merkle tree depth (default: 20) */ treeDepth?: number; } declare class MemoryProvider implements IASPProvider { readonly name = "Memory"; readonly treeDepth: number; private members; constructor(config?: MemoryProviderConfig); addMember(identity: bigint): Promise; removeMember(identity: bigint): Promise; getMembers(): Promise; hasMember(identity: bigint): Promise; getRoot(): Promise; getMerkleProof(identity: bigint): Promise; private buildTree; } /** * REST Provider * * Delegates ASP member storage to a backend REST API. * Use for production ASP services. * * Expected API endpoints: * GET /members → { members: string[] } * POST /members → { identity: string } → 201 * DELETE /members/:identity → 204 * GET /root → { root: string } * GET /proof/:identity → MerkleProof */ interface RESTProviderConfig { /** Base URL of the ASP backend API */ baseUrl: string; /** Optional API key for authentication */ apiKey?: string; /** Merkle tree depth (default: 20) */ treeDepth?: number; /** Custom fetch implementation (default: global fetch) */ fetch?: typeof fetch; } declare class RESTProvider implements IASPProvider { readonly name = "REST API"; readonly treeDepth: number; private readonly baseUrl; private readonly headers; private readonly fetchFn; constructor(config: RESTProviderConfig); addMember(identity: bigint): Promise; removeMember(identity: bigint): Promise; getMembers(): Promise; hasMember(identity: bigint): Promise; getRoot(): Promise; getMerkleProof(identity: bigint): Promise; } export { IASPProvider, MemoryProvider, type MemoryProviderConfig, RESTProvider, type RESTProviderConfig };