///
import algosdk, { Algodv2 } from "algosdk";
import { NFTAsset, UniversalARCNFTMetadata } from "./types";
import { File } from "buffer";
export { NFTAsset, UniversalARCNFTMetadata };
type NFTAssetWithFiles = {
assetData: NFTAsset;
files: File[];
};
/**
* Algorand NFT Viewer. Fetches and parses NFT metadata from Algorand blockchain given an asset id.
* @param {Algodv2} algorandClient Algorand client instance
* @returns AlgorandUtil instance
*/
export declare class AlgorandNFTViewer {
algoClient: algosdk.Algodv2;
/**
* @param {Algodv2} algorandClient Algorand client instance
* @returns AlgorandUtil instance
*/
constructor(algorandClient: Algodv2);
/**
* Get all data for a given asset including the original file for reuploading if necessary, and the metadata
* @param {number} assetId the asset id of the asset to get data for
* @returns {NFTAsset} the asset data
*/
getAssetMetadata(assetId: number, isMainNet: boolean): Promise;
getNFTAssetData(assetId: number, isMainNet?: boolean): Promise;
getNFTAssetDataWithFiles(assetIndex: number, isMainNet?: boolean): Promise;
/**
* Extract all fields as a JSON object from a given asset, returned as Key Value Pairs which can be rendered
* @param {NFTAsset} NFTAsset the asset to extract fields from
* @returns {object} the extracted fields
*/
getMetadataFields(assetData: NFTAsset): Record;
/**
* Get property, if it's defined, from NFTAsset. E.g. "description"
* @param {NFTAsset} NFTAsset the asset to extract fields from
* @returns {any} the extracted property
*/
getProperty(assetData?: NFTAsset, property?: string): any;
}
//# sourceMappingURL=index.d.ts.map