from __future__ import annotations
from typing import Any, Protocol, runtime_checkable

@runtime_checkable
class XFormsUIHelper1(Protocol):
    def getDefaultServiceNameForNode(self, xNode: XNode) -> str: ...
    def getDefaultBindingExpressionForNode(self, xNode: XNode) -> str: ...
    def getNodeDisplayName(self, xNode: XNode, bDetail: bool) -> str: ...
    def getNodeName(self, xNode: XNode) -> str: ...
    def getBindingName(self, xBinding: XPropertySet, bDetail: bool) -> str: ...
    def getSubmissionName(self, xSubm: XPropertySet, bDetail: bool) -> str: ...
    def cloneBindingAsGhost(self, binding: XPropertySet) -> XPropertySet: ...
    def removeBindingIfUseless(self, xBinding: XPropertySet) -> None: ...
    def newInstance(self, sName: str, sURL: str, bURLOnce: bool) -> XDocument: ...
    def renameInstance(self, sFrom: str, sTo: str, sURL: str, bURLOnce: bool) -> None: ...
    def removeInstance(self, sName: str) -> None: ...
    def newModel(self, xModel: XModel, sName: str) -> XModel: ...
    def renameModel(self, xModel: XModel, sFrom: str, sTo: str) -> None: ...
    def removeModel(self, xModel: XModel, sName: str) -> None: ...
    def createElement(self, xParent: XNode, sName: str) -> XNode: ...
    def createAttribute(self, xParent: XNode, sName: str) -> XNode: ...
    def renameNode(self, xNode: XNode, sName: str) -> XNode: ...
    def getBindingForNode(self, xNode: XNode, bCreate: bool) -> XPropertySet: ...
    def removeBindingForNode(self, xNode: XNode) -> None: ...
    def getResultForExpression(self, xBinding: XPropertySet, bIsBindingExpression: bool, sExpression: str) -> str: ...
    def isValidXMLName(self, sName: str) -> bool: ...
    def isValidPrefixName(self, sName: str) -> bool: ...
    def setNodeValue(self, xNode: XNode, sValue: str) -> None: ...
