import type { Client as MCPClient } from '@modelcontextprotocol/sdk/client/index.js';
import type { RequestOptions } from '@modelcontextprotocol/sdk/shared/protocol.js';
import type { CallToolRequest, CallToolResult, CallToolResultSchema, CompatibilityCallToolResultSchema } from '@modelcontextprotocol/sdk/types.js';
import type { MultiNetworkSigner, PaymentRequirements, Network } from 'x402/types';
export interface X402AugmentedClient {
    callTool(params: CallToolRequest["params"], resultSchema?: typeof CallToolResultSchema | typeof CompatibilityCallToolResultSchema, options?: RequestOptions): Promise<CallToolResult>;
}
export type X402ClientConfig = {
    wallet: Partial<MultiNetworkSigner>;
    maxPaymentValue?: bigint;
    version?: number;
    confirmationCallback?: (payment: PaymentRequirements[]) => Promise<boolean | number | {
        index: number;
    } | {
        network: Network;
    } | {
        requirement: PaymentRequirements;
    }>;
};
/**
 * Wraps an MCP client with X402 payment capabilities
 */
export declare function withX402Client<T extends MCPClient>(client: T, x402Config: X402ClientConfig): X402AugmentedClient & T;
//# sourceMappingURL=with-x402-client.d.ts.map