/** * @fileoverview Hydrological stations API module. * @module meteo-lt-sdk/api/hydro-stations */ import type { HttpClient } from '../client/http.js'; import type { HydroStationSummary, HydroStationDetails, HydroStationObservationTypes, HydroStationMeasuredInfo, HydroStationHistoricalInfo, HydroStationMeasuredObservations, HydroStationHistoricalObservations, MeasuredDateParam, HistoricalDateParam } from '../types/hydro-stations.js'; /** * API module for hydrological station operations. * Provides methods to query hydro stations and retrieve water observation data. */ export declare class HydroStationsApi { private readonly http; constructor(http: HttpClient); /** * Gets a list of all hydrological stations. * * @returns Array of hydro station summaries with codes, names, water bodies, and coordinates * * @example * ```typescript * const stations = await client.hydroStations.getAll(); * console.log(`Found ${stations.length} hydro stations`); * stations.forEach(s => console.log(`${s.name} on ${s.waterBody}`)); * ``` */ getAll(): Promise; /** * Gets detailed information for a specific hydrological station. * * @param code - Station code (e.g., 'nemajunu-vms') * @returns Detailed hydro station information * @throws {MeteoNotFoundError} If the station code doesn't exist * * @example * ```typescript * const station = await client.hydroStations.get('nemajunu-vms'); * console.log(`${station.name} monitors ${station.waterBody}`); * ``` */ get(code: string): Promise; /** * Gets available observation types for a hydro station. * * @param code - Station code * @returns Station info and available observation types (measured, historical) * @throws {MeteoNotFoundError} If the station code doesn't exist * * @example * ```typescript * const info = await client.hydroStations.getObservationTypes('nemajunu-vms'); * info.observationTypes.forEach(ot => { * console.log(`${ot.type}: ${ot.description}`); * }); * ``` */ getObservationTypes(code: string): Promise; /** * Gets information about available measured (current year) observation data. * * @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.hydroStations.getMeasuredInfo('nemajunu-vms'); * console.log(`Data from ${info.observationsDataRange.startTimeUtc}`); * ``` */ getMeasuredInfo(code: string): Promise; /** * Gets information about available historical observation data. * * @param code - Station code * @returns Station info and available data date range * @throws {MeteoNotFoundError} If the station code doesn't exist * * @example * ```typescript * const info = await client.hydroStations.getHistoricalInfo('nemajunu-vms'); * console.log(`Historical data from ${info.observationsDataRange.startDateUtc}`); * ``` */ getHistoricalInfo(code: string): Promise; /** * Gets measured (current year) observation data for a hydro station. * * @param code - Station code * @param date - Date in YYYY-MM-DD format, or 'latest' for last 24 hours. * Data is available for the last 30 days. * @returns Station info and measured observation data points * @throws {MeteoNotFoundError} If no data exists for the requested date * * @example * ```typescript * const data = await client.hydroStations.getMeasuredObservations('nemajunu-vms', 'latest'); * data.observations.forEach(obs => { * console.log(`${obs.observationTimeUtc}: ${obs.waterLevel}cm, ${obs.waterTemperature}°C`); * }); * ``` */ getMeasuredObservations(code: string, date: MeasuredDateParam): Promise; /** * Gets historical observation data for a hydro station. * * @param code - Station code * @param date - Can be: * - 'latest' for last 31 days * - 'YYYY-MM' for a specific month * - 'YYYY-MM-DD' for a specific day * Historical data is available from 2000 onwards. * @returns Station info and historical observation data points (daily averages) * @throws {MeteoNotFoundError} If no data exists for the requested date * * @example * ```typescript * // Get last 31 days * const latest = await client.hydroStations.getHistoricalObservations('nemajunu-vms', 'latest'); * * // Get specific month * const monthly = await client.hydroStations.getHistoricalObservations('nemajunu-vms', '2024-06'); * * // Get specific day * const daily = await client.hydroStations.getHistoricalObservations('nemajunu-vms', '2024-06-15'); * * latest.observations.forEach(obs => { * console.log(`${obs.observationDateUtc}: ${obs.waterLevel}cm, ${obs.waterDischarge}m³/s`); * }); * ``` */ getHistoricalObservations(code: string, date: HistoricalDateParam): Promise; } //# sourceMappingURL=hydro-stations.d.ts.map