from rest_framework.fields import Field, ReadOnlyField
from wagtail.api.v2.serializers import PageSerializer as PageSerializer
from wagtail.api.v2.serializers import get_serializer_class as get_serializer_class
from wagtail.api.v2.utils import get_full_url as get_full_url
from wagtail.models import Page as Page

def get_model_listing_url(context, model): ...

class PageStatusField(Field):
    def get_attribute(self, instance): ...
    def to_representation(self, page): ...

class PageChildrenField(Field):
    def get_attribute(self, instance): ...
    def to_representation(self, page): ...

class PageDescendantsField(Field):
    def get_attribute(self, instance): ...
    def to_representation(self, page): ...

class PageAncestorsField(Field):
    def get_attribute(self, instance): ...
    def to_representation(self, page): ...

class PageTranslationsField(Field):
    def get_attribute(self, instance): ...
    def to_representation(self, page): ...

class AdminPageSerializer(PageSerializer):
    status: PageStatusField
    children: PageChildrenField
    descendants: PageDescendantsField
    ancestors: PageAncestorsField
    translations: PageTranslationsField
    admin_display_title: ReadOnlyField
