import { Interface } from '@ethersproject/abi'; import { Network, SwapSide } from '../../constants'; import { IDexHelper } from '../../dex-helper/idex-helper'; import { IDex } from '../../dex/idex'; import { AdapterExchangeParam, Address, DexExchangeParam, ExchangePrices, NumberAsString, PoolLiquidity, PoolPrices, Token } from '../../types'; import { SimpleExchange } from '../simple-exchange'; import { EkuboData } from './types'; export declare class Ekubo extends SimpleExchange implements IDex { readonly network: Network; readonly dexKey: string; readonly dexHelper: IDexHelper; readonly hasConstantPriceLargeAmounts = false; readonly needWrapNative = false; readonly isFeeOnTransferSupported = false; static dexKeysWithNetwork: { key: string; networks: Network[]; }[]; private readonly pools; private poolInitPromises; private poolKeysSynced; logger: import("log4js").Logger; readonly config: import("./types").DexParams; readonly routerIface: Interface; private readonly contracts; private readonly supportedExtensions; private interval?; private readonly decimals; constructor(network: Network, dexKey: string, dexHelper: IDexHelper); initializePricing(blockNumber: number): Promise; private updatePools; getPoolIdentifiers(srcToken: Token, destToken: Token, _side: SwapSide, _blockNumber: number): Promise; getPricesVolume(srcToken: Token, destToken: Token, amounts: bigint[], side: SwapSide, blockNumber: number, limitPools?: string[]): Promise>; getDexParam(_srcToken: Address, _destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, recipient: Address, data: EkuboData, side: SwapSide, _executorAddress: Address): DexExchangeParam; updatePoolState(): Promise; getTopPoolsForToken(tokenAddress: Address, limit: number): Promise; releaseResources(): void; private fetchAllPoolKeys; private getDecimals; private getPools; private initializeUntrackedPool; private _initializeUntrackedPool; getAdapters(_side: SwapSide): { name: string; index: number; }[] | null; getCalldataGasCost(_poolPrices: PoolPrices): number | number[]; getAdapterParam(_srcToken: string, _destToken: string, _srcAmount: string, _destAmount: string, _data: EkuboData, _side: SwapSide): AdapterExchangeParam; }