export { E as ExactEvmScheme } from '../../scheme-DbvdjMb_.js'; import { x402Client, SelectPaymentRequirements, PaymentPolicy } from '@x402/core/client'; import { Network } from '@x402/core/types'; import { C as ClientEvmSigner } from '../../signer-B127taDR.js'; import { E as ExactEvmSchemeOptions } from '../../rpc-DULZzRne.js'; export { a as ExactEvmSchemeConfig, b as ExactEvmSchemeConfigByChainId } from '../../rpc-DULZzRne.js'; export { P as Permit2AllowanceParams, c as createPermit2ApprovalTx, e as erc20AllowanceAbi, g as getPermit2AllowanceReadParams } from '../../permit2-DhJRUcgY.js'; import 'viem'; /** * Configuration options for registering EVM schemes to an x402Client */ interface EvmClientConfig { /** * The EVM signer to use for creating payment payloads */ signer: ClientEvmSigner; /** * Optional payment requirements selector function * If not provided, uses the default selector (first available option) */ paymentRequirementsSelector?: SelectPaymentRequirements; /** * Optional policies to apply to the client */ policies?: PaymentPolicy[]; /** * Optional Exact EVM client scheme options. * Supports either a single config ({ rpcUrl }) or per-chain configs * keyed by EVM chain ID ({ 8453: { rpcUrl: "..." } }). */ schemeOptions?: ExactEvmSchemeOptions; /** * Optional specific networks to register. * If not provided, registers wildcard support (eip155:*). */ networks?: Network[]; } /** * Registers EVM exact payment schemes to an x402Client instance. * * This function registers: * - V2: eip155:* wildcard scheme with ExactEvmScheme (or specific networks if provided) * - V1: All supported EVM networks with ExactEvmSchemeV1 * * @param client - The x402Client instance to register schemes to * @param config - Configuration for EVM client registration * @returns The client instance for chaining * * @example * ```typescript * import { registerExactEvmScheme } from "@x402/evm/exact/client/register"; * import { x402Client } from "@x402/core/client"; * import { privateKeyToAccount } from "viem/accounts"; * * const account = privateKeyToAccount("0x..."); * const client = new x402Client(); * registerExactEvmScheme(client, { signer: account }); * ``` */ declare function registerExactEvmScheme(client: x402Client, config: EvmClientConfig): x402Client; export { type EvmClientConfig, ExactEvmSchemeOptions, registerExactEvmScheme };