diff --git a/include/lldb/API/SBDebugger.h b/include/lldb/API/SBDebugger.h
index 62b2f91..cf5409a 100644
--- a/include/lldb/API/SBDebugger.h
+++ b/include/lldb/API/SBDebugger.h
@@ -42,13 +42,6 @@
 
 class LLDB_API SBDebugger {
 public:
-  FLAGS_ANONYMOUS_ENUM(){
-      eBroadcastBitProgress = (1 << 0),
-      eBroadcastBitWarning = (1 << 1),
-      eBroadcastBitError = (1 << 2),
-      eBroadcastBitProgressCategory = (1 << 3),
-  };
-
   SBDebugger();
 
   SBDebugger(const lldb::SBDebugger &rhs);
diff --git a/include/lldb/lldb-enumerations.h b/include/lldb/lldb-enumerations.h
index 646f7bf..f3b07ea 100644
--- a/include/lldb/lldb-enumerations.h
+++ b/include/lldb/lldb-enumerations.h
@@ -1339,6 +1339,14 @@
   eAddressMaskRangeAll = eAddressMaskRangeAny,
 };
 
+/// Used by the debugger to indicate which events are being broadcasted.
+enum DebuggerBroadcastBit {
+  eBroadcastBitProgress = (1 << 0),
+  eBroadcastBitWarning = (1 << 1),
+  eBroadcastBitError = (1 << 2),
+  eBroadcastBitProgressCategory = (1 << 3),
+};
+
 } // namespace lldb
 
 #endif // LLDB_LLDB_ENUMERATIONS_H
diff --git a/test/API/functionalities/diagnostic_reporting/TestDiagnosticReporting.py b/test/API/functionalities/diagnostic_reporting/TestDiagnosticReporting.py
index 36a3be6..6353e3e 100644
--- a/test/API/functionalities/diagnostic_reporting/TestDiagnosticReporting.py
+++ b/test/API/functionalities/diagnostic_reporting/TestDiagnosticReporting.py
@@ -15,7 +15,7 @@
         self.broadcaster = self.dbg.GetBroadcaster()
         self.listener = lldbutil.start_listening_from(
             self.broadcaster,
-            lldb.SBDebugger.eBroadcastBitWarning | lldb.SBDebugger.eBroadcastBitError,
+            lldb.eBroadcastBitWarning | lldb.eBroadcastBitError,
         )
 
     def test_dwarf_symbol_loading_diagnostic_report(self):
diff --git a/test/API/functionalities/progress_reporting/TestProgressReporting.py b/test/API/functionalities/progress_reporting/TestProgressReporting.py
index 9af5384..98988d7 100644
--- a/test/API/functionalities/progress_reporting/TestProgressReporting.py
+++ b/test/API/functionalities/progress_reporting/TestProgressReporting.py
@@ -13,7 +13,7 @@
         TestBase.setUp(self)
         self.broadcaster = self.dbg.GetBroadcaster()
         self.listener = lldbutil.start_listening_from(
-            self.broadcaster, lldb.SBDebugger.eBroadcastBitProgress
+            self.broadcaster, lldb.eBroadcastBitProgress
         )
 
     def test_dwarf_symbol_loading_progress_report(self):
diff --git a/test/API/functionalities/progress_reporting/clang_modules/TestClangModuleBuildProgress.py b/test/API/functionalities/progress_reporting/clang_modules/TestClangModuleBuildProgress.py
index 228f676..33c7c26 100644
--- a/test/API/functionalities/progress_reporting/clang_modules/TestClangModuleBuildProgress.py
+++ b/test/API/functionalities/progress_reporting/clang_modules/TestClangModuleBuildProgress.py
@@ -34,7 +34,7 @@
         # other unrelated progress events.
         broadcaster = self.dbg.GetBroadcaster()
         listener = lldbutil.start_listening_from(
-            broadcaster, lldb.SBDebugger.eBroadcastBitProgress
+            broadcaster, lldb.eBroadcastBitProgress
         )
 
         # Trigger module builds.
diff --git a/test/API/macosx/rosetta/TestRosetta.py b/test/API/macosx/rosetta/TestRosetta.py
index ce40de4..669db95 100644
--- a/test/API/macosx/rosetta/TestRosetta.py
+++ b/test/API/macosx/rosetta/TestRosetta.py
@@ -49,7 +49,7 @@
         if rosetta_debugserver_installed():
             broadcaster = self.dbg.GetBroadcaster()
             listener = lldbutil.start_listening_from(
-                broadcaster, lldb.SBDebugger.eBroadcastBitWarning
+                broadcaster, lldb.eBroadcastBitWarning
             )
 
             target, process, thread, bkpt = lldbutil.run_to_source_breakpoint(
