from __future__ import annotations

import flatbuffers
import numpy as np

import flatbuffers
import typing
from openmeteo_sdk.VariableWithValues import VariableWithValues

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

class VariablesWithTime(object):
  @classmethod
  def GetRootAs(cls, buf: bytes, offset: int) -> VariablesWithTime: ...
  @classmethod
  def GetRootAsVariablesWithTime(cls, buf: bytes, offset: int) -> VariablesWithTime: ...
  def Init(self, buf: bytes, pos: int) -> None: ...
  def Time(self) -> int: ...
  def TimeEnd(self) -> int: ...
  def Interval(self) -> int: ...
  def Variables(self, i: int) -> VariableWithValues | None: ...
  def VariablesLength(self) -> int: ...
  def VariablesIsNone(self) -> bool: ...
def VariablesWithTimeStart(builder: flatbuffers.Builder) -> None: ...
def Start(builder: flatbuffers.Builder) -> None: ...
def VariablesWithTimeAddTime(builder: flatbuffers.Builder, time: int) -> None: ...
def VariablesWithTimeAddTimeEnd(builder: flatbuffers.Builder, timeEnd: int) -> None: ...
def VariablesWithTimeAddInterval(builder: flatbuffers.Builder, interval: int) -> None: ...
def VariablesWithTimeAddVariables(builder: flatbuffers.Builder, variables: uoffset) -> None: ...
def VariablesWithTimeStartVariablesVector(builder: flatbuffers.Builder, num_elems: int) -> uoffset: ...
def StartVariablesVector(builder: flatbuffers.Builder, num_elems: int) -> uoffset: ...
def VariablesWithTimeEnd(builder: flatbuffers.Builder) -> uoffset: ...
def End(builder: flatbuffers.Builder) -> uoffset: ...

