import { Interface } from '@ethersproject/abi'; import { SwapSide } from '../constants'; import { AdapterExchangeParam, Address, DexExchangeParam, SimpleExchangeParam } from '../types'; import { IDexTxBuilder } from './idex'; import { SimpleExchange } from './simple-exchange'; import { NumberAsString } from '@paraswap/core'; import { IDexHelper } from '../dex-helper'; export type DodoV2Data = { dodoPairs: Address[]; directions: string; deadLine: string; dodoProxy: Address; }; type DodoSwapV2ETHToTokenParams = [ toToken: Address, minReturnAmount: NumberAsString, dodoPairs: Address[], directions: NumberAsString, isIncentive: boolean, deadLine: NumberAsString ]; type DodoSwapV2TokenToETHParams = [ fromToken: Address, fromTokenAmount: NumberAsString, minReturnAmount: NumberAsString, dodoPairs: Address[], directions: NumberAsString, isIncentive: boolean, deadLine: NumberAsString ]; type DodoSwapV2TokenToTokenParams = [ fromToken: Address, toToken: Address, fromTokenAmount: NumberAsString, minReturnAmount: NumberAsString, dodoPairs: Address[], directions: NumberAsString, isIncentive: boolean, deadLine: NumberAsString ]; type DodoV2Param = DodoSwapV2ETHToTokenParams | DodoSwapV2TokenToETHParams | DodoSwapV2TokenToTokenParams; export declare class DodoV2 extends SimpleExchange implements IDexTxBuilder { static dexKeys: string[]; exchangeRouterInterface: Interface; needWrapNative: boolean; constructor(dexHelper: IDexHelper); getAdapterParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: DodoV2Data, side: SwapSide): AdapterExchangeParam; getSimpleParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: DodoV2Data, side: SwapSide): Promise; getDexParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, _recipient: Address, data: DodoV2Data, _side: SwapSide): DexExchangeParam; } export {};