--- /dev/null
+from google.protobuf.message import (\r
+ Message,\r
+)\r
+from typing import (\r
+ List,\r
+ Optional,\r
+ Tuple,\r
+ cast,\r
+)\r
+\r
+\r
+class TestEnum(int):\r
+ @classmethod\r
+ def Name(cls, number: int) -> bytes: ...\r
+\r
+ @classmethod\r
+ def Value(cls, name: bytes) -> TestEnum: ...\r
+\r
+ @classmethod\r
+ def keys(cls) -> List[bytes]: ...\r
+\r
+ @classmethod\r
+ def values(cls) -> List[TestEnum]: ...\r
+\r
+ @classmethod\r
+ def items(cls) -> List[Tuple[bytes, TestEnum]]: ...\r
+\r
+\r
+FOO: TestEnum\r
+\r
+\r
+class TestMessage(Message):\r
+ a = ... # type: int\r
+\r
+ def __init__(self,\r
+ a: Optional[int] = ...,\r
+ ) -> None: ...\r
+\r
+ @classmethod\r
+ def FromString(cls, s: bytes) -> TestMessage: ...\r