import type { MediaFile } from './MediaFile'; import type { ProductOptionValue } from './ProductOptionValue'; /** * @type ProductOption: Product options enable you to sell configurable products that have optional accessories, upgrades, or additional services. Options are always purchased with a product and can\'t be purchased separately. * * @property customName: The localized custom name of the product option. * * @property defaultProductOptionValue: The default product option value. * * @property description: The localized description of the product option. * * @property id: The object attribute definition ID which is also the identifier for the product option. * - **Min Length:** 1 * * @property image: * * @property name: The name of the object attribute definition. * * @property selectedOptionValue: The selected option value of the product option. * * @property shared: The flag that indicates if the product option is shared or local. * * @property sortingMode: The sorting mode for the product option values. * * @property values: The sorted array of values of the product option. * */ export type ProductOption = { customName?: { [key: string]: string; }; defaultProductOptionValue?: string; description?: { [key: string]: string; }; id: string; image?: MediaFile; name?: string; selectedOptionValue?: string; shared?: boolean; sortingMode?: ProductOptionSortingModeEnum; values?: Array; } & { [key: string]: any; }; export type ProductOptionSortingModeEnum = 'byexplicitorder' | 'byoptionprice';