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