import { SchemeNetworkClient, PaymentRequirements, PaymentPayload } from '@aeon-ai-pay/core/types'; import { C as ClientEvmSigner } from './signer-BlO7K3AE.js'; export { F as FacilitatorEvmSigner, t as toClientEvmSigner, a as toFacilitatorEvmSigner } from './signer-BlO7K3AE.js'; /** * Minimal shape required to probe contract support via `readContract`. * Compatible with viem `PublicClient`, `WalletClient.extend(publicActions)`, etc. */ type ReadContractClient = { readContract(args: { address: `0x${string}`; abi: readonly unknown[]; functionName: string; args?: readonly unknown[]; }): Promise; }; /** * EVM client implementation for the Exact payment scheme. * */ declare class ExactEvmScheme implements SchemeNetworkClient { private readonly signer; /** * Optional viem client used for on-chain capability checks (e.g. readContract). * If not provided, the client will assume ERC-3009 support and proceed with EIP-712 signing. */ private readonly readClient?; readonly scheme = "exact"; /** * Creates a new ExactEvmClient instance. * * @param signer - The EVM signer for client operations */ constructor(signer: ClientEvmSigner, /** * Optional viem client used for on-chain capability checks (e.g. readContract). * If not provided, the client will assume ERC-3009 support and proceed with EIP-712 signing. */ readClient?: ReadContractClient | undefined); /** * Creates a payment payload for the Exact scheme. * * @param x402Version - The x402 protocol version * @param paymentRequirements - The payment requirements * @returns Promise resolving to a payment payload */ createPaymentPayload(x402Version: number, paymentRequirements: PaymentRequirements): Promise>; /** * Sign the EIP-3009 authorization using EIP-712 * * @param authorization - The authorization to sign * @param requirements - The payment requirements * @returns Promise resolving to the signature */ private signAuthorization; /** * Sign the EIP-3009 authorization using EIP-712 * * @param authorization - The authorization to sign * @param requirements - The payment requirements * @returns Promise resolving to the signature */ private signAuthorizationNoSuperEip3009; } export { ClientEvmSigner, ExactEvmScheme };