import type { ZoneId } from '../../zone/model/meta';

/** 기상 조회 대상 지점 (입력용) */
export interface WeatherQueryPoint {
  label: string;
  color: string;
  lat: number;
  lon: number;
  zoneId?: ZoneId;
}

/** 단일 지점의 기상 데이터 */
export interface WeatherPoint {
  label: string;
  color: string;
  lat: number;
  lon: number;
  zoneId?: ZoneId;

  /* Marine */
  waveHeight: number | null;
  waveDirection: number | null;
  wavePeriod: number | null;
  swellHeight: number | null;
  swellDirection: number | null;
  seaSurfaceTemp: number | null;

  /* Weather */
  windSpeed: number | null;
  windDirection: number | null;
  windGusts: number | null;
  temperature: number | null;
  weatherCode: number | null;
}

/** 기상 스냅샷 (전체 지점 묶음) */
export interface WeatherSnapshot {
  points: WeatherPoint[];
  fetchedAt: number;
}
