import * as z from "zod/v4-mini";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { ServiceLevelWithParent, ServiceLevelWithParent$Outbound } from "./servicelevelwithparent.js";
import { TrackingStatus, TrackingStatus$Outbound } from "./trackingstatus.js";
import { TrackingStatusLocationBase, TrackingStatusLocationBase$Outbound } from "./trackingstatuslocationbase.js";
export type Track = {
/**
* The sender address with city, state, zip and country information.
*/
addressFrom?: TrackingStatusLocationBase | undefined;
/**
* The recipient address with city, state, zip and country information.
*/
addressTo?: TrackingStatusLocationBase | undefined;
/**
* Name of the carrier of the shipment to track. See Carriers.
*/
carrier: string;
/**
* The estimated time of arrival according to the carrier, this might be updated by carriers during the life of the shipment.
*/
eta?: Date | undefined;
messages: Array;
/**
* 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;
/**
* The estimated time of arrival according to the carrier at the time the shipment first entered the system.
*/
originalEta?: Date | undefined;
servicelevel?: ServiceLevelWithParent | undefined;
/**
* A list of tracking events, following the same structure as tracking_status.
*
* @remarks
* It contains a full history of all tracking statuses, starting with the earlier tracking event first.
*/
trackingHistory: Array;
/**
* Tracking number to track.
*/
trackingNumber: string;
/**
* The latest tracking information of this shipment.
*/
trackingStatus?: TrackingStatus | undefined;
/**
* The object_id of the transaction associated with this tracking object.
*
* @remarks
* This field is visible only to the object owner of the transaction.
*/
transaction?: string | undefined;
};
/** @internal */
export declare const Track$inboundSchema: z.ZodMiniType