import { Interface } from '@ethersproject/abi'; import { Currency, TradeType } from 'blast-mainnet-few-sdk-core-2'; import { MethodParameters } from 'blast-mainnet-few-v3-sdk-8'; import { BigNumberish } from 'ethers/lib/ethers'; import { Trade as RouterTrade } from 'blast-mainnet-few-router-sdk-20'; import { Command } from './entities/Command'; import { NFTTrade, SupportedProtocolsData } from './entities/NFTTrade'; import { SwapOptions } from './entities/protocols/uniswap'; declare type SwapRouterConfig = { sender?: string; deadline?: BigNumberish; }; declare type SupportedNFTTrade = NFTTrade; export declare abstract class SwapRouter { static INTERFACE: Interface; static swapCallParameters(trades: Command[] | Command, config?: SwapRouterConfig): MethodParameters; /** * @deprecated in favor of swapCallParameters. Update before next major version 2.0.0 * This version does not work correctly for Seaport ERC20->NFT purchases * Produces the on-chain method name to call and the hex encoded parameters to pass as arguments for a given swap. * @param trades to produce call parameters for */ static swapNFTCallParameters(trades: SupportedNFTTrade[], config?: SwapRouterConfig): MethodParameters; /** * @deprecated in favor of swapCallParameters. Update before next major version 2.0.0 * Produces the on-chain method name to call and the hex encoded parameters to pass as arguments for a given trade. * @param trades to produce call parameters for * @param options options for the call parameters */ static swapERC20CallParameters(trades: RouterTrade, options: SwapOptions): MethodParameters; /** * Encodes a planned route into a method name and parameters for the Router contract. * @param planner the planned route * @param nativeCurrencyValue the native currency value of the planned route * @param config the router config */ private static encodePlan; } export {};