diff --git a/stubs/html5lib/html5lib/html5parser.pyi b/stubs/html5lib/html5lib/html5parser.pyi
index 8b5215b0f..d7a873dde 100644
--- a/stubs/html5lib/html5lib/html5parser.pyi
+++ b/stubs/html5lib/html5lib/html5parser.pyi
@@ -1,11 +1,18 @@
from _typeshed import SupportsRead
-from typing import Any
+from typing import Any, overload
+from typing_extensions import Literal
+from xml.etree.ElementTree import Element
+@overload
def parse(
doc: str | bytes | SupportsRead[str] | SupportsRead[bytes],
- treebuilder: str = ...,
+ treebuilder: Literal["etree"] = ...,
namespaceHTMLElements: bool = ...,
**kwargs,
+) -> Element: ...
+@overload
+def parse(
+ doc: str | bytes | SupportsRead[str] | SupportsRead[bytes], treebuilder: str, namespaceHTMLElements: bool = ..., **kwargs
): ...
def parseFragment(doc, container: str = ..., treebuilder: str = ..., namespaceHTMLElements: bool = ..., **kwargs): ...
def method_decorator_metaclass(function): ...
@@ -28,11 +35,11 @@ class HTMLParser:
framesetOK: bool
def reset(self) -> None: ...
@property
- def documentEncoding(self): ...
- def isHTMLIntegrationPoint(self, element): ...
- def isMathMLTextIntegrationPoint(self, element): ...
+ def documentEncoding(self) -> str | None: ...
+ def isHTMLIntegrationPoint(self, element) -> bool: ...
+ def isMathMLTextIntegrationPoint(self, element) -> bool: ...
def mainLoop(self) -> None: ...
- def parse(self, stream, *args, **kwargs): ...
+ def parse(self, stream, scripting: bool = ..., **kwargs): ...
def parseFragment(self, stream, *args, **kwargs): ...
def parseError(self, errorcode: str = ..., datavars: Any | None = ...) -> None: ...
def adjustMathMLAttributes(self, token) -> None: ...