import { BaseNftApi, HandleNftParams } from '@soul-wallet/extension-base/koni/api/nft/nft'; import { _SubstrateApi } from '@soul-wallet/extension-base/services/chain-service/types'; interface CollectionProperties { schemaVersion: string; offchainSchema: string; constOnChainSchema: string; variableOnChainSchema: { collectionCover: string; }; tokenPrefix: string; description: number[]; name: number[]; owner: string; } export default class QuartzNftApi extends BaseNftApi { constructor(api: _SubstrateApi | null, addresses: string[], chain: string); /** * Retrieve total number of ever created collections * * @returns number of created collection */ getCreatedCollectionCount(): Promise; /** * Retrieve all NFT token IDs owned by the address (within a collection) * * @param collectionId: Id of the collection * @param address: address of account * @returns the array of NFT token IDs */ getAddressTokens(collectionId: number, address: string): Promise; /** * Retrieve collection properties for a given Collection ID * * @param collectionId: Id of the collection * @returns collection properties */ getCollectionProperties(collectionId: number): Promise; /** * Retrieve and deserialize nft details * * * @param collectionProperties: Id of the collection * @param collectionId: Collection ID * @param tokenId: Token ID * @param locale: Output locale (default is "en") * @returns tokenData: Token data object */ getNftData(collectionProperties: CollectionProperties, collectionId: number, tokenId: number, locale?: string): Promise<{ prefix: string; collectionName: string; collectionDescription: string; collectionImage: string; properties: { [k: string]: any; }; image: string; } | undefined>; handleNft(address: string, params: HandleNftParams): Promise; handleNfts(params: HandleNftParams): Promise; fetchNfts(params: HandleNftParams): Promise; } export {};