from typing import Any, Optional, Union

from django.db.models.fields import Field
from django.views.generic import TemplateView

from .utils import get_view_name

MODEL_METHODS_EXCLUDE: Any

class BaseAdminDocsView(TemplateView):
    template_name: str = ...
    def dispatch(self, request: Any, *args: Any, **kwargs: Any): ...
    def get_context_data(self, **kwargs: Any): ...

class BookmarkletsView(BaseAdminDocsView):
    template_name: str = ...
    def get_context_data(self, **kwargs: Any): ...

class TemplateTagIndexView(BaseAdminDocsView):
    template_name: str = ...
    def get_context_data(self, **kwargs: Any): ...

class TemplateFilterIndexView(BaseAdminDocsView):
    template_name: str = ...
    def get_context_data(self, **kwargs: Any): ...

class ViewIndexView(BaseAdminDocsView):
    template_name: str = ...
    def get_context_data(self, **kwargs: Any): ...

class ViewDetailView(BaseAdminDocsView):
    template_name: str = ...
    def get_context_data(self, **kwargs: Any): ...

class ModelIndexView(BaseAdminDocsView):
    template_name: str = ...
    def get_context_data(self, **kwargs: Any): ...

class ModelDetailView(BaseAdminDocsView):
    template_name: str = ...
    def get_context_data(self, **kwargs: Any): ...

class TemplateDetailView(BaseAdminDocsView):
    template_name: str = ...
    def get_context_data(self, **kwargs: Any): ...

def get_return_data_type(func_name: Any): ...
def get_readable_field_data_type(field: Union[Field, str]) -> str: ...
def extract_views_from_urlpatterns(urlpatterns: Any, base: str = ..., namespace: Optional[Any] = ...): ...
def simplify_regex(pattern: str) -> str: ...
