/**
 * @fileoverview WSF Terminals API Output Schemas
 *
 * This module provides Zod schemas for validating output data from the WSF
 * Terminals API endpoints.
 */
import { z } from "../../../../shared/zod";
/**
 * SpaceForArrivalTerminal schema
 *
 * Contains space information for arrival terminals.
 */
export declare const spaceForArrivalTerminalSchema: z.ZodObject<{
    TerminalID: z.ZodNumber;
    TerminalName: z.ZodNullable<z.ZodString>;
    VesselID: z.ZodNumber;
    VesselName: z.ZodNullable<z.ZodString>;
    DisplayReservableSpace: z.ZodBoolean;
    ReservableSpaceCount: z.ZodNullable<z.ZodNumber>;
    ReservableSpaceHexColor: z.ZodNullable<z.ZodString>;
    DisplayDriveUpSpace: z.ZodBoolean;
    DriveUpSpaceCount: z.ZodNullable<z.ZodNumber>;
    DriveUpSpaceHexColor: z.ZodNullable<z.ZodString>;
    MaxSpaceCount: z.ZodNumber;
    ArrivalTerminalIDs: z.ZodNullable<z.ZodArray<z.ZodNumber>>;
}, z.core.$strip>;
export type SpaceForArrivalTerminal = z.infer<typeof spaceForArrivalTerminalSchema>;
/**
 * DepartingSpace schema
 *
 * Contains departing space information.
 */
export declare const departingSpaceSchema: z.ZodObject<{
    Departure: z.ZodPipe<z.ZodString, z.ZodTransform<Date, string>>;
    IsCancelled: z.ZodBoolean;
    VesselID: z.ZodNumber;
    VesselName: z.ZodNullable<z.ZodString>;
    MaxSpaceCount: z.ZodNumber;
    SpaceForArrivalTerminals: z.ZodNullable<z.ZodArray<z.ZodObject<{
        TerminalID: z.ZodNumber;
        TerminalName: z.ZodNullable<z.ZodString>;
        VesselID: z.ZodNumber;
        VesselName: z.ZodNullable<z.ZodString>;
        DisplayReservableSpace: z.ZodBoolean;
        ReservableSpaceCount: z.ZodNullable<z.ZodNumber>;
        ReservableSpaceHexColor: z.ZodNullable<z.ZodString>;
        DisplayDriveUpSpace: z.ZodBoolean;
        DriveUpSpaceCount: z.ZodNullable<z.ZodNumber>;
        DriveUpSpaceHexColor: z.ZodNullable<z.ZodString>;
        MaxSpaceCount: z.ZodNumber;
        ArrivalTerminalIDs: z.ZodNullable<z.ZodArray<z.ZodNumber>>;
    }, z.core.$strip>>>;
}, z.core.$strip>;
export type DepartingSpace = z.infer<typeof departingSpaceSchema>;
/**
 * TerminalSailingSpace schema
 *
 * This operation reflects terminal condition data (the number of drive-up and reservation spaces available for select departures). A TerminalID, or unique terminal identifier, may be optionally passed to retrieve a specific terminal.
 */
export declare const terminalSailingSpaceSchema: z.ZodObject<{
    TerminalID: z.ZodNumber;
    TerminalSubjectID: z.ZodNumber;
    RegionID: z.ZodNumber;
    TerminalName: z.ZodNullable<z.ZodString>;
    TerminalAbbrev: z.ZodNullable<z.ZodString>;
    SortSeq: z.ZodNumber;
    DepartingSpaces: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
        Departure: z.ZodPipe<z.ZodString, z.ZodTransform<Date, string>>;
        IsCancelled: z.ZodBoolean;
        VesselID: z.ZodNumber;
        VesselName: z.ZodNullable<z.ZodString>;
        MaxSpaceCount: z.ZodNumber;
        SpaceForArrivalTerminals: z.ZodNullable<z.ZodArray<z.ZodObject<{
            TerminalID: z.ZodNumber;
            TerminalName: z.ZodNullable<z.ZodString>;
            VesselID: z.ZodNumber;
            VesselName: z.ZodNullable<z.ZodString>;
            DisplayReservableSpace: z.ZodBoolean;
            ReservableSpaceCount: z.ZodNullable<z.ZodNumber>;
            ReservableSpaceHexColor: z.ZodNullable<z.ZodString>;
            DisplayDriveUpSpace: z.ZodBoolean;
            DriveUpSpaceCount: z.ZodNullable<z.ZodNumber>;
            DriveUpSpaceHexColor: z.ZodNullable<z.ZodString>;
            MaxSpaceCount: z.ZodNumber;
            ArrivalTerminalIDs: z.ZodNullable<z.ZodArray<z.ZodNumber>>;
        }, z.core.$strip>>>;
    }, z.core.$strip>>>>;
    IsNoFareCollected: z.ZodNullable<z.ZodBoolean>;
    NoFareCollectedMsg: z.ZodNullable<z.ZodString>;
}, z.core.$strip>;
export type TerminalSailingSpace = z.infer<typeof terminalSailingSpaceSchema>;
/**
 * GetAllTerminalSailingSpace schema
 *
 * Returns all terminal sailing space information.
 */
