#
# Autogenerated by Thrift for thrift/compiler/test/fixtures/empty-struct/src/module.thrift
#
# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
#  @generated
#

import enum as _python_std_enum
import folly.iobuf as _fbthrift_iobuf
import thrift.py3.types
import thrift.python.types
import thrift.py3.exceptions
import typing as _typing

import sys
import itertools


class Empty(thrift.py3.types.Struct, _typing.Hashable):
    class __fbthrift_IsSet:
        pass


    def __init__(
        self, 
    ) -> None: ...

    def __call__(
        self, 
    ) -> Empty: ...

    def __reduce__(self) -> _typing.Tuple[_typing.Callable, _typing.Tuple[_typing.Type['Empty'], bytes]]: ...
    def __hash__(self) -> int: ...
    def __str__(self) -> str: ...
    def __repr__(self) -> str: ...
    def __lt__(self, other: 'Empty') -> bool: ...
    def __gt__(self, other: 'Empty') -> bool: ...
    def __le__(self, other: 'Empty') -> bool: ...
    def __ge__(self, other: 'Empty') -> bool: ...

    def _to_python(self) -> "module.thrift_types.Empty": ...   # type: ignore
    def _to_py3(self) -> Empty: ...
    def _to_py_deprecated(self) -> "module.ttypes.Empty": ...   # type: ignore

_NadaValueType = _typing.Union[None, ]

class Nada(thrift.py3.types.Union, _typing.Hashable):
    class __fbthrift_IsSet:
        pass


    def __init__(
        self, 
    ) -> None: ...

    def __hash__(self) -> int: ...
    def __str__(self) -> str: ...
    def __repr__(self) -> str: ...
    def __lt__(self, other: 'Nada') -> bool: ...
    def __gt__(self, other: 'Nada') -> bool: ...
    def __le__(self, other: 'Nada') -> bool: ...
    def __ge__(self, other: 'Nada') -> bool: ...

    class Type(_python_std_enum.Enum):
        EMPTY: Nada.Type = ...

    @staticmethod
    def fromValue(value: _NadaValueType) -> Nada: ...
    type: _typing.Final[Nada.Type]
    value: _typing.Final[_NadaValueType]
    def get_type(self) -> Nada.Type: ...

    def _to_python(self) -> "module.thrift_types.Nada": ...   # type: ignore
    def _to_py3(self) -> Nada: ...
    def _to_py_deprecated(self) -> "module.ttypes.Nada": ...   # type: ignore

