import { AsyncOrSync } from 'ts-essentials'; import { Token, Address, ExchangePrices, PoolPrices, AdapterExchangeParam, PoolLiquidity, Logger, NumberAsString, DexExchangeParam } from '../../types'; import { SwapSide, Network } from '../../constants'; import { IDex } from '../../dex/idex'; import { IDexHelper } from '../../dex-helper/idex-helper'; import { AngleTransmuterData, DexParams } from './types'; import { SimpleExchange } from '../simple-exchange'; import { AngleTransmuterEventPool } from './angle-transmuter-pool'; import { Interface } from 'ethers/lib/utils'; export declare class AngleTransmuter extends SimpleExchange implements IDex { readonly network: Network; readonly dexKey: string; readonly dexHelper: IDexHelper; protected adapters: import("../../types").AdapterMappings; protected params: DexParams; protected eventPools: { [key: string]: AngleTransmuterEventPool; }; protected supportedTokensMap: { [key: string]: { [address: string]: boolean; }; }; protected supportedTokens: { [key: string]: Token[]; }; protected transmuterUSDLiquidity: { [key: string]: number; }; stablecoinList: string[]; static erc20Interface: Interface; readonly hasConstantPriceLargeAmounts = false; readonly needWrapNative = true; readonly isFeeOnTransferSupported = false; static dexKeysWithNetwork: { key: string; networks: Network[]; }[]; logger: Logger; constructor(network: Network, dexKey: string, dexHelper: IDexHelper, adapters?: import("../../types").AdapterMappings, params?: DexParams); initializePricing(blockNumber: number): Promise; getAdapters(side: SwapSide): { name: string; index: number; }[] | null; getPoolIdentifiers(srcToken: Token, destToken: Token, side: SwapSide, blockNumber: number): Promise; getPricesVolume(srcToken: Token, destToken: Token, amounts: bigint[], side: SwapSide, blockNumber: number, limitPools?: string[]): Promise>; getCalldataGasCost(poolPrices: PoolPrices): number | number[]; getAdapterParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: AngleTransmuterData, side: SwapSide): AdapterExchangeParam; getDexParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, recipient: Address, data: AngleTransmuterData, side: SwapSide, executorAddress: Address): DexExchangeParam; updatePoolState(): Promise; getTopPoolsForToken(tokenAddress: Address, limit: number): Promise; releaseResources(): AsyncOrSync; _knownAddress(srcToken: Token, destToken: Token): { agToken: string; fiatName: string; } | null; }