import type { Address, BigIntish, MarketplacePrice, MarketplaceQuote, Permit2Quote, TokenIds, QuoteToken } from '@nftx/types'; export type BuyArgs = { network?: number; type: 'buy'; vaultId: string; tokenIds: TokenIds; }; export type SellArgs = { network?: number; type: 'sell'; vaultId: string; tokenIds: TokenIds; }; export type SwapArgs = { network?: number; type: 'swap'; vaultId: string; mintTokenIds: TokenIds; redeemTokenIds: TokenIds; }; export type MintArgs = { network?: number; type: 'mint'; vaultId: string; tokenIds: TokenIds; }; export type RedeemArgs = { network?: number; type: 'redeem'; vaultId: string; tokenIds: TokenIds; }; export type TokenArgs = { network?: number; type: 'erc20'; buyToken: QuoteToken; sellToken: QuoteToken; buyAmount?: BigIntish; sellAmount?: BigIntish; }; type PriceArgs = { quoteType: 'price'; }; type QuoteArgs = { quoteType?: 'quote'; userAddress: Address; slippagePercentage?: number; permit2?: Permit2Quote; }; /** Returns an on-chain quote for a transaction. The response object can be passed into @nftx/trade's fulfill method to execute the quote */ declare function fetchQuote(args: BuyArgs & PriceArgs): Promise; declare function fetchQuote(args: BuyArgs & QuoteArgs): Promise; declare function fetchQuote(args: SellArgs & PriceArgs): Promise; declare function fetchQuote(args: SellArgs & QuoteArgs): Promise; declare function fetchQuote(args: SwapArgs & PriceArgs): Promise; declare function fetchQuote(args: SwapArgs & QuoteArgs): Promise; declare function fetchQuote(args: MintArgs & PriceArgs): Promise; declare function fetchQuote(args: MintArgs & QuoteArgs): Promise; declare function fetchQuote(args: RedeemArgs & PriceArgs): Promise; declare function fetchQuote(args: RedeemArgs & QuoteArgs): Promise; declare function fetchQuote(args: TokenArgs & PriceArgs): Promise; declare function fetchQuote(args: TokenArgs & QuoteArgs): Promise; export default fetchQuote;