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

import KatanaFactory as KatanaFactory
import NodegraphAPI
import UI4.FormMaster.ParameterPolicy as ParameterPolicy
import UI4.KatanaPrefs.PrefNames as PrefNames
import PyQt5.QtCore
import PyQt5.QtCore as QtCore
import PyQt5.QtWidgets as QtWidgets
import Utils as Utils
from UI4.FormMaster.BaseParameterPolicy import BaseParameterPolicy
from UI4.KatanaPrefs.KatanaPrefsObject import Prefs as Prefs
from typing import ClassVar, Set, Tuple

NodeEditorCache: NodeEditorCacheClass

class NodeEditorCacheClass(PyQt5.QtCore.QObject):
    _NodeEditorCacheClass__cache: ClassVar[dict] = ...
    def __init__(self, factory: KatanaFactory.KatanaWidgetFactoryClass) -> None: ...
    def _NodeEditorCacheClass__clearAllEditorsForNode(self, nodeHash: int): ...
    def _NodeEditorCacheClass__collapsedEventHandler(self, args): ...
    def _NodeEditorCacheClass__deleteEditor(self, editor: BaseParameterPolicy): ...
    def _NodeEditorCacheClass__on_qApp_aboutToQuit(self): ...
    def buildEditor(self, node: NodegraphAPI.Node) -> BaseParameterPolicy: ...
    def flush(self): ...
    def getEditor(self, node: NodegraphAPI.Node) -> BaseParameterPolicy: ...
    def releaseEditor(self, editor: BaseParameterPolicy): ...
