from blueprints.structural_sections.steel.profile_definitions.lnp_profile import LNPProfile
from blueprints.type_alias import MM

class LNP:
    LNP40x40x4: LNPProfile
    LNP40x40x5: LNPProfile
    LNP45x45x5: LNPProfile
    LNP50x50x5: LNPProfile
    LNP50x50x6: LNPProfile
    LNP50x50x8: LNPProfile
    LNP50x30x4: LNPProfile
    LNP50x30x5: LNPProfile
    LNP55x55x6: LNPProfile
    LNP60x60x6: LNPProfile
    LNP60x60x8: LNPProfile
    LNP60x60x10: LNPProfile
    LNP60x30x5: LNPProfile
    LNP60x30x7: LNPProfile
    LNP60x40x5: LNPProfile
    LNP60x40x6: LNPProfile
    LNP60x40x7: LNPProfile
    LNP65x65x7: LNPProfile
    LNP70x70x7: LNPProfile
    LNP70x70x9: LNPProfile
    LNP70x50x6: LNPProfile
    LNP75x75x8: LNPProfile
    LNP75x50x6: LNPProfile
    LNP75x50x7: LNPProfile
    LNP80x80x8: LNPProfile
    LNP80x80x10: LNPProfile
    LNP80x80x12: LNPProfile
    LNP80x40x6: LNPProfile
    LNP80x40x8: LNPProfile
    LNP90x90x9: LNPProfile
    LNP90x60x6: LNPProfile
    LNP90x60x8: LNPProfile
    LNP100x100x10: LNPProfile
    LNP100x100x12: LNPProfile
    LNP100x100x14: LNPProfile
    LNP100x50x6: LNPProfile
    LNP100x50x8: LNPProfile
    LNP100x50x10: LNPProfile
    LNP100x65x7: LNPProfile
    LNP100x65x9: LNPProfile
    LNP100x65x11: LNPProfile
    LNP100x75x9: LNPProfile
    LNP110x110x10: LNPProfile
    LNP120x120x10: LNPProfile
    LNP120x120x12: LNPProfile
    LNP120x120x15: LNPProfile
    LNP120x80x8: LNPProfile
    LNP120x80x10: LNPProfile
    LNP120x80x12: LNPProfile
    LNP130x130x12: LNPProfile
    LNP130x65x8: LNPProfile
    LNP130x65x10: LNPProfile
    LNP130x65x12: LNPProfile
    LNP140x140x13: LNPProfile
    LNP140x140x15: LNPProfile
    LNP150x150x14: LNPProfile
    LNP150x150x16: LNPProfile
    LNP150x75x9: LNPProfile
    LNP150x75x11: LNPProfile
    LNP150x100x10: LNPProfile
    LNP150x100x12: LNPProfile
    LNP150x100x14: LNPProfile
    LNP160x160x15: LNPProfile
    LNP160x160x17: LNPProfile
    LNP160x160x20: LNPProfile
    LNP160x80x10: LNPProfile
    LNP160x80x12: LNPProfile
    LNP160x80x14: LNPProfile
    LNP180x180x16: LNPProfile
    LNP180x180x18: LNPProfile
    LNP180x180x20: LNPProfile
    LNP200x200x16: LNPProfile
    LNP200x200x18: LNPProfile
    LNP200x200x20: LNPProfile
    LNP200x200x22: LNPProfile
    LNP200x200x24: LNPProfile
    LNP200x200x26: LNPProfile
    LNP200x100x10: LNPProfile
    LNP200x100x12: LNPProfile
    LNP200x100x14: LNPProfile
    LNP200x100x16: LNPProfile

class __LNPProfileParameters:
    name: str
    total_height: MM
    total_width: MM
    web_thickness: MM
    base_thickness: MM
    root_radius: MM
    back_radius: MM
    web_toe_radius: MM
    base_toe_radius: MM

LNP_PROFILES_DATABASE: dict[str, __LNPProfileParameters]
