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

import PyFnAttribute as FnAttribute
import PyQt5.QtCore
import PyQt5.QtWidgets
import PyQt5.QtCore as QtCore
import PyQt5.QtWidgets as QtWidgets
from PyUtilModule.ScenegraphUtils import AbbreviateScenegraphLocations as AbbreviateScenegraphLocations
from UI4.Widgets.HorizontalDivider import HorizontalDivider as HorizontalDivider
from UI4.Widgets.MetaCheckBox import MetaCheckBox as MetaCheckBox
from UI4.Widgets.SceneGraphView.SceneGraphView import SceneGraphView
from _typeshed import Incomplete
from typing import ClassVar, Set, Tuple

class LightListPopup(PyQt5.QtWidgets.QFrame):
    _LightListPopup__BUTTON_PADDING: ClassVar[PyQt5.QtCore.QSize] = ...
    _LightListPopup__MARGIN: ClassVar[int] = ...
    _LightListPopup__MINIMUM_SIZE: ClassVar[PyQt5.QtCore.QSize] = ...
    _LightListPopup__TITLE: ClassVar[str] = ...
    aboutToShow: ClassVar[PyQt5.QtCore.pyqtSignal] = ...
    changed: ClassVar[PyQt5.QtCore.pyqtSignal] = ...
    hideSignal: ClassVar[PyQt5.QtCore.pyqtSignal] = ...
    showSignal: ClassVar[PyQt5.QtCore.pyqtSignal] = ...
    def __init__(self, sceneGraphView, parent: Incomplete | None = ..., title: Incomplete | None = ...) -> None: ...
    def _LightListPopup__on_aboutToShow(self): ...
    def _LightListPopup__on_allLightsOff(self): ...
    def _LightListPopup__on_allLightsOn(self): ...
    def _LightListPopup__on_allLightsReset(self): ...
    def _LightListPopup__on_hide(self): ...
    def _LightListPopup__on_show(self): ...
    def _buildHeaderWidget(self): ...
    def _buildLocationsWidget(self): ...
    def _getHeaderWidget(self): ...
    def _getLocationsWidget(self): ...
    def getSceneGraphView(self) -> SceneGraphView: ...
    def hideEvent(self, event): ...
    def popup(self, globalPos): ...
    def showEvent(self, event): ...

class _LightListCheckBoxesWidget(PyQt5.QtWidgets.QScrollArea):
    _LightListCheckBoxesWidget__LIGHT_LIST_ATTRIBUTE: ClassVar[str] = ...
    _LightListCheckBoxesWidget__LIGHT_LIST_LOCATION: ClassVar[str] = ...
    _LightListCheckBoxesWidget__PADDING: ClassVar[PyQt5.QtCore.QSize] = ...
    changed: ClassVar[PyQt5.QtCore.pyqtSignal] = ...
    def __init__(self, sceneGraphView, parent: Incomplete | None = ...) -> None: ...
    def _LightListCheckBoxesWidget__deleteCheckBoxes(self): ...
    def _LightListCheckBoxesWidget__emitChangedSignal(self): ...
    def _LightListCheckBoxesWidget__getLightLocationsFromAttributes(self, attributes): ...
    def _LightListCheckBoxesWidget__lightLocationsAttributeCallback(self, locationPath, attributes): ...
    def _LightListCheckBoxesWidget__on_checkBoxToggled(self, lightLocation, isOn): ...
    def _LightListCheckBoxesWidget__populateWidget(self): ...
    def _LightListCheckBoxesWidget__populateWidgetFromAttributes(self, attributes): ...
    def _LightListCheckBoxesWidget__updateWidgetLocations(self, locationNames, displayNames): ...
    def getSceneGraphView(self) -> SceneGraphView: ...
    def on_aboutToShow(self): ...
    def on_allLightsOff(self): ...
    def on_allLightsOn(self): ...
    def on_allLightsReset(self): ...
    def on_hide(self): ...
    def sizeHint(self): ...
    def suppressSignals(self, signalsSuppressed): ...

class _SignalSuppressor:
    def __init__(self, widget) -> None: ...
    def __enter__(self): ...
    def __exit__(self, *args): ...
