import { Account } from '@near-js/accounts'; import { NearContractFactory } from './near-contract.js'; import { market } from './types.js'; /** * Near Market contract factory * https://github.com/near/NEPs/tree/master/specs/Standards/NonFungibleToken */ export declare class MarketContractFactory extends NearContractFactory { /** * Contract methods for Market */ static contractMethods: { changeMethods: string[]; viewMethods: string[]; }; /** * Launch a NFT market contract * @param ownerId - Owner of the market contract * @param ftContracts - An optional list of FT token contract addresses * that can be accepted as payment options for NFT purchases * @returns */ createMarket(ownerId?: string, ftContracts?: string[], marketContractId?: string): Promise<{ marketAccount: import("./types.js").NearAccount; result: import("@near-js/types").FinalExecutionOutcome; }>; /** * Add FT token to the market contract * @param marketContract * @returns */ addFtTokenIds(marketContract: string, ftTokenIds: string[]): Promise; /** * Place an offer * @param buyer * @param marketContract * @param nftContractId * @param nftTokenId * @param amount * @returns */ offer(buyer: Account, marketContract: string, nftContractId: string, nftTokenId: string, amount: bigint): Promise; /** * Accept an offer * @param seller * @param marketContract * @param nftContractId * @param nftTokenId * @param ftTokenId * @returns */ acceptOffer(seller: string, marketContract: string, nftContractId: string, nftTokenId: string, ftTokenId?: string): Promise; /** * Get supported FT token ids * @param marketContract - Market contract account * @param ftTokenId - FT token id * @returns */ supportedFtTokenIds(marketContract: string): Promise; /** * Get storage amount for the market contract * @param marketContract - Market contract account * @returns */ storageAmount(marketContract: string): Promise; /** * Get sale by nft contract and token id * @param marketContract * @param tokenContract * @param tokenId * @returns */ getSale(marketContract: string, tokenContract: string, tokenId: string): Promise; /** * Get sales by seller account id * @param marketContract * @param accountId * @param fromIndex * @param limit * @returns */ getSalesBySeller(marketContract: string, accountId: string, fromIndex?: bigint, limit?: bigint): Promise; /** * Get sales by nft contract * @param marketContract * @param tokenContract * @param fromIndex * @param limit * @returns */ getSalesByTokenContract(marketContract: string, tokenContract: string, fromIndex?: bigint, limit?: bigint): Promise; /** * Get sales by token type * @param marketContract * @param tokenType * @param fromIndex * @param limit * @returns */ getSalesByTokenType(marketContract: string, tokenType: string, fromIndex?: bigint, limit?: bigint): Promise; /** * Get sales on the market contract by indexes * @param marketContract - Market contract * @param indexName - Index name for the listings * @param indexKey - Index key for the given index * @param batchSize - Divide the number of sales into batches * @param concurrency - Number of concurrent fetches * @returns */ getSales(marketContract: string, indexName: 'owner_id' | 'nft_token_type' | 'nft_contract_id', indexKey: string, batchSize?: number, concurrency?: number): Promise; }