import { LogDescription } from '@ethersproject/abi'; import { DeepReadonly } from 'ts-essentials'; import { IDexHelper } from '../../dex-helper'; import { StatefulEventSubscriber } from '../../stateful-event-subscriber'; import { Log, BlockHeader, Address } from '../../types'; import { ERC20StateMap } from './types'; export declare class ERC20EventSubscriber extends StatefulEventSubscriber { readonly dexHelper: IDexHelper; private token; private walletAddresses; private handlers; constructor(dexHelper: IDexHelper, token: Address); handleTransferEvent(event: LogDescription, state: ERC20StateMap): ERC20StateMap; handleWrappedDeposit(event: LogDescription, state: ERC20StateMap): ERC20StateMap; handleWrappedWithdrawal(event: LogDescription, state: ERC20StateMap): ERC20StateMap; protected processBlockLogs(state: DeepReadonly, logs: Readonly[], blockHeader: Readonly): Promise | null>; protected processLog(state: DeepReadonly, log: Readonly, blockHeader: Readonly): DeepReadonly | null; private getBalanceRPC; subscribeToWalletBalanceChange(wallet: Address, blockNumber: number): Promise; generateState(blockNumber: number): Promise>; getBalance(wallet: Address, blockNumber: number): Promise; }