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

import NodegraphAPI as NodegraphAPI
import PyQt5.QtCore as QtCore
import PyQt5.QtWidgets as QtWidgets
import UI4 as UI4
import Utils as Utils
from PyUtilModule.VirtualKatana import Widgets as Widgets
from UI4.Tabs.BaseTab import BaseTab as BaseTab
from typing import ClassVar, Set, Tuple

PluginRegistry: list

class ParameterFindAndReplacePanel(BaseTab):
    MATCHTYPE_CONTAINS: ClassVar[int] = ...
    MATCHTYPE_EXACTMATCH: ClassVar[int] = ...
    MATCHTYPE_REGEX: ClassVar[int] = ...
    NODE_NAMES: ClassVar[int] = ...
    PARAMS_ALL: ClassVar[int] = ...
    PARAMS_WITHOUT_EXPRESSIONS: ClassVar[int] = ...
    PARAMS_WITHOUT_EXPRESSION_AND_NODE_NAMES: ClassVar[int] = ...
    PARAMS_WITH_EXPRESSIONS: ClassVar[int] = ...
    _ParameterFindAndReplacePanel__matchTypeDisplayNames: ClassVar[dict] = ...
    _ParameterFindAndReplacePanel__scopeTypeDisplayNames: ClassVar[dict] = ...
    def __init__(self, parent) -> None: ...
    def _ParameterFindAndReplacePanel__clearButtonClicked(self): ...
    def _ParameterFindAndReplacePanel__contextMenuRequest(self, pos): ...
    def _ParameterFindAndReplacePanel__copyResultList(self): ...
    def _ParameterFindAndReplacePanel__discardNodesOfSelectedType(self): ...
    def _ParameterFindAndReplacePanel__discardNodesWithSelectedParent(self): ...
    def _ParameterFindAndReplacePanel__discardParametersOfSelectedName(self): ...
    def _ParameterFindAndReplacePanel__discardSelectedNode(self): ...
    def _ParameterFindAndReplacePanel__editParamsForSelected(self): ...
    def _ParameterFindAndReplacePanel__findButtonClicked(self): ...
    def _ParameterFindAndReplacePanel__findNonSelectedNodeChildren(self, node: NodegraphAPI.Node, nodeList): ...
    def _ParameterFindAndReplacePanel__interrupt(self): ...
    def _ParameterFindAndReplacePanel__keepOnlyNodesOfSelectedType(self): ...
    def _ParameterFindAndReplacePanel__keepOnlyNodesWithSelectedParent(self): ...
    def _ParameterFindAndReplacePanel__keepOnlyParametersOfSelectedName(self): ...
    def _ParameterFindAndReplacePanel__keepOnlySelectedNode(self): ...
    def _ParameterFindAndReplacePanel__matches(self, value, searchText, matchType): ...
    def _ParameterFindAndReplacePanel__replace(self, value, searchText, replaceText, matchType): ...
    def _ParameterFindAndReplacePanel__replaceButtonClicked(self): ...
    def _ParameterFindAndReplacePanel__replaceTextChanged(self, text): ...
    def _ParameterFindAndReplacePanel__searchTextChanged(self, text): ...
    def _ParameterFindAndReplacePanel__updateResultLabel(self): ...
    def _ParameterFindAndReplacePanel__walkParameter(self, param, searchText, parameterFilter, matchType): ...
