import type { SenderManager } from "./index.js"; import type { InterfaceReputationManager } from "../mempool/index.js"; import { type Address, type BundleResult, type CompressedUserOperation, type HexData32, type TransactionInfo, type UserOperation } from "../types/index.js"; import type { GasPriceManager, Logger, Metrics } from "../utils/index.js"; import { type CompressionHandler } from "../utils/index.js"; import { Mutex } from "async-mutex"; import { type Account, type Chain, type PublicClient, type Transport, type WalletClient } from "viem"; export interface GasEstimateResult { preverificationGas: bigint; verificationGasLimit: bigint; callGasLimit: bigint; } export type ReplaceTransactionResult = { status: "replaced"; transactionInfo: TransactionInfo; } | { status: "potentially_already_included"; } | { status: "failed"; }; export declare class NullExecutor { bundle(_entryPoint: Address, _ops: UserOperation[]): Promise; bundleCompressed(_entryPoint: Address, _compressedOps: CompressedUserOperation[]): Promise; replaceTransaction(_entryPoint: Address, _transactionInfo: TransactionInfo): Promise; replaceOps(_opHashes: HexData32[]): Promise; cancelOps(_entryPoint: Address, _ops: UserOperation[]): Promise; markWalletProcessed(_executor: Account): Promise; flushStuckTransactions(): Promise; } export declare class Executor { publicClient: PublicClient; walletClient: WalletClient; entryPoints: Address[]; senderManager: SenderManager; logger: Logger; metrics: Metrics; simulateTransaction: boolean; legacyTransactions: boolean; fixedGasLimitForEstimation?: bigint; localGasLimitCalculation: boolean; reputationManager: InterfaceReputationManager; compressionHandler: CompressionHandler | null; gasPriceManager: GasPriceManager; mutex: Mutex; constructor(publicClient: PublicClient, walletClient: WalletClient, senderManager: SenderManager, reputationManager: InterfaceReputationManager, entryPoints: Address[], logger: Logger, metrics: Metrics, compressionHandler: CompressionHandler | null, gasPriceManager: GasPriceManager, simulateTransaction?: boolean, legacyTransactions?: boolean, fixedGasLimitForEstimation?: bigint, localGasLimitCalculation?: boolean); getCompressionHandler(): CompressionHandler; cancelOps(_entryPoint: Address, _ops: UserOperation[]): Promise; markWalletProcessed(executor: Account): Promise; replaceTransaction(transactionInfo: TransactionInfo): Promise; flushStuckTransactions(): Promise; bundle(entryPoint: Address, ops: UserOperation[]): Promise; bundleCompressed(entryPoint: Address, compressedOps: CompressedUserOperation[]): Promise; } //# sourceMappingURL=executor.d.ts.map