import { FeeAmount } from '../../v3-sdk'; import { ChainId } from '../../chain'; import { Token } from '../../currency'; import { Address, PublicClient } from 'viem'; import { PoolCode } from '../pools/PoolCode'; import { LiquidityProvider } from './LiquidityProvider'; interface StaticPool { address: Address; token0: Token; token1: Token; fee: FeeAmount; } export declare const NUMBER_OF_SURROUNDING_TICKS = 1000; type PoolFilter = { has: (arg: string) => boolean; }; export declare abstract class UniswapV3BaseProvider extends LiquidityProvider { poolsByTrade: Map; pools: Map; blockListener?: () => void; unwatchBlockNumber?: () => void; isInitialized: boolean; deployer: Record | undefined; factory: Record; initCodeHash: Record; tickLens: Record; constructor(chainId: ChainId, web3Client: PublicClient, factory: Record, initCodeHash: Record, tickLens: Record, deployer?: Record); fetchPoolsForToken(t0: Token, t1: Token, excludePools?: Set | PoolFilter): Promise; getStaticPools(t1: Token, t2: Token): StaticPool[]; startFetchPoolsData(): void; getCurrentPoolList(): PoolCode[]; stopFetchPoolsData(): void; } export {};