import { Network, SwapSide } from '../../constants'; import { IDexHelper } from '../../dex-helper/idex-helper'; import { IDex } from '../../dex/idex'; import { AdapterExchangeParam, Address, DexExchangeParam, ExchangePrices, ExchangeTxInfo, Logger, NumberAsString, OptimalSwapExchange, PoolLiquidity, PoolPrices, PreprocessTransactionOptions, Token } from '../../types'; import { NativeData } from './types'; import { SimpleExchangeWithRestrictions } from '../simple-exchange-with-restrictions'; export declare class Native extends SimpleExchangeWithRestrictions implements IDex { readonly network: Network; readonly dexKey: string; readonly dexHelper: IDexHelper; readonly isStatePollingDex = true; readonly hasConstantPriceLargeAmounts = false; readonly needWrapNative = true; readonly isFeeOnTransferSupported = false; readonly needsSequentialPreprocessing = true; static dexKeysWithNetwork: { key: string; networks: Network[]; }[]; protected logger: Logger; private rateFetcher; private orderbookCacheKey; private nativeApiKey; private chainName; private routerAddress; private addressToTokenMap; constructor(network: Network, dexKey: string, dexHelper: IDexHelper); initializePricing(_blockNumber: number): Promise; releaseResources(): void; getAdapters(): { name: string; index: number; }[] | null; getPoolIdentifiers(srcToken: Token, destToken: Token, side: SwapSide, _blockNumber: number): Promise; private serializePoolIdentifier; getPricesVolume(srcToken: Token, destToken: Token, amounts: bigint[], side: SwapSide, _blockNumber: number, limitPools?: string[]): Promise | null>; getCalldataGasCost(_: PoolPrices): number | number[]; preProcessTransaction(optimalSwapExchange: OptimalSwapExchange, srcToken: Token, destToken: Token, side: SwapSide, options: PreprocessTransactionOptions): Promise<[OptimalSwapExchange, ExchangeTxInfo]>; getAdapterParam(_srcToken: Address, _destToken: Address, _srcAmount: NumberAsString, _destAmount: NumberAsString, data: NativeData, _side: SwapSide): AdapterExchangeParam; getDexParam(_srcToken: Address, _destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, _recipient: Address, data: NativeData, _side: SwapSide): DexExchangeParam; updatePoolState(): Promise; getTopPoolsForToken(tokenAddress: Address, limit: number): Promise; private computeMaxLiquidity; private getEntriesForPair; private buildPoolPrices; private computeSellQuote; private getCachedOrderbook; private toBigInt; private fetchFirmQuote; private normalizeTxRequest; }