export { E as ExactEvmScheme } from '../../scheme-B1TCGcAi.js'; import { SelectPaymentRequirements, PaymentPolicy, x402Client } from '@bankofai/x402-core/client'; import { Network } from '@bankofai/x402-core/types'; import { C as ClientEvmSigner } from '../../signer-m5yRWbVQ.js'; import { E as EvmSchemeOptions } from '../../rpc-BBJ9foT3.js'; export { a as ExactEvmSchemeConfig, b as ExactEvmSchemeConfigByChainId, c as ExactEvmSchemeOptions } from '../../rpc-BBJ9foT3.js'; export { P as Permit2AllowanceParams, c as createPermit2ApprovalTx, g as getPermit2AllowanceReadParams } from '../../permit2-ClggjaRg.js'; export { e as erc20AllowanceAbi } from '../../constants-BOdyCd_Z.js'; import '../../defaultAssets-DyTlDVvA.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?: EvmSchemeOptions; /** * 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) * * Note: legacy x402 v1 schemes are no longer auto-registered. The v1 classes * (`ExactEvmSchemeV1`, `NETWORKS`) are still exported under `@bankofai/x402-evm/v1` * and `@bankofai/x402-evm/exact/v1/*` for callers that explicitly need them. * * @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 "@bankofai/x402-evm/exact/client/register"; * import { x402Client } from "@bankofai/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, registerExactEvmScheme };