# Standard Library Imports
from typing import Any, Dict, List

# RAMSTK Package Imports
from ramstk.views.gtk3 import Gtk as Gtk
from ramstk.views.gtk3 import _ as _
from ramstk.views.gtk3.widgets import RAMSTKCheckButton as RAMSTKCheckButton
from ramstk.views.gtk3.widgets import RAMSTKDialog as RAMSTKDialog
from ramstk.views.gtk3.widgets import RAMSTKEntry as RAMSTKEntry
from ramstk.views.gtk3.widgets import RAMSTKLabel as RAMSTKLabel
from ramstk.views.gtk3.widgets import RAMSTKTreeView as RAMSTKTreeView

class EditFunction(RAMSTKDialog):
    chkApplyAll: Any = ...
    txtFunction1: Any = ...
    txtFunction2: Any = ...
    txtFunction3: Any = ...
    txtFunction4: Any = ...
    txtFunction5: Any = ...
    def __init__(self, treeview: RAMSTKTreeView, **kwargs: Dict[str, Any]) -> None: ...
    def __make_ui(self) -> None: ...
    def do_set_functions(self, treeview: RAMSTKTreeView) -> List[str]: ...
    def _cancel(self, __button: Gtk.Button) -> None: ...
    def _do_load_functions(self, treeview: RAMSTKTreeView) -> None: ...
    def _on_set_function(self, hardware_id: int) -> None: ...
