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

import PyQt5.QtCore
import PyQt5.QtWidgets
import PyQt5.QtCore as QtCore
import PyQt5.QtWidgets as QtWidgets
import PyUtilModule.RenderManager as RenderManager
import UI4.FormMaster.BaseParameterPolicy
import UI4.Widgets.SceneGraphView.Bridge
import Nodes3DAPI.UpdateModes as UpdateModes
import Utils as Utils
from UI4.Widgets.DoubleSpinBox import DoubleSpinBox as DoubleSpinBox
from UI4.Widgets.SceneGraphView.ColumnDataType import RegisterDataType as RegisterDataType
from UI4.Widgets.SceneGraphView.ItemDelegates.ParameterItemDelegate import ParameterItemDelegate as ParameterItemDelegate
from _typeshed import Incomplete
from typing import ClassVar, Set, Tuple

class NumberItemDelegate(ParameterItemDelegate):
    DefaultColumnWidth: ClassVar[int] = ...
    Precision: ClassVar[int] = ...
    def __init__(self, bridge: Bridge[UI4.Widgets.SceneGraphView.Bridge.Bridge], treeWidget: PyQt5.QtWidgets.QTreeWidget, parent: Incomplete | None = ...) -> None: ...
    @staticmethod
    def _NumberItemDelegate__formatFloat(value, precision): ...
    def _NumberItemDelegate__on_editor_valueChanged(self, value: float): ...
    def createEditor(self, parent: PyQt5.QtWidgets.QWidget, option: PyQt5.QtWidgets.QStyleOptionViewItem, index: PyQt5.QtCore.QModelIndex) -> PyQt5.QtWidgets.QWidget | None: ...
    def doesParameterValueMatchModelValue(self, parameterPolicy: BaseParameterPolicy[UI4.FormMaster.BaseParameterPolicy.BaseParameterPolicy], index: PyQt5.QtCore.QModelIndex) -> bool: ...
    def editorClosed(self, editor: PyQt5.QtWidgets.QWidget, endEditHint: PyQt5.QtWidgets.QAbstractItemDelegate.EndEditHint): ...
    def getEditorClass(self) -> PyQt5.QtWidgets.QWidget | None: ...
    def initStyleOption(self, option: PyQt5.QtWidgets.QStyleOptionViewItem, index: PyQt5.QtCore.QModelIndex): ...
    def setEditorData(self, editor: PyQt5.QtWidgets.QWidget, index: PyQt5.QtCore.QModelIndex): ...
