export interface InitOptions { extensionID?: string; providerVersion?: string; callbackUrl?: string; } export interface Proofs { [key: string]: unknown; } export type RequestEvents = "started" | "completed" | "error" | "progress"; export class ReclaimExtensionProofRequest { applicationId: string; providerId: string; sessionId: string; signature: string; timestamp: string; getStatusUrl(): string; static fromJsonString( json: string | Record, options?: InitOptions, ): ReclaimExtensionProofRequest; static fromConfig( config: Record, options?: InitOptions, ): ReclaimExtensionProofRequest; setAppCallbackUrl(url: string, jsonProofResponse?: boolean): void; setRedirectUrl(url: string): void; setContext(address: string, message: string): void; setJsonContext(address: string, jsonObj: Record): void; /** @deprecated Use setContext() instead */ addContext(address: string | number, message: string): void; setParams(params: Record): void; on(event: RequestEvents, cb: (payload?: unknown) => void): () => void; off(event: RequestEvents, cb: (payload?: unknown) => void): void; startVerification(): Promise; cancel(timeoutMs?: number): Promise; } export class ReclaimExtensionSDK { initializeBackground(): unknown; isExtensionInstalled(opts?: { extensionID?: string; timeout?: number }): Promise; getVersion(): string; init( applicationId: string, appSecret: string, providerId: string, options?: InitOptions, ): Promise; // Convenience wrapper that forwards to ReclaimExtensionProofRequest.fromJsonString fromJsonString( json: string | Record, options?: InitOptions, ): ReclaimExtensionProofRequest; } export const reclaimExtensionSDK: ReclaimExtensionSDK; export default ReclaimExtensionSDK;