import type { PriceAdjustment } from './PriceAdjustment'; /** * @type OptionItem: An option item represents an optional purchase related to a product item, and is always associated with the parent product item. For example, a refrigerator item can have a set of option items representing different warranties on the refrigerator. A shopper can only purchase one of the warranty option items together with the parent refrigerator item. * * @property basePrice: The base price of the line item, which is the unit price not including adjustments. If the taxation policy is net, it doesn\'t include tax. If the taxation policy is gross, it includes tax. * * @property grossPrice: The gross price of the line item before applying any adjustments. * * @property gift: Returns true if the item is a gift. * * @property itemText: The text describing the item. * - **Max Length:** 256 * * @property netPrice: The net price of the line item before applying any adjustments. * * @property tax: The tax on the line item before applying any adjustments. * * @property taxBasis: The amount used to calculate the tax for this item. * * @property optionId: The ID of the option. * - **Min Length:** 1 * - **Max Length:** 256 * * @property optionValueId: The ID of the option value. * - **Min Length:** 1 * - **Max Length:** 256 * * @property priceAdjustments: The price adjustments. * * @property productId: The id (SKU) of the product. * - **Min Length:** 1 * - **Max Length:** 100 * */ export type OptionItem = { basePrice?: number; grossPrice?: number; gift?: boolean; itemText?: string; netPrice?: number; tax?: number; taxBasis?: number; optionId?: string; optionValueId?: string; priceAdjustments?: Array; productId: string; } & { [key: string]: any; };