from __future__ import annotations

import flatbuffers
import numpy as np

import flatbuffers
import typing
from openmeteo_sdk.Model import Model
from openmeteo_sdk.VariablesWithTime import VariablesWithTime

uoffset: typing.TypeAlias = flatbuffers.number_types.UOffsetTFlags.py_type

class WeatherApiResponse(object):
  @classmethod
  def GetRootAs(cls, buf: bytes, offset: int) -> WeatherApiResponse: ...
  @classmethod
  def GetRootAsWeatherApiResponse(cls, buf: bytes, offset: int) -> WeatherApiResponse: ...
  def Init(self, buf: bytes, pos: int) -> None: ...
  def Latitude(self) -> float: ...
  def Longitude(self) -> float: ...
  def Elevation(self) -> float: ...
  def GenerationTimeMilliseconds(self) -> float: ...
  def LocationId(self) -> int: ...
  def Model(self) -> typing.Literal[Model.undefined, Model.best_match, Model.gfs_seamless, Model.gfs_global, Model.gfs_hrrr, Model.meteofrance_seamless, Model.meteofrance_arpege_seamless, Model.meteofrance_arpege_world, Model.meteofrance_arpege_europe, Model.meteofrance_arome_seamless, Model.meteofrance_arome_france, Model.meteofrance_arome_france_hd, Model.jma_seamless, Model.jma_msm, Model.jms_gsm, Model.jma_gsm, Model.gem_seamless, Model.gem_global, Model.gem_regional, Model.gem_hrdps_continental, Model.icon_seamless, Model.icon_global, Model.icon_eu, Model.icon_d2, Model.ecmwf_ifs04, Model.metno_nordic, Model.era5_seamless, Model.era5, Model.cerra, Model.era5_land, Model.ecmwf_ifs, Model.gwam, Model.ewam, Model.glofas_seamless_v3, Model.glofas_forecast_v3, Model.glofas_consolidated_v3, Model.glofas_seamless_v4, Model.glofas_forecast_v4, Model.glofas_consolidated_v4, Model.gfs025, Model.gfs05, Model.CMCC_CM2_VHR4, Model.FGOALS_f3_H_highresSST, Model.FGOALS_f3_H, Model.HiRAM_SIT_HR, Model.MRI_AGCM3_2_S, Model.EC_Earth3P_HR, Model.MPI_ESM1_2_XR, Model.NICAM16_8S, Model.cams_europe, Model.cams_global, Model.cfsv2, Model.era5_ocean, Model.cma_grapes_global, Model.bom_access_global, Model.bom_access_global_ensemble, Model.arpae_cosmo_seamless, Model.arpae_cosmo_2i, Model.arpae_cosmo_2i_ruc, Model.arpae_cosmo_5m, Model.ecmwf_ifs025, Model.ecmwf_aifs025, Model.gfs013, Model.gfs_graphcast025, Model.ecmwf_wam025, Model.meteofrance_wave, Model.meteofrance_currents, Model.ecmwf_wam025_ensemble, Model.ncep_gfswave025, Model.ncep_gefswave025, Model.knmi_seamless, Model.knmi_harmonie_arome_europe, Model.knmi_harmonie_arome_netherlands, Model.dmi_seamless, Model.dmi_harmonie_arome_europe, Model.metno_seamless, Model.era5_ensemble, Model.ecmwf_ifs_analysis, Model.ecmwf_ifs_long_window, Model.ecmwf_ifs_analysis_long_window, Model.ukmo_global_deterministic_10km, Model.ukmo_uk_deterministic_2km, Model.ukmo_seamless, Model.ncep_gfswave016, Model.ncep_nbm_conus, Model.ukmo_global_ensemble_20km, Model.ecmwf_aifs025_single, Model.jma_jaxa_himawari, Model.eumetsat_sarah3, Model.eumetsat_lsa_saf_msg, Model.eumetsat_lsa_saf_iodc, Model.satellite_radiation_seamless, Model.kma_gdps, Model.kma_ldps, Model.kma_seamless, Model.italia_meteo_arpae_icon_2i]: ...
  def UtcOffsetSeconds(self) -> int: ...
  def Timezone(self) -> str | None: ...
  def TimezoneAbbreviation(self) -> str | None: ...
  def Current(self) -> VariablesWithTime | None: ...
  def Daily(self) -> VariablesWithTime | None: ...
  def Hourly(self) -> VariablesWithTime | None: ...
  def Minutely15(self) -> VariablesWithTime | None: ...
  def SixHourly(self) -> VariablesWithTime | None: ...
