import { ethers } from 'ethers'; import { Provider } from '@ethersproject/providers'; import { BaseApi } from './base-api'; import { VideoMetadata } from '../utils'; import { TransactionOptions } from '../types'; /** * ContentNFT API module, providing functionality related to Content NFT minting */ export declare class ContentNFTApi extends BaseApi { private _contentNFTWrapper; /** * Create ContentNFT API instance * @param provider Provider instance * @param signer Signer instance */ constructor(provider: Provider, signer: ethers.Signer); /** * Mint Content NFT * @param to Recipient address * @param metadata Content metadata * @param options Transaction options * @returns Transaction object and token ID */ mint(to: string, metadata: VideoMetadata, options?: TransactionOptions): Promise<{ tx: ethers.ContractTransaction; tokenId: ethers.BigNumber; }>; /** * Get ContentNFT details * @param tokenId Token ID * @returns ContentNFT metadata */ getContentNFTDetails(tokenId: ethers.BigNumber | number | string): Promise<{ tokenId: ethers.BigNumber; uri: string; owner: string; seriesTitle: string; description: string; totalSeasons: ethers.BigNumber; totalEpisodes: ethers.BigNumber; genres: string[]; creators: string[]; createdAt: ethers.BigNumber; posterUri: string; }>; /** * Set media details for a ContentNFT * @param tokenId Token ID * @param mediaData Media information * @param options Transaction options * @returns Transaction object */ setMediaDetails(tokenId: ethers.BigNumber | number | string, mediaData: { seriesTitle: string; description: string; totalSeasons: number; totalEpisodes: number; genres: string[]; creators: string[]; posterUri: string; }, options?: TransactionOptions): Promise; /** * Check if a user is the owner of a ContentNFT * @param tokenId Token ID * @param address User address * @returns Whether the user is the owner */ isOwner(tokenId: ethers.BigNumber | number | string, address: string): Promise; /** * Get ContentNFT token URI * @param tokenId Token ID * @returns Token URI */ getTokenURI(tokenId: ethers.BigNumber | number | string): Promise; /** * Get ContentNFT owner * @param tokenId Token ID * @returns Owner address */ getOwner(tokenId: ethers.BigNumber | number | string): Promise; /** * Process connection update */ protected onConnectionUpdated(): Promise; } //# sourceMappingURL=content-nft-api.d.ts.map