from graphene.types.enum import Enum as Enum, EnumOptions as EnumOptions
from graphene.types.inputobjecttype import InputObjectType as InputObjectType
from graphene.types.objecttype import ObjectType as ObjectType, ObjectTypeOptions as ObjectTypeOptions
from typing import Any

class SpecialOptions(ObjectTypeOptions):
    other_attr: Any = ...

class SpecialObjectType(ObjectType):
    @classmethod
    def __init_subclass_with_meta__(cls, other_attr: str = ..., **options: Any) -> None: ...

def test_special_objecttype_could_be_subclassed() -> None: ...
def test_special_objecttype_could_be_subclassed_default() -> None: ...
def test_special_objecttype_inherit_meta_options() -> None: ...

class SpecialInputObjectTypeOptions(ObjectTypeOptions):
    other_attr: Any = ...

class SpecialInputObjectType(InputObjectType):
    @classmethod
    def __init_subclass_with_meta__(cls, other_attr: str = ..., **options: Any) -> None: ...

def test_special_inputobjecttype_could_be_subclassed() -> None: ...
def test_special_inputobjecttype_could_be_subclassed_default() -> None: ...
def test_special_inputobjecttype_inherit_meta_options() -> None: ...

class SpecialEnumOptions(EnumOptions):
    other_attr: Any = ...

class SpecialEnum(Enum):
    @classmethod
    def __init_subclass_with_meta__(cls, other_attr: str = ..., **options: Any) -> None: ...

def test_special_enum_could_be_subclassed() -> None: ...
def test_special_enum_could_be_subclassed_default() -> None: ...
def test_special_enum_inherit_meta_options() -> None: ...
