# Standard Library Imports
from typing import Callable, Dict, List, Union

# Third Party Imports
import treelib

# RAMSTK Local Imports
from .baseview import RAMSTKBaseView as RAMSTKBaseView

class RAMSTKHardwareBoMView(RAMSTKBaseView):
    _tag: str
    _dic_load_functions: Dict[str, Callable[..., object]]
    _dic_stress_limits: Dict[int, List[float]]
    _dic_trees: Dict[str, treelib.Tree]
    _lst_modules: List[str]
    _hr_multiplier: float
    def __init__(self, **kwargs: Dict[str, Union[float, int, str]]) -> None: ...
    def do_calculate_assembly_hazard_rates(self, node_id: int) -> None: ...
    def do_calculate_cost(self, node_id: int) -> None: ...
    def do_calculate_hardware(self, node_id: int) -> None: ...
    def do_calculate_hazard_rates(self, node_id: int) -> None: ...
    def do_calculate_part_count(self, node_id: int) -> None: ...
    def do_calculate_part_hazard_rates(self, node_id: int) -> None: ...
    def do_calculate_part_stress(self, node_id: int) -> None: ...
    def do_calculate_power_dissipation(self, node_id: int) -> float: ...
    def do_make_composite_ref_des(self, node_id: int = ...) -> None: ...
    def _do_load_hardware(self) -> None: ...
    def _do_load_design_electric(self) -> None: ...
    def _do_load_design_mechanic(self) -> None: ...
    def _do_load_milhdbk217f(self) -> None: ...
    def _do_load_nswc(self) -> None: ...
    def _do_load_reliability(self) -> None: ...
