def get_type_checking_only_ns():
    """
    When creating `BaseModel` in `pydantic.main`, some globals are imported only when `TYPE_CHECKING` is `True`, so we have to manually include them when calling `typing.get_type_hints`.
    """

    from inspect import Signature

    from pydantic_core import CoreSchema, SchemaSerializer, SchemaValidator

    from pydantic.deprecated.parse import Protocol as DeprecatedParseProtocol
    from pydantic.fields import ComputedFieldInfo, FieldInfo, ModelPrivateAttr
    from pydantic.fields import PrivateAttr as _PrivateAttr

    return {
        'Signature': Signature,
        'CoreSchema': CoreSchema,
        'SchemaSerializer': SchemaSerializer,
        'SchemaValidator': SchemaValidator,
        'DeprecatedParseProtocol': DeprecatedParseProtocol,
        'ComputedFieldInfo': ComputedFieldInfo,
        'FieldInfo': FieldInfo,
        'ModelPrivateAttr': ModelPrivateAttr,
        '_PrivateAttr': _PrivateAttr,
    }

    When creating `BaseModel` in `pydantic.main`, some globals are imported only when `TYPE_CHECKING` is `True`, so we have to manually include them when calling `typing.get_type_hints`.
    
tests/test_type_hints.py