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

import AssetAPI as AssetAPI
import KatanaResources as KatanaResources
import PyQt5.QtCore
import PyQt5.QtWidgets
import PyQt5.QtCore as QtCore
import PyQt5.QtGui as QtGui
import PyQt5.QtWidgets as QtWidgets
import PyUtilModule.ScenegraphBookmarkManager as ScenegraphBookmarkManager
import Nodes3DAPI.ScenegraphManager as ScenegraphManager
import UI4 as UI4
from PyUtilModule.WorkingSetManager import WorkingSetManager as WorkingSetManager
from UI4.Widgets.ToolbarButton import ToolbarButton as ToolbarButton
from _typeshed import Incomplete
from typing import ClassVar, Set, Tuple

class BookmarkAction(PyQt5.QtWidgets.QAction):
    _BookmarkAction__iconFile: ClassVar[str] = ...
    icon: ClassVar[None] = ...
    def __init__(self, bookmarkDict: dict, *args) -> None: ...
    def _BookmarkAction__activated_CB(self): ...

class SceneGraphBookmarkButton(ToolbarButton):
    _SceneGraphBookmarkButton__iconFile: ClassVar[str] = ...
    _SceneGraphBookmarkButton__rolloverIconFile: ClassVar[str] = ...
    def __init__(self, parent, *args) -> None: ...
    def _SceneGraphBookmarkButton__clearBookmarks(self): ...
    def _SceneGraphBookmarkButton__clearWorkingSets(self): ...
    def _SceneGraphBookmarkButton__createBookmark(self): ...
    def _SceneGraphBookmarkButton__exportBookmarks(self): ...
    def _SceneGraphBookmarkButton__importBookmarks(self): ...
    def _SceneGraphBookmarkButton__organizeBookmarks(self): ...
    def _SceneGraphBookmarkButton__saveAndPublishBookmarks(self, xml: str, filePathOrAssetId: str, extraOptions: dict = ...): ...
    def _SceneGraphBookmarkButton__updateMenu(self): ...
    def _SceneGraphBookmarkButton__writeBookmarksFile(self, xml, filename, confirmOverwrite: bool = ...): ...

class SceneGraphBookmarkCreationDialog(PyQt5.QtWidgets.QDialog):
    DEFAULT_HEIGHT: ClassVar[int] = ...
    DEFAULT_WIDTH: ClassVar[int] = ...
    MAX_PROPORTION_OF_SCREEN_SIZE: ClassVar[float] = ...
    PAD_HEIGHT: ClassVar[int] = ...
    PAD_WIDTH: ClassVar[int] = ...
    VERTICAL_OFFSET: ClassVar[int] = ...
    def __init__(self, globalPos: PyQt5.QtCore.QSize) -> None: ...
    def _SceneGraphBookmarkCreationDialog__calculateGeometry(self) -> PyQt5.QtCore.QRect: ...
    def _SceneGraphBookmarkCreationDialog__createLabelledComboBox(self, labelText, objectName) -> Tuple[PyQt5.QtWidgets.QWidget, PyQt5.QtWidgets.QWidget]: ...
    def _SceneGraphBookmarkCreationDialog__createWorkingSetsCheckBoxes(self, parentWidget: PyQt5.QtWidgets.QWidget) -> list[PyQt5.QtWidgets.QCheckBox]: ...
    def _SceneGraphBookmarkCreationDialog__createWorkingSetsFrame(self) -> PyQt5.QtWidgets.QFrame: ...
    def _SceneGraphBookmarkCreationDialog__deselectAllWorkingSets(self): ...
    def _SceneGraphBookmarkCreationDialog__getCurrentBookmarkFullName(self) -> str: ...
    def _SceneGraphBookmarkCreationDialog__getCurrentBookmarkName(self) -> str: ...
    def _SceneGraphBookmarkCreationDialog__getCurrentFolderName(self) -> str: ...
    def _SceneGraphBookmarkCreationDialog__getScreenGeometry(self, globalPos: PyQt5.QtCore.QPoint, desktop: Incomplete | None = ...) -> PyQt5.QtCore.QRect: ...
    def _SceneGraphBookmarkCreationDialog__getSelectedWorkingSets(self) -> list[str]: ...
    def _SceneGraphBookmarkCreationDialog__on_bookmarkNameComboBox_changed(self): ...
    def _SceneGraphBookmarkCreationDialog__on_folderComboBox_changed(self): ...
    def _SceneGraphBookmarkCreationDialog__on_workingSetCheckBoxes_changed(self): ...
    def _SceneGraphBookmarkCreationDialog__positionRectInRect(self, rect: PyQt5.QtCore.QRect, enclosingRect: PyQt5.QtCore.QRect) -> Tuple[int, int]: ...
    def _SceneGraphBookmarkCreationDialog__repopulateBookmarkNameWidget(self): ...
    def _SceneGraphBookmarkCreationDialog__selectAllWorkingSets(self): ...
    def _SceneGraphBookmarkCreationDialog__updateSaveButton(self): ...
    def _SceneGraphBookmarkCreationDialog__updateSelectedWorkingSets(self): ...
    def getResult(self) -> dict: ...

class SceneGraphBookmarkItemDelegate(PyQt5.QtWidgets.QItemDelegate):
    def editorEvent(self, event, model, option, index): ...

class SceneGraphBookmarkOrganizationDialog(PyQt5.QtWidgets.QDialog):
    class BookmarkItem(PyQt5.QtWidgets.QTreeWidgetItem):
        _BookmarkItem__iconFile: ClassVar[str] = ...
        icon: ClassVar[None] = ...
        def __init__(self, shortName, fullName, parent) -> None: ...
        def _BookmarkItem__delete_CB(self): ...
        def buildContextMenu(self, menu): ...

    class FolderItem(PyQt5.QtWidgets.QTreeWidgetItem):
        _FolderItem__iconFile: ClassVar[str] = ...
        icon: ClassVar[None] = ...
        def __init__(self, folderName, parent) -> None: ...
    def __init__(self, folders, bookmarks) -> None: ...

class VerticalScrollArea(PyQt5.QtWidgets.QScrollArea):
    def __init__(self, parent: PyQt5.QtWidgets.QWidget, childWidget: PyQt5.QtWidgets.QWidget) -> None: ...
    def resizeEvent(self, event): ...
    def sizeHint(self): ...
