import { ContractBase } from '../contracts/ContractBase'; import { ITxLogItem } from '../txs/receipt/ITxLogItem'; import { TAddress } from '../models/TAddress'; import { IEventsIndexerMetaStore, IEventsIndexerStore } from './storage/interfaces'; import { TLogsRangeProgress } from '../clients/Web3Client'; import { WClient } from '../clients/ClientPool'; export declare class EventsIndexer { contract: TContract; options: { addresses?: TAddress[]; name?: string; initialBlockNumber?: number; store?: IEventsIndexerStore; storeMeta?: IEventsIndexerMetaStore; fs?: { /** Is used as a base directory. Later the ContractName and the address(es) hash will be appended */ directory?: string; /** The events will be splitted into multiple files by block range */ rangeSeconds?: number; blockTimeAvg?: number; }; }; store: IEventsIndexerStore; storeMeta: IEventsIndexerMetaStore; constructor(contract: TContract, options: { addresses?: TAddress[]; name?: string; initialBlockNumber?: number; store?: IEventsIndexerStore; storeMeta?: IEventsIndexerMetaStore; fs?: { /** Is used as a base directory. Later the ContractName and the address(es) hash will be appended */ directory?: string; /** The events will be splitted into multiple files by block range */ rangeSeconds?: number; blockTimeAvg?: number; }; }); mergeStorages(store: IEventsIndexerStore): Promise; /** @deprecated For migration only */ fsEnsureMigrated(): Promise; getPastLogs>(event: TLogName | TLogName[] | '*', filter?: { fromBlock?: number; toBlock?: number; params?: Partial; }): Promise<{ logs: ITxLogItem['Events'][TLogName]['outputParams']>[]; }>; getPastLogsStream>(event: TLogName | TLogName[] | '*', options?: { fromBlock?: number; toBlock?: number; blockRangeLimits?: WClient['blockRangeLimits']; params?: Partial; }): AsyncGenerator['Events'][TLogName]['outputParams'], string>>, void, void>; removeCached(params: { fromBlock: number; }): Promise; private getRanges; private getPastLogsRanges; private getItemsFromStore; private getFilterKey; private getInitialBlockNumber; private upsert; } type GetEventLogNames = keyof T['Types']['Events']; type GetTypes = T['Types']; export {};