/** * @fileoverview Meteorological station types for weather observations. * @module meteo-lt-sdk/types/stations */ import type { Coordinates } from './coordinates.js'; import type { ObservationConditionCode } from './conditions.js'; /** * Summary information for a meteorological station. * Returned by GET /stations endpoint. */ export interface StationSummary { /** Unique station code used in API requests (e.g., 'vilniaus-ams') */ readonly code: string; /** Human-readable station name */ readonly name: string; /** Geographic coordinates in WGS84 */ readonly coordinates: Coordinates; } /** * Detailed information for a single meteorological station. * Returned by GET /stations/{station-code} endpoint. */ export interface StationDetails extends StationSummary { /** Station type classification */ readonly type: string; } /** * Time range of available observation data for a station. */ export interface ObservationsDataRange { /** Start of available data (UTC, ISO 8601 format) */ readonly startTimeUtc: string; /** End of available data (UTC, ISO 8601 format) */ readonly endTimeUtc: string; } /** * Response containing station info and available data range. * Returned by GET /stations/{station-code}/observations endpoint. */ export interface StationObservationsInfo { /** Station information */ readonly station: StationSummary; /** Available observation data time range */ readonly observationsDataRange: ObservationsDataRange; } /** * A single observation data point from a meteorological station. * Some fields may be null if the station doesn't measure that parameter * or if the measurement failed (e.g., cloud cover during fog). */ export interface Observation { /** Observation time in UTC (ISO 8601 format) */ readonly observationTimeUtc: string; /** Air temperature in degrees Celsius */ readonly airTemperature: number | null; /** Feels-like temperature in degrees Celsius */ readonly feelsLikeTemperature: number | null; /** Wind speed in meters per second */ readonly windSpeed: number | null; /** Maximum wind gust in m/s over the past hour */ readonly windGust: number | null; /** Wind direction in degrees (0 = from north, 180 = from south) */ readonly windDirection: number | null; /** Cloud cover percentage (0 = clear, 100 = overcast), null if undetermined */ readonly cloudCover: number | null; /** Atmospheric pressure at sea level in hPa */ readonly seaLevelPressure: number | null; /** Relative humidity percentage */ readonly relativeHumidity: number | null; /** Precipitation in mm over the past hour */ readonly precipitation: number | null; /** Snow cover depth in centimeters */ readonly snowDepth: number | null; /** Weather condition code */ readonly conditionCode: ObservationConditionCode; } /** * Response containing station observations for a specific date. * Returned by GET /stations/{station-code}/observations/{date} endpoint. */ export interface StationObservations { /** Station information */ readonly station: StationSummary; /** Array of observation data points */ readonly observations: readonly Observation[]; } /** * Valid date parameter for station observations. * Can be 'latest' for last 24 hours or a date string in YYYY-MM-DD format. */ export type ObservationDateParam = string; //# sourceMappingURL=stations.d.ts.map