from __future__ import annotations

import flatbuffers
import numpy as np

import typing
from openmeteo_sdk.VariableWithValues import VariableWithValues

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

class VariablesWithMonth(object):
  @classmethod
  def GetRootAs(cls, buf: bytes, offset: int) -> VariablesWithMonth: ...
  @classmethod
  def GetRootAsVariablesWithMonth(cls, buf: bytes, offset: int) -> VariablesWithMonth: ...
  def Init(self, buf: bytes, pos: int) -> None: ...
  def Year(self) -> int: ...
  def Month(self) -> int: ...
  def Count(self) -> int: ...
  def Variables(self, i: int) -> VariableWithValues | None: ...
  def VariablesLength(self) -> int: ...
  def VariablesIsNone(self) -> bool: ...
def VariablesWithMonthStart(builder: flatbuffers.Builder) -> None: ...
def Start(builder: flatbuffers.Builder) -> None: ...
def VariablesWithMonthAddYear(builder: flatbuffers.Builder, year: int) -> None: ...
def VariablesWithMonthAddMonth(builder: flatbuffers.Builder, month: int) -> None: ...
def VariablesWithMonthAddCount(builder: flatbuffers.Builder, count: int) -> None: ...
def VariablesWithMonthAddVariables(builder: flatbuffers.Builder, variables: uoffset) -> None: ...
def VariablesWithMonthStartVariablesVector(builder: flatbuffers.Builder, num_elems: int) -> uoffset: ...
def StartVariablesVector(builder: flatbuffers.Builder, num_elems: int) -> uoffset: ...
def VariablesWithMonthEnd(builder: flatbuffers.Builder) -> uoffset: ...
def End(builder: flatbuffers.Builder) -> uoffset: ...

