import type { CurrencyValue, Image, OptionValue } from '../../../libs/util-domain-models'; export interface Variant { /** * The internal identifier of the variant. * * @example '1351411' */ id: string; /** * An object keyed by option group ID of option values indicating specific attributes about a variant. * * @example { * color: { * label: 'Red', * value: 'red', * } * } */ optionValues: Record; /** * The current offer price for the variant. * * @example '12.49' */ price?: CurrencyValue; /** * The original price of the variant. Typically displayed as crossed-out when a variant * is on sale. * * @example '29.99' */ originalPrice?: CurrencyValue; /** * The title of the variant. * * @example 'Medium Beige' */ title?: string; /** * An array of images of the variant. */ images?: Image[]; /** * Whether or not the variant is available. If undefined the variant is assumed to * be available. */ available?: boolean; }