from _typeshed import Incomplete
from wagtail.admin.forms import WagtailAdminPageForm as WagtailAdminPageForm
from wagtail.compat import URLField as URLField
import django.forms

class BaseForm(django.forms.Form):
    user: Incomplete
    page: Incomplete
    def __init__(self, *args, **kwargs) -> None: ...

class FormBuilder:
    fields: Incomplete
    def __init__(self, fields) -> None: ...
    def create_singleline_field(self, field, options): ...
    def create_multiline_field(self, field, options): ...
    def create_date_field(self, field, options): ...
    def create_datetime_field(self, field, options): ...
    def create_email_field(self, field, options): ...
    def create_url_field(self, field, options): ...
    def create_number_field(self, field, options): ...
    def create_dropdown_field(self, field, options): ...
    def create_multiselect_field(self, field, options): ...
    def create_radio_field(self, field, options): ...
    def create_checkboxes_field(self, field, options): ...
    def create_checkbox_field(self, field, options): ...
    def create_hidden_field(self, field, options): ...
    def get_create_field_function(self, type): ...
    def get_formatted_field_choices(self, field): ...
    def get_formatted_field_initial(self, field): ...
    @property
    def formfields(self): ...
    def get_field_options(self, field): ...
    def get_form_class(self): ...

class SelectDateForm(django.forms.Form):
    date_from: Incomplete
    date_to: Incomplete

class WagtailAdminFormPageForm(WagtailAdminPageForm):
    def clean(self): ...
