import type { LineItemAttributeCreate } from './LineItemAttributeCreate';
import type { LineItemType } from './LineItemType';
import type { TaxCreate } from './TaxCreate';
/**
 *
 * @export
 * @interface LineItemCreate
 */
export interface LineItemCreate {
    /**
     * Whether the item required shipping.
     * @type {boolean}
     * @memberof LineItemCreate
     */
    shippingRequired?: boolean;
    /**
     * The number of items that were purchased.
     * @type {number}
     * @memberof LineItemCreate
     */
    quantity: number;
    /**
     * The name of the product, ideally in the customer's language.
     * @type {string}
     * @memberof LineItemCreate
     */
    name: string;
    /**
     * A set of tax lines, each of which specifies a tax applied to the item.
     * @type {Set<TaxCreate>}
     * @memberof LineItemCreate
     */
    taxes?: Set<TaxCreate>;
    /**
     * A map of custom information for the item.
     * @type {{ [key: string]: LineItemAttributeCreate; }}
     * @memberof LineItemCreate
     */
    attributes?: {
        [key: string]: LineItemAttributeCreate;
    };
    /**
     * The line item price with discounts applied, including taxes.
     * @type {number}
     * @memberof LineItemCreate
     */
    amountIncludingTax: number;
    /**
     * The discount allocated to the item, including taxes.
     * @type {number}
     * @memberof LineItemCreate
     */
    discountIncludingTax?: number;
    /**
     * The SKU (stock-keeping unit) of the product.
     * @type {string}
     * @memberof LineItemCreate
     */
    sku?: string;
    /**
     *
     * @type {LineItemType}
     * @memberof LineItemCreate
     */
    type: LineItemType;
    /**
     * The unique identifier of the line item within the set of line items.
     * @type {string}
     * @memberof LineItemCreate
     */
    uniqueId: string;
}
/**
 * Check if a given object implements the LineItemCreate interface.
 */
export declare function instanceOfLineItemCreate(value: object): value is LineItemCreate;
export declare function LineItemCreateFromJSON(json: any): LineItemCreate;
export declare function LineItemCreateFromJSONTyped(json: any, ignoreDiscriminator: boolean): LineItemCreate;
export declare function LineItemCreateToJSON(json: any): LineItemCreate;
export declare function LineItemCreateToJSONTyped(value?: LineItemCreate | null, ignoreDiscriminator?: boolean): any;