def WeatherApiResponseStart(builder: flatbuffers.Builder) -> None: ...
def Start(builder: flatbuffers.Builder) -> None: ...
def WeatherApiResponseAddLatitude(builder: flatbuffers.Builder, latitude: float) -> None: ...
def WeatherApiResponseAddLongitude(builder: flatbuffers.Builder, longitude: float) -> None: ...
def WeatherApiResponseAddElevation(builder: flatbuffers.Builder, elevation: float) -> None: ...
def WeatherApiResponseAddGenerationTimeMilliseconds(builder: flatbuffers.Builder, generationTimeMilliseconds: float) -> None: ...
def WeatherApiResponseAddLocationId(builder: flatbuffers.Builder, locationId: int) -> None: ...
def WeatherApiResponseAddModel(builder: flatbuffers.Builder, model: typing.Literal[Model.undefined, Model.best_match, Model.gfs_seamless, Model.gfs_global, Model.gfs_hrrr, Model.meteofrance_seamless, Model.meteofrance_arpege_seamless, Model.meteofrance_arpege_world, Model.meteofrance_arpege_europe, Model.meteofrance_arome_seamless, Model.meteofrance_arome_france, Model.meteofrance_arome_france_hd, Model.jma_seamless, Model.jma_msm, Model.jms_gsm, Model.jma_gsm, Model.gem_seamless, Model.gem_global, Model.gem_regional, Model.gem_hrdps_continental, Model.icon_seamless, Model.icon_global, Model.icon_eu, Model.icon_d2, Model.ecmwf_ifs04, Model.metno_nordic, Model.era5_seamless, Model.era5, Model.cerra, Model.era5_land, Model.ecmwf_ifs, Model.gwam, Model.ewam, Model.glofas_seamless_v3, Model.glofas_forecast_v3, Model.glofas_consolidated_v3, Model.glofas_seamless_v4, Model.glofas_forecast_v4, Model.glofas_consolidated_v4, Model.gfs025, Model.gfs05, Model.CMCC_CM2_VHR4, Model.FGOALS_f3_H_highresSST, Model.FGOALS_f3_H, Model.HiRAM_SIT_HR, Model.MRI_AGCM3_2_S, Model.EC_Earth3P_HR, Model.MPI_ESM1_2_XR, Model.NICAM16_8S, Model.cams_europe, Model.cams_global, Model.cfsv2, Model.era5_ocean, Model.cma_grapes_global, Model.bom_access_global, Model.bom_access_global_ensemble, Model.arpae_cosmo_seamless, Model.arpae_cosmo_2i, Model.arpae_cosmo_2i_ruc, Model.arpae_cosmo_5m, Model.ecmwf_ifs025, Model.ecmwf_aifs025, Model.gfs013, Model.gfs_graphcast025, Model.ecmwf_wam025, Model.meteofrance_wave, Model.meteofrance_currents, Model.ecmwf_wam025_ensemble, Model.ncep_gfswave025, Model.ncep_gefswave025, Model.knmi_seamless, Model.knmi_harmonie_arome_europe, Model.knmi_harmonie_arome_netherlands, Model.dmi_seamless, Model.dmi_harmonie_arome_europe, Model.metno_seamless, Model.era5_ensemble, Model.ecmwf_ifs_analysis, Model.ecmwf_ifs_long_window, Model.ecmwf_ifs_analysis_long_window, Model.ukmo_global_deterministic_10km, Model.ukmo_uk_deterministic_2km, Model.ukmo_seamless, Model.ncep_gfswave016, Model.ncep_nbm_conus, Model.ukmo_global_ensemble_20km, Model.ecmwf_aifs025_single, Model.jma_jaxa_himawari, Model.eumetsat_sarah3, Model.eumetsat_lsa_saf_msg, Model.eumetsat_lsa_saf_iodc, Model.satellite_radiation_seamless, Model.kma_gdps, Model.kma_ldps, Model.kma_seamless, Model.italia_meteo_arpae_icon_2i]) -> None: ...
def WeatherApiResponseAddUtcOffsetSeconds(builder: flatbuffers.Builder, utcOffsetSeconds: int) -> None: ...
def WeatherApiResponseAddTimezone(builder: flatbuffers.Builder, timezone: uoffset) -> None: ...
def WeatherApiResponseAddTimezoneAbbreviation(builder: flatbuffers.Builder, timezoneAbbreviation: uoffset) -> None: ...
def WeatherApiResponseAddCurrent(builder: flatbuffers.Builder, current: uoffset) -> None: ...
def WeatherApiResponseAddDaily(builder: flatbuffers.Builder, daily: uoffset) -> None: ...
def WeatherApiResponseAddHourly(builder: flatbuffers.Builder, hourly: uoffset) -> None: ...
def WeatherApiResponseAddMinutely15(builder: flatbuffers.Builder, minutely15: uoffset) -> None: ...
def WeatherApiResponseAddSixHourly(builder: flatbuffers.Builder, sixHourly: uoffset) -> None: ...
def WeatherApiResponseEnd(builder: flatbuffers.Builder) -> uoffset: ...
def End(builder: flatbuffers.Builder) -> uoffset: ...

