import { SchemeNetworkClient, PaymentRequirements, PaymentPayload, Network } from '@x402/core/types'; import { X as X402xClientEvmSigner, b as X402xPublicEvmClient } from '../../signer-Clo2kGD1.js'; import { P as PermitType } from '../../types-CoWeJxFg.js'; import { x402Client } from '@x402/core/client'; interface ExactX402xEvmClientConfig { signer: X402xClientEvmSigner; /** * Permit 需要链上读取 nonces(owner);如果你需要在客户端使用 permitType=permit, * 必须提供一个可 readContract 的公共 client。 */ publicClient?: X402xPublicEvmClient; /** * 默认签名类型(当 PaymentRequirements.extra.permitType 未指定时生效) * * @default "eip3009" */ defaultPermitType?: PermitType; } /** * x402x EVM client implementation for x402 "exact" scheme. * * - 支持 EIP-3009(默认) * - 支持 EIP-2612 Permit(需要 publicClient 读 nonce) */ declare class ExactX402xEvmClient implements SchemeNetworkClient { private readonly config; readonly scheme: "exact:eip7702"; private readonly defaultPermitType; /** * Creates a new ExactX402xEvmClient instance. * * @param config - The configuration for the client */ constructor(config: ExactX402xEvmClientConfig); /** * Creates a new ExactX402xEvmClient instance. * * @param x402Version - The x402 version * @param paymentRequirements - The payment requirements * @returns The payment payload */ createPaymentPayload(x402Version: number, paymentRequirements: PaymentRequirements): Promise>; /** * Creates a new ExactX402xEvmClient instance. * * @param requirements - The payment requirements * @returns The payment payload */ private createEip3009Payload; /** * Creates a new ExactX402xEvmClient instance. * * @param requirements - The payment requirements * @returns The payment payload */ private createPermitPayload; } interface X402xEvmClientRegistrationConfig { signer: X402xClientEvmSigner; publicClient?: X402xPublicEvmClient; /** * 可选:指定注册哪些网络;不填则注册 eip155:*(推荐) */ networks?: Network[]; /** * 默认签名类型(当 requirements.extra.permitType 未写时) * * @default "eip3009" */ defaultPermitType?: PermitType; } /** * 将 x402x 的 EVM exact 机制注册到 @x402/core 的 client。 * * @param client - The x402Client instance to register schemes to * @param config - Configuration for EVM client registration * @returns The client instance for chaining */ declare function registerExactX402xEvmScheme(client: x402Client, config: X402xEvmClientRegistrationConfig): x402Client; export { ExactX402xEvmClient, type ExactX402xEvmClientConfig, type X402xEvmClientRegistrationConfig, registerExactX402xEvmScheme };