# mypy: disable-error-code="misc, override, attr-defined, no-redef, assignment"

import UI4.Widgets.SceneGraphView.Filtering.Criteria
import UI4.Widgets.SceneGraphView.Filtering.Evaluator
import UI4.Widgets.SceneGraphView.Filtering.Target
import UI4.Widgets.SceneGraphView.SceneGraphHandle
from UI4.Widgets.SceneGraphView.SceneGraphLocationTranslation import GetParentPath as GetParentPath, IsLocationUnderTopLevelLocation as IsLocationUnderTopLevelLocation
from typing import Set, Tuple

class Rule:
    def __init__(self) -> None: ...
    def clearCriteria(self): ...
    def flushLocationMatchCache(self): ...
    def getComment(self) -> str | None: ...
    def getCriteria(self): ...
    def getDefaultCriteria(self) -> tuple[str, Criteria]: ...
    def getEvaluatorName(self) -> str: ...
    def getShowChildren(self): ...
    def getTarget(self) -> Target[UI4.Widgets.SceneGraphView.Filtering.Target.Target]: ...
    def isEnabled(self) -> bool: ...
    def isInverted(self) -> bool: ...
    def match(self, handle: SceneGraphHandle[UI4.Widgets.SceneGraphView.SceneGraphHandle.SceneGraphHandle], topLevelHandle: SceneGraphHandle[UI4.Widgets.SceneGraphView.SceneGraphHandle.SceneGraphHandle]) -> bool: ...
    def setComment(self, comment: str | None): ...
    def setCriteria(self, name: str, criteria: Criteria[UI4.Widgets.SceneGraphView.Filtering.Criteria.Criteria]): ...
    def setEnabled(self, enabled: bool): ...
    def setEvaluator(self, evaluator: Evaluator[UI4.Widgets.SceneGraphView.Filtering.Evaluator.Evaluator]): ...
    def setInverted(self, inverted: bool): ...
    def setShowChildren(self, showChildren): ...
    def setTarget(self, target: Target[UI4.Widgets.SceneGraphView.Filtering.Target.Target]): ...
