UNPKG

@aerodb/js

Version:

Javascript wrapper for the AeroDB API

1,970 lines 65.3 kB
/**
 * This file was auto-generated by openapi-typescript.
 * Do not make direct changes to the file.
 */

export interface paths {
    "/users/{userId}": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description Get a user by id */
        get: operations["GetUser"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/search": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description Search for resources in the database */
        get: operations["Search"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/notams/{notamId}": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description Get one notam by its ICAO code */
        get: operations["GetNotam"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/notams": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description Get all notams */
        get: operations["GetNotams"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/countries/{countryCode}": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description Get one country by its ICAO code */
        get: operations["GetCountry"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/countries": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description Get all countries */
        get: operations["GetCountries"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/cityCodes/{code}": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description Get one City code information by its ICAO code */
        get: operations["GetCityCode"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/cityCodes": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description Get all city codes */
        get: operations["GetCityCodes"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/changeLogs/{changeLogId}": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description Get one changeLog entry by its internal id */
        get: operations["GetChange"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/changeLogs": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description Get all changeLog entries */
        get: operations["GetChangeLogsList"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/signup": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /** @description Create a new account */
        post: operations["Signup"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/login": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /** @description Authenticate using email and password */
        post: operations["Login"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/refreshToken": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /** @description Refresh a token */
        post: operations["RefreshToken"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/me": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description Get informations about the current session */
        get: operations["Me"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/apiKeys/{userId}": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description Get all api keys belonging to a user */
        get: operations["GetForUser"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/apiKeys/{userId}/regenerate": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /** @description Regenerate a user's api key */
        post: operations["RegenerateUserApiKey"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/airports/all": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description Get an overview list of all airports */
        get: operations["GetAllAirportsList"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/airports": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description Get all airports */
        get: operations["GetAirportsList"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/airports/{airportId}": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description Get one airport */
        get: operations["GetAirport"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/airports/{airportId}/metar": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description Get the METARs from the last 24 hours for one airport */
        get: operations["GetAirportMetar"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/airlines/all": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description Get an overview list of all airports */
        get: operations["GetAllAirlinesList"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/airlines/{airlineId}": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description Get one airline by its internal id */
        get: operations["GetAirline"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/airlines": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description Get all airlines */
        get: operations["GetAirlinesList"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/aircraftTypes/all": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description Get an overview list of all aircraftTypes */
        get: operations["GetAllAircraftTypesList"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/aircraftTypes": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description Get all aircraftTypes */
        get: operations["GetAircraftTypesList"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/aircraftTypes/{aircraftTypeId}": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** @description Get one aircraftType */
        get: operations["GetAircraftType"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
}
export type webhooks = Record<string, never>;
export interface components {
    schemas: {
        User: {
            email: string;
            password: string;
            firstName: string;
            lastName: string;
            verified: boolean;
            verificationToken?: string;
            verificationTokenExpiry?: string;
            verificationDate?: string;
            disabled: boolean;
            permissions: ("ADMIN" | "USER")[];
        };
        RunwayEnd: {
            /** @description The name of the runway end. */
            ident: string;
            /**
             * Format: double
             * @description The elevation of the runway end in feets.
             */
            elevation?: number;
            /**
             * Format: double
             * @description The heading of the runway end in degrees.
             */
            heading?: number;
            /**
             * Format: double
             * @description The displaced threshold of the runway end in feets.
             */
            displacedThreshold?: number;
            /** @description The coordinates of the runway end. */
            coordinates?: {
                /** Format: double */
                longitude: number;
                /** Format: double */
                latitude: number;
            };
        };
        Runway: {
            /** @description The name of the runway. */
            name: string;
            /**
             * Format: double
             * @description The length of the runway in feets.
             */
            length?: number;
            /**
             * Format: double
             * @description The width of the runway in feets.
             */
            width?: number;
            lowEnd?: components["schemas"]["RunwayEnd"];
            highEnd?: components["schemas"]["RunwayEnd"];
            /** @description The surface of the runway. */
            surface?: string;
            /** @description True if the runway is closed. */
            isClosed?: boolean;
            /** @description True if the runway is lighted. */
            isLighted?: boolean;
        };
        Frequency: {
            /** @description The type of frequency. */
            type: string;
            /** @description The name of the frequency. */
            name: string;
            /**
             * Format: double
             * @description The frequency in MHz.
             */
            frequency: number;
        };
        AirportUrl: {
            url: string;
            /** @enum {string} */
            type: "website" | "wikipedia";
        };
        /** @description Airport raw internal data provided by scrappers */
        AirportInternal: {
            fsx_runways: string;
            fsx_airport: string;
        };
        /**
         * @description Represents an airport.
         * @example {
         *       "name": "John F. Kennedy International Airport",
         *       "icao": "KJFK",
         *       "iata": "JFK",
         *       "coordinates": {
         *         "latitude": 40.6413,
         *         "longitude": -73.7781
         *       },
         *       "elevation": 13,
         *       "countryCode": "US",
         *       "city": "New York",
         *       "state": "New York",
         *       "county": "Queens",
         *       "timezone": "America/New_York",
         *       "runways": [
         *         {
         *           "name": "Runway 1",
         *           "length": 10000,
         *           "surface": "CON"
         *         },
         *         {
         *           "name": "Runway 2",
         *           "length": 8000,
         *           "surface": "ASP"
         *         }
         *       ],
         *       "frequencies": [
         *         {
         *           "name": "Tower",
         *           "frequency": 118.3
         *         },
         *         {
         *           "name": "Ground",
         *           "frequency": 121.9
         *         }
         *       ]
         *     }
         */
        Airport: {
            /** @description Unique internal identifier of the airport. */
            airportId: string;
            /** @description The name of the airport. */
            name: string;
            /** @description A code used to identify the airport locally. */
            localCode?: string;
            /** @description The International Civil Aviation Organization (ICAO) code of the airport. */
            icaoCode?: string;
            /** @description The Global Positioning System (GPS) code of the airport. */
            gpsCode?: string;
            /** @description The International Air Transport Association (IATA) code of the airport. */
            iataCode?: string;
            /** @description The coordinates of the airport. */
            coordinates?: {
                /** Format: double */
                longitude: number;
                /** Format: double */
                latitude: number;
            };
            /**
             * Format: double
             * @description The elevation of the airport in feets.
             */
            elevation?: number;
            /**
             * @description The country where the airport is located.
             *
             *     ISO 3166-1 alpha-2 code.
             * @example US
             */
            countryCode?: string;
            /** @description The city where the airport is located. */
            city?: string;
            /** @description The state where the airport is located. */
            state?: string;
            /** @description The county where the airport is located. */
            county?: string;
            /**
             * @description The continent where the airport is located (2 letters code).
             * @example EU
             */
            continent?: string;
            /**
             * @description The timezone of the airport in the TZ database format.
             * @example America/New_York
             */
            timezone?: string;
            runways?: components["schemas"]["Runway"][];
            frequencies?: components["schemas"]["Frequency"][];
            /** @description Various URLs related to the airport. */
            urls?: components["schemas"]["AirportUrl"][];
            /** @description Internal properties */
            _internal?: components["schemas"]["AirportInternal"];
            /**
             * @description The type of airport.
             * @enum {string}
             */
            type: "smallAirport" | "mediumAirport" | "largeAirport" | "heliport" | "seaplaneBase" | "baloonPort" | "closed";
        };
        Airline: {
            /** @description The name of the airline. */
            name: string;
            /** @description Unique identifier of the airline. */
            airlineId: string;
            /** @description The ICAO code of the airline. */
            icao?: string;
            /** @description The IATA code of the airline. */
            iata?: string;
            /** @description The call sign of the airline. */
            callSign?: string;
            websiteUrl?: string;
            location?: string;
            /** @description True if the airline is defunct and no longer operating. */
            isDefunct: boolean;
        };
        CityCode: {
            code: string;
            name: string;
            location: {
                county: string;
                state: string;
                city: string;
                country: string;
                /** Format: double */
                elevation: number;
                /** Format: double */
                longitude: number;
                /** Format: double */
                latitude: number;
            };
            timezone: string;
        };
        /**
         * @description The category of the aircraft type.
         *
         *     - `amphibian`: An aircraft that can operate on land and water.
         *
         *     - `gyrocopter`: A type of rotorcraft that uses an unpowered rotor in autorotation to develop lift.
         *
         *     - `helicopter`: A type of rotorcraft in which lift and thrust are supplied by rotors.
         *
         *     - `landplane`: An aircraft that operates on land.
         *
         *     - `seaplane`: An aircraft that can operate on water.
         *
         *     - `tiltrotor`: An aircraft that uses a pair of rotors mounted on rotating engine pods at the ends of fixed wings.
         *
         *     - `other`: An aircraft that does not fit into any of the other categories.
         * @enum {string}
         */
        AircraftCategory: "amphibian" | "gyrocopter" | "helicopter" | "landplane" | "seaplane" | "tiltrotor" | "other";
        /**
         * @description Represent a wake turbulence category of an aircraft type.
         *
         *     - `L`: Light
         *
         *     - `M`: Medium
         *
         *     - `H`: Heavy
         *
         *     - `J`: Super
         * @enum {string}
         */
        WakeTurbulenceCategory: "L" | "M" | "H" | "J";
        /**
         * @description The wake turbulence group of the aircraft type, based on weight and wingspan criteria.
         *
         *     - `A`: Aircraft types of 136,000 kg or more, and a wingspan less than or equal to 80 m but greater than 74.68 m (equivalent to SUPER wake turbulence category).
         *     - `B`: Aircraft types of 136,000 kg or more, and a wingspan less than or equal to 74.68 m but greater than 53.34 m (equivalent to HEAVY wake turbulence category).
         *     - `C`: Aircraft types of 136,000 kg or more, and a wingspan less than or equal to 53.34 m but greater than 38.1 m (equivalent to HEAVY wake turbulence category).
         *     - `D`: Aircraft types less than 136,000 kg but more than 18,600 kg, and a wingspan greater than 32 m.
         *     - `E`: Aircraft types less than 136,000 kg but more than 18,600 kg, and a wingspan less than or equal to 32 m but greater than 27.43 m.
         *     - `F`: Aircraft types less than 136,000 kg but more than 18,600 kg, and a wingspan less than or equal to 27.43 m.
         *     - `G`: Aircraft types of 18,600 kg or less (without a wingspan criterion).
         * @enum {string}
         */
        WakeTurbulenceGroup: "A" | "B" | "C" | "D" | "E" | "F" | "G";
        /**
         * @description Represents an aircraft type.
         * @example {
         *       "aircraftTypeId": "AIRBUS_A388",
         *       "name": "Airbus A380",
         *       "icaoCode": "A388",
         *       "designator": "A380",
         *       "manufacturerCode": "AIRBUS",
         *       "category": "landplane",
         *       "aircraftDescription": "L4J",
         *       "engineType": "jet",
         *       "engineCount": 4,
         *       "wakeTurbulenceCategories": [
         *         "H"
         *       ],
         *       "wakeTurbulenceGroup": "C"
         *     }
         */
        AircraftType: {
            /** @description The unique identifier of the aircraft type.
             *
             *     Note: This field is a combinaison of the `manufacturerCode` and `icaoCode` fields with a _ separator. */
            aircraftTypeId: string;
            /** @description The name of the aircraft type. */
            name: string;
            /** @description The ICAO code of the aircraft type. */
            icaoCode: string;
            /**
             * @description A 3-letter description code of the aircraft, as defined in ICAO Doc 8643.
             *
             *     The code provides basic details about the aircraft:
             *
             *     - **First Symbol**: Describes the aircraft type:
             *       - `L`: Landplane (e.g., A320).
             *       - `S`: Seaplane (e.g., HARBIN SH-5).
             *       - `A`: Amphibian (e.g., LA4).
             *       - `G`: Gyrocopter (e.g., A002).
             *       - `H`: Helicopter (e.g., A109).
             *       - `T`: Tiltrotor (e.g., V22).
             *
             *     - **Second Symbol**: Specifies the number of engines:
             *       - `1`, `2`, `3`, `4`, `6`, `8`: The number of engines.
             *       - `C`: Two engines coupled to drive a single propeller system (for fixed-wing aircraft, e.g., C08T).
             *
             *     - **Third Symbol**: Specifies the engine type:
             *       - `J`: Jet engine.
             *       - `T`: Turboprop/turboshaft.
             *       - `P`: Piston engine.
             *       - `E`: Electric engine.
             *       - `R`: Rocket engine.
             *
             *     **Examples**:
             *     - `L2J`: A landplane with two jet engines.
             *     - `H2T`: A helicopter with two turboprop/turboshaft engines.
             *     - `S1P`: A seaplane with one piston engine.
             * @example L2J
             */
            aircraftDescription: string;
            /** @description The ICAO designator code of the aircraft type. */
            designator: string;
            /** @description The ICAO manufacturer code of the aircraft type. */
            manufacturerCode: string;
            category: components["schemas"]["AircraftCategory"];
            engineType?: string;
            /**
             * Format: double
             * @description The number of engines of the aircraft type.
             */
            engineCount?: number;
            wakeTurbulenceCategories: components["schemas"]["WakeTurbulenceCategory"][];
            wakeTurbulenceGroup?: components["schemas"]["WakeTurbulenceGroup"];
        };
        SearchResult: {
            aircraftTypes: components["schemas"]["AircraftType"][];
            cityCodes: components["schemas"]["CityCode"][];
            airlines: components["schemas"]["Airline"][];
            airports: components["schemas"]["Airport"][];
        };
        Notam: {
            /** @description Unique identifier for the NOTAM.
             *
             *     It is expected to be the same as the NOTAM number but with slashes replaced by dashes.
             *
             *     Example: A0611/24 -> A0611-24 */
            notamId: string;
            /** @description The NOTAM number. */
            notamNumber: string;
            /** @description The message of the NOTAM. */
            message: string;
            /**
             * Format: double
             * @description The transaction ID of the NOTAM.
             */
            transactionId: number;
            /** @description The ICAO code of the location the NOTAM is related to. */
            icao?: string;
            /** Format: date-time */
            issueDate?: string;
            /** Format: date-time */
            startDate?: string;
            /** Format: date-time */
            endDate?: string;
            source?: string;
            sourceType?: string;
            /** @description Indicates if the NOTAM is a SNOWTAM. */
            isSnowtam?: boolean;
            /** @description Indicates if the NOTAM is a procedure. */
            isProcedure?: boolean;
            mapPointer?: string;
            geometry?: string;
        };
        QueryParameters: {
            /** @description Base64 encoded filter to apply to the query
             *
             *     Example: `eyJ0eXBlIjoibGFyZ2VBaXJwb3J0In0=` ({"type":"largeAirport"})
             *
             *      [More details](https://www.mongodb.com/docs/compass/current/query/filter/) */
            filter?: string;
            /** @description Base64 encoded sort order of the results
             *
             *     Example `{ "createdAt": -1 }`
             *
             *     [More details](https://www.mongodb.com/docs/compass/current/query/sort/) */
            sort?: string;
            /**
             * Format: double
             * @description Number of items to return
             * @default 50
             * @example 50
             */
            limit: number;
            /**
             * Format: double
             * @description Page number
             * @default 1
             * @example 1
             */
            page: number;
        };
        /** @description Make all properties in T optional */
        Partial_Notam_: {
            /** @description Unique identifier for the NOTAM.
             *
             *     It is expected to be the same as the NOTAM number but with slashes replaced by dashes.
             *
             *     Example: A0611/24 -> A0611-24 */
            notamId?: string;
            /** @description The NOTAM number. */
            notamNumber?: string;
            /** @description The message of the NOTAM. */
            message?: string;
            /**
             * Format: double
             * @description The transaction ID of the NOTAM.
             */
            transactionId?: number;
            /** @description The ICAO code of the location the NOTAM is related to. */
            icao?: string;
            /** Format: date-time */
            issueDate?: string;
            /** Format: date-time */
            startDate?: string;
            /** Format: date-time */
            endDate?: string;
            source?: string;
            sourceType?: string;
            /** @description Indicates if the NOTAM is a SNOWTAM. */
            isSnowtam?: boolean;
            /** @description Indicates if the NOTAM is a procedure. */
            isProcedure?: boolean;
            mapPointer?: string;
            geometry?: string;
        };
        SubDivision: {
            name: string;
            code: string;
        };
        Country: {
            name: string;
            alpha2: string;
            alpha3: string;
            /** Format: double */
            isoId: number;
            subdivisions: components["schemas"]["SubDivision"][];
            continent: string;
            timezone: string;
        };
        /** @description Make all properties in T optional */
        Partial_Country_: {
            name?: string;
            alpha2?: string;
            alpha3?: string;
            /** Format: double */
            isoId?: number;
            subdivisions?: components["schemas"]["SubDivision"][];
            continent?: string;
            timezone?: string;
        };
        /** @description Make all properties in T optional */
        Partial_CityCode_: {
            code?: string;
            name?: string;
            location?: {
                county: string;
                state: string;
                city: string;
                country: string;
                /** Format: double */
                elevation: number;
                /** Format: double */
                longitude: number;
                /** Format: double */
                latitude: number;
            };
            timezone?: string;
        };
        ChangeLog: {
            /**
             * Format: date-time
             * @description The date of the change.
             */
            date: string;
            /**
             * @description The type of the resource that was changed.
             * @example airline
             */
            resourceType: string;
            /** @description The unique identifier of the resource that was changed. */
            resourceId: string;
            /** @description The changes that were made. (JSON diff) */
            changes: string;
        };
        /** @description Make all properties in T optional */
        Partial_ChangeLog_: {
            /**
             * Format: date-time
             * @description The date of the change.
             */
            date?: string;
            /**
             * @description The type of the resource that was changed.
             * @example airline
             */
            resourceType?: string;
            /** @description The unique identifier of the resource that was changed. */
            resourceId?: string;
            /** @description The changes that were made. (JSON diff) */
            changes?: string;
        };
        /** @description From T, pick a set of properties whose keys are in the union K */
        "Pick_User.email-or-password-or-firstName-or-lastName_": {
            email: string;
            password: string;
            firstName: string;
            lastName: string;
        };
        SignupParams: components["schemas"]["Pick_User.email-or-password-or-firstName-or-lastName_"];
        /** @description From T, pick a set of properties whose keys are in the union K */
        "Pick_User.email-or-password_": {
            email: string;
            password: string;
        };
        LoginParams: components["schemas"]["Pick_User.email-or-password_"];
        RefreshTokenResponse: {
            token: string;
            /** Format: date-time */
            tokenExpires: string;
        };
        /** @enum {string} */
        ApiKeyScope: "public" | "admin";
        ApiKey: {
            key: string;
            userId: string;
            /** Format: date-time */
            expires: string;
            scopes: components["schemas"]["ApiKeyScope"][];
        };
        /** @description From T, pick a set of properties whose keys are in the union K */
        "Pick_Airport.airportId-or-name_": {
            /** @description The name of the airport. */
            name: string;
            /** @description Unique internal identifier of the airport. */
            airportId: string;
        };
        AirportOverview: components["schemas"]["Pick_Airport.airportId-or-name_"];
        QueryParametersWithoutLimit: {
            /** @description Base64 encoded filter to apply to the query
             *
             *     Example: `eyJ0eXBlIjoibGFyZ2VBaXJwb3J0In0=` ({"type":"largeAirport"})
             *
             *      [More details](https://www.mongodb.com/docs/compass/current/query/filter/) */
            filter?: string;
            /** @description Base64 encoded sort order of the results
             *
             *     Example `{ "createdAt": -1 }`
             *
             *     [More details](https://www.mongodb.com/docs/compass/current/query/sort/) */
            sort?: string;
            /**
             * Format: double
             * @description Number of items to return
             * @default 50
             * @example 50
             */
            limit: number;
            /**
             * Format: double
             * @description Page number
             * @default 1
             * @example 1
             */
            page: number;
        };
        /** @description A list of METAR reports */
        MetarResponse: string[];
        /** @description Make all properties in T optional */
        Partial_Airport_: {
            /** @description Unique internal identifier of the airport. */
            airportId?: string;
            /** @description The name of the airport. */
            name?: string;
            /** @description A code used to identify the airport locally. */
            localCode?: string;
            /** @description The International Civil Aviation Organization (ICAO) code of the airport. */
            icaoCode?: string;
            /** @description The Global Positioning System (GPS) code of the airport. */
            gpsCode?: string;
            /** @description The International Air Transport Association (IATA) code of the airport. */
            iataCode?: string;
            /** @description The coordinates of the airport. */
            coordinates?: {
                /** Format: double */
                longitude: number;
                /** Format: double */
                latitude: number;
            };
            /**
             * Format: double
             * @description The elevation of the airport in feets.
             */
            elevation?: number;
            /**
             * @description The country where the airport is located.
             *
             *     ISO 3166-1 alpha-2 code.
             * @example US
             */
            countryCode?: string;
            /** @description The city where the airport is located. */
            city?: string;
            /** @description The state where the airport is located. */
            state?: string;
            /** @description The county where the airport is located. */
            county?: string;
            /**
             * @description The continent where the airport is located (2 letters code).
             * @example EU
             */
            continent?: string;
            /**
             * @description The timezone of the airport in the TZ database format.
             * @example America/New_York
             */
            timezone?: string;
            runways?: components["schemas"]["Runway"][];
            frequencies?: components["schemas"]["Frequency"][];
            /** @description Various URLs related to the airport. */
            urls?: components["schemas"]["AirportUrl"][];
            /** @description Internal properties */
            _internal?: components["schemas"]["AirportInternal"];
            /**
             * @description The type of airport.
             * @enum {string}
             */
            type?: "smallAirport" | "mediumAirport" | "largeAirport" | "heliport" | "seaplaneBase" | "baloonPort" | "closed";
        };
        /** @description From T, pick a set of properties whose keys are in the union K */
        "Pick_Airline.airlineId-or-name_": {
            /** @description The name of the airline. */
            name: string;
            /** @description Unique identifier of the airline. */
            airlineId: string;
        };
        AirlineOverview: components["schemas"]["Pick_Airline.airlineId-or-name_"];
        /** @description Make all properties in T optional */
        Partial_Airline_: {
            /** @description The name of the airline. */
            name?: string;
            /** @description Unique identifier of the airline. */
            airlineId?: string;
            /** @description The ICAO code of the airline. */
            icao?: string;
            /** @description The IATA code of the airline. */
            iata?: string;
            /** @description The call sign of the airline. */
            callSign?: string;
            websiteUrl?: string;
            location?: string;
            /** @description True if the airline is defunct and no longer operating. */
            isDefunct?: boolean;
        };
        /** @description From T, pick a set of properties whose keys are in the union K */
        "Pick_AircraftType.aircraftTypeId-or-manufacturerCode-or-icaoCode-or-name_": {
            /** @description The name of the aircraft type. */
            name: string;
            /** @description The ICAO code of the aircraft type. */
            icaoCode: string;
            /** @description The unique identifier of the aircraft type.
             *
             *     Note: This field is a combinaison of the `manufacturerCode` and `icaoCode` fields with a _ separator. */
            aircraftTypeId: string;
            /** @description The ICAO manufacturer code of the aircraft type. */
            manufacturerCode: string;
        };
        AircraftTypeOverview: components["schemas"]["Pick_AircraftType.aircraftTypeId-or-manufacturerCode-or-icaoCode-or-name_"];
        /** @description Make all properties in T optional */
        Partial_AircraftType_: {
            /** @description The unique identifier of the aircraft type.
             *
             *     Note: This field is a combinaison of the `manufacturerCode` and `icaoCode` fields with a _ separator. */
            aircraftTypeId?: string;
            /** @description The name of the aircraft type. */
            name?: string;
            /** @description The ICAO code of the aircraft type. */
            icaoCode?: string;
            /**
             * @description A 3-letter description code of the aircraft, as defined in ICAO Doc 8643.
             *
             *     The code provides basic details about the aircraft:
             *
             *     - **First Symbol**: Describes the aircraft type:
             *       - `L`: Landplane (e.g., A320).
             *       - `S`: Seaplane (e.g., HARBIN SH-5).
             *       - `A`: Amphibian (e.g., LA4).
             *       - `G`: Gyrocopter (e.g., A002).
             *       - `H`: Helicopter (e.g., A109).
             *       - `T`: Tiltrotor (e.g., V22).
             *
             *     - **Second Symbol**: Specifies the number of engines:
             *       - `1`, `2`, `3`, `4`, `6`, `8`: The number of engines.
             *       - `C`: Two engines coupled to drive a single propeller system (for fixed-wing aircraft, e.g., C08T).
             *
             *     - **Third Symbol**: Specifies the engine type:
             *       - `J`: Jet engine.
             *       - `T`: Turboprop/turboshaft.
             *       - `P`: Piston engine.
             *       - `E`: Electric engine.
             *       - `R`: Rocket engine.
             *
             *     **Examples**:
             *     - `L2J`: A landplane with two jet engines.
             *     - `H2T`: A helicopter with two turboprop/turboshaft engines.
             *     - `S1P`: A seaplane with one piston engine.
             * @example L2J
             */
            aircraftDescription?: string;
            /** @description The ICAO designator code of the aircraft type. */
            designator?: string;
            /** @description The ICAO manufacturer code of the aircraft type. */
            manufacturerCode?: string;
            category?: components["schemas"]["AircraftCategory"];
            engineType?: string;
            /**
             * Format: double
             * @description The number of engines of the aircraft type.
             */
            engineCount?: number;
            wakeTurbulenceCategories?: components["schemas"]["WakeTurbulenceCategory"][];
            wakeTurbulenceGroup?: components["schemas"]["WakeTurbulenceGroup"];
        };
    };
    responses: never;
    parameters: never;
    requestBodies: never;
    headers: never;
    pathItems: never;
}
export type $defs = Record<string, never>;
export interface operations {
    GetUser: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                userId: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Ok */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["User"];
                };
            };
        };
    };
    Search: {
        parameters: {
            query: {
                query: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Ok */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["SearchResult"];
                };
            };
        };
    };
    GetNotam: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                notamId: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Ok */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Notam"];
                };
            };
        };
    };
    GetNotams: {
        parameters: {
            query?: {
                /** @description Base64 encoded filter to apply to the query
                 *
                 *     Example: `eyJ0eXBlIjoibGFyZ2VBaXJwb3J0In0=` ({"type":"largeAirport"})
                 *
                 *      [More details](https://www.mongodb.com/docs/compass/current/query/filter/) */
                filter?: string;
                /** @description Base64 encoded sort order of the results
                 *
                 *     Example `{ "createdAt": -1 }`
                 *
                 *     [More details](https://www.mongodb.com/docs/compass/current/query/sort/) */
                sort?: string;
                /**
                 * @description Number of items to return
                 * @example 50
                 */
                limit?: number;
                /**
                 * @description Page number
                 * @example 1
                 */
                page?: number;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description list of all notams */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Notam"][];
                };
            };
        };
    };
    GetCountry: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                countryCode: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Ok */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Country"];
                };
            };
        };
    };
    GetCountries: {
        parameters: {
            query?: {
                /** @description Base64 encoded filter to apply to the query
                 *
                 *     Example: `eyJ0eXBlIjoibGFyZ2VBaXJwb3J0In0=` ({"type":"largeAirport"})
                 *
                 *      [More details](https://www.mongodb.com/docs/compass/current/query/filter/) */
                filter?: string;
                /** @description Base64 encoded sort order of the results
                 *
                 *     Example `{ "createdAt": -1 }`
                 *
                 *     [More details](https://www.mongodb.com/docs/compass/current/query/sort/) */
                sort?: string;
                /**
                 * @description Number of items to return
                 * @example 50
                 */
                limit?: number;
                /**
                 * @description Page number
                 * @example 1
                 */
                page?: number;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description list of all countries */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Country"][];
                };
            };
        };
    };
    GetCityCode: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                code: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description City code information */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["CityCode"];
                };
            };
        };
    };
    GetCityCodes: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description list of all city codes */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["CityCode"][];
                };
            };
        };
    };
    GetChange: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                changeLogId: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Ok */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["ChangeLog"];
                };
            };
        };
    };
    GetChangeLogsList: {
        parameters: {
            query?: {
                /** @description Base64 encoded filter to apply to the query
                 *
                 *     Example: `eyJ0eXBlIjoibGFyZ2VBaXJwb3J0In0=` ({"type":"largeAirport"})
                 *
                 *      [More details](https://www.mongodb.com/docs/compass/current/query/filter/) */
                filter?: string;
                /** @description Base64 encoded sort order of the results
                 *
                 *     Example `{ "createdAt": -1 }`
                 *
                 *     [More details](https://www.mongodb.com/docs/compass/current/query/sort/) */
                sort?: string;
                /**
                 * @description Number of items to return
                 * @example 50
                 */
                limit?: number;
                /**
                 * @description Page number
                 * @example 1
                 */
                page?: number;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Ok */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["ChangeLog"][];
                };
            };
        };
    };
    Signup: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody: {
            content: {
                "application/json": components["schemas"]["SignupParams"];
            };
        };
        responses: {
            /** @description Created */
            201: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["User"];
                };
            };
        };
    };
    Login: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody: {
            content: {
                "application/json": components["schemas"]["LoginParams"];
            };
        };
        responses: {
            /** @description Ok */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": {
                        /** Format: date-time */
                        tokenRefreshExpires: string;
                        tokenRefresh: string;
                        /** Format: date-time */
                        tokenExpires: string;
                        token: string;
                        user: components["schemas"]["User"];
                    };
                };
            };
        };
    };
    RefreshToken: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody: {
            content: {
                "application/json": {
                    refreshToken: string;
                };
            };
        };
        responses: {
            /** @description Ok */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["RefreshTokenResponse"];
                };
            };
        };
    };
    Me: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Ok */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": {
                        user: components["schemas"]["User"];
                    };
                };
            };
        };
    };
    GetForUser: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                userId: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Ok */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["ApiKey"][];
                };
            };
        };
    };
    RegenerateUserApiKey: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                userId: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Ok */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["ApiKey"];
                };
            };
        };
    };
    GetAllAirportsList: {
        parameters: {
            query?: {
                /** @description Base64 encoded filter to apply to the query
                 *
                 *     Example: `eyJ0eXBlIjoibGFyZ2VBaXJwb3J0In0=` ({"type":"largeAirport"})
                 *
                 *      [More details](https://www.mongodb.com/docs/compass/current/query/filter/) */
                filter?: string;
                /** @description Base64 encoded sort order of the results
                 *
                 *     Example `{ "createdAt": -1 }`
                 *
                 *     [More details](https://www.mongodb.com/docs/compass/current/query/sort/) */
                sort?: string;
                /**
                 * @description Number of items to return
                 * @example 50
                 */
                limit?: number;
                /**
                 * @description Page number
                 * @example 1
                 */
                page?: number;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Ok */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["AirportOverview"][];
                };
            };
        };
    };
    GetAirportsList: {
        parameters: {
            query?: {
                /** @description Base64 encoded filter to apply to the query
                 *
                 *     Example: `eyJ0eXBlIjoibGFyZ2VBaXJwb3J0In0=` ({"type":"largeAirport"})
                 *
                 *      [More details](https://www.mongodb.com/docs/compass/current/query/filter/) */
                filter?: string;
                /** @description Base64 encoded sort order of the results
                 *
                 *     Example `{ "createdAt": -1 }`
                 *
                 *     [More details](https://www.mongodb.com/docs/compass/current/query/sort/) */
                sort?: string;
                /**
                 * @description Number of items to return
                 * @example 50
                 */
                limit?: number;
                /**
                 * @description Page number
                 * @example 1
                 */
                page?: number;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Ok */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Airport"][];
                };
            };
        };
    };
    GetAirport: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Unique identifier of the airport */
                airportId: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Ok */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Airport"];
                };
            };
        };
    };
    GetAirportMetar: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Unique identifier of the airport */
                airportId: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Ok */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["MetarResponse"];
                };
            };
        };
    };
    GetAllAirlinesList: {
        parameters: {
            query?: {
                /** @description Base64 encoded filter to apply to the query
                 *
                 *     Example: `eyJ0eXBlIjoibGFyZ2VBaXJwb3J0In0=` ({"type":"largeAirport"})
                 *
                 *      [More details](https://www.mongodb.com/docs/compass/current/query/filter/) */
                filter?: string;
                /** @description Base64 encoded sort order of the results
                 *
                 *     Example `{ "createdAt": -1 }`
                 *
                 *     [More details](https://www.mongodb.com/docs/compass/current/query/sort/) */
                sort?: string;
                /**
                 * @description Number of items to return
                 * @example 50
                 */
                limit?: number;
                /**
                 * @description Page number
                 * @example 1
                 */
                page?: number;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Ok */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["AirlineOverview"][];
                };
            };
        };
    };
    GetAirline: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                airlineId: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Ok */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Airline"];
                };
            };
        };
    };
    GetAirlinesList: {
        parameters: {
            query?: {
                /** @description Base64 encoded filter to apply to the query
                 *
                 *     Example: `eyJ0eXBlIjoibGFyZ2VBaXJwb3J0In0=` ({"type":"largeAirport"})
                 *
                 *      [More details](https://www.mongodb.com/docs/compass/current/query/filter/) */
                filter?: string;
                /** @description Base64 encoded sort order of the results
                 *
                 *     Example `{ "createdAt": -1 }`
                 *
                 *     [More details](https://www.mongodb.com/docs/compass/current/query/sort/) */
                sort?: string;
                /**
                 * @description Number of items to return
                 * @example 50
                 */
                limit?: number;
                /**
                 * @description Page number
                 * @example 1
                 */
                page?: number;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Ok */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Airline"][];
                };
            };
        };
    };
    GetAllAircraftTypesList: {
        parameters: {
            query?: {
                /** @description Base64 encoded filter to apply to the query
                 *
                 *     Example: `eyJ0eXBlIjoibGFyZ2VBaXJwb3J0In0=` ({"type":"largeAirport"})
                 *
                 *      [More details](https://www.mongodb.com/docs/compass/current/query/filter/) */
                filter?: string;
                /** @description Base64 encoded sort order of the results
                 *
                 *     Example `{ "createdAt": -1 }`
                 *
                 *     [More details](https://www.mongodb.com/docs/compass/current/query/sort/) */
                sort?: string;
                /**
                 * @description Number of items to return
                 * @example 50
                 */
                limit?: number;
                /**
                 * @description Page number
                 * @example 1
                 */
                page?: number;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Ok */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["AircraftTypeOverview"][];
                };
            };
        };
    };
    GetAircraftTypesList: {
        parameters: {
            query?: {
                /** @description Base64 encoded filter to apply to the query
                 *
                 *     Example: `eyJ0eXBlIjoibGFyZ2VBaXJwb3J0In0=` ({"type":"largeAirport"})
                 *
                 *      [More details](https://www.mongodb.com/docs/compass/current/query/filter/) */
                filter?: string;
                /** @description Base64 encoded sort order of the results
                 *
                 *     Example `{ "createdAt": -1 }`
                 *
                 *     [More details](https://www.mongodb.com/docs/compass/current/query/sort/) */
                sort?: string;
                /**
                 * @description Number of items to return
                 * @example 50
                 */
                limit?: number;
                /**
                 * @description Page number
                 * @example 1
                 */
                page?: number;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Ok */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["AircraftType"][];
                };
            };
        };
    };
    GetAircraftType: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Unique identifier of the aircraftType */
                aircraftTypeId: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Ok */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["AircraftType"];
                };
            };
        };
    };
}