from typing import Any
from urllib.request import parse_http_list as _parse_list_header
from urllib.parse import unquote_to_bytes as _unquote

HTTP_STATUS_CODES = ...  # type: Any

def wsgi_to_bytes(data): ...
def bytes_to_wsgi(data): ...
def quote_header_value(value, extra_chars='', allow_token=True): ...
def unquote_header_value(value, is_filename=False): ...
def dump_options_header(header, options): ...
def dump_header(iterable, allow_token=True): ...
def parse_list_header(value): ...
def parse_dict_header(value, cls=...): ...
def parse_options_header(value, multiple=False): ...
def parse_accept_header(value, cls=None): ...
def parse_cache_control_header(value, on_update=None, cls=None): ...
def parse_set_header(value, on_update=None): ...
def parse_authorization_header(value): ...
def parse_www_authenticate_header(value, on_update=None): ...
def parse_if_range_header(value): ...
def parse_range_header(value, make_inclusive=True): ...
def parse_content_range_header(value, on_update=None): ...
def quote_etag(etag, weak=False): ...
def unquote_etag(etag): ...
def parse_etags(value): ...
def generate_etag(data): ...
def parse_date(value): ...
def cookie_date(expires=None): ...
def http_date(timestamp=None): ...
def is_resource_modified(environ, etag=None, data=None, last_modified=None, ignore_if_range=True): ...
def remove_entity_headers(headers, allowed=...): ...
def remove_hop_by_hop_headers(headers): ...
def is_entity_header(header): ...
def is_hop_by_hop_header(header): ...
def parse_cookie(header, charset='', errors='', cls=None): ...
def dump_cookie(key, value='', max_age=None, expires=None, path='', domain=None, secure=False, httponly=False, charset='', sync_expires=True): ...
def is_byte_range_valid(start, stop, length): ...
