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

import PyQt5.QtCore
import PyQt5.QtWidgets
import PyQt5.QtCore as QtCore
import PyQt5.QtGui as QtGui
import PyQt5.QtWidgets as QtWidgets
from _typeshed import Incomplete
from typing import ClassVar, Set, Tuple

class Histogram:
    def __init__(self, channels) -> None: ...
    def getChannel(self, name): ...
    def getChannels(self): ...
    def getCounts(self, index): ...
    def getMaxSize(self): ...

class HistogramChannel:
    def __init__(self, name, data, count: Incomplete | None = ..., size: Incomplete | None = ..., stats: Incomplete | None = ..., domain: Incomplete | None = ...) -> None: ...
    def getCount(self, index): ...
    def getData(self): ...
    def getDomain(self): ...
    def getDomainBelowFraction(self, fraction, ignoreZero: bool = ...): ...
    def getName(self): ...
    def getSize(self): ...
    def getStats(self): ...
    def getTotalCount(self): ...

class HistogramWidget(PyQt5.QtWidgets.QOpenGLWidget):
    _TextBorderSize: ClassVar[int] = ...
    setTraceLocationSignal: ClassVar[PyQt5.QtCore.pyqtSignal] = ...
    showTraceSignal: ClassVar[PyQt5.QtCore.pyqtSignal] = ...
    def __init__(self, parent) -> None: ...
    def _HistogramWidget__drawAxes(self): ...
    def _HistogramWidget__drawHistogram(self): ...
    def _HistogramWidget__drawLabel(self): ...
    def _HistogramWidget__renderText(self, x, y, text, font, color): ...
    def getGlobalScale(self): ...
    def isChannelEnabled(self, channel): ...
    def mouseMoveEvent(self, ev): ...
    def mousePressEvent(self, ev): ...
    def mouseReleaseEvent(self, ev): ...
    def paintGL(self): ...
    def resizeGL(self, width, height): ...
    def setChannels(self, channels): ...
    def setGlobalScale(self, scale): ...
    def setHistogram(self, histogram): ...
    def setLabel(self, label): ...
    def setProbe(self, probePixelLoc): ...
    def setScale(self, scale): ...
    def setTraceLocation(self, x): ...
    def showTrace(self, isShown): ...
