import type { UnionAddress } from "@rarible/types"; export declare enum IPFSUploadProvider { PINATA = "pinata", IPFS_UPLOAD = "ipfs-upload", NFT_STORAGE = "nft-storage" } export type IPFSHash = string & { isIPFSHash: true; }; export type IPFSServiceResponse = { ipfsHash: IPFSHash; size?: number; }; export type IPFSUploadResponse = { ipfsHash: IPFSHash; pinSize?: number; }; export type NftStorageResponse = { value: { cid: IPFSHash; size: number; }; }; export type MintProperties = { name: string; description?: string; image?: File; animationUrl?: File; attributes: MintAttribute[]; }; export type MintAttribute = { key: string; value: string; }; export type MetaUploadRequest = { nftStorageApiKey: string; properties: MintProperties; royalty?: string; accountAddress: UnionAddress; }; export type UploadMetaResponse = { originalFile: File; URL: string; IPFSURL: IPFSHash; }; export type UploadedFolder = { hash: IPFSHash; files: Record; };