import { Address, Hash, PublicClient, Transport } from "viem"; import { GasPrices, PaymasterData, SponsorshipPolicyData, UnsignedUserOperation, UserOperation, UserOperationGas, UserOperationReceipt } from "../types"; import { Pimlico } from "./pimlico"; type SponsorshipPolicy = { sponsorshipPolicyId: string; }; type BundlerRpcSchema = [ { Method: "pm_sponsorUserOperation"; Parameters: [UnsignedUserOperation, Address, SponsorshipPolicy]; ReturnType: PaymasterData; }, { Method: "eth_estimateUserOperationGas"; Parameters: [UnsignedUserOperation, Address]; ReturnType: UserOperationGas; }, { Method: "eth_sendUserOperation"; Parameters: [UserOperation, Address]; ReturnType: Hash; }, { Method: "pimlico_getUserOperationGasPrice"; Parameters: []; ReturnType: GasPrices; }, { Method: "eth_getUserOperationReceipt"; Parameters: [Hash]; ReturnType: UserOperationReceipt | null; } ]; export declare class Erc4337Bundler { client: PublicClient; entryPointAddress: Address; pimlico: Pimlico; chainId: number; constructor(entryPointAddress: Address, apiKey: string, chainId: number); getPaymasterData(rawUserOp: UnsignedUserOperation, sponsorshipPolicy?: string): Promise; sendUserOperation(userOp: UserOperation): Promise; getGasPrice(): Promise; getUserOpReceipt(userOpHash: Hash): Promise; getSponsorshipPolicies(): Promise; private _getUserOpReceiptInner; } export {};