import { z } from 'zod';
export declare const ShipmentStatus: z.ZodEnum<["pending", "onhold", "canceled", "packaged", "shipped", "returned", "outstock"]>;
export type ShipmentStatus = z.infer<typeof ShipmentStatus>;
export declare const DeliveryStatus: z.ZodEnum<["unknown", "delivered", "pre_transit", "in_transit", "out_for_delivery", "available_for_pickup", "return_to_sender", "failure", "canceled"]>;
export type DeliveryStatus = z.infer<typeof DeliveryStatus>;
export declare const DepartureAddress: z.ZodObject<{
    country_name: z.ZodString;
    country_code: z.ZodString;
    state_code: z.ZodNullable<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    state_code?: string;
    country_code?: string;
    country_name?: string;
}, {
    state_code?: string;
    country_code?: string;
    country_name?: string;
}>;
export type DepartureAddress = z.infer<typeof DepartureAddress>;
export declare const TrackingEvent: z.ZodObject<{
    triggered_at: z.ZodString;
    description: z.ZodString;
}, "strip", z.ZodTypeAny, {
    description?: string;
    triggered_at?: string;
}, {
    description?: string;
    triggered_at?: string;
}>;
export type TrackingEvent = z.infer<typeof TrackingEvent>;
export declare const EstimatedDelivery: z.ZodObject<{
    from_date: z.ZodString;
    to_date: z.ZodString;
    calculated_at: z.ZodString;
}, "strip", z.ZodTypeAny, {
    from_date?: string;
    to_date?: string;
    calculated_at?: string;
}, {
    from_date?: string;
    to_date?: string;
    calculated_at?: string;
}>;
export type EstimatedDelivery = z.infer<typeof EstimatedDelivery>;
export declare const ShipmentItem: z.ZodObject<{
    id: z.ZodNumber;
    order_item_id: z.ZodNumber;
    order_item_external_id: z.ZodNullable<z.ZodString>;
    order_item_name: z.ZodNullable<z.ZodString>;
    quantity: z.ZodNumber;
    _links: z.ZodObject<{
        order_item: z.ZodObject<{
            href: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            href?: string;
        }, {
            href?: string;
        }>;
    }, "strip", z.ZodTypeAny, {
        order_item?: {
            href?: string;
        };
    }, {
        order_item?: {
            href?: string;
        };
    }>;
}, "strip", z.ZodTypeAny, {
    id?: number;
    _links?: {
        order_item?: {
            href?: string;
        };
    };
    quantity?: number;
    order_item_id?: number;
    order_item_external_id?: string;
    order_item_name?: string;
}, {
    id?: number;
    _links?: {
        order_item?: {
            href?: string;
        };
    };
    quantity?: number;
    order_item_id?: number;
    order_item_external_id?: string;
    order_item_name?: string;
}>;
export type ShipmentItem = z.infer<typeof ShipmentItem>;
export declare const Shipment: z.ZodObject<{
    id: z.ZodNumber;
    order_id: z.ZodNumber;
    carrier: z.ZodNullable<z.ZodString>;
    shipment_status: z.ZodEnum<["pending", "onhold", "canceled", "packaged", "shipped", "returned", "outstock"]>;
    shipped_at: z.ZodNullable<z.ZodString>;
    delivery_status: z.ZodEnum<["unknown", "delivered", "pre_transit", "in_transit", "out_for_delivery", "available_for_pickup", "return_to_sender", "failure", "canceled"]>;
    delivery_at: z.ZodNullable<z.ZodString>;
    departure_addess: z.ZodObject<{
        country_name: z.ZodString;
        country_code: z.ZodString;
        state_code: z.ZodNullable<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        state_code?: string;
        country_code?: string;
        country_name?: string;
    }, {
        state_code?: string;
        country_code?: string;
        country_name?: string;
    }>;
    is_reshipment: z.ZodBoolean;
    tracking_url: z.ZodNullable<z.ZodString>;
    tracking_events: z.ZodArray<z.ZodObject<{
        triggered_at: z.ZodString;
        description: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        description?: string;
        triggered_at?: string;
    }, {
        description?: string;
        triggered_at?: string;
    }>, "many">;
    shipment_items: z.ZodArray<z.ZodObject<{
        id: z.ZodNumber;
        order_item_id: z.ZodNumber;
        order_item_external_id: z.ZodNullable<z.ZodString>;
        order_item_name: z.ZodNullable<z.ZodString>;
        quantity: z.ZodNumber;
        _links: z.ZodObject<{
            order_item: z.ZodObject<{
                href: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                href?: string;
            }, {
                href?: string;
            }>;
        }, "strip", z.ZodTypeAny, {
            order_item?: {
                href?: string;
            };
        }, {
            order_item?: {
                href?: string;
            };
        }>;
    }, "strip", z.ZodTypeAny, {
        id?: number;
        _links?: {
            order_item?: {
                href?: string;
            };
        };
        quantity?: number;
        order_item_id?: number;
        order_item_external_id?: string;
        order_item_name?: string;
    }, {
        id?: number;
        _links?: {
            order_item?: {
                href?: string;
            };
        };
        quantity?: number;
        order_item_id?: number;
        order_item_external_id?: string;
        order_item_name?: string;
    }>, "many">;
    _links: z.ZodObject<{
        self: z.ZodObject<{
            href: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            href?: string;
        }, {
            href?: string;
        }>;
        order: z.ZodObject<{
            href: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            href?: string;
        }, {
            href?: string;
        }>;
    }, "strip", z.ZodTypeAny, {
        self?: {
            href?: string;
        };
        order?: {
            href?: string;
        };
    }, {
        self?: {
            href?: string;
        };
        order?: {
            href?: string;
        };
    }>;
}, "strip", z.ZodTypeAny, {
    id?: number;
    _links?: {
        self?: {
            href?: string;
        };
        order?: {
            href?: string;
        };
    };
    order_id?: number;
    carrier?: string;
    shipment_status?: "pending" | "canceled" | "onhold" | "packaged" | "shipped" | "returned" | "outstock";
    shipped_at?: string;
    delivery_status?: "unknown" | "canceled" | "delivered" | "pre_transit" | "in_transit" | "out_for_delivery" | "available_for_pickup" | "return_to_sender" | "failure";
    delivery_at?: string;
    departure_addess?: {
        state_code?: string;
        country_code?: string;
        country_name?: string;
    };
    is_reshipment?: boolean;
    tracking_url?: string;
    tracking_events?: {
        description?: string;
        triggered_at?: string;
    }[];
    shipment_items?: {
        id?: number;
        _links?: {
            order_item?: {
                href?: string;
            };
        };
        quantity?: number;
        order_item_id?: number;
        order_item_external_id?: string;
        order_item_name?: string;
    }[];
}, {
    id?: number;
    _links?: {
        self?: {
            href?: string;
        };
        order?: {
            href?: string;
        };
    };
    order_id?: number;
    carrier?: string;
    shipment_status?: "pending" | "canceled" | "onhold" | "packaged" | "shipped" | "returned" | "outstock";
    shipped_at?: string;
    delivery_status?: "unknown" | "canceled" | "delivered" | "pre_transit" | "in_transit" | "out_for_delivery" | "available_for_pickup" | "return_to_sender" | "failure";
    delivery_at?: string;
    departure_addess?: {
        state_code?: string;
        country_code?: string;
        country_name?: string;
    };
    is_reshipment?: boolean;
    tracking_url?: string;
    tracking_events?: {
        description?: string;
        triggered_at?: string;
    }[];
    shipment_items?: {
        id?: number;
        _links?: {
            order_item?: {
                href?: string;
            };
        };
        quantity?: number;
        order_item_id?: number;
        order_item_external_id?: string;
        order_item_name?: string;
    }[];
}>;
export type Shipment = z.infer<typeof Shipment>;
