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

import UI4.Util.IconManager as IconManager
import PyQt5.QtCore
import PyQt5.QtWidgets
import PyServiceProviderRegistry
import PyQt5.QtCore as QtCore
import PyQt5.QtGui as QtGui
import PyQt5.QtWidgets as QtWidgets
import Utils as Utils
from typing import ClassVar, Set, Tuple

class ServiceProviderItemDelegate(PyQt5.QtWidgets.QStyledItemDelegate):
    kIconSize: ClassVar[int] = ...
    kPadding: ClassVar[int] = ...
    def __init__(self, listWidget, parent) -> None: ...
    def paint(self, painter: PyQt5.QtWidgets.QPainter, option: PyQt5.QtWidgets.QStyleOptionViewItem, index: PyQt5.QtCore.QModelIndex): ...
    def sizeHint(self, option: PyQt5.QtWidgets.QStyleOptionViewItem, index: PyQt5.QtCore.QModelIndex) -> PyQt5.QtCore.QSize: ...

class ServiceProviderListWidget(PyQt5.QtWidgets.QWidget):
    kHealthCheckSupportedRole: ClassVar[int] = ...
    kServiceFooterTextRole: ClassVar[int] = ...
    kServiceNameRole: ClassVar[int] = ...
    kServiceObjectRole: ClassVar[int] = ...
    kServiceVersionRole: ClassVar[int] = ...
    serviceProviderSelectionCancelled: ClassVar[PyQt5.QtCore.pyqtSignal] = ...
    serviceProviderSelectionChanged: ClassVar[PyQt5.QtCore.pyqtSignal] = ...
    def __init__(self, parent: PyQt5.QtWidgets.QWidget) -> None: ...
    @classmethod
    def PixmapForService(cls, service): ...
    @classmethod
    def ServiceIDForService(cls, service): ...
    @classmethod
    def ServiceNameForService(cls, service: PyServiceProviderRegistry.ServiceProvider) -> str: ...
    def _ServiceProviderListWidget__idle(self, *args, **kwargs): ...
    def _ServiceProviderListWidget__setupUI(self): ...
    def _ServiceProviderListWidget__updateModel(self): ...
    def _ServiceProviderListWidget__updateModelItem(self, serviceItem, service): ...
    def hideEvent(self, event): ...
    def on_serviceSelectionModel_currentRowChanged(self, current: PyQt5.QtCore.QModelIndex, previous: PyQt5.QtCore.QModelIndex): ...
    def showEvent(self, event): ...
