import type { MediaFile } from './MediaFile'; import type { VariationAttribute } from './VariationAttribute'; /** * @type Variant: A product which is a variation within a master product that describes different colors, sizes, or other variation attributes. *Has a SKU* * * @property ats: The Available To Sell (ATS) inventory value of the product. This is a calculated value. * * @property defaultProductVariation: A flag indicating whether the variant is a default variant. * * @property image: * * @property inStock: True if the product is in stock, false if not. * * @property online: If the product is currently online. True if online, false if not. * * @property orderable: A flag indicating whether the variant is orderable. * * @property price: The sales price of the variant. * * @property priceCurrency: Currency code for the price of the product. * * @property productId: The id (SKU) of the product. * - **Min Length:** 1 * - **Max Length:** 100 * * @property searchable: A flag indicating whether the variant is searchable. * * @property variationAttributes: Variation attributes. * * @property variationValues: The actual variation attribute ID - value pairs. * */ export type Variant = { ats?: number; defaultProductVariation?: boolean; image?: MediaFile; inStock?: boolean; online?: boolean; orderable?: boolean; price?: number; priceCurrency?: string; productId: string; searchable?: { [key: string]: boolean; }; variationAttributes?: Array; variationValues?: { [key: string]: string; }; } & { [key: string]: any; };