import * as z from "zod/v4-mini";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { ObjectStateEnum } from "./objectstateenum.js";
import { WeightUnitEnum } from "./weightunitenum.js";
export type CustomsItem = {
/**
* Text description of your item.
*/
description: string;
/**
* Export Control Classification Number, required on some exports from the United States.
*/
eccnEar99?: string | undefined;
/**
* The unit used for weight.
*/
massUnit: WeightUnitEnum;
/**
* A string of up to 100 characters that can be filled with any additional information you
*
* @remarks
* want to attach to the object.
*/
metadata?: string | undefined;
/**
* Total weight of this item, i.e. quantity * weight per item.
*/
netWeight: string;
/**
* Country of origin of the item. Example: `US` or `DE`.
*
* @remarks
* All accepted values can be found on the Official ISO Website.
*/
originCountry: string;
/**
* Quantity of this item in the shipment you send. Must be greater than 0.
*/
quantity: number;
/**
* SKU code of the item, which is required by some carriers.
*/
skuCode?: string | undefined;
/**
* HS code of the item, which is required by some carriers. If `tariff_number` is not provided, `hs_code` will be used. If both `hs_code` and `tariff_number` are provided, `tariff_number` will be used. 50 character limit.
*/
hsCode?: string | undefined;
/**
* The tariff number of the item. If `tariff_number` is not provided, `hs_code` will be used. If both `hs_code` and `tariff_number` are provided, `tariff_number` will be used. 12 character limit.
*/
tariffNumber?: string | undefined;
/**
* Total value of this item, i.e. quantity * value per item.
*/
valueAmount: string;
/**
* Currency used for value_amount. The official ISO 4217
*
* @remarks
* currency codes are used, e.g. `USD` or `EUR`.
*/
valueCurrency: string;
/**
* Date and time of object creation.
*/
objectCreated?: Date | undefined;
/**
* Unique identifier of the given object.
*/
objectId?: string | undefined;
/**
* Username of the user who created the object.
*/
objectOwner?: string | undefined;
/**
* Indicates the validity of the enclosing object
*/
objectState?: ObjectStateEnum | undefined;
/**
* Date and time of last object update.
*/
objectUpdated?: Date | undefined;
/**
* Indicates whether the object has been created in test mode.
*/
test?: boolean | undefined;
};
/** @internal */
export declare const CustomsItem$inboundSchema: z.ZodMiniType;
export declare function customsItemFromJSON(jsonString: string): SafeParseResult;
//# sourceMappingURL=customsitem.d.ts.map