import { BasicInfo, AirportFilter } from './types'; export * from './types'; declare class OurAirports { private basicInfo; private codes; private coordinates; private region; private references; private initialized; private searchService; private readonly isBrowser; constructor(); /** * Auto-detect environment and initialize accordingly * This is the recommended way to initialize the library */ init(): Promise; /** * Initialize for Node.js environment * @throws {Error} If called in browser environment */ initialize(): Promise; /** * Initialize for browser environment * @throws {Error} If data loading fails */ initializeAsync(): Promise; private ensureInitialized; private initializeSearchService; /** * Find airport by IATA code * @param iataCode IATA airport code (e.g., 'PEK') */ findByIataCode(iataCode: string): BasicInfo | undefined; /** * Find airport by ICAO code * @param icaoCode ICAO airport code (e.g., 'ZBAA') */ findByIcaoCode(icaoCode: string): BasicInfo | undefined; /** * Find airports by country code * @param countryCode ISO country code (e.g., 'CN') */ findByCountry(countryCode: string): BasicInfo[]; /** * Search airports by filter conditions * @param filter Search criteria */ searchAirports(filter: AirportFilter): BasicInfo[]; /** * Get airports within a specified radius * @param lat Latitude in degrees * @param lon Longitude in degrees * @param radiusKm Radius in kilometers */ findAirportsInRadius(lat: number, lon: number, radiusKm: number): BasicInfo[]; /** * Get raw data for advanced usage * @returns All airport data */ get data(): { basicInfo: { id: number; type: string; name: string; iata_code: string | null; ident?: string | undefined; }[]; codes: { id: number; ident: string; iata_code: string | null; gps_code: string | null; local_code: string | null; }[]; coordinates: { id: number; latitude_deg: number; longitude_deg: number; elevation_ft: number | null; }[]; region: { id: number; continent: string | null; iso_country: string; iso_region: string; municipality: string | null; }[]; references: { scheduled_service: "yes" | "no"; id: number; home_link: string | null; wikipedia_link: string | null; keywords: string | null; }[]; }; /** * Check if the instance is initialized */ get isInitialized(): boolean; /** * Check if running in browser environment */ get isInBrowser(): boolean; } export { OurAirports }; export default OurAirports;