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; } /** * 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; /** /* @internal */ export declare function getTokenMetadata(contract: NFTContractTypes, tokenId: string, storage: IStorage): Promise; export declare function getTokenMetadataUsingStorage(contractAddress: string, provider: ProviderOrSigner, tokenId: string, storage: IStorage): Promise; /** /* @internal */ export declare function getTokenUri(contract: NFTContractTypes, tokenId: string): Promise;