/** * @fileoverview Meteorological stations API module. * @module meteo-lt-sdk/api/stations */ import type { HttpClient } from '../client/http.js'; import type { StationSummary, StationDetails, StationObservationsInfo, StationObservations, ObservationDateParam } from '../types/stations.js'; /** * API module for meteorological station operations. * Provides methods to query stations and retrieve observation data. */ export declare class StationsApi { private readonly http; constructor(http: HttpClient); /** * Gets a list of all meteorological stations. * * @returns Array of station summaries with codes, names, and coordinates * * @example * ```typescript * const stations = await client.stations.getAll(); * console.log(`Found ${stations.length} stations`); * stations.forEach(s => console.log(`${s.name} (${s.code})`)); * ``` */ getAll(): Promise; /** * Gets detailed information for a specific station. * * @param code - Station code (e.g., 'vilniaus-ams') * @returns Detailed station information including type * @throws {MeteoNotFoundError} If the station code doesn't exist * * @example * ```typescript * const station = await client.stations.get('vilniaus-ams'); * console.log(`${station.name} (${station.type})`); * ``` */ get(code: string): Promise; /** * Gets information about available observation data for a station. * * @param code - Station code * @returns Station info and available data time range * @throws {MeteoNotFoundError} If the station code doesn't exist * * @example * ```typescript * const info = await client.stations.getObservationsInfo('vilniaus-ams'); * console.log(`Data from ${info.observationsDataRange.startTimeUtc}`); * console.log(`Data to ${info.observationsDataRange.endTimeUtc}`); * ``` */ getObservationsInfo(code: string): Promise; /** * Gets observation data for a station on a specific date. * * @param code - Station code * @param date - Date in YYYY-MM-DD format, or 'latest' for last 24 hours. * Historical data is available for the last 10 years. * @returns Station info and observation data points * @throws {MeteoNotFoundError} If no data exists for the requested date * * @example * ```typescript * // Get latest observations * const latest = await client.stations.getObservations('vilniaus-ams', 'latest'); * * // Get specific date * const historical = await client.stations.getObservations('vilniaus-ams', '2024-01-15'); * * historical.observations.forEach(obs => { * console.log(`${obs.observationTimeUtc}: ${obs.airTemperature}°C`); * }); * ``` */ getObservations(code: string, date: ObservationDateParam): Promise; } //# sourceMappingURL=stations.d.ts.map