import type { Address, Hex } from "viem"; import { type EntryPointVersion, type UserOperation } from "viem/account-abstraction"; import type { ZeroDevPaymasterClient } from "../../clients/paymasterClient.js"; export type EstimateGasInERC20Parameters = { userOperation: UserOperation; gasTokenAddress: Hex; entryPoint: Address; }; export type GetERC20TokenQuotesReturnType = { maxGasCostToken: string; tokenDecimals: string; }; export type EstimateGasInERC20ReturnType = { amount: number; }; /** * Returns paymasterAndData & updated gas parameters required to sponsor a userOperation. */ export declare const estimateGasInERC20: (client: { account: import("viem/account-abstraction").SmartAccount | undefined; batch?: { multicall?: boolean | { batchSize?: number | undefined; deployless?: boolean | undefined; wait?: number | undefined; } | undefined; } | undefined; cacheTime: number; ccipRead?: false | { request?: ((parameters: import("viem").CcipRequestParameters) => Promise<`0x${string}`>) | undefined; } | undefined; chain: import("viem").Chain | undefined; experimental_blockTag?: import("viem").BlockTag | undefined; key: string; name: string; pollingInterval: number; request: import("viem").EIP1193RequestFn>; transport: import("viem").TransportConfig & Record; type: string; uid: string; getPaymasterData: (parameters: import("viem/account-abstraction").GetPaymasterDataParameters) => Promise; getPaymasterStubData: (parameters: import("viem/account-abstraction").GetPaymasterStubDataParameters) => Promise; sponsorUserOperation: (args: import("./sponsorUserOperation.js").SponsorUserOperationParameters) => Promise; estimateGasInERC20: (args: EstimateGasInERC20Parameters) => Promise; extend: , "call" | "createContractEventFilter" | "createEventFilter" | "estimateContractGas" | "estimateGas" | "getBlock" | "getBlockNumber" | "getChainId" | "getContractEvents" | "getEnsText" | "getFilterChanges" | "getGasPrice" | "getLogs" | "getTransaction" | "getTransactionCount" | "getTransactionReceipt" | "prepareTransactionRequest" | "readContract" | "sendRawTransaction" | "simulateContract" | "uninstallFilter" | "watchBlockNumber" | "watchContractEvent"> & Pick, "sendTransaction" | "writeContract">>>(fn: (client: import("viem").Client, import("viem/account-abstraction").PaymasterActions & import("../../index.js").ZeroDevPaymasterClientActions>) => client) => import("viem").Client, { [K in keyof client]: client[K]; } & import("viem/account-abstraction").PaymasterActions & import("../../index.js").ZeroDevPaymasterClientActions>; }, args: EstimateGasInERC20Parameters) => Promise; //# sourceMappingURL=estimateGasInERC20.d.ts.map