type FetchLike = (path: string, options?: RequestInit) => Promise; export type ZKProofKind = 'reputation-threshold' | 'escrow-threshold' | 'model-attestation'; export interface ZKProveOptions { kind: ZKProofKind; payload: Record; } export interface ZKProveResult { kind: ZKProofKind; backend: 'groth16-fallback'; createdAt: number; publicSignals: Record; proof: { commitment: string; nonce: string; }; } export interface ZKVerifyOptions { proof: ZKProveResult; } export interface ZKVerifyResult { ok: boolean; reason?: string; } export declare class OpacusZKClient { private readonly _fetcher?; constructor(_fetcher?: FetchLike | undefined); prove(options: ZKProveOptions): Promise; verify(input: ZKVerifyOptions | ZKProveResult): Promise; } export {}; //# sourceMappingURL=client.d.ts.map