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

import QT4FormWidgets.HintUtils as HintUtils
import QT4FormWidgets.InputWidgets as InputWidgets
import QT4FormWidgets.PaintingUtils as PaintingUtils
import PyQt5.QtCore as QtCore
import PyQt5.QtGui as QtGui
import PyQt5.QtWidgets as QtWidgets
import ResourceFiles as ResourceFiles
from QT4FormWidgets.BaseValueFormWidget import BaseValueFormWidget as BaseValueFormWidget
from QT4FormWidgets.FormWidget import FormWidget as FormWidget
from QT4FormWidgets.PopupFormWidget import PopupFormWidget as PopupFormWidget
from ResourceFiles.IconManager import ResourceManager as ResourceManager
from typing import Set, Tuple

class BooleanFormWidget(PopupFormWidget):
    def _assignValue(self, value): ...
    def _interpretOptions(self, options): ...
    def _interpretValue(self, value): ...

class MappingPopupFormWidget(PopupFormWidget):
    def __init__(self, parent, policy, factory) -> None: ...
    def _assignValue(self, value): ...
    def _getIndexFromValue(self, _value): ...
    def _interpretOptions(self, options): ...
    def _interpretValue(self, value): ...

class PopupFormWidget(BaseValueFormWidget):
    def __init__(self, parent, policy, factory) -> None: ...
    def _PopupFormWidget__on_defaultButton_clicked(self): ...
    def _PopupFormWidget__on_lineEdit_textChanged(self, text): ...
    def _PopupFormWidget__updateComboBox(self, value): ...
    def _allowsCustomInput(self): ...
    def _assignValue(self, value): ...
    def _buildControlWidget(self, layout): ...
    def _checkControlWidget(self): ...
    def _getIndexFromValue(self, value: str) -> int: ...
    def _interpretOptions(self, options: str | list | tuple | None) -> list[str]: ...
    def _interpretValue(self, value): ...
    def _lockChanged(self, state): ...
    def _populateComboBox(self): ...
    def _setControlWidgetValue(self, value: str): ...
    def _updateControlWidget(self): ...
    def _updateWithHints(self, originalHints, hints): ...
    def getOptions(self): ...
    def setOptions(self, options): ...
