import { IRouter } from './irouter'; import { Address, OptimalRate, ConstractSimpleData, TxInfo } from '../types'; import { SwapSide } from '../constants'; import { Interface } from '@ethersproject/abi'; import { DexAdapterService } from '../dex'; type SimpleSwapParam = [ConstractSimpleData]; export type PartialContractSimpleData = Pick; export declare abstract class SimpleRouterBase implements IRouter { protected dexAdapterService: DexAdapterService; protected side: SwapSide; protected contractMethodName: string; protected wExchangeNetworkToKey: Record; paraswapInterface: Interface; constructor(dexAdapterService: DexAdapterService, side: SwapSide, contractMethodName?: string, wExchangeNetworkToKey?: Record); getContractMethodName(): string; private buildPartialContractSimpleData; protected buildCalls(priceRoute: OptimalRate, minMaxAmount: string): Promise<{ partialContractSimpleData: PartialContractSimpleData; networkFee: string; }>; abstract build(priceRoute: OptimalRate, minMaxAmount: string, userAddress: Address, referrerAddress: Address | undefined, partnerAddress: Address, partnerFeePercent: string, takeSurplus: boolean, beneficiary: Address, permit: string, deadline: string, uuid: string): Promise>; protected getDepositWithdrawWethCallData(srcAmountWeth: bigint, destAmountWeth: bigint): import("../dex/weth/types").DepositWithdrawReturn | undefined; } export declare abstract class SimpleRouter extends SimpleRouterBase { constructor(dexAdapterService: DexAdapterService, side: SwapSide, contractMethodName: string); protected validateBestRoute(priceRoute: OptimalRate): boolean; build(priceRoute: OptimalRate, minMaxAmount: string, userAddress: Address, referrerAddress: Address | undefined, partnerAddress: Address, partnerFeePercent: string, takeSurplus: boolean, beneficiary: Address, permit: string, deadline: string, uuid: string): Promise>; } export declare class SimpleSwap extends SimpleRouter { static isBuy: boolean; constructor(dexAdapterService: DexAdapterService); } export declare class SimpleBuy extends SimpleRouter { static isBuy: boolean; constructor(dexAdapterService: DexAdapterService); protected validateBestRoute(priceRoute: OptimalRate): boolean; } export {};