/// import { IAbiProvider, IBlockProcessor } from '../types/interfaces'; import { FullShipBlock, IBlockListener, IDeltaListener, IDeserializer, IExtractedShipDelta, IExtractedShipTrace, ITraceListener } from '../types/ship'; import { EventEmitter } from 'events'; interface IProcessorParams { deserializer: IDeserializer; abiProvider: IAbiProvider; failOnDeserializationError: boolean; traceListeners?: ITraceListener[]; deltaListeners?: IDeltaListener[]; blockListeners?: IBlockListener[]; preBlockHook?: IBlockListener[]; postBlockHook?: IBlockListener[]; } export declare class BlockProcessor extends EventEmitter implements IBlockProcessor { private readonly traceListeners; private readonly deltaListeners; private readonly blockListeners; private readonly preBlockHooks?; private readonly postBlockHooks?; private readonly deserializer; private readonly abiProvider; private readonly failOnDeserializationError; constructor(params: IProcessorParams); onBlockStart(data: { block: FullShipBlock; }): Promise; onBlockFinished(data: { block: FullShipBlock; }): Promise; processBlock({ block, traces, deltas, }: { block: FullShipBlock; traces: IExtractedShipTrace[]; deltas: IExtractedShipDelta[]; }): Promise; private findDeltaProcessors; private findAndDeserializeDeltas; private findTraceProcessors; private findAndDeserializeTraces; addDeltaListener(listener: IDeltaListener): () => void; addTraceListener(listener: ITraceListener): () => void; addBlockListener(listener: IBlockListener): () => void; addPreBlockHook(listener: IBlockListener): () => void; addPostBlockHook(listener: IBlockListener): () => void; private processABIUpdates; } export {};