import * as z from "zod/v4-mini";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { Address } from "./address.js";
import { LineItem } from "./lineitem.js";
import { OrderShopAppEnum } from "./ordershopappenum.js";
import { OrderStatusEnum } from "./orderstatusenum.js";
import { WeightUnitEnum } from "./weightunitenum.js";
export type Transactions = {};
export type Order = {
/**
* **Required if total_price is provided**
*
* @remarks
* Currency of the total_price and total_tax amounts.
*/
currency?: string | undefined;
/**
* Custom buyer- or seller-provided notes about the order.
*/
notes?: string | undefined;
/**
* An alphanumeric identifier for the order used by the seller/buyer. This identifier doesn't need to be unique.
*/
orderNumber?: string | undefined;
/**
* Current state of the order. See the orders tutorial
*
* @remarks
* for the logic of how the status is handled.
*/
orderStatus?: OrderStatusEnum | undefined;
/**
* Date and time when the order was placed. This datetime can be different from the datetime of the order object creation on Shippo.
*/
placedAt: string;
/**
* Amount paid by the buyer for shipping. This amount can be different from the price the seller will actually pay for shipping.
*/
shippingCost?: string | undefined;
/**
* **Required if shipping_cost is provided**
*
* @remarks
* Currency of the shipping_cost amount.
*/
shippingCostCurrency?: string | undefined;
/**
* Shipping method (carrier + service or other free text description) chosen by the buyer.
*
* @remarks
* This value can be different from the shipping method the seller will actually choose.
*/
shippingMethod?: string | undefined;
subtotalPrice?: string | undefined;
/**
* Total amount paid by the buyer for this order.
*/
totalPrice?: string | undefined;
/**
* Total tax amount paid by the buyer for this order.
*/
totalTax?: string | undefined;
/**
* Total weight of the order.
*/
weight?: string | undefined;
/**
* The unit used for weight.
*/
weightUnit?: WeightUnitEnum | undefined;
/**
* Address object of the sender / seller. Will be returned expanded by default.
*/
fromAddress?: Address | undefined;
/**
* Address object of the recipient / buyer. Will be returned expanded by default.
*/
toAddress: Address;
/**
* Array of line item objects representing the items in this order.
*
* @remarks
* All objects will be returned expanded by default.
*/
lineItems?: Array | undefined;
/**
* Unique identifier of the order object.
*/
objectId?: string | undefined;
/**
* Username of the user who created the object.
*/
objectOwner?: string | undefined;
/**
* Platform the order was created on and, if applicable, imported from.
*
* @remarks
* Orders created via the Shippo API or dashboard will have the value "Shippo".
*/
shopApp?: OrderShopAppEnum | undefined;
/**
* Array of transaction objects representing all shipping labels purchased for this order.
*
* @remarks
* All objects are returned expanded with a limited number of fields by default.
*/
transactions?: Array | undefined;
};
/** @internal */
export declare const Transactions$inboundSchema: z.ZodMiniType;
export declare function transactionsFromJSON(jsonString: string): SafeParseResult;
/** @internal */
export declare const Order$inboundSchema: z.ZodMiniType;
export declare function orderFromJSON(jsonString: string): SafeParseResult;
//# sourceMappingURL=order.d.ts.map