import { Token, Address, ExchangePrices, AdapterExchangeParam, SimpleExchangeParam, PoolLiquidity, Logger, PoolPrices, NumberAsString, DexExchangeParam } from '../../types'; import { SwapSide, Network } from '../../constants'; import { IDex } from '../../dex/idex'; import { IDexHelper } from '../../dex-helper/idex-helper'; import { JarvisSwapFunctions, JarvisV6Data, JarvisV6Params, JarvisV6SystemMaxVars, PoolConfig, PoolState } from './types'; import { SimpleExchange } from '../simple-exchange'; import { JarvisV6EventPool } from './jarvis-v6-events'; import { Interface } from '@ethersproject/abi'; import { Contract } from 'web3-eth-contract'; export declare class JarvisV6 extends SimpleExchange implements IDex { protected network: Network; protected dexHelper: IDexHelper; protected adapters: import("../../types").AdapterMappings; protected poolConfigs: PoolConfig[]; protected priceFeedAddress: Address; protected eventPools: { [poolAddress: string]: JarvisV6EventPool; }; readonly hasConstantPriceLargeAmounts = true; readonly isFeeOnTransferSupported = false; static dexKeysWithNetwork: { key: string; networks: Network[]; }[]; protected poolInterface: Interface; protected priceFeedContract: Contract; logger: Logger; constructor(network: Network, dexKey: string, dexHelper: IDexHelper, adapters?: import("../../types").AdapterMappings, poolConfigs?: PoolConfig[], priceFeedAddress?: Address); initializePricing(blockNumber: number): Promise; getAdapters(side: SwapSide): { name: string; index: number; }[] | null; getEventPool(srcToken: Token, destToken: Token): JarvisV6EventPool | null; getPoolIdentifiers(srcToken: Token, destToken: Token, side: SwapSide, blockNumber: number): Promise; getPoolState(pool: JarvisV6EventPool, blockNumber: number): Promise; getPricesVolume(srcToken: Token, destToken: Token, amounts: bigint[], side: SwapSide, blockNumber: number, limitPools?: string[]): Promise>; getSystemMaxVars(poolAddress: Address, blockNumber: number): Promise; computePrices(amounts: bigint[], swapFunction: JarvisSwapFunctions, { maxTokensCapacity, totalSyntheticTokens }: JarvisV6SystemMaxVars, pool: PoolConfig, poolState: PoolState): bigint[]; computePriceForMint(amount: bigint, maxTokensCapacity: bigint, poolState: PoolState, collateralDecimalsNumber: number): bigint; computePriceForRedeem(amount: bigint, poolState: PoolState, collateralDecimalsNumber: number): bigint; getSyntheticAmountToReceive(collateralAmount: bigint, collateralDecimals: number, UsdcPriceFeed: bigint, feePercentage: bigint): bigint; getCollateralAmountToReceive(syntheticAmount: bigint, collateralDecimals: number, UsdcPriceFeed: bigint, feePercentage: bigint): bigint; getAdapterParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: JarvisV6Data, side: SwapSide): AdapterExchangeParam; getSimpleParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: JarvisV6Data, side: SwapSide): Promise; getDexParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, recipient: Address, data: JarvisV6Data, side: SwapSide): DexExchangeParam; getTopPoolsForToken(tokenAddress: Address, limit: number): Promise; getCalldataGasCost(poolPrices: PoolPrices): number | number[]; }