diff --git a/packages/react-native/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow b/packages/react-native/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow new file mode 100644 index 00000000000..3c086a3cf19 --- /dev/null +++ b/packages/react-native/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow @@ -0,0 +1,51 @@ +/** + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @format + * @flow strict-local + */ + +import typeof {createPublicTextInstance} from '../ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance'; + +export type { + HostInstance as PublicInstance, + + // These types are only necessary for Paper + NativeMethods as LegacyPublicInstance, + MeasureOnSuccessCallback, + MeasureInWindowOnSuccessCallback, + MeasureLayoutOnSuccessCallback, +} from '../../src/private/types/HostInstance'; + +export type {PublicRootInstance} from '../ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance'; +export type PublicTextInstance = ReturnType; + +export {default as BatchedBridge} from '../BatchedBridge/BatchedBridge'; +export {default as ExceptionsManager} from '../Core/ExceptionsManager'; +export {default as Platform} from '../Utilities/Platform'; +export {default as RCTEventEmitter} from '../EventEmitter/RCTEventEmitter'; +export * as ReactNativeViewConfigRegistry from '../Renderer/shims/ReactNativeViewConfigRegistry'; +export {default as TextInputState} from '../Components/TextInput/TextInputState'; +export {default as UIManager} from '../ReactNative/UIManager'; +export {default as deepDiffer} from '../Utilities/differ/deepDiffer'; +export {default as deepFreezeAndThrowOnMutationInDev} from '../Utilities/deepFreezeAndThrowOnMutationInDev'; +export {default as flattenStyle} from '../StyleSheet/flattenStyle'; +export {default as ReactFiberErrorDialog} from '../Core/ReactFiberErrorDialog'; +export {default as legacySendAccessibilityEvent} from '../Components/AccessibilityInfo/legacySendAccessibilityEvent'; +export {default as RawEventEmitter} from '../Core/RawEventEmitter'; +export {default as CustomEvent} from '../../src/private/webapis/dom/events/CustomEvent'; +export { + create as createAttributePayload, + diff as diffAttributePayloads, +} from '../ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload'; +export { + createPublicRootInstance, + createPublicInstance, + createPublicTextInstance, + getNativeTagFromPublicInstance, + getNodeFromPublicInstance, + getInternalInstanceHandleFromPublicInstance, +} from '../ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance'; diff --git a/packages/react-native/Libraries/__tests__/__snapshots__/public-api-test.js.snap b/packages/react-native/Libraries/__tests__/__snapshots__/public-api-test.js.snap index 281281bf85e..a9b5b7375d9 100644 --- a/packages/react-native/Libraries/__tests__/__snapshots__/public-api-test.js.snap +++ b/packages/react-native/Libraries/__tests__/__snapshots__/public-api-test.js.snap @@ -9281,6 +9281,10 @@ export type { export type { HostComponent } from \\"./src/private/types/HostComponent\\"; export type { ColorSchemeName } from \\"./src/private/specs_DEPRECATED/modules/NativeAppearance\\"; export type { ErrorUtils } from \\"./Libraries/vendor/core/ErrorUtils\\"; +export type { + PublicRootInstance, + PublicTextInstance, +} from \\"./Libraries/ReactPrivate/ReactNativePrivateInterface\\"; " `; diff --git a/packages/react-native/index.js.flow b/packages/react-native/index.js.flow index fa4f3ad7614..628753da6dd 100644 --- a/packages/react-native/index.js.flow +++ b/packages/react-native/index.js.flow @@ -438,5 +438,9 @@ export type { export type {HostComponent} from './src/private/types/HostComponent'; export type {ColorSchemeName} from './src/private/specs_DEPRECATED/modules/NativeAppearance'; export type {ErrorUtils} from './Libraries/vendor/core/ErrorUtils'; +export type { + PublicRootInstance, + PublicTextInstance, +} from './Libraries/ReactPrivate/ReactNativePrivateInterface'; // #endregion