--- /dev/null
+from google.protobuf.any_pb2 import (\r
+ Any,\r
+)\r
+from google.protobuf.internal.containers import (\r
+ RepeatedCompositeFieldContainer,\r
+ RepeatedScalarFieldContainer,\r
+)\r
+from google.protobuf.message import (\r
+ Message,\r
+)\r
+from google.protobuf.source_context_pb2 import (\r
+ SourceContext,\r
+)\r
+from typing import (\r
+ Iterable,\r
+ List,\r
+ Optional,\r
+ Text,\r
+ Tuple,\r
+ cast,\r
+)\r
+\r
+\r
+class Syntax(int):\r
+\r
+ @classmethod\r
+ def Name(cls, number: int) -> bytes: ...\r
+\r
+ @classmethod\r
+ def Value(cls, name: bytes) -> Syntax: ...\r
+\r
+ @classmethod\r
+ def keys(cls) -> List[bytes]: ...\r
+\r
+ @classmethod\r
+ def values(cls) -> List[Syntax]: ...\r
+\r
+ @classmethod\r
+ def items(cls) -> List[Tuple[bytes, Syntax]]: ...\r
+\r
+\r
+SYNTAX_PROTO2: Syntax\r
+SYNTAX_PROTO3: Syntax\r
+\r
+\r
+class Type(Message):\r
+ name = ... # type: Text\r
+ oneofs = ... # type: RepeatedScalarFieldContainer[Text]\r
+ syntax = ... # type: Syntax\r
+\r
+ @property\r
+ def fields(self) -> RepeatedCompositeFieldContainer[Field]: ...\r
+\r
+ @property\r
+ def options(self) -> RepeatedCompositeFieldContainer[Option]: ...\r
+\r
+ @property\r
+ def source_context(self) -> SourceContext: ...\r
+\r
+ def __init__(self,\r
+ name: Optional[Text] = ...,\r
+ fields: Optional[Iterable[Field]] = ...,\r
+ oneofs: Optional[Iterable[Text]] = ...,\r
+ options: Optional[Iterable[Option]] = ...,\r
+ source_context: Optional[SourceContext] = ...,\r
+ syntax: Optional[Syntax] = ...,\r
+ ) -> None: ...\r
+\r
+ @classmethod\r
+ def FromString(cls, s: bytes) -> Type: ...\r
+\r
+\r
+class Field(Message):\r
+\r
+ class Kind(int):\r
+\r
+ @classmethod\r
+ def Name(cls, number: int) -> bytes: ...\r
+\r
+ @classmethod\r
+ def Value(cls, name: bytes) -> Field.Kind: ...\r
+\r
+ @classmethod\r
+ def keys(cls) -> List[bytes]: ...\r
+\r
+ @classmethod\r
+ def values(cls) -> List[Field.Kind]: ...\r
+\r
+ @classmethod\r
+ def items(cls) -> List[Tuple[bytes, Field.Kind]]: ...\r
+ TYPE_UNKNOWN: Kind\r
+ TYPE_DOUBLE: Kind\r
+ TYPE_FLOAT: Kind\r
+ TYPE_INT64: Kind\r
+ TYPE_UINT64: Kind\r
+ TYPE_INT32: Kind\r
+ TYPE_FIXED64: Kind\r
+ TYPE_FIXED32: Kind\r
+ TYPE_BOOL: Kind\r
+ TYPE_STRING: Kind\r
+ TYPE_GROUP: Kind\r
+ TYPE_MESSAGE: Kind\r
+ TYPE_BYTES: Kind\r
+ TYPE_UINT32: Kind\r
+ TYPE_ENUM: Kind\r
+ TYPE_SFIXED32: Kind\r
+ TYPE_SFIXED64: Kind\r
+ TYPE_SINT32: Kind\r
+ TYPE_SINT64: Kind\r
+\r
+ class Cardinality(int):\r
+\r
+ @classmethod\r
+ def Name(cls, number: int) -> bytes: ...\r
+\r
+ @classmethod\r
+ def Value(cls, name: bytes) -> Field.Cardinality: ...\r
+\r
+ @classmethod\r
+ def keys(cls) -> List[bytes]: ...\r
+\r
+ @classmethod\r
+ def values(cls) -> List[Field.Cardinality]: ...\r
+\r
+ @classmethod\r
+ def items(cls) -> List[Tuple[bytes, Field.Cardinality]]: ...\r
+ CARDINALITY_UNKNOWN: Cardinality\r
+ CARDINALITY_OPTIONAL: Cardinality\r
+ CARDINALITY_REQUIRED: Cardinality\r
+ CARDINALITY_REPEATED: Cardinality\r
+ kind = ... # type: Field.Kind\r
+ cardinality = ... # type: Field.Cardinality\r
+ number = ... # type: int\r
+ name = ... # type: Text\r
+ type_url = ... # type: Text\r
+ oneof_index = ... # type: int\r
+ packed = ... # type: bool\r
+ json_name = ... # type: Text\r
+ default_value = ... # type: Text\r
+\r
+ @property\r
+ def options(self) -> RepeatedCompositeFieldContainer[Option]: ...\r
+\r
+ def __init__(self,\r
+ kind: Optional[Field.Kind] = ...,\r
+ cardinality: Optional[Field.Cardinality] = ...,\r
+ number: Optional[int] = ...,\r
+ name: Optional[Text] = ...,\r
+ type_url: Optional[Text] = ...,\r
+ oneof_index: Optional[int] = ...,\r
+ packed: Optional[bool] = ...,\r
+ options: Optional[Iterable[Option]] = ...,\r
+ json_name: Optional[Text] = ...,\r
+ default_value: Optional[Text] = ...,\r
+ ) -> None: ...\r
+\r
+ @classmethod\r
+ def FromString(cls, s: bytes) -> Field: ...\r
+\r
+\r
+class Enum(Message):\r
+ name = ... # type: Text\r
+ syntax = ... # type: Syntax\r
+\r
+ @property\r
+ def enumvalue(self) -> RepeatedCompositeFieldContainer[EnumValue]: ...\r
+\r
+ @property\r
+ def options(self) -> RepeatedCompositeFieldContainer[Option]: ...\r
+\r
+ @property\r
+ def source_context(self) -> SourceContext: ...\r
+\r
+ def __init__(self,\r
+ name: Optional[Text] = ...,\r
+ enumvalue: Optional[Iterable[EnumValue]] = ...,\r
+ options: Optional[Iterable[Option]] = ...,\r
+ source_context: Optional[SourceContext] = ...,\r
+ syntax: Optional[Syntax] = ...,\r
+ ) -> None: ...\r
+\r
+ @classmethod\r
+ def FromString(cls, s: bytes) -> Enum: ...\r
+\r
+\r
+class EnumValue(Message):\r
+ name = ... # type: Text\r
+ number = ... # type: int\r
+\r
+ @property\r
+ def options(self) -> RepeatedCompositeFieldContainer[Option]: ...\r
+\r
+ def __init__(self,\r
+ name: Optional[Text] = ...,\r
+ number: Optional[int] = ...,\r
+ options: Optional[Iterable[Option]] = ...,\r
+ ) -> None: ...\r
+\r
+ @classmethod\r
+ def FromString(cls, s: bytes) -> EnumValue: ...\r
+\r
+\r
+class Option(Message):\r
+ name = ... # type: Text\r
+\r
+ @property\r
+ def value(self) -> Any: ...\r
+\r
+ def __init__(self,\r
+ name: Optional[Text] = ...,\r
+ value: Optional[Any] = ...,\r
+ ) -> None: ...\r
+\r
+ @classmethod\r
+ def FromString(cls, s: bytes) -> Option: ...\r