/** * Viem-based AccountProvider implementation * Implements ReadClient, Signer, and TxSender using Viem */ import { PublicClient, WalletClient, Account, Address, Hex, Abi, Chain, Transport } from 'viem'; import type { AccountProvider, ChainConfig, TxRequest, TxSendResult, GasPolicy } from '../types'; export interface ViemAccountProviderOptions { publicClient: PublicClient; walletClient?: WalletClient | null; account?: Account | Address; chainConfig: ChainConfig; } /** * Viem-based AccountProvider * Composes ReadClient, Signer, and TxSender using Viem clients */ export declare class ViemAccountProvider implements AccountProvider { private publicClient; private walletClient?; private account?; private chainConfig; constructor(options: ViemAccountProviderOptions); chain(): ChainConfig; chainId(): Promise; call(args: { to: Address; abi: Abi; functionName: string; args?: readonly unknown[]; blockTag?: 'latest' | 'pending' | bigint; }): Promise; getBlockNumber(): Promise; getBlock(blockTag?: 'latest' | 'pending' | bigint): Promise; getTransactionCount(address: Address, blockTag?: 'pending' | 'latest'): Promise; estimateGas(args: { to: Address; data: Hex; value?: bigint; account?: Address; }): Promise; getGasPrice(): Promise; encodeFunctionData(args: { abi: Abi; functionName: string; args?: readonly unknown[]; }): Promise; getAddress(): Promise
; signMessage(message: string | Uint8Array): Promise; signTypedData>(args: { domain: any; types: any; primaryType: string; message: TTypedData; }): Promise; isContractSigner(): Promise; send(tx: TxRequest, opts?: { gasPolicy?: GasPolicy; simulation?: boolean; metadata?: Record; }): Promise; sendBatch(txs: TxRequest[], opts?: { gasPolicy?: GasPolicy; simulation?: boolean; metadata?: Record; }): Promise; } //# sourceMappingURL=ViemAccountProvider.d.ts.map