import { ethers } from 'ethers'; import { Provider } from '@ethersproject/providers'; import { BaseTransactionWrapper } from './base-transaction-wrapper'; import { TransactionOptions } from '../types'; /** * Wrapper for AccountNFT contract, used for minting and managing Account NFTs */ export declare class AccountNFTWrapper extends BaseTransactionWrapper { private _accountNFT; /** * Create AccountNFT wrapper instance * @param provider Provider instance * @param signer Signer instance */ constructor(provider: Provider, signer: ethers.Signer); /** * Get AccountNFT contract instance * @returns AccountNFT contract instance */ private getAccountNFT; /** * Mint a new AccountNFT * @param to Recipient address * @param uri Metadata URI * @param name Account name * @param description Account description * @param options Transaction options * @returns Transaction object and minted NFT ID */ mint(to: string, uri: string, name: string, description: string, options?: TransactionOptions): Promise<{ tx: ethers.ContractTransaction; tokenId: ethers.BigNumber; }>; /** * Get URI for a specific NFT * @param tokenId NFT ID * @returns NFT's metadata URI */ tokenURI(tokenId: ethers.BigNumber | number | string): Promise; /** * Check if a specific address is the owner of a specific NFT * @param address Address to check * @param tokenId NFT ID * @returns true if the address is the owner; otherwise false */ isOwnerOf(address: string, tokenId: ethers.BigNumber | number | string): Promise; /** * Get the owner of a specific NFT * @param tokenId NFT ID * @returns Owner address */ ownerOf(tokenId: ethers.BigNumber | number | string): Promise; /** * Get total supply of AccountNFTs * @returns Total supply */ totalSupply(): Promise; /** * Get balance of an address * @param owner Owner address * @returns Number of NFTs owned */ balanceOf(owner: string): Promise; /** * Update account information for a token * @param tokenId Token ID * @param name New account name * @param description New account description * @param options Transaction options * @returns Transaction object */ updateAccountInfo(tokenId: ethers.BigNumber | number | string, name: string, description: string, options?: TransactionOptions): Promise; /** * Get account information for a token * @param tokenId Token ID * @returns Account information */ getAccountInfo(tokenId: ethers.BigNumber | number | string): Promise<{ name: string; establishedAt: ethers.BigNumber; description: string; }>; } //# sourceMappingURL=account-nft-wrapper.d.ts.map