import { NftHolding } from "./hiro-api.js"; import { type Network } from "../config/index.js"; import { type Account, type TransferResult } from "../transactions/builder.js"; export interface NftInfo { contractId: string; tokenId: number; owner: string; metadata?: unknown; } export interface NftCollectionInfo { contractId: string; name?: string; totalSupply?: number; functions: string[]; } export interface NftTransferEvent { sender: string; recipient: string; tokenId: string; txId: string; blockHeight: number; } export declare class NftService { private network; private hiro; constructor(network: Network); /** * Get all NFTs owned by an address */ getHoldings(address: string, options?: { limit?: number; offset?: number; contractId?: string; }): Promise<{ total: number; nfts: NftHolding[]; }>; /** * Get NFT metadata */ getMetadata(contractId: string, tokenId: number): Promise; /** * Get NFT owner by calling the contract */ getOwner(contractId: string, tokenId: number, senderAddress: string): Promise; /** * Get collection information */ getCollectionInfo(contractId: string): Promise; /** * Get NFT transfer history */ getHistory(contractId: string, options?: { limit?: number; offset?: number; }): Promise<{ total: number; events: NftTransferEvent[]; }>; /** * Transfer an NFT (SIP-009 standard) * @param fee Optional fee in micro-STX. If omitted, fee is auto-estimated. */ transfer(account: Account, contractId: string, tokenId: number, recipient: string, fee?: bigint): Promise; /** * Mint an NFT (contract-specific, not part of SIP-009) */ mint(account: Account, contractId: string, recipient: string, mintFunctionName?: string): Promise; } export declare function getNftService(network: Network): NftService; //# sourceMappingURL=nft.service.d.ts.map