import { Interface } from '@ethersproject/abi'; import { SwapSide } from '../constants'; import { AdapterExchangeParam, SimpleExchangeParam } from '../types'; import { IDexTxBuilder } from './idex'; import { SimpleExchange } from './simple-exchange'; import { IDexHelper } from '../dex-helper'; declare enum MStableFunctions { mint = "mint", swap = "swap", redeem = "redeem" } declare type MStableData = { exchange: string; opType: MStableFunctions; isAssetContract: boolean; }; declare type MStableMint = [ _input: string, _inputQuantity: string, _minOutputQuantity: string, _recipient: string ]; declare type MStableSwap = [ _input: string, _output: string, _inputQuantity: string, _minOutputQuantity: string, _recipient: string ]; declare type MStableRedeem = [ _output: string, _mAssetQuantity: string, _minOutputQuantity: string, _recipient: string ]; declare type MStableParam = MStableMint | MStableSwap | MStableRedeem; export declare class MStable extends SimpleExchange implements IDexTxBuilder { static dexKeys: string[]; mStableAsset: Interface; constructor(dexHelper: IDexHelper); getAdapterParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: MStableData, side: SwapSide): AdapterExchangeParam; getSimpleParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: MStableData, side: SwapSide): Promise; } export {};