import { Interface } from '@ethersproject/abi'; import { SwapSide } from '../../constants'; import { SimpleExchange } from '../simple-exchange'; import type { IDexTxBuilder } from '../idex'; import type { AdapterExchangeParam, Address, DexExchangeParam, NumberAsString, SimpleExchangeParam, TxInfo } from '../../types'; import { type ZeroXData, type ZeroXParam } from './types'; import { IDexHelper } from '../../dex-helper'; export declare class ZeroX extends SimpleExchange implements IDexTxBuilder { static dexKeys: string[]; routerInterface: Interface; needWrapNative: boolean; constructor(dexHelper: IDexHelper); private getExchange; protected buildSimpleSwapData(data: ZeroXData, srcAmount: NumberAsString): string; protected buildPayload(data: ZeroXData): string; getAdapterParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, toAmount: NumberAsString, // required for buy case data: ZeroXData, side: SwapSide): AdapterExchangeParam; getSimpleParam(src: Address, dest: Address, srcAmount: NumberAsString, destAmount: NumberAsString, data: ZeroXData, side: SwapSide): Promise; getDexParam(_srcToken: Address, _destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, _recipient: Address, data: ZeroXData, side: SwapSide): DexExchangeParam; getDirectParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, expectedAmount: NumberAsString, data: ZeroXData, side: SwapSide, permit: string, uuid: string, feePercent: NumberAsString, deadline: NumberAsString, partner: string, beneficiary: string, contractMethod?: string): TxInfo; static getDirectFunctionName(): string[]; }