import { Token, Address, ExchangePrices, PoolPrices, AdapterExchangeParam, SimpleExchangeParam, PoolLiquidity, Logger, ExchangeTxInfo, OptimalSwapExchange, PreprocessTransactionOptions, DexExchangeParam } from '../../types'; import { SwapSide, Network } from '../../constants'; import { IDex } from '../idex'; import { IDexHelper } from '../../dex-helper/idex-helper'; import { SwaapV2Data, SwaapV2PriceLevel, SwaapV2PriceLevels, SwaapV2APIParameters, TokensMap } from './types'; import { SimpleExchangeWithRestrictions } from '../simple-exchange-with-restrictions'; import BigNumber from 'bignumber.js'; import { Interface } from 'ethers/lib/utils'; import { AsyncOrSync } from 'ts-essentials'; import { Method } from '../../dex-helper/irequest-wrapper'; export declare class SwaapV2 extends SimpleExchangeWithRestrictions implements IDex { readonly network: Network; readonly dexKey: string; readonly dexHelper: IDexHelper; protected adapters: import("../../types").AdapterMappings; protected routerInterface: Interface; readonly isStatePollingDex = true; readonly hasConstantPriceLargeAmounts = false; readonly needWrapNative = false; readonly isFeeOnTransferSupported = false; private rateFetcher; private swaapV2AuthToken; private tokensMap; private runtimeMMsRestrictHashMapKey; static dexKeysWithNetwork: { key: string; networks: Network[]; }[]; logger: Logger; constructor(network: Network, dexKey: string, dexHelper: IDexHelper, adapters?: import("../../types").AdapterMappings, routerInterface?: Interface); initializePricing(blockNumber: number): Promise; getAdapters(side: SwapSide): { name: string; index: number; }[] | null; getPoolIdentifiers(srcToken: Token, destToken: Token, side: SwapSide, blockNumber: number): Promise; computePricesFromLevelsBids(amounts: BigNumber[], asksAndBids: SwaapV2PriceLevels, srcToken: Token, destToken: Token, side: SwapSide): bigint[]; inversePrice(priceLevel: SwaapV2PriceLevel): SwaapV2PriceLevel; invertPrices(levels: SwaapV2PriceLevel[]): SwaapV2PriceLevel[]; computeLevelsQuote(amounts: BigNumber[], levels: SwaapV2PriceLevel[], srcToken: Token, destToken: Token, side: SwapSide): bigint[]; getCachedTokens(): Promise; getCachedLevels(): Promise | null>; normalizeToken(token: Token): Token; getPricesVolume(srcToken: Token, destToken: Token, amounts: bigint[], side: SwapSide, blockNumber: number, limitPools?: string[]): Promise>; getDexParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, recipient: string, data: SwaapV2Data, side: SwapSide): AsyncOrSync; preProcessTransaction(optimalSwapExchange: OptimalSwapExchange, srcToken: Token, destToken: Token, side: SwapSide, options: PreprocessTransactionOptions): Promise<[OptimalSwapExchange, ExchangeTxInfo]>; restrictPairAndNotify(token0: string, token1: string, message: string): Promise; getCalldataGasCost(poolPrices: PoolPrices): number | number[]; getAdapterParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: SwaapV2Data, side: SwapSide): AdapterExchangeParam; getSimpleParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: SwaapV2Data, side: SwapSide): Promise; computeMaxLiquidity: (levels: SwaapV2PriceLevels, tokenAddress: string) => number; getTopPoolsForToken(tokenAddress: Address, limit: number): Promise; getTokenFromAddress(address: Address): Token; releaseResources(): void; getPriceLevelsReqParams(): SwaapV2APIParameters; getQuoteReqParams(): SwaapV2APIParameters; getNotifyReqParams(): SwaapV2APIParameters; getTokensReqParams(): SwaapV2APIParameters; getAPIReqParams(endpoint: string, method: Method): SwaapV2APIParameters; }