export declare const getAllTerminalSailingSpaceSchema: z.ZodArray<z.ZodObject<{
    TerminalID: z.ZodNumber;
    TerminalSubjectID: z.ZodNumber;
    RegionID: z.ZodNumber;
    TerminalName: z.ZodNullable<z.ZodString>;
    TerminalAbbrev: z.ZodNullable<z.ZodString>;
    SortSeq: z.ZodNumber;
    DepartingSpaces: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
        Departure: z.ZodPipe<z.ZodString, z.ZodTransform<Date, string>>;
        IsCancelled: z.ZodBoolean;
        VesselID: z.ZodNumber;
        VesselName: z.ZodNullable<z.ZodString>;
        MaxSpaceCount: z.ZodNumber;
        SpaceForArrivalTerminals: z.ZodNullable<z.ZodArray<z.ZodObject<{
            TerminalID: z.ZodNumber;
            TerminalName: z.ZodNullable<z.ZodString>;
            VesselID: z.ZodNumber;
            VesselName: z.ZodNullable<z.ZodString>;
            DisplayReservableSpace: z.ZodBoolean;
            ReservableSpaceCount: z.ZodNullable<z.ZodNumber>;
            ReservableSpaceHexColor: z.ZodNullable<z.ZodString>;
            DisplayDriveUpSpace: z.ZodBoolean;
            DriveUpSpaceCount: z.ZodNullable<z.ZodNumber>;
            DriveUpSpaceHexColor: z.ZodNullable<z.ZodString>;
            MaxSpaceCount: z.ZodNumber;
            ArrivalTerminalIDs: z.ZodNullable<z.ZodArray<z.ZodNumber>>;
        }, z.core.$strip>>>;
    }, z.core.$strip>>>>;
    IsNoFareCollected: z.ZodNullable<z.ZodBoolean>;
    NoFareCollectedMsg: z.ZodNullable<z.ZodString>;
}, z.core.$strip>>;
export type GetAllTerminalSailingSpace = z.infer<typeof getAllTerminalSailingSpaceSchema>;
/**
 * GetSpecificTerminalSailingSpace schema
 *
 * Returns sailing space information for a specific terminal.
 */
export declare const getSpecificTerminalSailingSpaceSchema: z.ZodObject<{
    TerminalID: z.ZodNumber;
    TerminalSubjectID: z.ZodNumber;
    RegionID: z.ZodNumber;
    TerminalName: z.ZodNullable<z.ZodString>;
    TerminalAbbrev: z.ZodNullable<z.ZodString>;
    SortSeq: z.ZodNumber;
    DepartingSpaces: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
        Departure: z.ZodPipe<z.ZodString, z.ZodTransform<Date, string>>;
        IsCancelled: z.ZodBoolean;
        VesselID: z.ZodNumber;
        VesselName: z.ZodNullable<z.ZodString>;
        MaxSpaceCount: z.ZodNumber;
        SpaceForArrivalTerminals: z.ZodNullable<z.ZodArray<z.ZodObject<{
            TerminalID: z.ZodNumber;
            TerminalName: z.ZodNullable<z.ZodString>;
            VesselID: z.ZodNumber;
            VesselName: z.ZodNullable<z.ZodString>;
            DisplayReservableSpace: z.ZodBoolean;
            ReservableSpaceCount: z.ZodNullable<z.ZodNumber>;
            ReservableSpaceHexColor: z.ZodNullable<z.ZodString>;
            DisplayDriveUpSpace: z.ZodBoolean;
            DriveUpSpaceCount: z.ZodNullable<z.ZodNumber>;
            DriveUpSpaceHexColor: z.ZodNullable<z.ZodString>;
            MaxSpaceCount: z.ZodNumber;
            ArrivalTerminalIDs: z.ZodNullable<z.ZodArray<z.ZodNumber>>;
        }, z.core.$strip>>>;
    }, z.core.$strip>>>>;
    IsNoFareCollected: z.ZodNullable<z.ZodBoolean>;
    NoFareCollectedMsg: z.ZodNullable<z.ZodString>;
}, z.core.$strip>;
export type GetSpecificTerminalSailingSpace = z.infer<typeof getSpecificTerminalSailingSpaceSchema>;
//# sourceMappingURL=terminalSailingSpace.output.d.ts.map