from typing import Literal, Generator, Callable class Future[T]: def completed(self) -> bool: ... def __iter__(self) -> Generator[T, None, None]: ... class HttpResponse(Future['HttpResponse']): @property def status_code(self) -> int: ... @property def headers(self) -> dict[str, str]: ... @property def text(self) -> str: ... @property def content(self) -> bytes: ... def json(self): ... class HttpClient: def get(self, url: str, params=None, headers=None, timeout=10) -> HttpResponse: ... def post(self, url: str, params=None, headers=None, data=None, json=None, timeout=10) -> HttpResponse: ... def put(self, url: str, params=None, headers=None, data=None, json=None, timeout=10) -> HttpResponse: ... def delete(self, url: str, params=None, headers=None, timeout=10) -> HttpResponse: ... class HttpServer: def __init__(self, host: str, port: int) -> None: ... def dispatch(self, fn: Callable[[dict], object | tuple[object, int]]) -> bool: ... def start(self) -> None: ... def stop(self) -> None: ... class WebSocketClient: pass class WebSocketServer: pass