import * as z from "zod/v4-mini";
import { ClosedEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { BatchShipmentPaginatedList } from "./batchshipmentpaginatedlist.js";
import { LabelFileTypeEnum } from "./labelfiletypeenum.js";
/**
* An object containing the following counts:
`creation_succeeded`
`creation_failed`
`purchase_succeeded`
`purchase_failed`
*/
export type ObjectResults = {
creationFailed: number;
creationSucceeded: number;
purchaseFailed: number;
purchaseSucceeded: number;
};
/**
* Batches that are `VALIDATING` are being created and validated
*
* @remarks
* `VALID` batches can be purchased
* `INVALID` batches cannot be purchased, `INVALID` BatchShipments must be removed
* Batches that are in the `PURCHASING` state are being purchased
* `PURCHASED` batches are finished purchasing.
*/
export declare const BatchStatus: {
readonly Validating: "VALIDATING";
readonly Valid: "VALID";
readonly Invalid: "INVALID";
readonly Purchasing: "PURCHASING";
readonly Purchased: "PURCHASED";
};
/**
* Batches that are `VALIDATING` are being created and validated
*
* @remarks
* `VALID` batches can be purchased
* `INVALID` batches cannot be purchased, `INVALID` BatchShipments must be removed
* Batches that are in the `PURCHASING` state are being purchased
* `PURCHASED` batches are finished purchasing.
*/
export type BatchStatus = ClosedEnum;
export type Batch = {
/**
* ID of the Carrier Account object to use as the default for all shipments in this Batch.
*
* @remarks
* The carrier account can be changed on a per-shipment basis by changing the carrier_account in the
* corresponding BatchShipment object.
*/
defaultCarrierAccount: string;
/**
* Token of the service level to use as the default for all shipments in this Batch.
*
* @remarks
* The servicelevel can be changed on a per-shipment basis by changing the servicelevel_token in the
* corresponding BatchShipment object. Servicelevel tokens can be found here.
*/
defaultServicelevelToken: string;
/**
* Print format of the label. If empty, will use the default format set from
*
* @remarks
* the Shippo dashboard.
*/
labelFiletype?: LabelFileTypeEnum | 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;
batchShipments: BatchShipmentPaginatedList;
/**
* An array of URLs each pointing to a merged file of 100 labels each
*/
labelUrl: Array;
/**
* Date and time of Batch creation
*/
objectCreated: string;
/**
* Unique identifier of the given Batch object
*/
objectId: string;
/**
* Username of the user who created the Batch object.
*/
objectOwner: string;
/**
* An object containing the following counts:
`creation_succeeded`
`creation_failed`
`purchase_succeeded`
`purchase_failed`
*/
objectResults: ObjectResults;
/**
* Date and time of last update to the Batch
*/
objectUpdated: string;
/**
* Batches that are `VALIDATING` are being created and validated
*
* @remarks
* `VALID` batches can be purchased
* `INVALID` batches cannot be purchased, `INVALID` BatchShipments must be removed
* Batches that are in the `PURCHASING` state are being purchased
* `PURCHASED` batches are finished purchasing.
*/
status: BatchStatus;
test?: boolean | undefined;
};
/** @internal */
export declare const ObjectResults$inboundSchema: z.ZodMiniType;
export declare function objectResultsFromJSON(jsonString: string): SafeParseResult;
/** @internal */
export declare const BatchStatus$inboundSchema: z.ZodMiniEnum;
/** @internal */
export declare const Batch$inboundSchema: z.ZodMiniType;
export declare function batchFromJSON(jsonString: string): SafeParseResult;
//# sourceMappingURL=batch.d.ts.map