--- /dev/null
+from typing import Any, List, Optional, Tuple, Type, TypeVar\r
+\r
+from queue import Queue\r
+\r
+families = ... # type: List[None]\r
+\r
+_TConnection = TypeVar('_TConnection', bound=Connection)\r
+_TListener = TypeVar('_TListener', bound=Listener)\r
+\r
+class Connection(object):\r
+ _in = ... # type: Any\r
+ _out = ... # type: Any\r
+ recv = ... # type: Any\r
+ recv_bytes = ... # type: Any\r
+ send = ... # type: Any\r
+ send_bytes = ... # type: Any\r
+ def __enter__(self: _TConnection) -> _TConnection: ...\r
+ def __exit__(self, exc_type, exc_value, exc_tb) -> None: ...\r
+ def __init__(self, _in, _out) -> None: ...\r
+ def close(self) -> None: ...\r
+ def poll(self, timeout: float=...) -> bool: ...\r
+\r
+class Listener(object):\r
+ _backlog_queue = ... # type: Optional[Queue]\r
+ @property\r
+ def address(self) -> Optional[Queue]: ...\r
+ def __enter__(self: _TListener) -> _TListener: ...\r
+ def __exit__(self, exc_type, exc_value, exc_tb) -> None: ...\r
+ def __init__(self, address=..., family=..., backlog=...) -> None: ...\r
+ def accept(self) -> Connection: ...\r
+ def close(self) -> None: ...\r
+\r
+\r
+def Client(address) -> Connection: ...\r
+def Pipe(duplex: bool=...) -> Tuple[Connection, Connection]: ...\r