2 from _typeshed import Self
3 from typing import Any, Callable, Match, Pattern, Sequence
72 COM_PORT_OPTION: bytes
73 SUPPRESS_LOCAL_ECHO: bytes
80 PRAGMA_HEARTBEAT: bytes
85 host: str | None # undocumented
86 def __init__(self, host: str | None = ..., port: int = ..., timeout: float = ...) -> None: ...
87 def open(self, host: str, port: int = ..., timeout: float = ...) -> None: ...
88 def msg(self, msg: str, *args: Any) -> None: ...
89 def set_debuglevel(self, debuglevel: int) -> None: ...
90 def close(self) -> None: ...
91 def get_socket(self) -> socket.socket: ...
92 def fileno(self) -> int: ...
93 def write(self, buffer: bytes) -> None: ...
94 def read_until(self, match: bytes, timeout: float | None = ...) -> bytes: ...
95 def read_all(self) -> bytes: ...
96 def read_some(self) -> bytes: ...
97 def read_very_eager(self) -> bytes: ...
98 def read_eager(self) -> bytes: ...
99 def read_lazy(self) -> bytes: ...
100 def read_very_lazy(self) -> bytes: ...
101 def read_sb_data(self) -> bytes: ...
102 def set_option_negotiation_callback(self, callback: Callable[[socket.socket, bytes, bytes], Any] | None) -> None: ...
103 def process_rawq(self) -> None: ...
104 def rawq_getchar(self) -> bytes: ...
105 def fill_rawq(self) -> None: ...
106 def sock_avail(self) -> bool: ...
107 def interact(self) -> None: ...
108 def mt_interact(self) -> None: ...
109 def listener(self) -> None: ...
111 self, list: Sequence[Pattern[bytes] | bytes], timeout: float | None = ...
112 ) -> tuple[int, Match[bytes] | None, bytes]: ...
113 def __enter__(self: Self) -> Self: ...
114 def __exit__(self, type: Any, value: Any, traceback: Any) -> None: ...