import { BigNumberish } from "ethers"; export type PaymasterServiceErrorResponse = { jsonrpc: string; id: number; error: JsonRpcError; }; export type JsonRpcResponse = { jsonrpc: string; id: number; result?: any; error?: JsonRpcError; }; export type JsonRpcError = { code: string; message: string; data: any; }; export type PaymasterConfig = { paymasterUrl: string; strictMode?: boolean; }; export type SponsorUserOperationDto = { mode: PaymasterMode; calculateGasLimits?: boolean; expiryDuration?: number; webhookData?: { [key: string]: any; }; smartAccountInfo?: SmartAccountData; feeTokenAddress?: string; }; export type FeeQuotesOrDataDto = { mode?: PaymasterMode; expiryDuration?: number; calculateGasLimits?: boolean; tokenList?: string[]; preferredToken?: string; webhookData?: { [key: string]: any; }; smartAccountInfo?: SmartAccountData; }; export type FeeQuoteParams = { tokenList?: string[]; preferredToken?: string; }; export type FeeTokenInfo = { feeTokenAddress: string; }; export type SponsorpshipInfo = { webhookData?: { [key: string]: any; }; smartAccountInfo: SmartAccountData; }; export type SmartAccountData = { name: string; version: string; }; export type PaymasterFeeQuote = { symbol: string; tokenAddress: string; decimal: number; logoUrl?: string; maxGasFee: number; maxGasFeeUSD?: number; usdPayment?: number; premiumPercentage: number; validUntil?: number; }; export type BiconomyTokenPaymasterRequest = { feeQuote: PaymasterFeeQuote; spender: string; maxApproval?: boolean; }; export type FeeQuotesOrDataResponse = { feeQuotes?: PaymasterFeeQuote[]; tokenPaymasterAddress?: string; paymasterAndData?: string; preVerificationGas?: BigNumberish; verificationGasLimit?: BigNumberish; callGasLimit?: BigNumberish; }; export type PaymasterAndDataResponse = { paymasterAndData: string; preVerificationGas?: BigNumberish; verificationGasLimit?: BigNumberish; callGasLimit?: BigNumberish; maxPriorityFeePerGas?: BigNumberish; maxFeePerGas?: BigNumberish; }; export declare enum PaymasterMode { ERC20 = "ERC20", SPONSORED = "SPONSORED" } export type EstimateUserOpGasResponse = { jsonrpc: string; id: number; result: UserOpGasResponse; error?: JsonRpcError; }; export type UserOpGasResponse = { paymasterAndData: string; preVerificationGas: string; maxPriorityFeePerGas: string; maxFeePerGas: string; verificationGasLimit: string; callGasLimit: string; };