import { Contract } from 'ethers'; import { Interface } from '@ethersproject/abi'; import { DeepReadonly } from 'ts-essentials'; import { StatefulEventSubscriber } from '../../stateful-event-subscriber'; import { Address, BlockHeader, Log, Logger } from '../../types'; import { IDexHelper } from '../../dex-helper'; import { SkyConverterPoolState } from './types'; export declare class SkyConverterEventPool extends StatefulEventSubscriber { readonly parentName: string; protected network: number; protected dexHelper: IDexHelper; private readonly converterAddress; private readonly converterInterface; handlers: { [event: string]: (event: any, state: DeepReadonly, log: Readonly) => DeepReadonly | null; }; logDecoder: (log: Log) => any; readonly contract: Contract; constructor(parentName: string, network: number, dexHelper: IDexHelper, logger: Logger, converterAddress: Address, converterInterface: Interface); protected processLog(state: DeepReadonly, log: Readonly, _blockHeader: Readonly): DeepReadonly | null; generateState(blockNumber?: number | 'latest'): Promise>; getOrGenerateState(blockNumber: number): Promise; handleFile(event: any, state: DeepReadonly, log: Readonly): DeepReadonly | null; }