import { Honeycomb, HoneycombFile, Operation } from "@honeycomb-protocol/hive-control"; import { CreateNftBuilderParams, JsonMetadata, Metaplex, PrintNewEditionBuilderParams } from "@metaplex-foundation/js"; import { PublicKey } from "@solana/web3.js"; /** * Represents the arguments for uploading metadata. */ export interface UploadMetadataArgs { /** The JSON metadata to upload. */ jsonMetadata: JsonMetadata; /** The optional image file to upload. */ image?: HoneycombFile; } /** * Upload JSON metadata and optionally an image. * @param honeycomb - The Honeycomb instance for managing the upload. * @param args - The arguments for uploading metadata. * @returns The URI of the uploaded metadata. */ export declare const uploadMetadata: (honeycomb: Honeycomb, args: UploadMetadataArgs) => Promise; /** * Represents the input for creating an NFT with metadata. */ type CreateNftInputWithMetadata = Omit & { /** The metadata to upload. */ metadata?: UploadMetadataArgs; /** The URI for the NFT. */ uri?: string; }; /** * Initialize Metaplex for Honeycomb. * @param hc - The Honeycomb instance to use with Metaplex. * @returns A Metaplex instance configured with Honeycomb. */ export declare const hcMetaplex: (hc: Honeycomb) => Metaplex; /** * Create an NFT operation. * @param hc - The Honeycomb instance for creating the operation. * @param m - The NFT creation parameters with optional metadata. * @returns An object containing the operation and the context. */ export declare const createNftOperation: (hc: Honeycomb, m: CreateNftBuilderParams | CreateNftInputWithMetadata) => Promise<{ operation: Operation; ctx: import("@metaplex-foundation/js").CreateNftBuilderContext; }>; export declare const printNewNftOperation: (hc: Honeycomb, m: PrintNewEditionBuilderParams, verifyCollection?: PublicKey) => Promise<{ operation: Operation; ctx: import("@metaplex-foundation/js").PrintNewEditionBuilderContext; }>; export {}; //# sourceMappingURL=createNft.d.ts.map