/** * Lazy SDK loader — avoids pulling heavy snarkjs/crypto deps at module load. * * The @bolyra/sdk dist may not include all modules (e.g., offchain was added * in v0.3). This loader uses require() with a fallback for missing exports. */ import type { HumanIdentity, AgentCredential, HandshakeResult, Proof, BolyraConfig } from '@bolyra/sdk'; /** Subset of SDK functions used by the payment protocol adapters */ export interface BolyraSDK { proveHandshake(human: HumanIdentity, agent: AgentCredential, options?: { scope?: bigint; nonce?: bigint; config?: BolyraConfig; }): Promise<{ humanProof: Proof; agentProof: Proof; nonce: bigint; }>; verifyHandshake(humanProof: Proof, agentProof: Proof, nonce: bigint, config?: BolyraConfig): Promise; verifyHandshakeOffchain(humanProof: Proof, agentProof: Proof, nonce: bigint, config?: BolyraConfig): Promise; } /** * Lazily load the Bolyra SDK, resolving both core and offchain modules. * Caches the result for subsequent calls. */ export declare function loadSDK(): BolyraSDK;