# Generated pb2 methods diverge for a variety of reasons. They are tested
# carefully in mypy-protobuf which internally runs stubtest. Skip those here.
google.protobuf\..*_pb2\..*

# While Message and Descriptor are both defined with a null DESCRIPTOR,
# subclasses of Message and instances of EnumTypeWrapper require this value to
# be set, and since these type stubs are intended for use with protoc-generated
# python it's more accurate to make them non-nullable.
google.protobuf.internal.enum_type_wrapper.EnumTypeWrapper.DESCRIPTOR
google.protobuf.message.Message.DESCRIPTOR

# Exists at runtime, but via a __getitem__/__setitem__ hack
# See https://github.com/protocolbuffers/protobuf/blob/3ea30d80847cd9561db570ae7f673afc15523545/python/google/protobuf/message.py#L67
google.protobuf.message.Message.Extensions

# These are typed as (self, **kwargs) at runtime as thin wrapper functions
# around the underlying true typing. We prefer the true typing
google.protobuf.internal.containers.BaseContainer.sort
google.protobuf.message.Message.SerializePartialToString
google.protobuf.message.Message.SerializeToString
google.protobuf.text_format.MessageToBytes

# Stubbed as static method, but actually exists as a property that's
# a function. Typeshed's typing is more useful
google.protobuf.service.Service.GetDescriptor
