diff --git a/types/react-native/BatchedBridge.d.ts b/types/react-native/BatchedBridge.d.ts
new file mode 100644
index 0000000000..0f1b02a0f4
--- /dev/null
+++ b/types/react-native/BatchedBridge.d.ts
@@ -0,0 +1,23 @@
+interface SpyData {
+ type: number;
+ module?: string;
+ method: string | number;
+ args: any[];
+}
+
+declare class MessageQueue {
+ static spy(spyOrToggle: boolean | ((data: SpyData) => void)): void;
+
+ getCallableModule(name: string): Object;
+ registerCallableModule(name: string, module: Object): void;
+ registerLazyCallableModule(name: string, factory: () => Object): void;
+}
+
+declare module "react-native/Libraries/BatchedBridge/BatchedBridge" {
+ const BatchedBridge: MessageQueue;
+ export default BatchedBridge;
+}
+
+declare module "react-native/Libraries/BatchedBridge/MessageQueue" {
+ export default MessageQueue;
+}
diff --git a/types/react-native/index.d.ts b/types/react-native/index.d.ts
index 0ad2e8279f..d8a2a9327a 100644
--- a/types/react-native/index.d.ts
+++ b/types/react-native/index.d.ts
@@ -27,6 +27,7 @@
///
///
+///
import * as React from 'react';