import { EkuboContracts } from './types'; import { BlockHeader } from 'web3-eth'; import { Log, Logger, Token } from '../../types'; import { EventSubscriber, IDexHelper } from '../../dex-helper'; import { IEkuboPool } from './pools/pool'; import { PoolTypeConfig } from './pools/utils'; export declare const EVENT_EMITTERS: string[]; export type PoolInitialization = { id: string; blockNumber: string; blockHash: string; tickSpacing: number | null; stableswapCenterTick: number | null; stableswapAmplification: number | null; extension: string; fee: string; poolId: string; token0: string; token1: string; }; export type SubgraphData = { data: { _meta: { block: { hash: string; number: number; }; }; poolInitializations: PoolInitialization[]; }; }; export declare class EkuboV3PoolManager implements EventSubscriber { readonly parentName: string; private readonly logger; private readonly dexHelper; private readonly contracts; private readonly subgraphId; readonly name = "PoolManager"; isTracking: () => boolean; readonly poolsByBI: Map>; readonly poolsByString: Map>; private readonly poolIdParsers; private readonly poolInitializedFragment; private readonly poolInitializedTopicHash; constructor(parentName: string, logger: Logger, dexHelper: IDexHelper, contracts: EkuboContracts, subgraphId: string); update(logs: Readonly[], blockHeaders: Readonly<{ [blockNumber: number]: Readonly; }>, blockNumberForMissingStateRegen?: number): Promise; restart(blockNumber: number): void; rollback(blockNumber: number): void; invalidate(): void; private fetchCanonicalSubgraphPoolKeys; updatePools(blockNumber: number, subscribe: boolean): Promise; getQuotePools(tokenA: Token, tokenB: Token, limitPools: string[] | undefined): Iterable>; setPool(pool: IEkuboPool): void; private deletePool; private clearPools; private handlePoolInitialized; }