import { BigNumberish } from 'ethers'; import { ExchangeModuleConfiguration, TransactionResponse } from './types'; export declare class Exchange { private provider; private batchProvider; private router; private chainId; private nativeToken; private wrappedNativeToken; private secondaryFees; private nativeTokenService; private swapProxyContractAddress; private routerContractAddress; constructor(configuration: ExchangeModuleConfiguration); private static validate; private getSecondaryFees; private parseTokenLiteral; private getUnwrapTransaction; private getWrapTransaction; private getUnsignedWrapUnwrapTx; private getUnsignedSwapTx; /** * Get the unsigned swap transaction given the amount to sell. * Includes quote details for the swap. * * @param {string} fromAddress The public address that will sign and submit the transaction * @param {string} tokenInAddress Token address or 'native' to sell * @param {string} tokenOutAddress Token address or 'native' to buy * @param {ethers.BigNumberish} amountIn Amount to sell in the smallest unit of the token-in * @param {number} slippagePercent (optional) The percentage of slippage tolerance. Default = 0.1. Max = 50. Min = 0 * @param {number} maxHops (optional) Maximum hops allowed in optimal route. Default is 2 * @param {number} deadline (optional) Latest time swap can execute. Default is 15 minutes * @return {TransactionResponse} The result containing the unsigned transaction and details of the swap */ getUnsignedSwapTxFromAmountIn(fromAddress: string, tokenInAddress: string, tokenOutAddress: string, amountIn: BigNumberish, slippagePercent?: number, maxHops?: number, deadline?: number): Promise; /** * Get the unsigned swap transaction given the amount to buy. * Includes quote details for the swap. * * @param {string} fromAddress The public address that will sign and submit the transaction * @param {string} tokenInAddress ERC20 contract address or 'native' to sell * @param {string} tokenOutAddress ERC20 contract address or 'native' to buy * @param {ethers.BigNumberish} amountOut Amount to buy in the smallest unit of the token-out * @param {number} slippagePercent (optional) The percentage of slippage tolerance. Default = 0.1. Max = 50. Min = 0 * @param {number} maxHops (optional) Maximum hops allowed in optimal route. Default is 2 * @param {number} deadline (optional) Latest time swap can execute. Default is 15 minutes * @return {TransactionResponse} The result containing the unsigned transaction and details of the swap */ getUnsignedSwapTxFromAmountOut(fromAddress: string, tokenInAddress: string, tokenOutAddress: string, amountOut: BigNumberish, slippagePercent?: number, maxHops?: number, deadline?: number): Promise; }