import { Network } from '../../constants'; import { IDexHelper } from '../../dex-helper'; import { Address, PoolLiquidity, Token } from '../../types'; import { UniswapV2 } from './uniswap-v2'; type CachedPool = { address: Address; updatedAt: number; token0: Token; token1: Token; }; type Pool = { address: Address; token0Address: Address; token0Decimals: number; token1Address: Address; token1Decimals: number; reserve0: bigint; reserve1: bigint; reservesUpdatedAt: number | null; updatedAt: number; }; export declare class UniswapV2RpcPoolTracker extends UniswapV2 { protected network: Network; protected dexHelper: IDexHelper; protected isDynamicFees: boolean; private cacheKey; protected allPoolsLength: number; pools: Record; readonly isStatePollingDex = true; private newPoolsUpdateInterval; private poolsAgeUpdateInterval; constructor(network: Network, dexKey: string, dexHelper: IDexHelper, isDynamicFees?: boolean); initializePricing(): Promise; updatePools(initialize?: boolean): Promise; initPools(fromIndex: number, toIndex: number): Promise; getCachedPools(fromIndex: number, toIndex: number): Promise; updatePoolState(): Promise; updatePoolsAge(): Promise; getOnChainPoolsLength(): Promise; fetchPools(fromIndex: number, toIndex: number): Promise>; updatePoolsReserves(pools: Pool[]): Promise; getTopPoolsForToken(tokenAddress: Address, limit: number): Promise; releaseResources(): void; } export {};