--- /dev/null
+import sys
+from _typeshed import SupportsWrite
+from _typeshed.wsgi import StartResponse, WSGIApplication, WSGIEnvironment
+from typing import Any, Iterable, Iterator, Mapping, Protocol, Tuple
+
+from ..datastructures import Headers
+
+class WSGIWarning(Warning): ...
+class HTTPWarning(Warning): ...
+
+def check_string(context: str, obj: object, stacklevel: int = ...) -> None: ...
+
+class _SupportsReadEtc(Protocol):
+ def read(self, __size: int = ...) -> bytes: ...
+ def readline(self, __size: int = ...) -> bytes: ...
+ def __iter__(self) -> Iterator[bytes]: ...
+ def close(self) -> Any: ...
+
+class InputStream(object):
+ def __init__(self, stream: _SupportsReadEtc) -> None: ...
+ def read(self, __size: int = ...) -> bytes: ...
+ def readline(self, __size: int = ...) -> bytes: ...
+ def __iter__(self) -> Iterator[bytes]: ...
+ def close(self) -> None: ...
+
+class _SupportsWriteEtc(Protocol):
+ def write(self, __s: str) -> Any: ...
+ def flush(self) -> Any: ...
+ def close(self) -> Any: ...
+
+class ErrorStream(object):
+ def __init__(self, stream: _SupportsWriteEtc) -> None: ...
+ def write(self, s: str) -> None: ...
+ def flush(self) -> None: ...
+ def writelines(self, seq: Iterable[str]) -> None: ...
+ def close(self) -> None: ...
+
+class GuardedWrite(object):
+ def __init__(self, write: SupportsWrite[str], chunks: list[int]) -> None: ...
+ def __call__(self, s: str) -> None: ...
+
+class GuardedIterator(object):
+ closed: bool
+ headers_set: bool
+ chunks: list[int]
+ def __init__(self, iterator: Iterable[str], headers_set: bool, chunks: list[int]) -> None: ...
+ def __iter__(self) -> GuardedIterator: ...
+ if sys.version_info >= (3, 0):
+ def __next__(self) -> str: ...
+ else:
+ def next(self) -> str: ...
+ def close(self) -> None: ...
+
+class LintMiddleware(object):
+ def __init__(self, app: WSGIApplication) -> None: ...
+ def check_environ(self, environ: WSGIEnvironment) -> None: ...
+ def check_start_response(
+ self, status: str, headers: list[tuple[str, str]], exc_info: Tuple[Any, ...] | None
+ ) -> tuple[int, Headers]: ...
+ def check_headers(self, headers: Mapping[str, str]) -> None: ...
+ def check_iterator(self, app_iter: Iterable[bytes]) -> None: ...
+ def __call__(self, environ: WSGIEnvironment, start_response: StartResponse) -> GuardedIterator: ...