--- /dev/null
+from typing import Any, Optional, List, Type\r
+\r
+import threading\r
+import sys\r
+import weakref\r
+import array\r
+import itertools\r
+\r
+from multiprocessing import TimeoutError, cpu_count\r
+from multiprocessing.dummy.connection import Pipe\r
+from threading import Lock, RLock, Semaphore, BoundedSemaphore\r
+from threading import Event\r
+from Queue import Queue\r
+\r
+\r
+class DummyProcess(threading.Thread):\r
+ _children = ... # type: weakref.WeakKeyDictionary\r
+ _parent = ... # type: threading.Thread\r
+ _pid = ... # type: None\r
+ _start_called = ... # type: bool\r
+ def __init__(self, group=..., target=..., name=..., args=..., kwargs=...) -> None: ...\r
+ @property\r
+ def exitcode(self) -> Optional[int]: ...\r
+\r
+\r
+Process = DummyProcess\r
+\r
+# This should be threading._Condition but threading.pyi exports it as Condition\r
+class Condition(threading.Condition):\r
+ notify_all = ... # type: Any\r
+\r
+class Namespace(object):\r
+ def __init__(self, **kwds) -> None: ...\r
+\r
+class Value(object):\r
+ _typecode = ... # type: Any\r
+ _value = ... # type: Any\r
+ value = ... # type: Any\r
+ def __init__(self, typecode, value, lock=...) -> None: ...\r
+ def _get(self) -> Any: ...\r
+ def _set(self, value) -> None: ...\r
+\r
+JoinableQueue = Queue\r
+\r
+def Array(typecode, sequence, lock=...) -> array.array: ...\r
+def Manager() -> Any: ...\r
+def Pool(processes=..., initializer=..., initargs=...) -> Any: ...\r
+def active_children() -> List: ...\r
+def current_process() -> threading.Thread: ...\r
+def freeze_support() -> None: ...\r
+def shutdown() -> None: ...\r