import * as z from "zod/v4-mini";
import { AddressCreateRequest, AddressCreateRequest$Outbound } from "./addresscreaterequest.js";
import { CustomsDeclarationCreateRequest, CustomsDeclarationCreateRequest$Outbound } from "./customsdeclarationcreaterequest.js";
import { ParcelCreateFromTemplateRequest, ParcelCreateFromTemplateRequest$Outbound } from "./parcelcreatefromtemplaterequest.js";
import { ParcelCreateRequest, ParcelCreateRequest$Outbound } from "./parcelcreaterequest.js";
import { ShipmentExtra, ShipmentExtra$Outbound } from "./shipmentextra.js";
export type AddressFrom = AddressCreateRequest | string;
export type AddressReturn = AddressCreateRequest | string;
export type AddressTo = AddressCreateRequest | string;
export type ShipmentCreateRequestCustomsDeclaration = CustomsDeclarationCreateRequest | string;
export type Parcels = ParcelCreateRequest | ParcelCreateFromTemplateRequest | string;
export type ShipmentCreateRequest = {
/**
* An object holding optional extra services to be requested.
*/
extra?: ShipmentExtra | undefined;
/**
* A string of up to 100 characters that can be filled with any additional information you want to attach to the object.
*/
metadata?: string | undefined;
/**
* Date the shipment will be tendered to the carrier. Must be in the format `2014-01-18T00:35:03.463Z`.
*
* @remarks
* Defaults to current date and time if no value is provided. Please note that some carriers require this value to
* be in the future, on a working day, or similar.
*/
shipmentDate?: string | undefined;
addressFrom: AddressCreateRequest | string;
addressReturn?: AddressCreateRequest | string | undefined;
addressTo: AddressCreateRequest | string;
customsDeclaration?: CustomsDeclarationCreateRequest | string | undefined;
async?: boolean | undefined;
/**
* List of Carrier Accounts `object_id`s used to filter
*
* @remarks
* the returned rates. If set, only rates from these carriers will be returned.
*/
carrierAccounts?: Array | undefined;
parcels: Array;
};
/** @internal */
export type AddressFrom$Outbound = AddressCreateRequest$Outbound | string;
/** @internal */
export declare const AddressFrom$outboundSchema: z.ZodMiniType;
export declare function addressFromToJSON(addressFrom: AddressFrom): string;
/** @internal */
export type AddressReturn$Outbound = AddressCreateRequest$Outbound | string;
/** @internal */
export declare const AddressReturn$outboundSchema: z.ZodMiniType;
export declare function addressReturnToJSON(addressReturn: AddressReturn): string;
/** @internal */
export type AddressTo$Outbound = AddressCreateRequest$Outbound | string;
/** @internal */
export declare const AddressTo$outboundSchema: z.ZodMiniType;
export declare function addressToToJSON(addressTo: AddressTo): string;
/** @internal */
export type ShipmentCreateRequestCustomsDeclaration$Outbound = CustomsDeclarationCreateRequest$Outbound | string;
/** @internal */
export declare const ShipmentCreateRequestCustomsDeclaration$outboundSchema: z.ZodMiniType;
export declare function shipmentCreateRequestCustomsDeclarationToJSON(shipmentCreateRequestCustomsDeclaration: ShipmentCreateRequestCustomsDeclaration): string;
/** @internal */
export type Parcels$Outbound = ParcelCreateRequest$Outbound | ParcelCreateFromTemplateRequest$Outbound | string;
/** @internal */
export declare const Parcels$outboundSchema: z.ZodMiniType;
export declare function parcelsToJSON(parcels: Parcels): string;
/** @internal */
export type ShipmentCreateRequest$Outbound = {
extra?: ShipmentExtra$Outbound | undefined;
metadata?: string | undefined;
shipment_date?: string | undefined;
address_from: AddressCreateRequest$Outbound | string;
address_return?: AddressCreateRequest$Outbound | string | undefined;
address_to: AddressCreateRequest$Outbound | string;
customs_declaration?: CustomsDeclarationCreateRequest$Outbound | string | undefined;
async?: boolean | undefined;
carrier_accounts?: Array | undefined;
parcels: Array;
};
/** @internal */
export declare const ShipmentCreateRequest$outboundSchema: z.ZodMiniType;
export declare function shipmentCreateRequestToJSON(shipmentCreateRequest: ShipmentCreateRequest): string;
//# sourceMappingURL=shipmentcreaterequest.d.ts.map