import { z } from "zod";
import type { CabinClass, FareQuote } from "../fare/types.ts";
import type { MockRoute } from "./routes.ts";
export declare const MockFlightSchema: z.ZodObject<{
    flightNumber: z.ZodString;
    airline: z.ZodString;
    origin: z.ZodString;
    destination: z.ZodString;
    departureTime: z.ZodString;
    arrivalTime: z.ZodString;
    aircraftType: z.ZodString;
    cabinClasses: z.ZodArray<z.ZodEnum<{
        economy: "economy";
        business: "business";
        "premium-economy": "premium-economy";
        first: "first";
    }>>;
    availabilityByClass: z.ZodRecord<z.ZodString, z.ZodNumber>;
}, z.core.$strip>;
export type MockFlight = z.infer<typeof MockFlightSchema>;
export declare const MockScheduleSchema: z.ZodObject<{
    route: z.ZodString;
    date: z.ZodString;
    flights: z.ZodArray<z.ZodObject<{
        flightNumber: z.ZodString;
        airline: z.ZodString;
        origin: z.ZodString;
        destination: z.ZodString;
        departureTime: z.ZodString;
        arrivalTime: z.ZodString;
        aircraftType: z.ZodString;
        cabinClasses: z.ZodArray<z.ZodEnum<{
            economy: "economy";
            business: "business";
            "premium-economy": "premium-economy";
            first: "first";
        }>>;
        availabilityByClass: z.ZodRecord<z.ZodString, z.ZodNumber>;
    }, z.core.$strip>>;
}, z.core.$strip>;
export type MockSchedule = z.infer<typeof MockScheduleSchema>;
export declare const GenerateScheduleOptionsSchema: z.ZodObject<{
    seed: z.ZodOptional<z.ZodNumber>;
    flightsPerDay: z.ZodOptional<z.ZodNumber>;
    includeReturn: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>;
export type GenerateScheduleOptions = z.infer<typeof GenerateScheduleOptionsSchema>;
/**
 * Generate a realistic flight schedule for a given route and date.
 * Respects curfew airports, generates realistic block times,
 * and distributes flights across morning/evening peaks.
 */
export declare function generateSchedule(route: MockRoute, date: string, options?: GenerateScheduleOptions): MockSchedule;
export declare const GenerateFareOptionsSchema: z.ZodObject<{
    seed: z.ZodOptional<z.ZodNumber>;
}, z.core.$strip>;
export type GenerateFareOptions = z.infer<typeof GenerateFareOptionsSchema>;
export declare function generateFareSnapshot(route: MockRoute, cabinClass: CabinClass, options?: GenerateFareOptions): FareQuote;
//# sourceMappingURL=schedules.d.ts.map