import type { Metrics } from "../utils/index.js"; import { type InterfaceValidator, type MempoolUserOperation, type ReferencedCodeHashes, type StorageMap, type SubmittedUserOperation, type TransactionInfo, type UserOperation, type UserOperationInfo } from "../types/index.js"; import type { HexData32 } from "../types/index.js"; import type { Logger } from "../utils/index.js"; import { type Address, type Chain, type PublicClient, type Transport } from "viem"; import type { Monitor } from "./monitoring.js"; import { type InterfaceReputationManager } from "./reputationManager.js"; export declare class MemoryMempool { private monitor; private publicClient; private reputationManager; private store; private throttledEntityBundleCount; private logger; private validator; private safeMode; private parallelUserOpsMaxSize; private queuedUserOpsMaxSize; private onlyUniqueSendersPerBundle; constructor(monitor: Monitor, reputationManager: InterfaceReputationManager, validator: InterfaceValidator, publicClient: PublicClient, safeMode: boolean, logger: Logger, metrics: Metrics, parallelUserOpsMaxSize: number, queuedUserOpsMaxSize: number, onlyUniqueSendersPerBundle: boolean, throttledEntityBundleCount?: number); replaceSubmitted(userOperation: UserOperationInfo, transactionInfo: TransactionInfo): void; markSubmitted(userOpHash: `0x${string}`, transactionInfo: TransactionInfo): void; dumpOutstanding(): UserOperationInfo[]; dumpProcessing(): UserOperationInfo[]; dumpSubmittedOps(): SubmittedUserOperation[]; removeSubmitted(userOpHash: `0x${string}`): void; removeProcessing(userOpHash: `0x${string}`): void; checkEntityMultipleRoleViolation(op: UserOperation): Promise; getKnownEntities(): { sender: Set
; paymasters: Set
; factories: Set
; }; add(mempoolUserOperation: MempoolUserOperation, entryPoint: Address, referencedContracts?: ReferencedCodeHashes): boolean; shouldSkip(opInfo: UserOperationInfo, paymasterDeposit: { [paymaster: string]: bigint; }, stakedEntityCount: { [addr: string]: number; }, knownEntities: { sender: Set<`0x${string}`>; paymasters: Set<`0x${string}`>; factories: Set<`0x${string}`>; }, senders: Set, storageMap: StorageMap): Promise<{ skip: boolean; paymasterDeposit: { [paymaster: string]: bigint; }; stakedEntityCount: { [addr: string]: number; }; knownEntities: { sender: Set<`0x${string}`>; paymasters: Set<`0x${string}`>; factories: Set<`0x${string}`>; }; senders: Set; storageMap: StorageMap; }>; process(maxGasLimit: bigint, minOps?: number): Promise; get(opHash: HexData32): UserOperation | null; getQueuedUserOperations(userOperation: UserOperation, entryPoint: Address, _currentNonceValue?: bigint): Promise; clear(): void; } //# sourceMappingURL=mempool.d.ts.map