import { LoggerConstructor, Logger, Token, PoolPrices, UnoptimizedRate, TransferFeeParams } from './types'; import { SwapSide } from './constants'; import { DexAdapterService } from './dex'; import { IDex, IRouteOptimizer } from './dex/idex'; export declare class PricingHelper { protected dexAdapterService: DexAdapterService; logger: Logger; optimizeRate: IRouteOptimizer; constructor(dexAdapterService: DexAdapterService, loggerConstructor: LoggerConstructor); private initializeDex; getAllDexKeys(): string[]; getDexByKey(key: string, logWhenNotFound?: boolean): IDex | null; initialize(blockNumber: number, dexKeys: string[]): Promise; releaseResources(dexKeys: string[]): Promise; private releaseDexResources; getPoolIdentifiers(from: Token, to: Token, side: SwapSide, blockNumber: number, dexKeys: string[], filterConstantPricePool?: boolean): Promise<{ [dexKey: string]: string[] | null; }>; filterOutDexKeysWithRestrictions(dexKeys: string[], userAddress?: string, usdTradeValue?: number | null): Promise; filterOutDexKeysWithRestrictedPair(dexKeys: string[], token0: string, token1: string): Promise; getDexsSupportingFeeOnTransfer(): string[]; getPoolPrices(from: Token, to: Token, amounts: bigint[], side: SwapSide, blockNumber: number, dexKeys: string[], limitPoolsMap: { [key: string]: string[] | null; } | null, transferFees?: TransferFeeParams, rollupL1CalldataCostToL2GasCost?: (calldataCost: number) => number): Promise[]>; }