import { Account, BundlerRpcSchema, Chain, Client, EIP1193RequestFn, Transport } from "viem";
import { createRequestGetUserOperationByHash } from "./bundler/requestGetUserOperationByHash.js";
import { createRequestGetUserOperationReceipt } from "./bundler/requestGetUserOperationReceipt.js";
export type BundlerRpcMethod = (typeof bundlerRpcMethods)[number];
export declare const bundlerRpcMethods: readonly ["eth_chainId", "eth_supportedEntryPoints", "eth_getUserOperationByHash", "eth_getUserOperationReceipt", "eth_sendUserOperation", "eth_estimateUserOperationGas"];
/**
 * Check if RPC method is for bundler.
 * @param method
 * @returns true if bundler rpc method
 */
export declare function isBundlerRpcMethod(method: string): method is BundlerRpcMethod;
/**
 * Create bundler EIP1193 function
 * @param client
 * @param requestOverride custom override to bypass viem middleware (for getLogs)
 * @returns request function
 */
export declare function createBackendBundlerEIP1193(client: Client<Transport, Chain | undefined, Account>, config?: {
    requestOverride?: EIP1193RequestFn;
    createRequestGetUserOperationByHash?: typeof createRequestGetUserOperationByHash;
    createRequestGetUserOperationReceipt?: typeof createRequestGetUserOperationReceipt;
}): EIP1193RequestFn<BundlerRpcSchema>;
