export var ControllerCommand;
(function (ControllerCommand) {
    ControllerCommand["beginInclusion"] = "controller.begin_inclusion";
    ControllerCommand["stopInclusion"] = "controller.stop_inclusion";
    ControllerCommand["cancelSecureBootstrapS2"] = "controller.cancel_secure_bootstrap_s2";
    ControllerCommand["beginExclusion"] = "controller.begin_exclusion";
    ControllerCommand["stopExclusion"] = "controller.stop_exclusion";
    ControllerCommand["removeFailedNode"] = "controller.remove_failed_node";
    ControllerCommand["replaceFailedNode"] = "controller.replace_failed_node";
    // Schema version <= 31
    ControllerCommand["healNode"] = "controller.heal_node";
    // Schema version >= 32
    ControllerCommand["rebuildNodeRoutes"] = "controller.rebuild_node_routes";
    // Schema version <= 31
    ControllerCommand["beginHealingNetwork"] = "controller.begin_healing_network";
    // Schema version >= 32
    ControllerCommand["beginRebuildingRoutes"] = "controller.begin_rebuilding_routes";
    // Schema version <= 31
    ControllerCommand["stopHealingNetwork"] = "controller.stop_healing_network";
    // Schema version >= 32
    ControllerCommand["stopRebuildingRoutes"] = "controller.stop_rebuilding_routes";
    ControllerCommand["isFailedNode"] = "controller.is_failed_node";
    ControllerCommand["getAssociationGroups"] = "controller.get_association_groups";
    ControllerCommand["getAssociations"] = "controller.get_associations";
    ControllerCommand["checkAssociation"] = "controller.check_association";
    ControllerCommand["isAssociationAllowed"] = "controller.is_association_allowed";
    ControllerCommand["addAssociations"] = "controller.add_associations";
    ControllerCommand["removeAssociations"] = "controller.remove_associations";
    // Schema version < 3
    ControllerCommand["removeNodeFromAllAssocations"] = "controller.remove_node_from_all_assocations";
    // Schema version > 2
    ControllerCommand["removeNodeFromAllAssociations"] = "controller.remove_node_from_all_associations";
    ControllerCommand["getNodeNeighbors"] = "controller.get_node_neighbors";
    ControllerCommand["grantSecurityClasses"] = "controller.grant_security_classes";
    ControllerCommand["validateDSKAndEnterPIN"] = "controller.validate_dsk_and_enter_pin";
    ControllerCommand["provisionSmartStartNode"] = "controller.provision_smart_start_node";
    ControllerCommand["unprovisionSmartStartNode"] = "controller.unprovision_smart_start_node";
    ControllerCommand["getProvisioningEntry"] = "controller.get_provisioning_entry";
    ControllerCommand["getProvisioningEntries"] = "controller.get_provisioning_entries";
    ControllerCommand["supportsFeature"] = "controller.supports_feature";
    ControllerCommand["backupNVMRaw"] = "controller.backup_nvm_raw";
    ControllerCommand["restoreNVM"] = "controller.restore_nvm";
    ControllerCommand["restoreNVMRaw"] = "controller.restore_nvm_raw";
    ControllerCommand["setRFRegion"] = "controller.set_rf_region";
    ControllerCommand["getRFRegion"] = "controller.get_rf_region";
    ControllerCommand["toggleRF"] = "controller.toggle_rf";
    ControllerCommand["setPowerlevel"] = "controller.set_powerlevel";
    ControllerCommand["getPowerlevel"] = "controller.get_powerlevel";
    ControllerCommand["getState"] = "controller.get_state";
    ControllerCommand["getKnownLifelineRoutes"] = "controller.get_known_lifeline_routes";
    ControllerCommand["getAnyFirmwareUpdateProgress"] = "controller.get_any_firmware_update_progress";
    ControllerCommand["isAnyOTAFirmwareUpdateInProgress"] = "controller.is_any_ota_firmware_update_in_progress";
    ControllerCommand["getAvailableFirmwareUpdates"] = "controller.get_available_firmware_updates";
    ControllerCommand["beginOTAFirmwareUpdate"] = "controller.begin_ota_firmware_update";
    ControllerCommand["firmwareUpdateOTA"] = "controller.firmware_update_ota";
    // Schema version 41+: use corresponding driver command instead
    ControllerCommand["firmwareUpdateOTW"] = "controller.firmware_update_otw";
    // Schema version 41+: use corresponding driver command instead
    ControllerCommand["isFirmwareUpdateInProgress"] = "controller.is_firmware_update_in_progress";
    ControllerCommand["setMaxLongRangePowerlevel"] = "controller.set_max_long_range_powerlevel";
    ControllerCommand["getMaxLongRangePowerlevel"] = "controller.get_max_long_range_powerlevel";
    ControllerCommand["setLongRangeChannel"] = "controller.set_long_range_channel";
    ControllerCommand["getLongRangeChannel"] = "controller.get_long_range_channel";
    ControllerCommand["getAllAvailableFirmwareUpdates"] = "controller.get_all_available_firmware_updates";
    // Routing operations
    ControllerCommand["assignReturnRoutes"] = "controller.assign_return_routes";
    ControllerCommand["deleteReturnRoutes"] = "controller.delete_return_routes";
    ControllerCommand["assignSUCReturnRoutes"] = "controller.assign_suc_return_routes";
    ControllerCommand["deleteSUCReturnRoutes"] = "controller.delete_suc_return_routes";
    ControllerCommand["assignPriorityReturnRoute"] = "controller.assign_priority_return_route";
    ControllerCommand["assignPrioritySUCReturnRoute"] = "controller.assign_priority_suc_return_route";
    ControllerCommand["assignCustomReturnRoutes"] = "controller.assign_custom_return_routes";
    ControllerCommand["assignCustomSUCReturnRoutes"] = "controller.assign_custom_suc_return_routes";
    ControllerCommand["setPriorityRoute"] = "controller.set_priority_route";
    ControllerCommand["removePriorityRoute"] = "controller.remove_priority_route";
    ControllerCommand["getPriorityRoute"] = "controller.get_priority_route";
    // Undocumented
    ControllerCommand["discoverNodeNeighbors"] = "controller.discover_node_neighbors";
    // Undocumented
    ControllerCommand["getBackgroundRSSI"] = "controller.get_background_rssi";
    // Undocumented
    ControllerCommand["getLongRangeNodes"] = "controller.get_long_range_nodes";
    // Undocumented
    ControllerCommand["getDSK"] = "controller.get_dsk";
    // NVM operations
    ControllerCommand["getNVMId"] = "controller.get_nvm_id";
    ControllerCommand["externalNVMOpen"] = "controller.external_nvm_open";
    ControllerCommand["externalNVMClose"] = "controller.external_nvm_close";
    ControllerCommand["externalNVMReadByte"] = "controller.external_nvm_read_byte";
    ControllerCommand["externalNVMWriteByte"] = "controller.external_nvm_write_byte";
    ControllerCommand["externalNVMReadBuffer"] = "controller.external_nvm_read_buffer";
    ControllerCommand["externalNVMWriteBuffer"] = "controller.external_nvm_write_buffer";
    ControllerCommand["externalNVMReadBuffer700"] = "controller.external_nvm_read_buffer_700";
    ControllerCommand["externalNVMWriteBuffer700"] = "controller.external_nvm_write_buffer_700";
    // Undocumented
    ControllerCommand["externalNVMOpenExt"] = "controller.external_nvm_open_ext";
    // Undocumented
    ControllerCommand["externalNVMCloseExt"] = "controller.external_nvm_close_ext";
    // Undocumented
    ControllerCommand["externalNVMReadBufferExt"] = "controller.external_nvm_read_buffer_ext";
    // Undocumented
    ControllerCommand["externalNVMWriteBufferExt"] = "controller.external_nvm_write_buffer_ext";
    // Undocumented
    ControllerCommand["querySupportedRFRegions"] = "controller.query_supported_rf_regions";
    // Undocumented
    ControllerCommand["queryRFRegionInfo"] = "controller.query_rf_region_info";
    // Network join/leave
    ControllerCommand["beginJoiningNetwork"] = "controller.begin_joining_network";
    ControllerCommand["stopJoiningNetwork"] = "controller.stop_joining_network";
    ControllerCommand["beginLeavingNetwork"] = "controller.begin_leaving_network";
    ControllerCommand["stopLeavingNetwork"] = "controller.stop_leaving_network";
    // Cached route queries
    ControllerCommand["getPriorityReturnRouteCached"] = "controller.get_priority_return_route_cached";
    ControllerCommand["getPriorityReturnRoutesCached"] = "controller.get_priority_return_routes_cached";
    ControllerCommand["getPrioritySUCReturnRouteCached"] = "controller.get_priority_suc_return_route_cached";
    ControllerCommand["getCustomReturnRoutesCached"] = "controller.get_custom_return_routes_cached";
    ControllerCommand["getCustomSUCReturnRoutesCached"] = "controller.get_custom_suc_return_routes_cached";
    // Association queries (all endpoints)
    ControllerCommand["getAllAssociationGroups"] = "controller.get_all_association_groups";
    ControllerCommand["getAllAssociations"] = "controller.get_all_associations";
    // RF region info
    ControllerCommand["getSupportedRFRegions"] = "controller.get_supported_rf_regions";
})(ControllerCommand || (ControllerCommand = {}));
