from __future__ import annotations

import flatbuffers
import numpy as np

import typing
from MyGame.Example.NestedUnion.Color import Color

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

class TestSimpleTableWithEnum(object):
  @classmethod
  def GetRootAs(cls, buf: bytes, offset: int) -> TestSimpleTableWithEnum: ...
  @classmethod
  def GetRootAsTestSimpleTableWithEnum(cls, buf: bytes, offset: int) -> TestSimpleTableWithEnum: ...
  def Init(self, buf: bytes, pos: int) -> None: ...
  def Color(self) -> typing.Literal[Color.Red, Color.Green, Color.Blue]: ...
class TestSimpleTableWithEnumT(object):
  color: typing.Literal[Color.Red, Color.Green, Color.Blue]
  def __init__(
    self,
    color: typing.Literal[Color.Red, Color.Green, Color.Blue] = ...,
  ) -> None: ...
  @classmethod
  def InitFromBuf(cls, buf: bytes, pos: int) -> TestSimpleTableWithEnumT: ...
  @classmethod
  def InitFromPackedBuf(cls, buf: bytes, pos: int = 0) -> TestSimpleTableWithEnumT: ...
  @classmethod
  def InitFromObj(cls, testSimpleTableWithEnum: TestSimpleTableWithEnum) -> TestSimpleTableWithEnumT: ...
  def _UnPack(self, testSimpleTableWithEnum: TestSimpleTableWithEnum) -> None: ...
  def Pack(self, builder: flatbuffers.Builder) -> None: ...
def TestSimpleTableWithEnumStart(builder: flatbuffers.Builder) -> None: ...
def Start(builder: flatbuffers.Builder) -> None: ...
def TestSimpleTableWithEnumAddColor(builder: flatbuffers.Builder, color: typing.Literal[Color.Red, Color.Green, Color.Blue]) -> None: ...
def TestSimpleTableWithEnumEnd(builder: flatbuffers.Builder) -> uoffset: ...
def End(builder: flatbuffers.Builder) -> uoffset: ...

