import { IkasOrderLineItem } from "../../../../storefront-models/src"; /** * Calculates the total original price for a line item by multiplying unit price by quantity. * * @ai-category OrderLineItem, Pricing * @ai-related getOrderLineItemFormattedPriceWithQuantity, getOrderLineItemFinalPriceWithQuantity, getOrderLineItemOverridenPriceWithQuantity * * @param item - The order line item to calculate the price for. * @returns The total original price (unit price * quantity). * * @example * ```typescript * import { getOrderLineItemPriceWithQuantity } from "@ikas/bp-storefront"; * const totalPrice = getOrderLineItemPriceWithQuantity(lineItem); * ``` */ export declare function getOrderLineItemPriceWithQuantity(item: IkasOrderLineItem): number; /** * Returns the formatted total original price for a line item (unit price * quantity) as a currency string. * * @ai-category OrderLineItem, Pricing * @ai-related getOrderLineItemPriceWithQuantity, getOrderLineItemFormattedFinalPriceWithQuantity, getOrderLineItemFormattedOverridenPriceWithQuantity * * @param item - The order line item to format the price for. * @returns A formatted currency string representing the total original price. * * @example * ```typescript * import { getOrderLineItemFormattedPriceWithQuantity } from "@ikas/bp-storefront"; * const formattedTotal = getOrderLineItemFormattedPriceWithQuantity(lineItem); * // e.g. "$30.00" * ``` */ export declare function getOrderLineItemFormattedPriceWithQuantity(item: IkasOrderLineItem): string; /** * Calculates the overridden total price when the original price differs from the final price. Returns 0 if no override exists. * * @ai-category OrderLineItem, Pricing * @ai-related getOrderLineItemFormattedOverridenPriceWithQuantity, getOrderLineItemPriceWithQuantity, getOrderLineItemFinalPriceWithQuantity * * @param item - The order line item to check for price override. * @returns The overridden total price (original price * quantity) if prices differ, otherwise 0. * * @example * ```typescript * import { getOrderLineItemOverridenPriceWithQuantity } from "@ikas/bp-storefront"; * const overriddenPrice = getOrderLineItemOverridenPriceWithQuantity(lineItem); * if (overriddenPrice > 0) { * // Display strikethrough price * } * ``` */ export declare function getOrderLineItemOverridenPriceWithQuantity(item: IkasOrderLineItem): number; /** * Returns the formatted overridden total price as a currency string. Shows the original price when it differs from the final price. * * @ai-category OrderLineItem, Pricing * @ai-related getOrderLineItemOverridenPriceWithQuantity, getOrderLineItemFormattedPriceWithQuantity, getOrderLineItemFormattedFinalPriceWithQuantity * * @param item - The order line item to format the overridden price for. * @returns A formatted currency string representing the overridden total price. * * @example * ```typescript * import { getOrderLineItemFormattedOverridenPriceWithQuantity } from "@ikas/bp-storefront"; * const formattedOverridden = getOrderLineItemFormattedOverridenPriceWithQuantity(lineItem); * // e.g. "$50.00" (original price before discount) * ``` */ export declare function getOrderLineItemFormattedOverridenPriceWithQuantity(item: IkasOrderLineItem): string; /** * Returns the formatted original unit price of a line item as a currency string. * * @ai-category OrderLineItem, Pricing * @ai-related getOrderLineItemFormattedFinalPrice, getOrderLineItemFormattedPriceWithQuantity, getOrderLineItemFormattedUnitPrice * * @param item - The order line item to format the unit price for. * @returns A formatted currency string representing the original unit price. * * @example * ```typescript * import { getOrderLineItemFormattedPrice } from "@ikas/bp-storefront"; * const formattedPrice = getOrderLineItemFormattedPrice(lineItem); * // e.g. "$10.00" * ``` */ export declare function getOrderLineItemFormattedPrice(item: IkasOrderLineItem): string; /** * Calculates the total final price for a line item by multiplying the final unit price by quantity. Falls back to the original price if no final price is set. * * @ai-category OrderLineItem, Pricing * @ai-related getOrderLineItemFormattedFinalPriceWithQuantity, getOrderLineItemPriceWithQuantity, getOrderLineItemFormattedFinalPrice * * @param item - The order line item to calculate the final total for. * @returns The total final price (final unit price * quantity). * * @example * ```typescript * import { getOrderLineItemFinalPriceWithQuantity } from "@ikas/bp-storefront"; * const finalTotal = getOrderLineItemFinalPriceWithQuantity(lineItem); * ``` */ export declare function getOrderLineItemFinalPriceWithQuantity(item: IkasOrderLineItem): number; /** * Returns the formatted final unit price of a line item as a currency string, reflecting any discounts applied. * * @ai-category OrderLineItem, Pricing * @ai-related getOrderLineItemFormattedPrice, getOrderLineItemFormattedFinalPriceWithQuantity, getOrderLineItemFormattedDiscountPrice * * @param item - The order line item to format the final price for. * @returns A formatted currency string representing the final unit price. * * @example * ```typescript * import { getOrderLineItemFormattedFinalPrice } from "@ikas/bp-storefront"; * const formattedFinal = getOrderLineItemFormattedFinalPrice(lineItem); * // e.g. "$8.00" (after discount) * ``` */ export declare function getOrderLineItemFormattedFinalPrice(item: IkasOrderLineItem): string; /** * Returns the formatted total final price for a line item (final unit price * quantity) as a currency string. * * @ai-category OrderLineItem, Pricing * @ai-related getOrderLineItemFinalPriceWithQuantity, getOrderLineItemFormattedPriceWithQuantity, getOrderLineItemFormattedFinalPrice * * @param item - The order line item to format the final total for. * @returns A formatted currency string representing the total final price. * * @example * ```typescript * import { getOrderLineItemFormattedFinalPriceWithQuantity } from "@ikas/bp-storefront"; * const formattedFinalTotal = getOrderLineItemFormattedFinalPriceWithQuantity(lineItem); * // e.g. "$24.00" * ``` */ export declare function getOrderLineItemFormattedFinalPriceWithQuantity(item: IkasOrderLineItem): string; /** * Returns the formatted unit price of a line item as a currency string. * * @ai-category OrderLineItem, Pricing * @ai-related getOrderLineItemFormattedFinalUnitPrice, getOrderLineItemFormattedPrice, getOrderLineItemUnitPriceText * * @param item - The order line item to format the unit price for. * @returns A formatted currency string representing the unit price. * * @example * ```typescript * import { getOrderLineItemFormattedUnitPrice } from "@ikas/bp-storefront"; * const formattedUnit = getOrderLineItemFormattedUnitPrice(lineItem); * // e.g. "$5.00" * ``` */ export declare function getOrderLineItemFormattedUnitPrice(item: IkasOrderLineItem): string; /** * Returns the formatted final unit price of a line item as a currency string, reflecting any applied discounts. * * @ai-category OrderLineItem, Pricing * @ai-related getOrderLineItemFormattedUnitPrice, getOrderLineItemFormattedFinalPrice, getOrderLineItemUnitPriceText * * @param item - The order line item to format the final unit price for. * @returns A formatted currency string representing the final unit price. * * @example * ```typescript * import { getOrderLineItemFormattedFinalUnitPrice } from "@ikas/bp-storefront"; * const formattedFinalUnit = getOrderLineItemFormattedFinalUnitPrice(lineItem); * // e.g. "$4.50" * ``` */ export declare function getOrderLineItemFormattedFinalUnitPrice(item: IkasOrderLineItem): string; /** * Returns a descriptive text combining the formatted final unit price with the base unit name (e.g. "$5.00 / kg"). Returns an empty string if no final unit price exists. * * @ai-category OrderLineItem, Pricing * @ai-related getOrderLineItemFormattedUnitPrice, getOrderLineItemFormattedFinalUnitPrice, getOrderLineItemFormattedFinalPrice * * @param item - The order line item to generate the unit price text for. * @returns A string with the formatted price per unit, or an empty string if finalUnitPrice is null. * * @example * ```typescript * import { getOrderLineItemUnitPriceText } from "@ikas/bp-storefront"; * const unitText = getOrderLineItemUnitPriceText(lineItem); * // e.g. "$5.00 / kg" * ``` */ export declare function getOrderLineItemUnitPriceText(item: IkasOrderLineItem): string; /** * Returns the formatted discount amount applied to a line item as a currency string. * * @ai-category OrderLineItem, Pricing * @ai-related hasOrderLineItemDiscount, getOrderLineItemFormattedFinalPrice, getOrderLineItemFormattedPrice * * @param item - The order line item to format the discount price for. * @returns A formatted currency string representing the discount amount. * * @example * ```typescript * import { getOrderLineItemFormattedDiscountPrice, hasOrderLineItemDiscount } from "@ikas/bp-storefront"; * if (hasOrderLineItemDiscount(lineItem)) { * const discount = getOrderLineItemFormattedDiscountPrice(lineItem); * // e.g. "$2.00" * } * ``` */ export declare function getOrderLineItemFormattedDiscountPrice(item: IkasOrderLineItem): string; /** * Calculates the tax amount for a line item by extracting it from the tax-inclusive final price using the tax rate. * * @ai-category OrderLineItem, Pricing * @ai-related getOrderLineItemFormattedTax, getOrderLineItemFinalPriceWithQuantity, getOrderLineItemFormattedFinalPriceWithQuantity * * @param item - The order line item to calculate tax for. * @returns The calculated tax amount extracted from the tax-inclusive total. * * @example * ```typescript * import { getOrderLineItemTax } from "@ikas/bp-storefront"; * const taxAmount = getOrderLineItemTax(lineItem); * ``` */ export declare function getOrderLineItemTax(item: IkasOrderLineItem): number; /** * Returns the formatted tax amount for a line item as a currency string. * * @ai-category OrderLineItem, Pricing * @ai-related getOrderLineItemTax, getOrderLineItemFormattedFinalPriceWithQuantity, getOrderLineItemFormattedPrice * * @param item - The order line item to format the tax amount for. * @returns A formatted currency string representing the tax amount. * * @example * ```typescript * import { getOrderLineItemFormattedTax } from "@ikas/bp-storefront"; * const formattedTax = getOrderLineItemFormattedTax(lineItem); * // e.g. "$1.60" * ``` */ export declare function getOrderLineItemFormattedTax(item: IkasOrderLineItem): string; /** * Checks whether a line item has a discount applied by verifying the discount price is not null. * * @ai-category OrderLineItem, Pricing * @ai-related getOrderLineItemFormattedDiscountPrice, getOrderLineItemOverridenPriceWithQuantity, getOrderLineItemFormattedFinalPrice * * @param item - The order line item to check for a discount. * @returns True if the line item has a discount applied, false otherwise. * * @example * ```typescript * import { hasOrderLineItemDiscount, getOrderLineItemFormattedDiscountPrice } from "@ikas/bp-storefront"; * if (hasOrderLineItemDiscount(lineItem)) { * console.log("Discount:", getOrderLineItemFormattedDiscountPrice(lineItem)); * } * ``` */ export declare function hasOrderLineItemDiscount(item: IkasOrderLineItem): boolean; /** * Gets the current refund quantity set on a line item. * * @ai-category OrderLineItem, Order * @ai-related setOrderLineItemRefundQuantity * * @param item - The order line item to get the refund quantity from. * @returns The refund quantity, or null/undefined if none is set. * * @example * ```typescript * import { getOrderLineItemRefundQuantity } from "@ikas/bp-storefront"; * const refundQty = getOrderLineItemRefundQuantity(lineItem); * ``` */ export declare function getOrderLineItemRefundQuantity(item: IkasOrderLineItem): number | null; /** * Sets the refund quantity on a line item, clamping the value between 0 and the item's total quantity. Values of 0 or below are treated as null (no refund). * * @ai-category OrderLineItem, Order * @ai-related getOrderLineItemRefundQuantity * * @param value - The refund quantity to set. Clamped to the item's quantity. Null, undefined, or values <= 0 clear the refund. * @param item - The order line item to set the refund quantity on. * @returns void * * @example * ```typescript * import { setOrderLineItemRefundQuantity } from "@ikas/bp-storefront"; * setOrderLineItemRefundQuantity(2, lineItem); * ``` */ export declare function setOrderLineItemRefundQuantity(value: number | null | undefined, item: IkasOrderLineItem): void; /** * Navigates to the product variant page with an edit parameter for the given line item, allowing the user to modify the line item in the storefront. * * @ai-category OrderLineItem, Cart * @ai-related getOrderLineItemRefundQuantity, setOrderLineItemRefundQuantity * * @param item - The order line item to navigate to for editing. * @returns void * * @example * ```typescript * import { editOrderLineItem } from "@ikas/bp-storefront"; * editOrderLineItem(lineItem); * ``` */ export declare function editOrderLineItem(item: IkasOrderLineItem): void;