import { Method } from 'axios'; import { Executable } from './executable'; /** * The input object to the CreateProduct class constructor. */ export interface CreateProductInput { /** * The name of the product */ name: string; /** * A description used to sell the product. */ description?: string; /** * The category identifier for the product used for grouping and display purposes. */ category_id?: string; /** * An image used to sell a product, this should be a URL. */ image?: string; /** * The payload added to the NFT during minting. */ payload?: any; /** * Any additional JSON data to be stored against the product record for display purposes. */ metadata?: any; /** * The price of the product in the currency denomination. */ prices?: { price: number; currency: string; }[]; } /** * The response expected from the CreateProduct execution within BambuClient. */ export interface CreateProductResponse { /** * The unique identifier for the BambuMeta product definition. */ productId: string; /** * The name of the product */ name: string; /** * A description used to sell the product. */ description?: string; /** * The category identifier for the product used for grouping and display purposes. */ category_id?: string; /** * An image used to sell a product, this should be a URL. */ image?: string; /** * The payload added to the NFT during minting. */ payload?: any; /** * Any additional JSON data to be stored against the product record for display purposes. */ metadata?: any; /** * The price of the product in the currency denomination. */ prices?: { price: number; currency: string; }[]; } /** * Creates a product for the provided tenant to be able to generate and mint NFTs from. */ export declare class CreateProduct extends Executable { /** * getMethod is used by the BambuClient to properly construct the request call. * @returns request method */ getMethod(): Method; /** * getResponse is used by the BambuClient to propery return the response object type. * @param apiResponse the api response object returned by the BambuMeta client before being converted to the CreateProductResponse * @returns CreateProductResponse */ getResponse(apiResponse: any): CreateProductResponse; /** * getURLPath is used by the BambuClient to properly construct the request call. * @param tenantId the tenant id defined in the BambuClient * @returns request url */ getURLPath(tenantId?: string): string; productId?: number; name?: string; description?: string; image?: string; category_id?: string; payload?: any; metadata?: any; prices?: { price: number; currency: string; }[]; constructor(input?: CreateProductInput); /** * Sets the name of the product * @param value The name of the product * @returns */ setName(value: string): CreateProduct; /** * Sets a description used to sell the product. * @param value A description used to sell the product. * @returns */ setDescription(value: string): CreateProduct; /** * Set an image used to sell a product, this should be a URL. * @param value An image used to sell a product, this should be a URL. * @returns */ setImage(value: string): CreateProduct; /** * Sets the category identifier for the product used for grouping and display purposes. * @param value The category identifier for the product used for grouping and display purposes. * @returns */ setCategoryId(value: string): CreateProduct; /** * Any additional JSON data to be stored against the product record for display purposes. * @param key Sets the attribute's key * @param value Sets the attribute's value * @returns */ setMetaData(key: string, value: string): CreateProduct; /** * The price of the product in the currency denomination. * @param price The price of the product in the currency denomination. * @param currency The currency used for the provided item. */ addPrice(price: number, currency: string): void; /** * Sets the payload added to the NFT during minting. * @param value The payload added to the NFT during minting. * @returns */ setPayload(payload: any): CreateProduct; /** * getBody is used by the BambuClient to properly construct the request object body. * @returns Returns the expected body of the request utilizing the defined request attributes. */ getBody(): any; /** * getRootPath is used by the BambuClient to properly construct the request call. * @returns The root path of the request */ getRootPath(): string | undefined; }