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

import AssetAPI as AssetAPI
import AssetBrowser as AssetBrowser
import PyQt5.QtCore
import PyQt5.QtWidgets
import QT4FormWidgets as QT4FormWidgets
import PyQt5.QtCore as QtCore
import PyQt5.QtWidgets as QtWidgets
import Utils as Utils
from QT4FormWidgets.HintUtils import HintTrue as HintTrue
from typing import ClassVar, Set, Tuple

class BaseAssetControlWidget(PyQt5.QtWidgets.QWidget):
    valueChanged: ClassVar[PyQt5.QtCore.pyqtSignal] = ...
    def __init__(self, parent, hints) -> None: ...
    def buildWidgets(self, hints): ...
    def emitValueChanged(self): ...
    def getValue(self): ...
    def setReadOnly(self, readOnly): ...
    def setValue(self, value): ...

class BaseAssetRenderWidget(PyQt5.QtWidgets.QWidget):
    def __init__(self, parent, hints, outputInfo) -> None: ...
    def buildWidgets(self, hints): ...
    def getOutputInfo(self): ...
    def updateWidgets(self): ...

class BaseAssetWidgetDelegate(PyQt5.QtCore.QObject):
    def __init__(self, valuePolicy, *args) -> None: ...
    def addAssetFormWidgetMenuItems(self, menu): ...
    def configureAssetBrowser(self, browser): ...
    def createAssetControlWidget(self, parent): ...
    def createAssetRenderWidget(self, parent, outputInfo): ...
    def getQuickLinkPathsForContext(self, context): ...
    def getValuePolicy(self): ...
    def getWidgetHints(self): ...
    def shouldAddFileTabToAssetBrowser(self): ...
    def shouldAddStandardMenuItems(self): ...

class DefaultAssetControlWidget(BaseAssetControlWidget):
    def _DefaultAssetControlWidget__lostFocus(self): ...
    def buildWidgets(self, hints): ...
    def getValue(self): ...
    def setPalette(self, palette): ...
    def setReadOnly(self, readOnly): ...
    def setValue(self, value): ...

class DefaultAssetRenderWidget(BaseAssetRenderWidget):
    def buildWidgets(self, hints): ...
    def updateWidgets(self): ...

class DefaultAssetWidgetDelegate(BaseAssetWidgetDelegate):
    def createAssetControlWidget(self, parent): ...
    def createAssetRenderWidget(self, parent, outputInfo): ...

def GetAssetWidgetDelegate(assetSystemName, valuePolicy): ...
