import { Interface } from '@ethersproject/abi'; import { DeepReadonly } from 'ts-essentials'; import { Address, BlockHeader, Log, Logger } from '../../types'; import { InitializeStateOptions, StatefulEventSubscriber } from '../../stateful-event-subscriber'; import { IDexHelper } from '../../dex-helper/idex-helper'; import { DecodedStateMultiCallResultWithRelativeBitmapsV1_9, PoolState_v1_9 } from './types'; import { Contract } from 'web3-eth-contract'; export declare class AlgebraEventPoolV1_9 extends StatefulEventSubscriber { readonly dexHelper: IDexHelper; readonly stateMultiContract: Contract; readonly erc20Interface: Interface; protected readonly factoryAddress: Address; readonly poolInitCodeHash: string; readonly poolDeployer: string; handlers: { [event: string]: (event: any, state: DeepReadonly, log: Readonly, blockHeader: BlockHeader) => DeepReadonly | null; }; logDecoder: (log: Log) => any; addressesSubscribed: string[]; private _poolAddress?; readonly token0: Address; readonly token1: Address; readonly poolIface: Interface; initFailed: boolean; initRetryAttemptCount: number; constructor(dexHelper: IDexHelper, parentName: string, stateMultiContract: Contract, erc20Interface: Interface, factoryAddress: Address, token0: Address, token1: Address, logger: Logger, mapKey: string | undefined, poolInitCodeHash: string, poolDeployer: string); get poolAddress(): Address; set poolAddress(address: Address); initialize(blockNumber: number, options?: InitializeStateOptions): Promise; protected getPoolIdentifierData(): { token0: string; token1: string; }; protected processBlockLogs(state: DeepReadonly, logs: Readonly[], blockHeader: Readonly): Promise | null>; protected processLog(state: DeepReadonly, log: Readonly, blockHeader: Readonly): DeepReadonly | null; getBitmapRangeToRequest(): bigint; private _fetchPoolState_v1_9SingleStep; private _fetchPoolState_v1_9MultiStep; _fetchInitStateMultiStrategies(blockNumber: number): Promise<[ bigint, bigint, DecodedStateMultiCallResultWithRelativeBitmapsV1_9 ]>; generateState(blockNumber: number): Promise>; handleSwapEvent(event: any, pool: PoolState_v1_9, log: Log, blockHeader: BlockHeader): PoolState_v1_9; handleMintEvent(event: any, pool: PoolState_v1_9, log: Log, blockHeader: BlockHeader): PoolState_v1_9; handleBurnEvent(event: any, pool: PoolState_v1_9, log: Log, blockHeader: BlockHeader): PoolState_v1_9; handleNewFee(event: any, pool: PoolState_v1_9, log: Log, blockHeader: BlockHeader): PoolState_v1_9; handleCollectEvent(event: any, pool: PoolState_v1_9, log: Log, blockHeader: BlockHeader): PoolState_v1_9; handleFlashEvent(event: any, pool: PoolState_v1_9, log: Log, blockHeader: BlockHeader): PoolState_v1_9; handleCommunityFee(event: any, pool: PoolState_v1_9, log: Log, blockHeader: BlockHeader): PoolState_v1_9; handleTickSpacing(event: any, pool: PoolState_v1_9, log: Log, blockHeader: BlockHeader): PoolState_v1_9; private _computePoolAddress; }