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

import GeoAPI as GeoAPI
import NodegraphAPI as NodegraphAPI
import PyFnAttribute
import PyQt5.QtGui
import PyQt5.QtWidgets
import QT4FormWidgets as QT4FormWidgets
import PyQt5.QtCore as QtCore
import PyQt5.QtWidgets as QtWidgets
import UI4 as UI4
import UI4.FormMaster
import UI4.FormMaster.GenericAssignParameterPolicy_geolib3
from typing import ClassVar, Set, Tuple

class PIP(tuple):
    _field_defaults: ClassVar[dict] = ...
    _fields: ClassVar[tuple] = ...
    _fields_defaults: ClassVar[dict] = ...
    def __init__(self, _cls, nodeName, parameterName, page, label, name, hintsHash, terminalNodeHash) -> None: ...
    def _asdict(self): ...
    @classmethod
    def _make(cls, iterable): ...
    def _replace(self, _self, **kwds): ...
    def __getnewargs__(self): ...
    @property
    def hintsHash(self): ...
    @property
    def label(self): ...
    @property
    def name(self): ...
    @property
    def nodeName(self): ...
    @property
    def page(self): ...
    @property
    def parameterName(self): ...
    @property
    def terminalNodeHash(self): ...

class PublicInterfaceParameters(PyQt5.QtWidgets.QWidget):
    def __init__(self, parent: PyQt5.QtWidgets.QWidget, publicInterfacePolicy: UI4.FormMaster.GenericAssignGroupParameterPolicy) -> None: ...
    def _PublicInterfaceParameters__clearLayout(self, layout: PyQt5.QtWidgets.QLayout): ...
    def _PublicInterfaceParameters__createNodeParameterGroupPolicy(self, pagePolicyCache, publicInterfaceParameterHints, containerInterfaceHints): ...
    def _PublicInterfaceParameters__createPagePolicy(self, page: str, pagePolicyCache: dict, containerInterfaceHints: dict, ancestorPageNames: str = ...) -> QT4FormWidgets.PythonGroupPolicy: ...
    def _PublicInterfaceParameters__handleAttrSourceError(self, layout: PyQt5.QtWidgets.Qlayout, errorMessageAttr: PyFnAttribute.GroupAttribute): ...
    def _PublicInterfaceParameters__handleAttrSourceErrorFallback(self, layout, errorMessageAttr): ...
    def _PublicInterfaceParameters__on_parameterAttrSource_update(self): ...
    def _PublicInterfaceParameters__on_publicInterfaceAttrSource_update(self): ...
    def _PublicInterfaceParameters__updateAttributeSourceConnections(self, connect: bool = ...): ...
    def _PublicInterfaceParameters__updateStalePolicies(self, policies): ...
    def _freeze(self): ...
    def _isFrozen(self) -> bool: ...
    def _thaw(self): ...
    def getAttrSource(self) -> UI4.FormMaster.GenericAssignParameterPolicy_geolib3.ClientIncomingValueSource: ...
    def getAttrSourceErrorHandlers(self): ...
    def getPublicInterfacePolicy(self) -> UI4.FormMaster.GenericAssignGroupParameterPolicy: ...
    def hideEvent(self, event: PyQt5.QtGui.QHideEvent): ...
    def registerAttrSourceErrorHandler(self, attrSourceErrorHandler: None, index: int = ...) -> bool: ...
    def setPublicInterfacePolicy(self, publicInterfacePolicy: UI4.FormMaster.GenericAssignGroupParameterPolicy): ...
    def showEvent(self, event: PyQt5.QtGui.QShowEvent): ...
    def startListening(self): ...
    def stopListening(self): ...
