export declare const OPACUS_ESCROW_CONTRACT = "0xA104758F06549c2691A94c9AF0B0473463F502C2"; type FetchLike = (path: string, options?: RequestInit) => Promise; export interface EscrowRecord { escrowId: string; amount: number; counterparty: string; payer?: string; status: 'locked' | 'released' | 'refunded' | 'disputed' | string; proof?: string; createdAt?: number; updatedAt?: number; [key: string]: unknown; } export interface EscrowLockOptions { amount: number; counterparty: string; payer?: string; proof?: string; minAmount?: number; deliveryCondition?: unknown; agentReputation?: number; } export interface EscrowLockResult { ok: boolean; escrow: EscrowRecord; zkProof?: unknown; v2?: unknown; } export interface EscrowReleaseResult { ok: boolean; escrow: EscrowRecord; v2?: unknown; } export declare class OpacusEscrowClient { private readonly fetcher; constructor(fetcher: FetchLike); lock(options: EscrowLockOptions): Promise; release(escrowId: string, action?: 'release' | 'refund', options?: { submittedOutputHash?: string; outputHash?: string; agentReputation?: number; }): Promise; submitProof(escrowId: string, options: { submittedOutputHash?: string; outputHash?: string; trackingNumber?: string; delivered?: boolean; }): Promise<{ ok: boolean; escrow: EscrowRecord; v2?: unknown; }>; dispute(escrowId: string, reason?: string): Promise<{ ok: boolean; escrow: EscrowRecord; reason?: string; }>; } export {}; //# sourceMappingURL=api-client.d.ts.map