#
# Autogenerated by Thrift
#
# DO NOT EDIT
#  @generated
#

from __future__ import annotations

import typing as _typing

import folly.iobuf as _fbthrift_iobuf
import thrift.python.types as _fbthrift_python_types
import thrift.python.exceptions as _fbthrift_python_exceptions

import includes.thrift_types


class _fbthrift_compatible_with_MyStruct:
    pass


class MyStruct(_fbthrift_python_types.Struct, _fbthrift_compatible_with_MyStruct):
    MyIncludedField: _typing.Final[includes.thrift_types.Included] = ...
    MyOtherIncludedField: _typing.Final[includes.thrift_types.Included] = ...
    MyIncludedInt: _typing.Final[int] = ...
    def __init__(
        self, *,
        MyIncludedField: _typing.Optional[includes.thrift_types._fbthrift_compatible_with_Included]=...,
        MyOtherIncludedField: _typing.Optional[includes.thrift_types._fbthrift_compatible_with_Included]=...,
        MyIncludedInt: _typing.Optional[int]=...
    ) -> None: ...

    def __call__(
        self, *,
        MyIncludedField: _typing.Optional[includes.thrift_types._fbthrift_compatible_with_Included]=...,
        MyOtherIncludedField: _typing.Optional[includes.thrift_types._fbthrift_compatible_with_Included]=...,
        MyIncludedInt: _typing.Optional[int]=...
    ) -> _typing.Self: ...
    def __iter__(self) -> _typing.Iterator[_typing.Tuple[str, _typing.Union[includes.thrift_types.Included, includes.thrift_types.Included, int]]]: ...
    def _to_python(self) -> _typing.Self: ...
    def _to_mutable_python(self) -> "module.thrift_mutable_types.MyStruct": ...  # type: ignore
    def _to_py3(self) -> "module.types.MyStruct": ...  # type: ignore
    def _to_py_deprecated(self) -> "module.ttypes.MyStruct": ...  # type: ignore
