/** * @fileoverview Main Meteo.lt client. * @module meteo-lt-sdk/client/MeteoClient */ import type { MeteoClientConfig } from './config.js'; import { PlacesApi } from '../api/places.js'; import { StationsApi } from '../api/stations.js'; import { HydroStationsApi } from '../api/hydro-stations.js'; /** * Main client for the Meteo.lt API. * * Provides access to weather forecasts, meteorological observations, * and hydrological data from the Lithuanian Hydrometeorological Service (LHMT). * * @example * ```typescript * import { MeteoClient } from 'meteo-lt-sdk'; * * const client = new MeteoClient(); * * // Get weather forecast for Vilnius * const forecast = await client.places.getForecast('vilnius', 'long-term'); * console.log(`Current temperature: ${forecast.forecastTimestamps[0]?.airTemperature}°C`); * * // Get latest observations from a weather station * const observations = await client.stations.getObservations('vilniaus-ams', 'latest'); * * // Get water level data * const hydroData = await client.hydroStations.getMeasuredObservations('nemajunu-vms', 'latest'); * ``` * * @example Custom configuration * ```typescript * const client = new MeteoClient({ * timeout: 10000, // 10 second timeout * headers: { 'X-Custom-Header': 'value' }, * }); * ``` * * @remarks * Rate Limiting: The API limits requests to 180 per minute per IP address. * Daily limit is recommended to be under 20,000 requests per IP. * * @see {@link https://api.meteo.lt/} Official API documentation */ export declare class MeteoClient { private readonly http; /** * API for places and weather forecasts. * * @example * ```typescript * const places = await client.places.getAll(); * const forecast = await client.places.getForecast('vilnius', 'long-term'); * ``` */ readonly places: PlacesApi; /** * API for meteorological stations and observations. * * @example * ```typescript * const stations = await client.stations.getAll(); * const data = await client.stations.getObservations('vilniaus-ams', 'latest'); * ``` */ readonly stations: StationsApi; /** * API for hydrological stations and water observations. * * @example * ```typescript * const stations = await client.hydroStations.getAll(); * const data = await client.hydroStations.getMeasuredObservations('nemajunu-vms', 'latest'); * ``` */ readonly hydroStations: HydroStationsApi; /** * Creates a new Meteo.lt client. * * @param config - Optional configuration options */ constructor(config?: MeteoClientConfig); } //# sourceMappingURL=MeteoClient.d.ts.map