/**
 * Apideck
 * The Apideck OpenAPI Spec: SDK Optimized
 *
 * The version of the OpenAPI document: 10.13.0
 * Contact: support@apideck.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import { EcommerceProductCategories } from './EcommerceProductCategories';
import { EcommerceProductImages } from './EcommerceProductImages';
import { EcommerceProductOptions } from './EcommerceProductOptions';
import { EcommerceProductVariants } from './EcommerceProductVariants';
/**
 *
 * @export
 * @interface EcommerceProduct
 */
export interface EcommerceProduct {
    /**
     * A unique identifier for an object.
     * @type {string}
     * @memberof EcommerceProduct
     */
    readonly id: string;
    /**
     * The name of the product as it should be displayed to customers.
     * @type {string}
     * @memberof EcommerceProduct
     */
    name?: string | null;
    /**
     * A detailed description of the product.
     * @type {string}
     * @memberof EcommerceProduct
     */
    description?: string | null;
    /**
     * The current status of the product (active or archived).
     * @type {string}
     * @memberof EcommerceProduct
     */
    status?: EcommerceProductStatus;
    /**
     * The price of the product.
     * @type {string}
     * @memberof EcommerceProduct
     */
    price?: string | null;
    /**
     * The stock keeping unit of the product.
     * @type {string}
     * @memberof EcommerceProduct
     */
    sku?: string | null;
    /**
     * The quantity of the product in stock.
     * @type {string}
     * @memberof EcommerceProduct
     */
    inventory_quantity?: string | null;
    /**
     * An array of image URLs for the product.
     * @type {Array<EcommerceProductImages>}
     * @memberof EcommerceProduct
     */
    images?: Array<EcommerceProductImages> | null;
    /**
     * The weight of the product.
     * @type {string}
     * @memberof EcommerceProduct
     */
    weight?: string | null;
    /**
     * The unit of measurement for the weight of the product.
     * @type {string}
     * @memberof EcommerceProduct
     */
    weight_unit?: string | null;
    /**
     * An array of options for the product.
     * @type {Array<EcommerceProductOptions>}
     * @memberof EcommerceProduct
     */
    options?: Array<EcommerceProductOptions>;
    /**
     *
     * @type {Array<EcommerceProductVariants>}
     * @memberof EcommerceProduct
     */
    variants?: Array<EcommerceProductVariants>;
    /**
     * An array of tags for the product, used for organization and searching.
     * @type {Array<string>}
     * @memberof EcommerceProduct
     */
    tags?: Array<string>;
    /**
     * An array of categories for the product, used for organization and searching.
     * @type {Array<EcommerceProductCategories>}
     * @memberof EcommerceProduct
     */
    categories?: Array<EcommerceProductCategories>;
    /**
     * When custom mappings are configured on the resource, the result is included here.
     * @type {object}
     * @memberof EcommerceProduct
     */
    readonly custom_mappings?: object | null;
    /**
     * The date and time when the object was created.
     * @type {Date}
     * @memberof EcommerceProduct
     */
    readonly created_at?: Date | null;
    /**
     * The date and time when the object was last updated.
     * @type {Date}
     * @memberof EcommerceProduct
     */
    readonly updated_at?: Date | null;
}
/**
 * @export
 * @enum {string}
 */
export declare enum EcommerceProductStatus {
    active = "active",
    archived = "archived"
}
export declare function EcommerceProductFromJSON(json: any): EcommerceProduct;
export declare function EcommerceProductFromJSONTyped(json: any, ignoreDiscriminator: boolean): EcommerceProduct;
export declare function EcommerceProductToJSON(value?: EcommerceProduct | null): any;
