] = ...,
        attributes: Any = ...,
        styles: Container[Text] = ...,
        protocols: Container[Text] = ...,
        strip: bool = ...,
        strip_comments: bool = ...,
        filters: Optional[Iterable[_Filter]] = ...,
    ) -> None: ...
    def clean(self, text: Text) -> Text: ...

_AttributeFilter = Callable[[Text, Text, Text], bool]
_AttributeDict = Dict[Text, Union[Container[Text], _AttributeFilter]]

def attribute_filter_factory(attributes: Union[_AttributeFilter, _AttributeDict, Container[Text]]) -> _AttributeFilter: ...

class BleachSanitizerFilter(object):  # TODO: derives from html5lib.sanitizer.Filter
    def __getattr__(self, item: str) -> Any: ...  # incomplete
PK