import { VsAgent } from '../../agent'; import { IndexerActivity, VeranaSyncState } from '../types'; export interface IndexerHandlerContext { agent: VsAgent; blockHeight: number; operatorAddress: string; state: VeranaSyncState; txHash: string; } export interface IndexerEventHandler { readonly msg: TMsg; handle(activity: IndexerActivity, ctx: IndexerHandlerContext): Promise; } /** * Registry for handlers of indexer events. Handlers can be registered/unregistered at runtime * and are looked up by the `msg` field of indexer activities. */ export declare class IndexerHandlerRegistry { private handlers; register(handler: IndexerEventHandler): void; unregister(msg: string): void; get(msg: string): IndexerEventHandler | undefined; has(msg: string): boolean; keys(): string[]; clear(): void; dispatch(activity: IndexerActivity, ctx: IndexerHandlerContext): Promise; }