import { z } from "zod";
import type { MockRoute } from "./routes.ts";
export declare const PassengerTypeSchema: z.ZodEnum<{
    adult: "adult";
    child: "child";
    infant: "infant";
}>;
export type PassengerType = z.infer<typeof PassengerTypeSchema>;
export declare const MockPassengerSchema: z.ZodObject<{
    id: z.ZodString;
    type: z.ZodEnum<{
        adult: "adult";
        child: "child";
        infant: "infant";
    }>;
    firstName: z.ZodString;
    lastName: z.ZodString;
    title: z.ZodOptional<z.ZodString>;
    nationality: z.ZodString;
    seatNumber: z.ZodOptional<z.ZodString>;
    checkedBags: z.ZodNumber;
    fareClass: z.ZodString;
    loyaltyTier: z.ZodOptional<z.ZodEnum<{
        none: "none";
        silver: "silver";
        gold: "gold";
        platinum: "platinum";
    }>>;
}, z.core.$strip>;
export type MockPassenger = z.infer<typeof MockPassengerSchema>;
export declare const MockManifestSchema: z.ZodObject<{
    flightNumber: z.ZodString;
    route: z.ZodString;
    date: z.ZodString;
    passengers: z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        type: z.ZodEnum<{
            adult: "adult";
            child: "child";
            infant: "infant";
        }>;
        firstName: z.ZodString;
        lastName: z.ZodString;
        title: z.ZodOptional<z.ZodString>;
        nationality: z.ZodString;
        seatNumber: z.ZodOptional<z.ZodString>;
        checkedBags: z.ZodNumber;
        fareClass: z.ZodString;
        loyaltyTier: z.ZodOptional<z.ZodEnum<{
            none: "none";
            silver: "silver";
            gold: "gold";
            platinum: "platinum";
        }>>;
    }, z.core.$strip>>;
    totalCheckedBags: z.ZodNumber;
    loadFactor: z.ZodNumber;
}, z.core.$strip>;
export type MockManifest = z.infer<typeof MockManifestSchema>;
export declare const GenerateManifestOptionsSchema: z.ZodObject<{
    seed: z.ZodOptional<z.ZodNumber>;
    size: z.ZodOptional<z.ZodNumber>;
    loadFactor: z.ZodOptional<z.ZodNumber>;
}, z.core.$strip>;
export type GenerateManifestOptions = z.infer<typeof GenerateManifestOptionsSchema>;
/**
 * Generate a realistic passenger manifest.
 * Size defaults based on aircraft category; load factor controls
 * what proportion of seats are filled.
 */
export declare function generatePassengerManifest(route: MockRoute, flightNumber: string, date: string, options?: GenerateManifestOptions): MockManifest;
export declare const GenerateFlightLegOptionsSchema: z.ZodObject<{
    seed: z.ZodOptional<z.ZodNumber>;
}, z.core.$strip>;
export type GenerateFlightLegOptions = z.infer<typeof GenerateFlightLegOptionsSchema>;
/**
 * Generate a single flight leg for a route at a given datetime.
 */
export declare function generateFlightLeg(route: MockRoute, datetime: string, options?: GenerateFlightLegOptions): {
    origin: string;
    destination: string;
    departureTime: string;
    arrivalTime: string;
    airline: string;
    flightNumber: string;
} | null;
//# sourceMappingURL=manifests.d.ts.map