import { SmartAccountProvider, type HttpTransport, BaseSmartContractAccount, type AccountMiddlewareFn, type FeeDataMiddleware, type GasEstimatorMiddleware, type PaymasterAndDataMiddleware, type PublicErc4337Client } from "@alchemy/aa-core"; import { AccountSigner } from "@alchemy/aa-ethers"; import { JsonRpcProvider } from "@ethersproject/providers"; import type { SupportedValidators } from "../validator/types.js"; import type { ValidatorProviderParamsMap } from "../validator-provider/types.js"; export declare class ZeroDevEthersProvider extends JsonRpcProvider { readonly accountProvider: SmartAccountProvider; constructor(validatorType: V, params: ValidatorProviderParamsMap[V]); static init(validatorType: V, params: ValidatorProviderParamsMap[V]): Promise>; /** * Rewrites the send method to use the account provider's EIP-1193 * compliant request method * * @param method - the RPC method to call * @param params - the params required by the RPC method * @returns the result of the RPC call */ send(method: string, params: any[]): Promise; /** * Connects the Provider to an Account and returns a Signer * * @param fn - a function that takes the account provider's rpcClient and returns a BaseSmartContractAccount * @returns an {@link AccountSigner} that can be used to sign and send user operations */ connectToAccount(fn: (rpcClient: PublicErc4337Client) => BaseSmartContractAccount): AccountSigner; /** * @returns an {@link AccountSigner} using this as the underlying provider */ getAccountSigner(): AccountSigner; withPaymasterMiddleware: (overrides: { dummyPaymasterDataMiddleware?: PaymasterAndDataMiddleware; paymasterDataMiddleware?: PaymasterAndDataMiddleware; }) => this; withGasEstimator: (override: GasEstimatorMiddleware) => this; withFeeDataGetter: (override: FeeDataMiddleware) => this; withCustomMiddleware: (override: AccountMiddlewareFn) => this; getPublicErc4337Client(): PublicErc4337Client; } //# sourceMappingURL=ethers-provider.d.ts.map