import { Web3Client } from '../clients/Web3Client'; import { TPlatform } from '../models/TPlatform'; import { TEth } from '../models/TEth'; export interface IPendingTxIndexerOptions { /** Name of the indexer */ name?: string; } export type TPendingTxListener = (client: Web3Client, tx: TEth.Tx) => Promise; export declare class PendingTxIndexer { platform: TPlatform; opts?: IPendingTxIndexerOptions; private client; private walker; private listeners; private mempoolHash; private loader; private blocks; private status; constructor(platform: TPlatform, opts?: IPendingTxIndexerOptions); onTransaction(cb: TPendingTxListener): this; stats(): { active: boolean; } | { loader: { counts: { loading: number; pending: number; processed: number; errors: number; }; errors: { date: Date; hash: TEth.Hex; error: Error; }[]; error: string; avgLoadTime: number; }; blocks: { blockLoadTime: number; busy?: { nr: number; startedAt: number; }[]; errors?: { nr: number; startedAt: number; duration: number; error: Error; }[]; from?: number; to?: number; totalLeft?: number; totalTimeLeft?: string; processed?: number; avgTime?: number; }; startedAt: number; txSpeed: number; txCount: number; txNulls: number; txPrivateCount: number; active: boolean; }; start(): Promise; private onMempoolTxLoaded; private onBlockLoaded; }