import type { SmartAccount } from "permissionless/accounts"; import type { EntryPoint, Prettify } from "permissionless/types"; import type { Chain, Client, PublicClientConfig, Transport } from "viem"; import { type CABPaymasterActions } from "../cabPaymaster/clients/decorators/cabPaymasterActions"; import type { CAB_VERSION, CabPaymasterRpcScheme } from "../types"; import { type CABActions } from "./decorators/cabActions"; export type CABClient | undefined = SmartAccount | undefined> = Client, CABPaymasterActions & CABActions>; export declare const createCABClient: >(client: { account: TSmartAccount; batch?: { multicall?: boolean | { batchSize?: number | undefined; wait?: number | undefined; } | undefined; } | undefined; cacheTime: number; ccipRead?: false | { request?: ((parameters: import("viem").CcipRequestParameters) => Promise<`0x${string}`>) | undefined; } | undefined; chain: TChain; key: string; name: string; pollingInterval: number; request: import("viem").EIP1193RequestFn<[{ Method: "web3_clientVersion"; Parameters?: undefined; ReturnType: string; }, { Method: "web3_sha3"; Parameters: [data: `0x${string}`]; ReturnType: string; }, { Method: "net_listening"; Parameters?: undefined; ReturnType: boolean; }, { Method: "net_peerCount"; Parameters?: undefined; ReturnType: `0x${string}`; }, { Method: "net_version"; Parameters?: undefined; ReturnType: `0x${string}`; }, { Method: "eth_blobBaseFee"; Parameters?: undefined; ReturnType: `0x${string}`; }, { Method: "eth_blockNumber"; Parameters?: undefined; ReturnType: `0x${string}`; }, { Method: "eth_call"; Parameters: [transaction: import("viem").ExactPartial] | [transaction: import("viem").ExactPartial, block: `0x${string}` | import("viem").BlockTag | import("viem").RpcBlockIdentifier] | [transaction: import("viem").ExactPartial, block: `0x${string}` | import("viem").BlockTag | import("viem").RpcBlockIdentifier, stateOverrideSet: import("viem").RpcStateOverride]; ReturnType: `0x${string}`; }, { Method: "eth_chainId"; Parameters?: undefined; ReturnType: `0x${string}`; }, { Method: "eth_coinbase"; Parameters?: undefined; ReturnType: `0x${string}`; }, { Method: "eth_estimateGas"; Parameters: [transaction: import("viem").RpcTransactionRequest] | [transaction: import("viem").RpcTransactionRequest, block: `0x${string}` | import("viem").BlockTag] | [transaction: import("viem").RpcTransactionRequest, block: `0x${string}` | import("viem").BlockTag, stateOverride: import("viem").RpcStateOverride]; ReturnType: `0x${string}`; }, { Method: "eth_feeHistory"; Parameters: [blockCount: `0x${string}`, newestBlock: `0x${string}` | import("viem").BlockTag, rewardPercentiles: number[] | undefined]; ReturnType: import("viem").RpcFeeHistory; }, { Method: "eth_gasPrice"; Parameters?: undefined; ReturnType: `0x${string}`; }, { Method: "eth_getBalance"; Parameters: [address: `0x${string}`, block: `0x${string}` | import("viem").BlockTag | import("viem").RpcBlockIdentifier]; ReturnType: `0x${string}`; }, { Method: "eth_getBlockByHash"; Parameters: [hash: `0x${string}`, includeTransactionObjects: boolean]; ReturnType: import("viem").RpcBlock | null; }, { Method: "eth_getBlockByNumber"; Parameters: [block: `0x${string}` | import("viem").BlockTag, includeTransactionObjects: boolean]; ReturnType: import("viem").RpcBlock | null; }, { Method: "eth_getBlockTransactionCountByHash"; Parameters: [hash: `0x${string}`]; ReturnType: `0x${string}`; }, { Method: "eth_getBlockTransactionCountByNumber"; Parameters: [block: `0x${string}` | import("viem").BlockTag]; ReturnType: `0x${string}`; }, { Method: "eth_getCode"; Parameters: [address: `0x${string}`, block: `0x${string}` | import("viem").BlockTag | import("viem").RpcBlockIdentifier]; ReturnType: `0x${string}`; }, { Method: "eth_getFilterChanges"; Parameters: [filterId: `0x${string}`]; ReturnType: `0x${string}`[] | import("viem").RpcLog[]; }, { Method: "eth_getFilterLogs"; Parameters: [filterId: `0x${string}`]; ReturnType: import("viem").RpcLog[]; }, { Method: "eth_getLogs"; Parameters: [{ address?: `0x${string}` | `0x${string}`[] | undefined; topics?: import("viem").LogTopic[] | undefined; } & ({ fromBlock?: `0x${string}` | import("viem").BlockTag | undefined; toBlock?: `0x${string}` | import("viem").BlockTag | undefined; blockHash?: undefined; } | { fromBlock?: undefined; toBlock?: undefined; blockHash?: `0x${string}` | undefined; })]; ReturnType: import("viem").RpcLog[]; }, { Method: "eth_getProof"; Parameters: [address: `0x${string}`, storageKeys: `0x${string}`[], block: `0x${string}` | import("viem").BlockTag]; ReturnType: import("viem").RpcProof; }, { Method: "eth_getStorageAt"; Parameters: [address: `0x${string}`, index: `0x${string}`, block: `0x${string}` | import("viem").BlockTag | import("viem").RpcBlockIdentifier]; ReturnType: `0x${string}`; }, { Method: "eth_getTransactionByBlockHashAndIndex"; Parameters: [hash: `0x${string}`, index: `0x${string}`]; ReturnType: import("viem").RpcTransaction | null; }, { Method: "eth_getTransactionByBlockNumberAndIndex"; Parameters: [block: `0x${string}` | import("viem").BlockTag, index: `0x${string}`]; ReturnType: import("viem").RpcTransaction | null; }, { Method: "eth_getTransactionByHash"; Parameters: [hash: `0x${string}`]; ReturnType: import("viem").RpcTransaction | null; }, { Method: "eth_getTransactionCount"; Parameters: [address: `0x${string}`, block: `0x${string}` | import("viem").BlockTag | import("viem").RpcBlockIdentifier]; ReturnType: `0x${string}`; }, { Method: "eth_getTransactionReceipt"; Parameters: [hash: `0x${string}`]; ReturnType: import("viem").RpcTransactionReceipt | null; }, { Method: "eth_getUncleByBlockHashAndIndex"; Parameters: [hash: `0x${string}`, index: `0x${string}`]; ReturnType: import("viem").RpcUncle | null; }, { Method: "eth_getUncleByBlockNumberAndIndex"; Parameters: [block: `0x${string}` | import("viem").BlockTag, index: `0x${string}`]; ReturnType: import("viem").RpcUncle | null; }, { Method: "eth_getUncleCountByBlockHash"; Parameters: [hash: `0x${string}`]; ReturnType: `0x${string}`; }, { Method: "eth_getUncleCountByBlockNumber"; Parameters: [block: `0x${string}` | import("viem").BlockTag]; ReturnType: `0x${string}`; }, { Method: "eth_maxPriorityFeePerGas"; Parameters?: undefined; ReturnType: `0x${string}`; }, { Method: "eth_newBlockFilter"; Parameters?: undefined; ReturnType: `0x${string}`; }, { Method: "eth_newFilter"; Parameters: [filter: { fromBlock?: `0x${string}` | import("viem").BlockTag | undefined; toBlock?: `0x${string}` | import("viem").BlockTag | undefined; address?: `0x${string}` | `0x${string}`[] | undefined; topics?: import("viem").LogTopic[] | undefined; }]; ReturnType: `0x${string}`; }, { Method: "eth_newPendingTransactionFilter"; Parameters?: undefined; ReturnType: `0x${string}`; }, { Method: "eth_protocolVersion"; Parameters?: undefined; ReturnType: string; }, { Method: "eth_sendRawTransaction"; Parameters: [signedTransaction: `0x${string}`]; ReturnType: `0x${string}`; }, { Method: "eth_uninstallFilter"; Parameters: [filterId: `0x${string}`]; ReturnType: boolean; }, { Method: "eth_accounts"; Parameters?: undefined; ReturnType: `0x${string}`[]; }, { Method: "eth_chainId"; Parameters?: undefined; ReturnType: `0x${string}`; }, { Method: "eth_estimateGas"; Parameters: [transaction: import("viem").RpcTransactionRequest] | [transaction: import("viem").RpcTransactionRequest, block: `0x${string}` | import("viem").BlockTag] | [transaction: import("viem").RpcTransactionRequest, block: `0x${string}` | import("viem").BlockTag, stateOverride: import("viem").RpcStateOverride]; ReturnType: `0x${string}`; }, { Method: "eth_requestAccounts"; Parameters?: undefined; ReturnType: `0x${string}`[]; }, { Method: "eth_sendTransaction"; Parameters: [transaction: import("viem").RpcTransactionRequest]; ReturnType: `0x${string}`; }, { Method: "eth_sendRawTransaction"; Parameters: [signedTransaction: `0x${string}`]; ReturnType: `0x${string}`; }, { Method: "eth_sign"; Parameters: [address: `0x${string}`, data: `0x${string}`]; ReturnType: `0x${string}`; }, { Method: "eth_signTransaction"; Parameters: [request: import("viem").RpcTransactionRequest]; ReturnType: `0x${string}`; }, { Method: "eth_signTypedData_v4"; Parameters: [address: `0x${string}`, message: string]; ReturnType: `0x${string}`; }, { Method: "eth_syncing"; Parameters?: undefined; ReturnType: false | import("viem").NetworkSync; }, { Method: "personal_sign"; Parameters: [data: `0x${string}`, address: `0x${string}`]; ReturnType: `0x${string}`; }, { Method: "wallet_addEthereumChain"; Parameters: [chain: import("viem").AddEthereumChainParameter]; ReturnType: null; }, { Method: "wallet_getCallsStatus"; Parameters?: [string] | undefined; ReturnType: import("viem").WalletGetCallsStatusReturnType<`0x${string}`, `0x${string}`>; }, { Method: "wallet_getCapabilities"; Parameters?: [`0x${string}`] | undefined; ReturnType: { [x: `0x${string}`]: import("viem").WalletCapabilities; }; }, { Method: "wallet_getPermissions"; Parameters?: undefined; ReturnType: import("viem").WalletPermission[]; }, { Method: "wallet_grantPermissions"; Parameters?: [import("viem").WalletGrantPermissionsParameters] | undefined; ReturnType: { expiry: number; factory?: `0x${string}` | undefined; factoryData?: string | undefined; grantedPermissions: readonly { data: unknown; policies: readonly { data: unknown; type: string; }[]; required?: boolean | undefined; type: string; }[]; permissionsContext: string; signerData?: { userOpBuilder?: `0x${string}` | undefined; submitToAddress?: `0x${string}` | undefined; } | undefined; }; }, { Method: "wallet_requestPermissions"; Parameters: [permissions: { eth_accounts: Record; }]; ReturnType: import("viem").WalletPermission[]; }, { Method: "wallet_revokePermissions"; Parameters: [permissions: { eth_accounts: Record; }]; ReturnType: null; }, { Method: "wallet_sendCalls"; Parameters?: import("viem").WalletSendCallsParameters | undefined; ReturnType: string; }, { Method: "wallet_showCallsStatus"; Parameters?: [string] | undefined; ReturnType: void; }, { Method: "wallet_switchEthereumChain"; Parameters: [chain: { chainId: string; }]; ReturnType: null; }, { Method: "wallet_watchAsset"; Parameters: import("viem").WatchAssetParams; ReturnType: boolean; }]>; transport: ReturnType["config"] & ReturnType["value"]; type: string; uid: string; 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: Client) => client) => Client; }, parameters: { batch?: { multicall?: boolean | { batchSize?: number | undefined; wait?: number | undefined; } | undefined; } | undefined; cacheTime?: number | undefined; ccipRead?: false | { request?: ((parameters: import("viem").CcipRequestParameters) => Promise<`0x${string}`>) | undefined; } | undefined; chain?: Chain | TChain | undefined; key?: string | undefined; name?: string | undefined; pollingInterval?: number | undefined; transport: TTransport; rpcSchema?: undefined; } & { entryPoint: TEntryPoint; cabVersion?: CAB_VERSION | undefined; }) => CABClient; //# sourceMappingURL=createCABClient.d.ts.map