from typing import Any, Optional

from django.utils.deprecation import RenameMethodsBase

from .. import compat as compat
from .. import utils as utils
from . import filters as filters
from . import filterset as filterset

class RenameAttributes(utils.RenameAttributesBase, RenameMethodsBase):
    renamed_attributes: Any = ...
    renamed_methods: Any = ...

class DjangoFilterBackend(metaclass=RenameAttributes):
    filterset_base: Any = ...
    raise_exception: bool = ...
    @property
    def template(self): ...
    def get_filterset(self, request: Any, queryset: Any, view: Any): ...
    def get_filterset_class(self, view: Any, queryset: Optional[Any] = ...): ...
    def get_filterset_kwargs(self, request: Any, queryset: Any, view: Any): ...
    def filter_queryset(self, request: Any, queryset: Any, view: Any): ...
    def to_html(self, request: Any, queryset: Any, view: Any): ...
    def get_coreschema_field(self, field: Any): ...
    def get_schema_fields(self, view: Any): ...
    def get_schema_operation_parameters(self, view: Any): ...
