declare global { interface Window { CAP_CUSTOM_WASM_URL?: string; } } import type { AutomationClient } from "@mochabug/adapt-core"; import type { ChallengeInfo, RedeemChallengeOptions, RedeemedChallenge } from "./types.js"; /** * Create a challenge for an automation that requires proof-of-work. * * @param client - The automation client * @param id - The automation ID * @returns Challenge information including the token to solve */ export declare function createChallenge(client: AutomationClient, id: string): Promise; /** * Redeem solved challenge solutions for a token that can be used to start a session. * * @param client - The automation client * @param id - The automation ID * @param verificationToken - The encrypted verification token from createChallenge * @param solutions - Array of nonce solutions found by Cap.js solver * @returns Redeemed challenge with token to use for session start */ export declare function redeemChallenge(client: AutomationClient, id: string, verificationToken: string, solutions: bigint[], options?: RedeemChallengeOptions): Promise; /** * Read and clear the expiration captured from the most recent successful redeem. * * Cap.js solve events expose the redeemed token but not its expiry timestamp, so * the wrapper needs to carry that value across from the redeem response. */ export declare function takeRedeemedChallengeExpiration(automationId: string): Date | null; /** * Set up the Cap.js adapter with the client and automation ID. * Must be called before the Cap.js widget is activated. * * @param client - The automation client to use for API calls * @param automationId - The automation ID to use for challenge endpoints */ export declare function setupCapAdapter(client: AutomationClient, automationId: string): void; /** * Clean up the Cap.js adapter state. * The CAP_CUSTOM_FETCH handler remains in place but will error if called * without being set up again via setupCapAdapter(). */ export declare function cleanupCapAdapter(automationId?: string): void;