from typing import Any
from werkzeug._internal import _DictAccessorProperty

class cached_property(property):
    __name__ = ...  # type: Any
    __module__ = ...  # type: Any
    __doc__ = ...  # type: Any
    func = ...  # type: Any
    def __init__(self, func, name=None, doc=None): ...
    def __set__(self, obj, value): ...
    def __get__(self, obj, type=None): ...

class environ_property(_DictAccessorProperty):
    read_only = ...  # type: Any
    def lookup(self, obj): ...

class header_property(_DictAccessorProperty):
    def lookup(self, obj): ...

class HTMLBuilder:
    def __init__(self, dialect): ...
    def __call__(self, s): ...
    def __getattr__(self, tag): ...

html = ...  # type: Any
xhtml = ...  # type: Any

def get_content_type(mimetype, charset): ...
def format_string(string, context): ...
def secure_filename(filename): ...
def escape(s, quote=None): ...
def unescape(s): ...
def redirect(location, code=302, Response=None): ...
def append_slash_redirect(environ, code=301): ...
def import_string(import_name, silent=False): ...
def find_modules(import_path, include_packages=False, recursive=False): ...
def validate_arguments(func, args, kwargs, drop_extra=True): ...
def bind_arguments(func, args, kwargs): ...

class ArgumentValidationError(ValueError):
    missing = ...  # type: Any
    extra = ...  # type: Any
    extra_positional = ...  # type: Any
    def __init__(self, missing=None, extra=None, extra_positional=None): ...

class ImportStringError(ImportError):
    import_name = ...  # type: Any
    exception = ...  # type: Any
    def __init__(self, import_name, exception): ...
