import { Address, DexExchangeParamWithBooleanNeedWrapNative, OptimalRate, OptimalSwap, OptimalSwapExchange, TxObject } from './types'; import { AbiCoder, Interface } from '@ethersproject/abi'; import { DepositWithdrawReturn } from './dex/weth/types'; import { DexAdapterService } from './dex'; import { ExecutorDetector } from './executor/ExecutorDetector'; import { ExecutorBytecodeBuilder } from './executor/ExecutorBytecodeBuilder'; import { IDexTxBuilder } from './dex/idex'; import { SwapSide } from '@paraswap/core'; export declare class GenericSwapTransactionBuilder { protected dexAdapterService: DexAdapterService; protected wExchangeNetworkToKey: Record; augustusV6Interface: Interface; augustusV6Address: Address; erc20Interface: Interface; abiCoder: AbiCoder; executorDetector: ExecutorDetector; constructor(dexAdapterService: DexAdapterService, wExchangeNetworkToKey?: Record); protected getDepositWithdrawWethCallData(srcAmountWeth: bigint, destAmountWeth: bigint, side: SwapSide, priceRoute: OptimalRate, exchangeParams: DexExchangeParamWithBooleanNeedWrapNative[]): DepositWithdrawReturn | undefined; protected buildCalls(priceRoute: OptimalRate, minMaxAmount: string, bytecodeBuilder: ExecutorBytecodeBuilder, userAddress: string): Promise; protected _build(priceRoute: OptimalRate, minMaxAmount: string, quotedAmount: string, userAddress: Address, referrerAddress: Address | undefined, partnerAddress: Address, partnerFeePercent: string, takeSurplus: boolean, isCapSurplus: boolean, isSurplusToUser: boolean, isDirectFeeTransfer: boolean, beneficiary: Address, permit: string, uuid: string, genericWithPartnerFee: boolean): Promise<{ encoder: (...params: any[]) => string; params: (string | string[])[]; }>; protected _buildDirect(priceRoute: OptimalRate, minMaxAmount: string, quotedAmount: string, referrerAddress: Address | undefined, partnerAddress: Address, partnerFeePercent: string, takeSurplus: boolean, isCapSurplus: boolean, isSurplusToUser: boolean, isDirectFeeTransfer: boolean, permit: string, uuid: string, beneficiary: Address): Promise>; private buildFeesV6; build({ priceRoute, minMaxAmount, quotedAmount, userAddress, referrerAddress, partnerAddress, partnerFeePercent, takeSurplus, isCapSurplus, isSurplusToUser, isDirectFeeTransfer, gasPrice, maxFeePerGas, maxPriorityFeePerGas, permit, uuid, beneficiary, onlyParams, genericWithPartnerFee, }: { priceRoute: OptimalRate; minMaxAmount: string; quotedAmount?: string; userAddress: Address; referrerAddress?: Address; partnerAddress: Address; partnerFeePercent: string; takeSurplus?: boolean; isCapSurplus?: boolean; isSurplusToUser?: boolean; isDirectFeeTransfer?: boolean; gasPrice?: string; maxFeePerGas?: string; maxPriorityFeePerGas?: string; permit?: string; deadline: string; uuid: string; beneficiary?: Address; onlyParams?: boolean; genericWithPartnerFee?: boolean; }): Promise; private packPartnerAndFeeData; getExecutionContractAddress(priceRoute: OptimalRate): Address; getDexCallsParams(priceRoute: OptimalRate, routeIndex: number, swap: OptimalSwap, swapIndex: number, se: OptimalSwapExchange, minMaxAmount: string, dex: IDexTxBuilder, executionContractAddress: string): { srcToken: Address; destToken: Address; recipient: Address; srcAmount: string; destAmount: string; wethDeposit: bigint; wethWithdraw: bigint; }; private addDexExchangeApproveParams; private hasAnyRouteWithEthAndDifferentNeedWrapNative; }