from collections.abc import MutableMapping
from re import Pattern
from typing import Any

from rest_framework.views import APIView

class ViewInspector:
    header_regex: Pattern[str]
    instance_schemas: MutableMapping[Any, ViewInspector | None]
    _view: APIView | None
    def __init__(self) -> None: ...
    def __get__(self, instance: Any, owner: Any) -> ViewInspector: ...
    def __set__(self, instance: Any, other: ViewInspector | None) -> None: ...
    @property
    def view(self) -> APIView: ...
    @view.setter
    def view(self, value: APIView | None) -> None: ...
    def get_description(self, path: str, method: str) -> str: ...

class DefaultSchema(ViewInspector): ...
