import { IkasVariantValue } from "../../variant-type/variant-value"; import { IkasProductAttributeValue } from "../attribute-value"; import { IkasProductCampaign } from "../campaign"; import { IkasCampaignType } from "../campaign/data"; import { IkasProductImage } from "../image"; import { IkasBundleSettings } from "./bundle-settings"; import { IkasProductPrice } from "./price"; import { IkasProductVariantUnit } from "./unit"; export type IkasProductVariant = { id: string; sku: string | null; barcodeList: string[] | null; baseBundlePrices: IkasProductPrice[] | null; variantValues: IkasVariantValue[]; attributes: IkasProductAttributeValue[]; prices: IkasProductPrice[]; stock: number; isActive: boolean; productId: string; sellIfOutOfStock: boolean; images: IkasProductImage[] | null; campaigns?: IkasProductCampaign[]; unit: IkasProductVariantUnit | null; bundleSettings: IkasBundleSettings | null; isBackInStockReminderSaved: boolean; }; export type IkasAppliedCampaignAmount = { type: IkasCampaignType; formattedPrice: string | null; discountPercentage: string | null; }; export type IkasTieredDiscountProduct = { amount: number | null; lineItemQuantityRange: { min: number; max: number; }; type: IkasCampaignType; sellPrice: number; finalPrice: number; sellPriceWithQuantity: number; finalPriceWithQuantity: number; formattedSellPrice: string; formattedSellPriceWithQuantity: string; formattedFinalPrice: string; formattedFinalPriceWithQuantity: string; salesChannelIds: string[] | null; };