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, DecodedStateMultiCallResultWithRelativeBitmaps, DecodeStateMultiCallFunc } from './types'; import { MultiCallParams } from '../../lib/multi-wrapper'; export declare class UniswapV3EventPool extends StatefulEventSubscriber { readonly dexHelper: IDexHelper; readonly stateMultiContract: Contract; readonly decodeStateMultiCallResultWithRelativeBitmaps: DecodeStateMultiCallFunc | undefined; readonly erc20Interface: Interface; protected readonly factoryAddress: Address; feeCode: bigint; readonly poolInitCodeHash: string; readonly tickSpacing?: bigint | undefined; readonly deployer?: Address | undefined; handlers: { [event: string]: (event: any, pool: PoolState, log: Log, blockHeader: Readonly) => PoolState; }; logDecoder: (log: Log) => any; readonly token0: Address; readonly token1: Address; private _poolAddress?; protected _stateRequestCallData?: MultiCallParams[]; readonly poolIface: Interface; initFailed: boolean; initRetryAttemptCount: number; feeCodeAsString: string; constructor(dexHelper: IDexHelper, parentName: string, stateMultiContract: Contract, decodeStateMultiCallResultWithRelativeBitmaps: DecodeStateMultiCallFunc | undefined, erc20Interface: Interface, factoryAddress: Address, feeCode: bigint, token0: Address, token1: Address, logger: Logger, mapKey: string | undefined, poolInitCodeHash: string, tickSpacing?: bigint | undefined, deployer?: Address | undefined); get poolAddress(): Address; set poolAddress(address: Address); initialize(blockNumber: number, options?: InitializeStateOptions): Promise; protected getPoolIdentifierData(): { token0: string; token1: string; fee: bigint; tickSpacing: bigint | undefined; }; protected processBlockLogs(state: DeepReadonly, logs: Readonly[], blockHeader: Readonly): Promise | null>; protected processLog(state: DeepReadonly, log: Readonly, blockHeader: Readonly): DeepReadonly | null; protected _getStateRequestCallData(): MultiCallParams[]; getBitmapRangeToRequest(): bigint; checkState(blockNumber: number): Promise | null>; _setState(state: any, blockNumber: number, reason?: string): void; 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; handleSetFeeProtocolEvent(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; handleIncreaseObservationCardinalityNextEvent(event: any, pool: PoolState, log: Log, blockHeader: BlockHeader): PoolState; protected _computePoolAddress(token0: Address, token1: Address, fee: bigint): Address; protected _assertActivePool(state: Readonly): void; }