import type { LineItemType } from './LineItemType'; import type { LineItemAttribute } from './LineItemAttribute'; import type { Tax } from './Tax'; /** * * @export * @interface LineItem */ export interface LineItem { /** * The calculated tax amount per unit. * @type {number} * @memberof LineItem */ readonly taxAmountPerUnit?: number; /** * The line item price with discounts not applied, excluding taxes. * @type {number} * @memberof LineItem */ readonly undiscountedAmountExcludingTax?: number; /** * The number of items that were purchased. * @type {number} * @memberof LineItem */ readonly quantity?: number; /** * The calculated price per unit with discounts not applied, including taxes. * @type {number} * @memberof LineItem */ readonly undiscountedUnitPriceIncludingTax?: number; /** * The line item price with discounts applied, excluding taxes. * @type {number} * @memberof LineItem */ readonly amountExcludingTax?: number; /** * The line item price with discounts not applied, including taxes. * @type {number} * @memberof LineItem */ readonly undiscountedAmountIncludingTax?: number; /** * A set of tax lines, each of which specifies a tax applied to the item. * @type {Set} * @memberof LineItem */ readonly taxes?: Set; /** * * @type {LineItemType} * @memberof LineItem */ type?: LineItemType; /** * The calculated price per unit with discounts applied, including taxes. * @type {number} * @memberof LineItem */ readonly unitPriceIncludingTax?: number; /** * The discount allocated to the item, excluding taxes. * @type {number} * @memberof LineItem */ readonly discountExcludingTax?: number; /** * Whether the item required shipping. * @type {boolean} * @memberof LineItem */ readonly shippingRequired?: boolean; /** * The calculated price per unit with discounts applied, excluding taxes. * @type {number} * @memberof LineItem */ readonly unitPriceExcludingTax?: number; /** * The name of the product, ideally in the customer's language. * @type {string} * @memberof LineItem */ readonly name?: string; /** * A map of custom information for the item. * @type {{ [key: string]: LineItemAttribute; }} * @memberof LineItem */ readonly attributes?: { [key: string]: LineItemAttribute; }; /** * The calculated price per unit with discounts not applied, excluding taxes. * @type {number} * @memberof LineItem */ readonly undiscountedUnitPriceExcludingTax?: number; /** * The line item price with discounts applied, including taxes. * @type {number} * @memberof LineItem */ readonly amountIncludingTax?: number; /** * The discount allocated to the item, including taxes. * @type {number} * @memberof LineItem */ readonly discountIncludingTax?: number; /** * The SKU (stock-keeping unit) of the product. * @type {string} * @memberof LineItem */ readonly sku?: string; /** * The sum of all taxes applied to the item. * @type {number} * @memberof LineItem */ readonly taxAmount?: number; /** * The total tax rate applied to the item, calculated from the rates of all tax lines. * @type {number} * @memberof LineItem */ readonly aggregatedTaxRate?: number; /** * The unique identifier of the line item within the set of line items. * @type {string} * @memberof LineItem */ readonly uniqueId?: string; } /** * Check if a given object implements the LineItem interface. */ export declare function instanceOfLineItem(value: object): value is LineItem; export declare function LineItemFromJSON(json: any): LineItem; export declare function LineItemFromJSONTyped(json: any, ignoreDiscriminator: boolean): LineItem; export declare function LineItemToJSON(json: any): LineItem; export declare function LineItemToJSONTyped(value?: Omit | null, ignoreDiscriminator?: boolean): any;