/** * @fileoverview Hydrological station types for water observations. * @module meteo-lt-sdk/types/hydro-stations */ import type { Coordinates } from './coordinates.js'; /** * Summary information for a hydrological station. * Returned by GET /hydro-stations endpoint. */ export interface HydroStationSummary { /** Unique station code used in API requests (e.g., 'nemajunu-vms') */ readonly code: string; /** Human-readable station name */ readonly name: string; /** Name of the water body being monitored */ readonly waterBody: string; /** Geographic coordinates in WGS84 */ readonly coordinates: Coordinates; } /** * Detailed information for a single hydrological station. * Returned by GET /hydro-stations/{station-code} endpoint. * Currently same as summary. */ export type HydroStationDetails = HydroStationSummary; /** * Types of hydrological observations available. */ export type HydroObservationType = 'measured' | 'historical'; /** * Information about an available hydrological observation type. */ export interface HydroObservationTypeInfo { /** Observation type identifier */ readonly type: HydroObservationType; /** Human-readable description of the observation type */ readonly description: string; } /** * Response containing station info and available observation types. * Returned by GET /hydro-stations/{station-code}/observations endpoint. */ export interface HydroStationObservationTypes { /** Station information */ readonly station: HydroStationSummary; /** List of available observation types */ readonly observationTypes: readonly HydroObservationTypeInfo[]; } /** * Time range of available measured observation data. * Uses datetime format for current year data. */ export interface MeasuredDataRange { /** Start of available data (UTC, ISO 8601 datetime format) */ readonly startTimeUtc: string; /** End of available data (UTC, ISO 8601 datetime format) */ readonly endTimeUtc: string; } /** * Date range of available historical observation data. * Uses date format for historical data. */ export interface HistoricalDataRange { /** Start of available data (UTC, ISO 8601 date format) */ readonly startDateUtc: string; /** End of available data (UTC, ISO 8601 date format) */ readonly endDateUtc: string; } /** * Response containing station info and measured data range. * Returned by GET /hydro-stations/{station-code}/observations/measured endpoint. */ export interface HydroStationMeasuredInfo { /** Station information */ readonly station: HydroStationSummary; /** Available measured observation data time range */ readonly observationsDataRange: MeasuredDataRange; } /** * Response containing station info and historical data range. * Returned by GET /hydro-stations/{station-code}/observations/historical endpoint. */ export interface HydroStationHistoricalInfo { /** Station information */ readonly station: HydroStationSummary; /** Available historical observation data date range */ readonly observationsDataRange: HistoricalDataRange; } /** * A single measured hydrological observation (current year data). * Measurements are taken at specific times throughout the day. */ export interface MeasuredHydroObservation { /** Observation time in UTC (ISO 8601 datetime format) */ readonly observationTimeUtc: string; /** Water level in centimeters */ readonly waterLevel: number | null; /** Water temperature in degrees Celsius (null when ice is present) */ readonly waterTemperature: number | null; } /** * A single historical hydrological observation (past years data). * Represents daily averages. */ export interface HistoricalHydroObservation { /** Observation date in UTC (ISO 8601 date format) */ readonly observationDateUtc: string; /** Average water level in centimeters for the day */ readonly waterLevel: number | null; /** Average water discharge in m³/s for the day */ readonly waterDischarge: number | null; } /** * Response containing measured hydrological observations. * Returned by GET /hydro-stations/{station-code}/observations/measured/{date} endpoint. */ export interface HydroStationMeasuredObservations { /** Station information */ readonly station: HydroStationSummary; /** Array of measured observation data points */ readonly observations: readonly MeasuredHydroObservation[]; } /** * Response containing historical hydrological observations. * Returned by GET /hydro-stations/{station-code}/observations/historical/{date} endpoint. */ export interface HydroStationHistoricalObservations { /** Station information */ readonly station: HydroStationSummary; /** Array of historical observation data points */ readonly observations: readonly HistoricalHydroObservation[]; } /** * Valid date parameter for measured observations. * Can be 'latest' for last 24 hours or a date string in YYYY-MM-DD format. */ export type MeasuredDateParam = string; /** * Valid date parameter for historical observations. * Can be 'latest' for last 31 days, YYYY-MM for a month, or YYYY-MM-DD for a day. */ export type HistoricalDateParam = string; //# sourceMappingURL=hydro-stations.d.ts.map