from _typeshed import Incomplete
from typing import Any

DOCUMENT: Any
DOCTYPE: Any
TEXT: Any
ELEMENT: Any
COMMENT: Any
ENTITY: Any
UNKNOWN: str

class TreeWalker:
    tree: Any
    def __init__(self, tree) -> None: ...
    def __iter__(self): ...
    def error(self, msg): ...
    def emptyTag(self, namespace, name, attrs, hasChildren: bool = ...) -> None: ...
    def startTag(self, namespace, name, attrs): ...
    def endTag(self, namespace, name): ...
    def text(self, data) -> None: ...
    def comment(self, data): ...
    def doctype(self, name, publicId: Incomplete | None = ..., systemId: Incomplete | None = ...): ...
    def entity(self, name): ...
    def unknown(self, nodeType): ...

class NonRecursiveTreeWalker(TreeWalker):
    def getNodeDetails(self, node) -> None: ...
    def getFirstChild(self, node) -> None: ...
    def getNextSibling(self, node) -> None: ...
    def getParentNode(self, node) -> None: ...
    def __iter__(self): ...
