import type { EVMAddress } from "@rarible/ethereum-api-client"; import type { Ethereum, EthereumContract } from "@rarible/ethereum-provider"; export declare function createSudoswapRouterV1Contract(ethereum: Ethereum, address?: EVMAddress): EthereumContract; export declare const SUDOSWAP_ROUTER_V1_ABI: readonly [{ readonly inputs: readonly [{ readonly internalType: "contract ILSSVMPairFactoryLike"; readonly name: "_factory"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly inputs: readonly []; readonly name: "factory"; readonly outputs: readonly [{ readonly internalType: "contract ILSSVMPairFactoryLike"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract ERC20"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }, { readonly internalType: "enum ILSSVMPairFactoryLike.PairVariant"; readonly name: "variant"; readonly type: "uint8"; }]; readonly name: "pairTransferERC20From"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract IERC721"; readonly name: "nft"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "id"; readonly type: "uint256"; }, { readonly internalType: "enum ILSSVMPairFactoryLike.PairVariant"; readonly name: "variant"; readonly type: "uint8"; }]; readonly name: "pairTransferNFTFrom"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "contract LSSVMPair"; readonly name: "pair"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "numItems"; readonly type: "uint256"; }]; readonly internalType: "struct LSSVMRouter.PairSwapAny"; readonly name: "swapInfo"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "maxCost"; readonly type: "uint256"; }]; readonly internalType: "struct LSSVMRouter.RobustPairSwapAny[]"; readonly name: "swapList"; readonly type: "tuple[]"; }, { readonly internalType: "uint256"; readonly name: "inputAmount"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "nftRecipient"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }]; readonly name: "robustSwapERC20ForAnyNFTs"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "remainingValue"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "contract LSSVMPair"; readonly name: "pair"; readonly type: "address"; }, { readonly internalType: "uint256[]"; readonly name: "nftIds"; readonly type: "uint256[]"; }]; readonly internalType: "struct LSSVMRouter.PairSwapSpecific"; readonly name: "swapInfo"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "maxCost"; readonly type: "uint256"; }]; readonly internalType: "struct LSSVMRouter.RobustPairSwapSpecific[]"; readonly name: "swapList"; readonly type: "tuple[]"; }, { readonly internalType: "uint256"; readonly name: "inputAmount"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "nftRecipient"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }]; readonly name: "robustSwapERC20ForSpecificNFTs"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "remainingValue"; readonly type: "uint256"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "contract LSSVMPair"; readonly name: "pair"; readonly type: "address"; }, { readonly internalType: "uint256[]"; readonly name: "nftIds"; readonly type: "uint256[]"; }]; readonly internalType: "struct LSSVMRouter.PairSwapSpecific"; readonly name: "swapInfo"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "maxCost"; readonly type: "uint256"; }]; readonly internalType: "struct LSSVMRouter.RobustPairSwapSpecific[]"; readonly name: "tokenToNFTTrades"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "contract LSSVMPair"; readonly name: "pair"; readonly type: "address"; }, { readonly internalType: "uint256[]"; readonly name: "nftIds"; readonly type: "uint256[]"; }]; readonly internalType: "struct LSSVMRouter.PairSwapSpecific"; readonly name: "swapInfo"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "minOutput"; readonly type: "uint256"; }]; readonly internalType: "struct LSSVMRouter.RobustPairSwapSpecificForToken[]"; readonly name: "nftToTokenTrades"; readonly type: "tuple[]"; }, { readonly internalType: "uint256"; readonly name: "inputAmount"; readonly type: "uint256"; }, { readonly internalType: "address payable"; readonly name: "tokenRecipient"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "nftRecipient"; readonly type: "address"; }]; readonly internalType: "struct LSSVMRouter.RobustPairNFTsFoTokenAndTokenforNFTsTrade"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "robustSwapERC20ForSpecificNFTsAndNFTsToToken"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "remainingValue"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "outputAmount"; readonly type: "uint256"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "contract LSSVMPair"; readonly name: "pair"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "numItems"; readonly type: "uint256"; }]; readonly internalType: "struct LSSVMRouter.PairSwapAny"; readonly name: "swapInfo"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "maxCost"; readonly type: "uint256"; }]; readonly internalType: "struct LSSVMRouter.RobustPairSwapAny[]"; readonly name: "swapList"; readonly type: "tuple[]"; }, { readonly internalType: "address payable"; readonly name: "ethRecipient"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "nftRecipient"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }]; readonly name: "robustSwapETHForAnyNFTs"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "remainingValue"; readonly type: "uint256"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "contract LSSVMPair"; readonly name: "pair"; readonly type: "address"; }, { readonly internalType: "uint256[]"; readonly name: "nftIds"; readonly type: "uint256[]"; }]; readonly internalType: "struct LSSVMRouter.PairSwapSpecific"; readonly name: "swapInfo"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "maxCost"; readonly type: "uint256"; }]; readonly internalType: "struct LSSVMRouter.RobustPairSwapSpecific[]"; readonly name: "swapList"; readonly type: "tuple[]"; }, { readonly internalType: "address payable"; readonly name: "ethRecipient"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "nftRecipient"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }]; readonly name: "robustSwapETHForSpecificNFTs"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "remainingValue"; readonly type: "uint256"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "contract LSSVMPair"; readonly name: "pair"; readonly type: "address"; }, { readonly internalType: "uint256[]"; readonly name: "nftIds"; readonly type: "uint256[]"; }]; readonly internalType: "struct LSSVMRouter.PairSwapSpecific"; readonly name: "swapInfo"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "maxCost"; readonly type: "uint256"; }]; readonly internalType: "struct LSSVMRouter.RobustPairSwapSpecific[]"; readonly name: "tokenToNFTTrades"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "contract LSSVMPair"; readonly name: "pair"; readonly type: "address"; }, { readonly internalType: "uint256[]"; readonly name: "nftIds"; readonly type: "uint256[]"; }]; readonly internalType: "struct LSSVMRouter.PairSwapSpecific"; readonly name: "swapInfo"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "minOutput"; readonly type: "uint256"; }]; readonly internalType: "struct LSSVMRouter.RobustPairSwapSpecificForToken[]"; readonly name: "nftToTokenTrades"; readonly type: "tuple[]"; }, { readonly internalType: "uint256"; readonly name: "inputAmount"; readonly type: "uint256"; }, { readonly internalType: "address payable"; readonly name: "tokenRecipient"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "nftRecipient"; readonly type: "address"; }]; readonly internalType: "struct LSSVMRouter.RobustPairNFTsFoTokenAndTokenforNFTsTrade"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "robustSwapETHForSpecificNFTsAndNFTsToToken"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "remainingValue"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "outputAmount"; readonly type: "uint256"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "contract LSSVMPair"; readonly name: "pair"; readonly type: "address"; }, { readonly internalType: "uint256[]"; readonly name: "nftIds"; readonly type: "uint256[]"; }]; readonly internalType: "struct LSSVMRouter.PairSwapSpecific"; readonly name: "swapInfo"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "minOutput"; readonly type: "uint256"; }]; readonly internalType: "struct LSSVMRouter.RobustPairSwapSpecificForToken[]"; readonly name: "swapList"; readonly type: "tuple[]"; }, { readonly internalType: "address payable"; readonly name: "tokenRecipient"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }]; readonly name: "robustSwapNFTsForToken"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "outputAmount"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "contract LSSVMPair"; readonly name: "pair"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "numItems"; readonly type: "uint256"; }]; readonly internalType: "struct LSSVMRouter.PairSwapAny[]"; readonly name: "swapList"; readonly type: "tuple[]"; }, { readonly internalType: "uint256"; readonly name: "inputAmount"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "nftRecipient"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }]; readonly name: "swapERC20ForAnyNFTs"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "remainingValue"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "contract LSSVMPair"; readonly name: "pair"; readonly type: "address"; }, { readonly internalType: "uint256[]"; readonly name: "nftIds"; readonly type: "uint256[]"; }]; readonly internalType: "struct LSSVMRouter.PairSwapSpecific[]"; readonly name: "swapList"; readonly type: "tuple[]"; }, { readonly internalType: "uint256"; readonly name: "inputAmount"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "nftRecipient"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }]; readonly name: "swapERC20ForSpecificNFTs"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "remainingValue"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "contract LSSVMPair"; readonly name: "pair"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "numItems"; readonly type: "uint256"; }]; readonly internalType: "struct LSSVMRouter.PairSwapAny[]"; readonly name: "swapList"; readonly type: "tuple[]"; }, { readonly internalType: "address payable"; readonly name: "ethRecipient"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "nftRecipient"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }]; readonly name: "swapETHForAnyNFTs"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "remainingValue"; readonly type: "uint256"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "contract LSSVMPair"; readonly name: "pair"; readonly type: "address"; }, { readonly internalType: "uint256[]"; readonly name: "nftIds"; readonly type: "uint256[]"; }]; readonly internalType: "struct LSSVMRouter.PairSwapSpecific[]"; readonly name: "swapList"; readonly type: "tuple[]"; }, { readonly internalType: "address payable"; readonly name: "ethRecipient"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "nftRecipient"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }]; readonly name: "swapETHForSpecificNFTs"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "remainingValue"; readonly type: "uint256"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "contract LSSVMPair"; readonly name: "pair"; readonly type: "address"; }, { readonly internalType: "uint256[]"; readonly name: "nftIds"; readonly type: "uint256[]"; }]; readonly internalType: "struct LSSVMRouter.PairSwapSpecific[]"; readonly name: "nftToTokenTrades"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "contract LSSVMPair"; readonly name: "pair"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "numItems"; readonly type: "uint256"; }]; readonly internalType: "struct LSSVMRouter.PairSwapAny[]"; readonly name: "tokenToNFTTrades"; readonly type: "tuple[]"; }]; readonly internalType: "struct LSSVMRouter.NFTsForAnyNFTsTrade"; readonly name: "trade"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "inputAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minOutput"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "nftRecipient"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }]; readonly name: "swapNFTsForAnyNFTsThroughERC20"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "outputAmount"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "contract LSSVMPair"; readonly name: "pair"; readonly type: "address"; }, { readonly internalType: "uint256[]"; readonly name: "nftIds"; readonly type: "uint256[]"; }]; readonly internalType: "struct LSSVMRouter.PairSwapSpecific[]"; readonly name: "nftToTokenTrades"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "contract LSSVMPair"; readonly name: "pair"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "numItems"; readonly type: "uint256"; }]; readonly internalType: "struct LSSVMRouter.PairSwapAny[]"; readonly name: "tokenToNFTTrades"; readonly type: "tuple[]"; }]; readonly internalType: "struct LSSVMRouter.NFTsForAnyNFTsTrade"; readonly name: "trade"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "minOutput"; readonly type: "uint256"; }, { readonly internalType: "address payable"; readonly name: "ethRecipient"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "nftRecipient"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }]; readonly name: "swapNFTsForAnyNFTsThroughETH"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "outputAmount"; readonly type: "uint256"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "contract LSSVMPair"; readonly name: "pair"; readonly type: "address"; }, { readonly internalType: "uint256[]"; readonly name: "nftIds"; readonly type: "uint256[]"; }]; readonly internalType: "struct LSSVMRouter.PairSwapSpecific[]"; readonly name: "nftToTokenTrades"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "contract LSSVMPair"; readonly name: "pair"; readonly type: "address"; }, { readonly internalType: "uint256[]"; readonly name: "nftIds"; readonly type: "uint256[]"; }]; readonly internalType: "struct LSSVMRouter.PairSwapSpecific[]"; readonly name: "tokenToNFTTrades"; readonly type: "tuple[]"; }]; readonly internalType: "struct LSSVMRouter.NFTsForSpecificNFTsTrade"; readonly name: "trade"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "inputAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minOutput"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "nftRecipient"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }]; readonly name: "swapNFTsForSpecificNFTsThroughERC20"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "outputAmount"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "contract LSSVMPair"; readonly name: "pair"; readonly type: "address"; }, { readonly internalType: "uint256[]"; readonly name: "nftIds"; readonly type: "uint256[]"; }]; readonly internalType: "struct LSSVMRouter.PairSwapSpecific[]"; readonly name: "nftToTokenTrades"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "contract LSSVMPair"; readonly name: "pair"; readonly type: "address"; }, { readonly internalType: "uint256[]"; readonly name: "nftIds"; readonly type: "uint256[]"; }]; readonly internalType: "struct LSSVMRouter.PairSwapSpecific[]"; readonly name: "tokenToNFTTrades"; readonly type: "tuple[]"; }]; readonly internalType: "struct LSSVMRouter.NFTsForSpecificNFTsTrade"; readonly name: "trade"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "minOutput"; readonly type: "uint256"; }, { readonly internalType: "address payable"; readonly name: "ethRecipient"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "nftRecipient"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }]; readonly name: "swapNFTsForSpecificNFTsThroughETH"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "outputAmount"; readonly type: "uint256"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "contract LSSVMPair"; readonly name: "pair"; readonly type: "address"; }, { readonly internalType: "uint256[]"; readonly name: "nftIds"; readonly type: "uint256[]"; }]; readonly internalType: "struct LSSVMRouter.PairSwapSpecific[]"; readonly name: "swapList"; readonly type: "tuple[]"; }, { readonly internalType: "uint256"; readonly name: "minOutput"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "tokenRecipient"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }]; readonly name: "swapNFTsForToken"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "outputAmount"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly stateMutability: "payable"; readonly type: "receive"; }];