import { TransactionRequest } from 'ethers'; import { AbiItem, FreCreationParams, DatatokenCreateParams, DispenserCreationParams, NftCreateData, Template, TokenOrder, ReceiptOrEstimate } from '../@types/index.js'; import { SmartContractWithAddress } from './SmartContractWithAddress.js'; /** * Provides an interface for NFT Factory contract */ export declare class NftFactory extends SmartContractWithAddress { getDefaultAbi(): AbiItem[]; /** * Create new data NFT * @param {NFTCreateData} nftData The data needed to create an NFT. * @param {Boolean} [estimateGas] if True, return gas estimate * @return {Promise} The transaction hash or the gas estimate. */ createNFT(nftData: NftCreateData, estimateGas?: G): Promise; createNFTTx(nftData: NftCreateData): Promise; /** * Get Current NFT Count (NFT created) * @return {Promise} Number of NFT created from this factory */ getCurrentNFTCount(): Promise; /** * Get Current Datatoken Count * @return {Promise} Number of DTs created from this factory */ getCurrentTokenCount(): Promise; /** * Get Factory Owner * @return {Promise} Factory Owner address */ getOwner(): Promise; /** * Get Current NFT Template Count * @return {Promise} Number of NFT Template added to this factory */ getCurrentNFTTemplateCount(): Promise; /** * Get Current Template Datatoken (ERC20) Count * @return {Promise} Number of Datatoken Template added to this factory */ getCurrentTokenTemplateCount(): Promise; /** * Get NFT Template * @param {number} index Template index * @return {Promise