/**
 * @fileoverview WSF Schedule API Output Schemas for Routes
 *
 * This module provides Zod schemas for validating responses from the WSF
 * Schedule API route operations.
 */
import { z } from "../../../../shared/zod";
/**
 * Base route schema containing common route fields
 */
export declare const routeBaseSchema: z.ZodObject<{
    RouteID: z.ZodNumber;
    RouteAbbrev: z.ZodNullable<z.ZodString>;
    Description: z.ZodNullable<z.ZodString>;
    RegionID: z.ZodNumber;
}, z.core.$strip>;
export type RouteBase = z.infer<typeof routeBaseSchema>;
/**
 * Schema for ServiceDisruption - represents service disruption information
 */
export declare const serviceDisruptionSchema: z.ZodObject<{
    BulletinID: z.ZodNumber;
    BulletinFlag: z.ZodBoolean;
    PublishDate: z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<Date, string>>>;
    DisruptionDescription: z.ZodString;
}, z.core.$strip>;
export type ServiceDisruption = z.infer<typeof serviceDisruptionSchema>;
/**
 * Service Disruptions List Schema - represents an list of service disruptions
 */
export declare const serviceDisruptionsListSchema: z.ZodArray<z.ZodObject<{
    BulletinID: z.ZodNumber;
    BulletinFlag: z.ZodBoolean;
    PublishDate: z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<Date, string>>>;
    DisruptionDescription: z.ZodString;
}, z.core.$strip>>;
export type ServiceDisruptionList = z.infer<typeof serviceDisruptionsListSchema>;
/**
 * Schema for Route - represents basic route information
 */
export declare const routeSchema: z.ZodObject<{
    RouteID: z.ZodNumber;
    RouteAbbrev: z.ZodNullable<z.ZodString>;
    Description: z.ZodNullable<z.ZodString>;
    RegionID: z.ZodNumber;
    ServiceDisruptions: z.ZodNullable<z.ZodArray<z.ZodObject<{
        BulletinID: z.ZodNumber;
        BulletinFlag: z.ZodBoolean;
        PublishDate: z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<Date, string>>>;
        DisruptionDescription: z.ZodString;
    }, z.core.$strip>>>;
}, z.core.$strip>;
export type Route = z.infer<typeof routeSchema>;
/**
 * Schema for Alert - represents alert information
 *
 * A Highway Alert.
 */
export declare const routeAlertSchema: z.ZodObject<{
    BulletinID: z.ZodNumber;
    BulletinFlag: z.ZodBoolean;
    CommunicationFlag: z.ZodBoolean;
    PublishDate: z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<Date, string>>>;
    AlertDescription: z.ZodNullable<z.ZodString>;
    DisruptionDescription: z.ZodNullable<z.ZodString>;
    AlertFullTitle: z.ZodString;
    AlertFullText: z.ZodNullable<z.ZodString>;
    IVRText: z.ZodNullable<z.ZodString>;
}, z.core.$strip>;
export type RouteAlert = z.infer<typeof routeAlertSchema>;
/**
 * Alerts List Schema - represents an list of alerts
 */
export declare const alertsListSchema: z.ZodArray<z.ZodObject<{
    BulletinID: z.ZodNumber;
    BulletinFlag: z.ZodBoolean;
    CommunicationFlag: z.ZodBoolean;
    PublishDate: z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<Date, string>>>;
    AlertDescription: z.ZodNullable<z.ZodString>;
    DisruptionDescription: z.ZodNullable<z.ZodString>;
    AlertFullTitle: z.ZodString;
    AlertFullText: z.ZodNullable<z.ZodString>;
    IVRText: z.ZodNullable<z.ZodString>;
}, z.core.$strip>>;
export type AlertList = z.infer<typeof alertsListSchema>;
/**
 * Schema for RouteDetail - represents detailed route information
 */
export declare const routeDetailSchema: z.ZodObject<{
    RouteID: z.ZodNumber;
    RouteAbbrev: z.ZodNullable<z.ZodString>;
    Description: z.ZodNullable<z.ZodString>;
    RegionID: z.ZodNumber;
    VesselWatchID: z.ZodNumber;
    ReservationFlag: z.ZodBoolean;
    InternationalFlag: z.ZodBoolean;
    PassengerOnlyFlag: z.ZodBoolean;
    CrossingTime: z.ZodNullable<z.ZodString>;
    AdaNotes: z.ZodNullable<z.ZodString>;
    GeneralRouteNotes: z.ZodNullable<z.ZodString>;
    SeasonalRouteNotes: z.ZodNullable<z.ZodString>;
    Alerts: z.ZodArray<z.ZodObject<{
        BulletinID: z.ZodNumber;
        BulletinFlag: z.ZodBoolean;
        CommunicationFlag: z.ZodBoolean;
        PublishDate: z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<Date, string>>>;
        AlertDescription: z.ZodNullable<z.ZodString>;
        DisruptionDescription: z.ZodNullable<z.ZodString>;
        AlertFullTitle: z.ZodString;
        AlertFullText: z.ZodNullable<z.ZodString>;
        IVRText: z.ZodNullable<z.ZodString>;
    }, z.core.$strip>>;
}, z.core.$strip>;
export type RouteDetail = z.infer<typeof routeDetailSchema>;
/**
 * Schema for RouteDetailsList - represents a list of route details
 */
export declare const routeDetailsListSchema: z.ZodArray<z.ZodObject<{
    RouteID: z.ZodNumber;
    RouteAbbrev: z.ZodNullable<z.ZodString>;
    Description: z.ZodNullable<z.ZodString>;
    RegionID: z.ZodNumber;
    VesselWatchID: z.ZodNumber;
    ReservationFlag: z.ZodBoolean;
    InternationalFlag: z.ZodBoolean;
    PassengerOnlyFlag: z.ZodBoolean;
    CrossingTime: z.ZodNullable<z.ZodString>;
    AdaNotes: z.ZodNullable<z.ZodString>;
    GeneralRouteNotes: z.ZodNullable<z.ZodString>;
    SeasonalRouteNotes: z.ZodNullable<z.ZodString>;
    Alerts: z.ZodArray<z.ZodObject<{
        BulletinID: z.ZodNumber;
        BulletinFlag: z.ZodBoolean;
        CommunicationFlag: z.ZodBoolean;
        PublishDate: z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<Date, string>>>;
        AlertDescription: z.ZodNullable<z.ZodString>;
        DisruptionDescription: z.ZodNullable<z.ZodString>;
        AlertFullTitle: z.ZodString;
        AlertFullText: z.ZodNullable<z.ZodString>;
        IVRText: z.ZodNullable<z.ZodString>;
    }, z.core.$strip>>;
}, z.core.$strip>>;
export type RouteDetailsList = z.infer<typeof routeDetailsListSchema>;
//# sourceMappingURL=routes.output.d.ts.map