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

import CatalogAPI as CatalogAPI
import PyQt5.QtCore
import PyQt5.QtWidgets
import QT4Widgets as QT4Widgets
import PyQt5.QtCore as QtCore
import PyQt5.QtGui as QtGui
import PyQt5.QtWidgets as QtWidgets
import Utils as Utils
import UI4.Widgets.WidgetHilightBox as WidgetHilightBox
from _typeshed import Incomplete
from typing import ClassVar, Set, Tuple

class CatalogItemThumbnailMixin:
    def __init__(self, catalogItem: Incomplete | None = ...) -> None: ...
    def _onCatalogItemChanged(self): ...
    def _updateThumbnailPixmap(self, width: int, height: int) -> bool: ...
    def getCatalogItem(self) -> CatalogItem: ...
    def setCatalogItem(self, catalogItem: CatalogItem): ...

class CatalogThumbnailWidget(CatalogItemThumbnailMixin, PyQt5.QtWidgets.QWidget):
    catalogItemDropped: ClassVar[PyQt5.QtCore.pyqtSignal] = ...
    def __init__(self, *args) -> None: ...
    def _CatalogThumbnailWidget__catalog_itemDelete_CB(self, eventType, eventID, item, **kwargs): ...
    def _CatalogThumbnailWidget__catalog_itemThumbnailUpdate_CB(self, eventType, eventID, item, **kwargs): ...
    def _CatalogThumbnailWidget__startDrag(self): ...
    def _onCatalogItemChanged(self): ...
    def customEvent(self, event): ...
    def dragEnterEvent(self, event): ...
    def dragLeaveEvent(self, ev): ...
    def dropEvent(self, event): ...
    def mousePressEvent(self, event): ...
    def paintEvent(self, event): ...
    def sizeHint(self): ...
