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

# Third Party Imports
from treelib import Tree

# RAMSTK Package Imports
from ramstk.models import RAMSTKBaseView as RAMSTKBaseView

class RAMSTKHardwareBoMView(RAMSTKBaseView):
    _tag: str = ...
    _dic_load_functions: Dict[str, Callable] = ...
    _dic_stress_limits: Dict[int, List[float]] = ...
    _dic_trees: Dict[str, Tree] = ...
    _lst_modules: List[str] = ...
    _hr_multiplier: float = ...
    def __init__(self, **kwargs: Dict[Any, Any]) -> None: ...
    def do_calculate_cost(self, node_id: int) -> None: ...
    def do_calculate_hardware(self, node_id: int) -> None: ...
    def do_calculate_part_count(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: ...
