--- /dev/null
+import sys\r
+from typing import overload, Pattern, Optional, List, Tuple\r
+\r
+_HeaderList = List[Tuple[str, str]]\r
+\r
+tspecials: Pattern[str] # undocumented\r
+\r
+class Headers:\r
+ if sys.version_info < (3, 5):\r
+ def __init__(self, headers: _HeaderList) -> None: ...\r
+ else:\r
+ def __init__(self, headers: Optional[_HeaderList] = ...) -> None: ...\r
+ def __len__(self) -> int: ...\r
+ def __setitem__(self, name: str, val: str) -> None: ...\r
+ def __delitem__(self, name: str) -> None: ...\r
+ def __getitem__(self, name: str) -> Optional[str]: ...\r
+ if sys.version_info < (3,):\r
+ def has_key(self, name: str) -> bool: ...\r
+ def __contains__(self, name: str) -> bool: ...\r
+ def get_all(self, name: str) -> List[str]: ...\r
+ @overload\r
+ def get(self, name: str, default: str) -> str: ...\r
+ @overload\r
+ def get(self, name: str, default: Optional[str] = ...) -> Optional[str]: ...\r
+ def keys(self) -> List[str]: ...\r
+ def values(self) -> List[str]: ...\r
+ def items(self) -> _HeaderList: ...\r
+ if sys.version_info >= (3,):\r
+ def __bytes__(self) -> bytes: ...\r
+ def setdefault(self, name: str, value: str) -> str: ...\r
+ def add_header(self, _name: str, _value: Optional[str], **_params: Optional[str]) -> None: ...\r