from __future__ import annotations
from typing import Any, Protocol, runtime_checkable
from com.sun.star.uno import XInterface

@runtime_checkable
class XNode(XInterface, Protocol):
    def cloneNode(self, deep: bool) -> XNode: ...
    def getAttributes(self) -> XNamedNodeMap: ...
    def getChildNodes(self) -> XNodeList: ...
    def getFirstChild(self) -> XNode: ...
    def getLastChild(self) -> XNode: ...
    def getLocalName(self) -> str: ...
    def getNamespaceURI(self) -> str: ...
    def getNextSibling(self) -> XNode: ...
    def getNodeName(self) -> str: ...
    def getNodeType(self) -> NodeType: ...
    def getOwnerDocument(self) -> XDocument: ...
    def getParentNode(self) -> XNode: ...
    def getPrefix(self) -> str: ...
    def getPreviousSibling(self) -> XNode: ...
    def hasAttributes(self) -> bool: ...
    def hasChildNodes(self) -> bool: ...
    def isSupported(self, feature: str, ver: str) -> bool: ...
    def normalize(self) -> None: ...
