from ...types import ObjectType as ObjectType, Schema as Schema, String as String
from ..node import Node as Node, is_node as is_node
from typing import Any

class SharedNodeFields:
    shared: Any = ...
    something_else: Any = ...
    def resolve_something_else(*_: Any) -> Any: ...

class MyNode(ObjectType):
    class Meta:
        interfaces: Any = ...
    name: Any = ...
    @staticmethod
    def get_node(info: Any, id: Any) -> Any: ...

class MyOtherNode(SharedNodeFields, ObjectType):
    extra_field: Any = ...
    class Meta:
        interfaces: Any = ...
    def resolve_extra_field(self, *_: Any) -> Any: ...
    @staticmethod
    def get_node(info: Any, id: Any) -> Any: ...

class RootQuery(ObjectType):
    first: Any = ...
    node: Any = ...
    only_node: Any = ...
    only_node_lazy: Any = ...

schema: Any

def test_node_good() -> None: ...
def test_node_query() -> None: ...
def test_subclassed_node_query() -> None: ...
def test_node_requesting_non_node() -> None: ...
def test_node_query_incorrect_id() -> None: ...
def test_node_field() -> None: ...
def test_node_field_custom() -> None: ...
def test_node_field_only_type() -> None: ...
def test_node_field_only_type_wrong() -> None: ...
def test_node_field_only_lazy_type() -> None: ...
def test_node_field_only_lazy_type_wrong() -> None: ...
def test_str_schema() -> None: ...
