import * as z from "zod/v3";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { EcommerceDiscount } from "./ecommercediscount.js";
export type Options = {
    /**
     * A unique identifier for the option.
     */
    id?: string | null | undefined;
    /**
     * The name of the option.
     */
    name?: string | null | undefined;
    /**
     * The value of the option.
     */
    value?: string | null | undefined;
};
/**
 * A single line item of an ecommerce order, representing a product or variant with associated options, quantity, and pricing information.
 */
export type EcommerceOrderLineItem = {
    /**
     * A unique identifier for an object.
     */
    id?: string | null | undefined;
    /**
     * A unique identifier for the product associated with the line item.
     */
    productId?: string | null | undefined;
    /**
     * A unique identifier for the variant of the product associated with the line item, if applicable.
     */
    variantId?: string | null | undefined;
    /**
     * The SKU of the product or variant associated with the line item.
     */
    sku?: string | null | undefined;
    /**
     * The name of the product or variant associated with the line item.
     */
    name: string | null;
    /**
     * The description of the product or variant associated with the line item.
     */
    description?: string | null | undefined;
    options?: Array<Options> | undefined;
    /**
     * The quantity of the product or variant associated with the line item.
     */
    quantity: string | null;
    /**
     * The unit price of the product or variant associated with the line item.
     */
    unitPrice?: string | null | undefined;
    /**
     * The tax rate applied to the product or variant associated with the line item.
     */
    taxRate?: string | null | undefined;
    /**
     * The total tax amount applied to the product or variant associated with the line item.
     */
    taxAmount?: string | null | undefined;
    /**
     * Whether the line item has been refunded.
     */
    isRefunded?: boolean | null | undefined;
    /**
     * The amount of the line item that has been refunded.
     */
    refundedAmount?: string | null | undefined;
    /**
     * The quantity of the line item that has been refunded.
     */
    refundedQuantity?: string | null | undefined;
    /**
     * The sub total for the product(s) or variant associated with the line item, excluding taxes and discounts.
     */
    subTotal?: string | null | undefined;
    /**
     * The total amount for the product(s) or variant associated with the line item, including taxes and discounts.
     */
    totalAmount?: string | null | undefined;
    discounts?: Array<EcommerceDiscount> | undefined;
};
/** @internal */
export declare const Options$inboundSchema: z.ZodType<Options, z.ZodTypeDef, unknown>;
export declare function optionsFromJSON(jsonString: string): SafeParseResult<Options, SDKValidationError>;
/** @internal */
export declare const EcommerceOrderLineItem$inboundSchema: z.ZodType<EcommerceOrderLineItem, z.ZodTypeDef, unknown>;
export declare function ecommerceOrderLineItemFromJSON(jsonString: string): SafeParseResult<EcommerceOrderLineItem, SDKValidationError>;
//# sourceMappingURL=ecommerceorderlineitem.d.ts.map