quartz/wallet/node_modules/@3rdweb/sdk/dist/common/nft.d.ts
2022-03-04 20:05:23 +08:00

43 lines
1.4 KiB
TypeScript

import { LazyMintERC1155, LazyMintERC721, LazyNFT, NFT, NFTCollection, SignatureMint1155 } from "@3rdweb/contracts";
import { JSONValue, ProviderOrSigner } from "../core/types";
import { IStorage } from "../interfaces/IStorage";
/**
* The shared NFT metadata.
* @public
*/
export interface NFTMetadata {
id: string;
uri: string;
name?: string;
description?: string;
image?: string;
external_url?: string;
animation_url?: string;
properties?: Record<string, JSONValue>;
}
/**
* The shared NFT metadata, including the current owner address.
* @public
*/
export interface NFTMetadataOwner {
owner: string;
metadata: NFTMetadata;
}
/**
* @internal
*/
export declare type NFTContractTypes = NFT | NFTCollection | LazyNFT | LazyMintERC721 | LazyMintERC1155 | SignatureMint1155;
/**
/* @internal
*/
export declare function getMetadataWithoutContract(provider: ProviderOrSigner, contractAddress: string, tokenId: string, storage: IStorage): Promise<NFTMetadata>;
/**
/* @internal
*/
export declare function getTokenMetadata(contract: NFTContractTypes, tokenId: string, storage: IStorage): Promise<NFTMetadata>;
export declare function getTokenMetadataUsingStorage(contractAddress: string, provider: ProviderOrSigner, tokenId: string, storage: IStorage): Promise<NFTMetadata>;
/**
/* @internal
*/
export declare function getTokenUri(contract: NFTContractTypes, tokenId: string): Promise<string>;