from collections.abc import Callable
from typing import Any

from django.urls import URLPattern, URLResolver

class WagtailAPIRouter:
    url_namespace: str
    def __init__(self, url_namespace: str) -> None: ...
    def register_endpoint(self, name: str, class_: type) -> None: ...
    def get_model_endpoint(self, model: type) -> tuple[str, type] | None: ...
    def get_model_listing_urlpath(self, model: type) -> str | None: ...
    def get_object_detail_urlpath(self, model: type, pk: Any) -> str | None: ...
    def wrap_view(self, func: Callable[..., Any]) -> Callable[..., Any]: ...
    def get_urlpatterns(self) -> list[URLPattern | URLResolver]: ...
    @property
    def urls(self) -> tuple[list[URLPattern | URLResolver], str, str]: ...
