#
# Autogenerated by Thrift for thrift/compiler/test/fixtures/exceptions/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 Fiery(thrift.py3.exceptions.GeneratedError, _typing.Hashable):
    class __fbthrift_IsSet:
        message: bool
        pass

    message: _typing.Final[str] = ...

    def __init__(
        self, *,
        message: _typing.Optional[str]=None
    ) -> None: ...

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

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

class Serious(thrift.py3.exceptions.GeneratedError, _typing.Hashable):
    class __fbthrift_IsSet:
        not_sonnet: bool
        pass

    not_sonnet: _typing.Final[_typing.Optional[str]] = ...

    def __init__(
        self, *,
        not_sonnet: _typing.Optional[str]=None
    ) -> None: ...

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

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

class ComplexFieldNames(thrift.py3.exceptions.GeneratedError, _typing.Hashable):
    class __fbthrift_IsSet:
        error_message: bool
        internal_error_message: bool
        pass

    error_message: _typing.Final[str] = ...
    internal_error_message: _typing.Final[str] = ...

    def __init__(
        self, *,
        error_message: _typing.Optional[str]=None,
        internal_error_message: _typing.Optional[str]=None
    ) -> None: ...

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

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

class CustomFieldNames(thrift.py3.exceptions.GeneratedError, _typing.Hashable):
    class __fbthrift_IsSet:
        error_message: bool
        internal_error_message: bool
        pass

    error_message: _typing.Final[str] = ...
    internal_error_message: _typing.Final[str] = ...

    def __init__(
        self, *,
        error_message: _typing.Optional[str]=None,
        internal_error_message: _typing.Optional[str]=None
    ) -> None: ...

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

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

class ExceptionWithPrimitiveField(thrift.py3.exceptions.GeneratedError, _typing.Hashable):
    class __fbthrift_IsSet:
        message: bool
        error_code: bool
        pass

    message: _typing.Final[str] = ...
    error_code: _typing.Final[int] = ...

    def __init__(
        self, *,
        message: _typing.Optional[str]=None,
        error_code: _typing.Optional[int]=None
    ) -> None: ...

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

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

class ExceptionWithStructuredAnnotation(thrift.py3.exceptions.GeneratedError, _typing.Hashable):
    class __fbthrift_IsSet:
        message_field: bool
        error_code: bool
        pass

    message_field: _typing.Final[str] = ...
    error_code: _typing.Final[int] = ...

    def __init__(
        self, *,
        message_field: _typing.Optional[str]=None,
        error_code: _typing.Optional[int]=None
    ) -> None: ...

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

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

class Banal(thrift.py3.exceptions.GeneratedError, _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: 'Banal') -> bool: ...
    def __gt__(self, other: 'Banal') -> bool: ...
    def __le__(self, other: 'Banal') -> bool: ...
    def __ge__(self, other: 'Banal') -> bool: ...

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

