/**
 * Fulfillment API
 *  - alpha: Currently developed API version. Subject to major changes. - beta: A semi-stable early access version. New features can be added. Breaking changes are possible. - stable: The API is recommended for use in production.  [Changelog](https://fulfillment-api.steve.niceshops.com/v2/docs/changelog.html)  All data is transferred in UTF-8 encoding.\\ The API uses stateless HTTP. No cookies have to be kept.\\ Authentication via OAuth2 client credentials flow.  [Privacy Policy](https://www.niceshops.com/en/dienstleistungen/data-privacy-policy)  [Fulfillment API PHP client @Packagist](https://packagist.org/packages/datenkraft/bb-fulfillment-api-php-client)
 *
 * The version of the OpenAPI document: v2.beta
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import { BaseProductDimensions } from './base-product-dimensions';
import { BaseProductVariantGroup } from './base-product-variant-group';
import { ProductBundledProduct } from './product-bundled-product';
import { ProductPurchasePrice } from './product-purchase-price';
/**
 * Data to represent a product
 * @export
 * @interface BaseProduct
 */
export interface BaseProduct {
    /**
     * Type of the product.
     * @type {string}
     * @memberof BaseProduct
     */
    'productType'?: BaseProductProductTypeEnum;
    /**
     * The title of the article variant.
     * @type {string}
     * @memberof BaseProduct
     */
    'articleVariantTitle'?: string | null;
    /**
     * The type of the article variant.
     * @type {string}
     * @memberof BaseProduct
     */
    'articleVariantType'?: BaseProductArticleVariantTypeEnum;
    /**
     * Status of the article regarding visibility.
     * @type {string}
     * @memberof BaseProduct
     */
    'articleStatus'?: BaseProductArticleStatusEnum;
    /**
     * Amount of the product contents.
     * @type {number}
     * @memberof BaseProduct
     */
    'contentsAmount'?: number | null;
    /**
     * Unit of the product contents. \\ Units can be queried with a GET /product-unit call.
     * @type {string}
     * @memberof BaseProduct
     */
    'contentsUnit'?: string | null;
    /**
     * Weight of the product contents in gram.
     * @type {number}
     * @memberof BaseProduct
     */
    'contentsWeightGram'?: number | null;
    /**
     * Total weight of the product in gram.
     * @type {number}
     * @memberof BaseProduct
     */
    'weightGram'?: number | null;
    /**
     *
     * @type {BaseProductVariantGroup}
     * @memberof BaseProduct
     */
    'variantGroup'?: BaseProductVariantGroup;
    /**
     * The EAN of the product.
     * @type {string}
     * @memberof BaseProduct
     */
    'ean'?: string | null;
    /**
     * The suggested retail price for the product in EUR.
     * @type {number}
     * @memberof BaseProduct
     */
    'suggestedRetailPriceEUR'?: number | null;
    /**
     *
     * @type {Array<ProductPurchasePrice>}
     * @memberof BaseProduct
     */
    'purchasePrices'?: Array<ProductPurchasePrice> | null;
    /**
     *
     * @type {Array<ProductBundledProduct>}
     * @memberof BaseProduct
     */
    'bundledProducts'?: Array<ProductBundledProduct> | null;
    /**
     * Product number of the manufacturer.
     * @type {string}
     * @memberof BaseProduct
     */
    'productNumberManufacturer'?: string | null;
    /**
     * Country code of the manufacturer (ISO 3166-1 alpha-2).
     * @type {string}
     * @memberof BaseProduct
     */
    'manufacturerCountryCode'?: string | null;
    /**
     * The language code used for the product (ISO 639-1).
     * @type {string}
     * @memberof BaseProduct
     */
    'languageCode'?: string | null;
    /**
     *
     * @type {BaseProductDimensions}
     * @memberof BaseProduct
     */
    'dimensions'?: BaseProductDimensions | null;
}
export declare const BaseProductProductTypeEnum: {
    readonly Standard: "standard";
    readonly Sample: "sample";
    readonly SellableSample: "sellable_sample";
    readonly Tester: "tester";
    readonly PackingMaterial: "packing_material";
    readonly BookingSeminar: "booking_seminar";
    readonly BookingAppointment: "booking_appointment";
    readonly PromoMaterial: "promo_material";
    readonly RawMaterial: "raw_material";
    readonly WorkingMaterial: "working_material";
    readonly ServicePrincipal: "service_principal";
    readonly ServiceAncillary: "service_ancillary";
    readonly InquiryTestdrive: "inquiry_testdrive";
    readonly InquiryRaffle: "inquiry_raffle";
    readonly ChilledProduct: "chilled_product";
    readonly LimitedEdition: "limited_edition";
    readonly VoucherPrint: "voucher_print";
    readonly VoucherDigital: "voucher_digital";
    readonly Bundle: "bundle";
    readonly PrintGreetingcard: "print_greetingcard";
    readonly Personalized: "personalized";
    readonly OtherServices: "other_services";
    readonly UnknownDefaultOpenApi: "11184809";
};
export type BaseProductProductTypeEnum = typeof BaseProductProductTypeEnum[keyof typeof BaseProductProductTypeEnum];
export declare const BaseProductArticleVariantTypeEnum: {
    readonly Standard: "standard";
    readonly StandardAutotitle: "standard_autotitle";
    readonly Personalized: "personalized";
    readonly BookingAppointment: "booking_appointment";
    readonly BookingSeminar: "booking_seminar";
    readonly Bundle: "bundle";
    readonly BundleChangeable: "bundle_changeable";
    readonly BundleConfigurable: "bundle_configurable";
    readonly Generic: "generic";
    readonly InquiryRaffle: "inquiry_raffle";
    readonly InquiryTestdrive: "inquiry_testdrive";
    readonly OtherServices: "other_services";
    readonly PrintGreetingcard: "print_greetingcard";
    readonly ServiceAncillary: "service_ancillary";
    readonly ServicePrincipal: "service_principal";
    readonly VoucherDigital: "voucher_digital";
    readonly VoucherPrint: "voucher_print";
    readonly Null: "null";
    readonly UnknownDefaultOpenApi: "11184809";
};
export type BaseProductArticleVariantTypeEnum = typeof BaseProductArticleVariantTypeEnum[keyof typeof BaseProductArticleVariantTypeEnum];
export declare const BaseProductArticleStatusEnum: {
    readonly Active: "active";
    readonly TemporaryInactive: "temporary_inactive";
    readonly PreparationInactive: "preparation_inactive";
    readonly InactiveButVisible: "inactive_but_visible";
    readonly Inactive: "inactive";
    readonly Null: "null";
    readonly UnknownDefaultOpenApi: "11184809";
};
export type BaseProductArticleStatusEnum = typeof BaseProductArticleStatusEnum[keyof typeof BaseProductArticleStatusEnum];
