From b01bfd20d793c738a5b30fbb256c1a4c35c76c39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dawid=20Ma=C5=82ecki?= Date: Fri, 27 Mar 2026 03:51:29 -0700 Subject: [PATCH 1/4] Initial commit of Cxx API snapshots Summary: This diff introduces initial snapshots of the Cxx public API in a form of a couple .api files, namely: - ReactAndroidDebugCxx.api - ReactAndroidReleaseCxx.api - ReactAppleDebugCxx.api - ReactAppleReleaseCxx.api - ReactCommonDebugCxx.api - ReactCommonReleaseCxx.api that is for `ReactAndroid`, `ReactApple`, and shared `ReactCommon` in two variants `Release` and `Debug` each. Differential Revision: D97296573 --- .../api-snapshots/ReactAndroidDebugCxx.api | 14549 +++++++++++++ .../api-snapshots/ReactAndroidReleaseCxx.api | 14376 +++++++++++++ .../api-snapshots/ReactAppleDebugCxx.api | 17332 ++++++++++++++++ .../api-snapshots/ReactAppleReleaseCxx.api | 17159 +++++++++++++++ .../api-snapshots/ReactCommonDebugCxx.api | 11136 ++++++++++ .../api-snapshots/ReactCommonReleaseCxx.api | 11127 ++++++++++ 6 files changed, 85679 insertions(+) create mode 100644 scripts/cxx-api/api-snapshots/ReactAndroidDebugCxx.api create mode 100644 scripts/cxx-api/api-snapshots/ReactAndroidReleaseCxx.api create mode 100644 scripts/cxx-api/api-snapshots/ReactAppleDebugCxx.api create mode 100644 scripts/cxx-api/api-snapshots/ReactAppleReleaseCxx.api create mode 100644 scripts/cxx-api/api-snapshots/ReactCommonDebugCxx.api create mode 100644 scripts/cxx-api/api-snapshots/ReactCommonReleaseCxx.api diff --git a/scripts/cxx-api/api-snapshots/ReactAndroidDebugCxx.api b/scripts/cxx-api/api-snapshots/ReactAndroidDebugCxx.api new file mode 100644 index 00000000000..394a4aeb5f1 --- /dev/null +++ b/scripts/cxx-api/api-snapshots/ReactAndroidDebugCxx.api @@ -0,0 +1,14549 @@ +// @generated by scripts/cxx-api + +class PtrJNodeMapVanilla { + public PtrJNodeMapVanilla() = default; + public PtrJNodeMapVanilla(jlongArray javaNativePointers, jobjectArray javaNodes); + public facebook::yoga::vanillajni::ScopedLocalRef ref(YGNodeConstRef node); +} + +struct JNIInvokeInterface { + public jint(*AttachCurrentThread)(JavaVM *, JNIEnv **, void *); + public jint(*AttachCurrentThreadAsDaemon)(JavaVM *, JNIEnv **, void *); + public jint(*DestroyJavaVM)(JavaVM *); + public jint(*DetachCurrentThread)(JavaVM *); + public jint(*GetEnv)(JavaVM *, void **, jint); + public void* reserved0; + public void* reserved1; + public void* reserved2; +} + +struct JNINativeInterface { + public const char*(*GetStringUTFChars)(JNIEnv *, jstring, jboolean *); + public const jchar*(*GetStringChars)(JNIEnv *, jstring, jboolean *); + public const jchar*(*GetStringCritical)(JNIEnv *, jstring, jboolean *); + public jboolean(*CallBooleanMethod)(JNIEnv *, jobject, jmethodID, ...); + public jboolean(*CallBooleanMethodA)(JNIEnv *, jobject, jmethodID, jvalue*); + public jboolean(*CallBooleanMethodV)(JNIEnv *, jobject, jmethodID, va_list); + public jboolean(*CallNonvirtualBooleanMethod)(JNIEnv *, jobject, jclass, jmethodID, ...); + public jboolean(*CallNonvirtualBooleanMethodA)(JNIEnv *, jobject, jclass, jmethodID, jvalue*); + public jboolean(*CallNonvirtualBooleanMethodV)(JNIEnv *, jobject, jclass, jmethodID, va_list); + public jboolean(*CallStaticBooleanMethod)(JNIEnv *, jclass, jmethodID, ...); + public jboolean(*CallStaticBooleanMethodA)(JNIEnv *, jclass, jmethodID, jvalue*); + public jboolean(*CallStaticBooleanMethodV)(JNIEnv *, jclass, jmethodID, va_list); + public jboolean(*ExceptionCheck)(JNIEnv *); + public jboolean(*GetBooleanField)(JNIEnv *, jobject, jfieldID); + public jboolean(*GetStaticBooleanField)(JNIEnv *, jclass, jfieldID); + public jboolean(*IsAssignableFrom)(JNIEnv *, jclass, jclass); + public jboolean(*IsInstanceOf)(JNIEnv *, jobject, jclass); + public jboolean(*IsSameObject)(JNIEnv *, jobject, jobject); + public jboolean*(*GetBooleanArrayElements)(JNIEnv *, jbooleanArray, jboolean *); + public jbooleanArray(*NewBooleanArray)(JNIEnv *, jsize); + public jbyte(*CallByteMethod)(JNIEnv *, jobject, jmethodID, ...); + public jbyte(*CallByteMethodA)(JNIEnv *, jobject, jmethodID, jvalue*); + public jbyte(*CallByteMethodV)(JNIEnv *, jobject, jmethodID, va_list); + public jbyte(*CallNonvirtualByteMethod)(JNIEnv *, jobject, jclass, jmethodID, ...); + public jbyte(*CallNonvirtualByteMethodA)(JNIEnv *, jobject, jclass, jmethodID, jvalue*); + public jbyte(*CallNonvirtualByteMethodV)(JNIEnv *, jobject, jclass, jmethodID, va_list); + public jbyte(*CallStaticByteMethod)(JNIEnv *, jclass, jmethodID, ...); + public jbyte(*CallStaticByteMethodA)(JNIEnv *, jclass, jmethodID, jvalue*); + public jbyte(*CallStaticByteMethodV)(JNIEnv *, jclass, jmethodID, va_list); + public jbyte(*GetByteField)(JNIEnv *, jobject, jfieldID); + public jbyte(*GetStaticByteField)(JNIEnv *, jclass, jfieldID); + public jbyte*(*GetByteArrayElements)(JNIEnv *, jbyteArray, jboolean *); + public jbyteArray(*NewByteArray)(JNIEnv *, jsize); + public jchar(*CallCharMethod)(JNIEnv *, jobject, jmethodID, ...); + public jchar(*CallCharMethodA)(JNIEnv *, jobject, jmethodID, jvalue*); + public jchar(*CallCharMethodV)(JNIEnv *, jobject, jmethodID, va_list); + public jchar(*CallNonvirtualCharMethod)(JNIEnv *, jobject, jclass, jmethodID, ...); + public jchar(*CallNonvirtualCharMethodA)(JNIEnv *, jobject, jclass, jmethodID, jvalue*); + public jchar(*CallNonvirtualCharMethodV)(JNIEnv *, jobject, jclass, jmethodID, va_list); + public jchar(*CallStaticCharMethod)(JNIEnv *, jclass, jmethodID, ...); + public jchar(*CallStaticCharMethodA)(JNIEnv *, jclass, jmethodID, jvalue*); + public jchar(*CallStaticCharMethodV)(JNIEnv *, jclass, jmethodID, va_list); + public jchar(*GetCharField)(JNIEnv *, jobject, jfieldID); + public jchar(*GetStaticCharField)(JNIEnv *, jclass, jfieldID); + public jchar*(*GetCharArrayElements)(JNIEnv *, jcharArray, jboolean *); + public jcharArray(*NewCharArray)(JNIEnv *, jsize); + public jclass(*DefineClass)(JNIEnv *, const char *, jobject, const jbyte *, jsize); + public jclass(*FindClass)(JNIEnv *, const char *); + public jclass(*GetObjectClass)(JNIEnv *, jobject); + public jclass(*GetSuperclass)(JNIEnv *, jclass); + public jdouble(*CallDoubleMethod)(JNIEnv *, jobject, jmethodID, ...); + public jdouble(*CallDoubleMethodA)(JNIEnv *, jobject, jmethodID, jvalue*); + public jdouble(*CallDoubleMethodV)(JNIEnv *, jobject, jmethodID, va_list); + public jdouble(*CallNonvirtualDoubleMethod)(JNIEnv *, jobject, jclass, jmethodID, ...); + public jdouble(*CallNonvirtualDoubleMethodA)(JNIEnv *, jobject, jclass, jmethodID, jvalue*); + public jdouble(*CallNonvirtualDoubleMethodV)(JNIEnv *, jobject, jclass, jmethodID, va_list); + public jdouble(*CallStaticDoubleMethod)(JNIEnv *, jclass, jmethodID, ...); + public jdouble(*CallStaticDoubleMethodA)(JNIEnv *, jclass, jmethodID, jvalue*); + public jdouble(*CallStaticDoubleMethodV)(JNIEnv *, jclass, jmethodID, va_list); + public jdouble(*GetDoubleField)(JNIEnv *, jobject, jfieldID); + public jdouble(*GetStaticDoubleField)(JNIEnv *, jclass, jfieldID); + public jdouble*(*GetDoubleArrayElements)(JNIEnv *, jdoubleArray, jboolean *); + public jdoubleArray(*NewDoubleArray)(JNIEnv *, jsize); + public jfieldID(*FromReflectedField)(JNIEnv *, jobject); + public jfieldID(*GetFieldID)(JNIEnv *, jclass, const char *, const char *); + public jfieldID(*GetStaticFieldID)(JNIEnv *, jclass, const char *, const char *); + public jfloat(*CallFloatMethod)(JNIEnv *, jobject, jmethodID, ...); + public jfloat(*CallFloatMethodA)(JNIEnv *, jobject, jmethodID, jvalue*); + public jfloat(*CallFloatMethodV)(JNIEnv *, jobject, jmethodID, va_list); + public jfloat(*CallNonvirtualFloatMethod)(JNIEnv *, jobject, jclass, jmethodID, ...); + public jfloat(*CallNonvirtualFloatMethodA)(JNIEnv *, jobject, jclass, jmethodID, jvalue*); + public jfloat(*CallNonvirtualFloatMethodV)(JNIEnv *, jobject, jclass, jmethodID, va_list); + public jfloat(*CallStaticFloatMethod)(JNIEnv *, jclass, jmethodID, ...); + public jfloat(*CallStaticFloatMethodA)(JNIEnv *, jclass, jmethodID, jvalue*); + public jfloat(*CallStaticFloatMethodV)(JNIEnv *, jclass, jmethodID, va_list); + public jfloat(*GetFloatField)(JNIEnv *, jobject, jfieldID); + public jfloat(*GetStaticFloatField)(JNIEnv *, jclass, jfieldID); + public jfloat*(*GetFloatArrayElements)(JNIEnv *, jfloatArray, jboolean *); + public jfloatArray(*NewFloatArray)(JNIEnv *, jsize); + public jint(*CallIntMethod)(JNIEnv *, jobject, jmethodID, ...); + public jint(*CallIntMethodA)(JNIEnv *, jobject, jmethodID, jvalue*); + public jint(*CallIntMethodV)(JNIEnv *, jobject, jmethodID, va_list); + public jint(*CallNonvirtualIntMethod)(JNIEnv *, jobject, jclass, jmethodID, ...); + public jint(*CallNonvirtualIntMethodA)(JNIEnv *, jobject, jclass, jmethodID, jvalue*); + public jint(*CallNonvirtualIntMethodV)(JNIEnv *, jobject, jclass, jmethodID, va_list); + public jint(*CallStaticIntMethod)(JNIEnv *, jclass, jmethodID, ...); + public jint(*CallStaticIntMethodA)(JNIEnv *, jclass, jmethodID, jvalue*); + public jint(*CallStaticIntMethodV)(JNIEnv *, jclass, jmethodID, va_list); + public jint(*EnsureLocalCapacity)(JNIEnv *, jint); + public jint(*GetIntField)(JNIEnv *, jobject, jfieldID); + public jint(*GetJavaVM)(JNIEnv *, JavaVM **); + public jint(*GetStaticIntField)(JNIEnv *, jclass, jfieldID); + public jint(*GetVersion)(JNIEnv *); + public jint(*MonitorEnter)(JNIEnv *, jobject); + public jint(*MonitorExit)(JNIEnv *, jobject); + public jint(*PushLocalFrame)(JNIEnv *, jint); + public jint(*RegisterNatives)(JNIEnv *, jclass, const JNINativeMethod*, jint); + public jint(*Throw)(JNIEnv *, jthrowable); + public jint(*ThrowNew)(JNIEnv *, jclass, const char *); + public jint(*UnregisterNatives)(JNIEnv *, jclass); + public jint*(*GetIntArrayElements)(JNIEnv *, jintArray, jboolean *); + public jintArray(*NewIntArray)(JNIEnv *, jsize); + public jlong(*CallLongMethod)(JNIEnv *, jobject, jmethodID, ...); + public jlong(*CallLongMethodA)(JNIEnv *, jobject, jmethodID, jvalue*); + public jlong(*CallLongMethodV)(JNIEnv *, jobject, jmethodID, va_list); + public jlong(*CallNonvirtualLongMethod)(JNIEnv *, jobject, jclass, jmethodID, ...); + public jlong(*CallNonvirtualLongMethodA)(JNIEnv *, jobject, jclass, jmethodID, jvalue*); + public jlong(*CallNonvirtualLongMethodV)(JNIEnv *, jobject, jclass, jmethodID, va_list); + public jlong(*CallStaticLongMethod)(JNIEnv *, jclass, jmethodID, ...); + public jlong(*CallStaticLongMethodA)(JNIEnv *, jclass, jmethodID, jvalue*); + public jlong(*CallStaticLongMethodV)(JNIEnv *, jclass, jmethodID, va_list); + public jlong(*GetDirectBufferCapacity)(JNIEnv *, jobject); + public jlong(*GetLongField)(JNIEnv *, jobject, jfieldID); + public jlong(*GetStaticLongField)(JNIEnv *, jclass, jfieldID); + public jlong*(*GetLongArrayElements)(JNIEnv *, jlongArray, jboolean *); + public jlongArray(*NewLongArray)(JNIEnv *, jsize); + public jmethodID(*FromReflectedMethod)(JNIEnv *, jobject); + public jmethodID(*GetMethodID)(JNIEnv *, jclass, const char *, const char *); + public jmethodID(*GetStaticMethodID)(JNIEnv *, jclass, const char *, const char *); + public jobject(*AllocObject)(JNIEnv *, jclass); + public jobject(*CallNonvirtualObjectMethod)(JNIEnv *, jobject, jclass, jmethodID, ...); + public jobject(*CallNonvirtualObjectMethodA)(JNIEnv *, jobject, jclass, jmethodID, jvalue*); + public jobject(*CallNonvirtualObjectMethodV)(JNIEnv *, jobject, jclass, jmethodID, va_list); + public jobject(*CallObjectMethod)(JNIEnv *, jobject, jmethodID, ...); + public jobject(*CallObjectMethodA)(JNIEnv *, jobject, jmethodID, jvalue*); + public jobject(*CallObjectMethodV)(JNIEnv *, jobject, jmethodID, va_list); + public jobject(*CallStaticObjectMethod)(JNIEnv *, jclass, jmethodID, ...); + public jobject(*CallStaticObjectMethodA)(JNIEnv *, jclass, jmethodID, jvalue*); + public jobject(*CallStaticObjectMethodV)(JNIEnv *, jclass, jmethodID, va_list); + public jobject(*GetObjectArrayElement)(JNIEnv *, jobjectArray, jsize); + public jobject(*GetObjectField)(JNIEnv *, jobject, jfieldID); + public jobject(*GetStaticObjectField)(JNIEnv *, jclass, jfieldID); + public jobject(*NewDirectByteBuffer)(JNIEnv *, void *, jlong); + public jobject(*NewGlobalRef)(JNIEnv *, jobject); + public jobject(*NewLocalRef)(JNIEnv *, jobject); + public jobject(*NewObject)(JNIEnv *, jclass, jmethodID, ...); + public jobject(*NewObjectA)(JNIEnv *, jclass, jmethodID, jvalue*); + public jobject(*NewObjectV)(JNIEnv *, jclass, jmethodID, va_list); + public jobject(*PopLocalFrame)(JNIEnv *, jobject); + public jobject(*ToReflectedField)(JNIEnv *, jclass, jfieldID, jboolean); + public jobject(*ToReflectedMethod)(JNIEnv *, jclass, jmethodID, jboolean); + public jobjectArray(*NewObjectArray)(JNIEnv *, jsize, jclass, jobject); + public jobjectRefType(*GetObjectRefType)(JNIEnv *, jobject); + public jshort(*CallNonvirtualShortMethod)(JNIEnv *, jobject, jclass, jmethodID, ...); + public jshort(*CallNonvirtualShortMethodA)(JNIEnv *, jobject, jclass, jmethodID, jvalue*); + public jshort(*CallNonvirtualShortMethodV)(JNIEnv *, jobject, jclass, jmethodID, va_list); + public jshort(*CallShortMethod)(JNIEnv *, jobject, jmethodID, ...); + public jshort(*CallShortMethodA)(JNIEnv *, jobject, jmethodID, jvalue*); + public jshort(*CallShortMethodV)(JNIEnv *, jobject, jmethodID, va_list); + public jshort(*CallStaticShortMethod)(JNIEnv *, jclass, jmethodID, ...); + public jshort(*CallStaticShortMethodA)(JNIEnv *, jclass, jmethodID, jvalue*); + public jshort(*CallStaticShortMethodV)(JNIEnv *, jclass, jmethodID, va_list); + public jshort(*GetShortField)(JNIEnv *, jobject, jfieldID); + public jshort(*GetStaticShortField)(JNIEnv *, jclass, jfieldID); + public jshort*(*GetShortArrayElements)(JNIEnv *, jshortArray, jboolean *); + public jshortArray(*NewShortArray)(JNIEnv *, jsize); + public jsize(*GetArrayLength)(JNIEnv *, jarray); + public jsize(*GetStringLength)(JNIEnv *, jstring); + public jsize(*GetStringUTFLength)(JNIEnv *, jstring); + public jstring(*NewString)(JNIEnv *, const jchar *, jsize); + public jstring(*NewStringUTF)(JNIEnv *, const char *); + public jthrowable(*ExceptionOccurred)(JNIEnv *); + public jweak(*NewWeakGlobalRef)(JNIEnv *, jobject); + public void(*CallNonvirtualVoidMethod)(JNIEnv *, jobject, jclass, jmethodID, ...); + public void(*CallNonvirtualVoidMethodA)(JNIEnv *, jobject, jclass, jmethodID, jvalue*); + public void(*CallNonvirtualVoidMethodV)(JNIEnv *, jobject, jclass, jmethodID, va_list); + public void(*CallStaticVoidMethod)(JNIEnv *, jclass, jmethodID, ...); + public void(*CallStaticVoidMethodA)(JNIEnv *, jclass, jmethodID, jvalue*); + public void(*CallStaticVoidMethodV)(JNIEnv *, jclass, jmethodID, va_list); + public void(*CallVoidMethod)(JNIEnv *, jobject, jmethodID, ...); + public void(*CallVoidMethodA)(JNIEnv *, jobject, jmethodID, jvalue*); + public void(*CallVoidMethodV)(JNIEnv *, jobject, jmethodID, va_list); + public void(*DeleteGlobalRef)(JNIEnv *, jobject); + public void(*DeleteLocalRef)(JNIEnv *, jobject); + public void(*DeleteWeakGlobalRef)(JNIEnv *, jweak); + public void(*ExceptionClear)(JNIEnv *); + public void(*ExceptionDescribe)(JNIEnv *); + public void(*FatalError)(JNIEnv *, const char *); + public void(*GetBooleanArrayRegion)(JNIEnv *, jbooleanArray, jsize, jsize, jboolean *); + public void(*GetByteArrayRegion)(JNIEnv *, jbyteArray, jsize, jsize, jbyte *); + public void(*GetCharArrayRegion)(JNIEnv *, jcharArray, jsize, jsize, jchar *); + public void(*GetDoubleArrayRegion)(JNIEnv *, jdoubleArray, jsize, jsize, jdouble *); + public void(*GetFloatArrayRegion)(JNIEnv *, jfloatArray, jsize, jsize, jfloat *); + public void(*GetIntArrayRegion)(JNIEnv *, jintArray, jsize, jsize, jint *); + public void(*GetLongArrayRegion)(JNIEnv *, jlongArray, jsize, jsize, jlong *); + public void(*GetShortArrayRegion)(JNIEnv *, jshortArray, jsize, jsize, jshort *); + public void(*GetStringRegion)(JNIEnv *, jstring, jsize, jsize, jchar *); + public void(*GetStringUTFRegion)(JNIEnv *, jstring, jsize, jsize, char *); + public void(*ReleaseBooleanArrayElements)(JNIEnv *, jbooleanArray, jboolean *, jint); + public void(*ReleaseByteArrayElements)(JNIEnv *, jbyteArray, jbyte *, jint); + public void(*ReleaseCharArrayElements)(JNIEnv *, jcharArray, jchar *, jint); + public void(*ReleaseDoubleArrayElements)(JNIEnv *, jdoubleArray, jdouble *, jint); + public void(*ReleaseFloatArrayElements)(JNIEnv *, jfloatArray, jfloat *, jint); + public void(*ReleaseIntArrayElements)(JNIEnv *, jintArray, jint *, jint); + public void(*ReleaseLongArrayElements)(JNIEnv *, jlongArray, jlong *, jint); + public void(*ReleasePrimitiveArrayCritical)(JNIEnv *, jarray, void *, jint); + public void(*ReleaseShortArrayElements)(JNIEnv *, jshortArray, jshort *, jint); + public void(*ReleaseStringChars)(JNIEnv *, jstring, const jchar *); + public void(*ReleaseStringCritical)(JNIEnv *, jstring, const jchar *); + public void(*ReleaseStringUTFChars)(JNIEnv *, jstring, const char *); + public void(*SetBooleanArrayRegion)(JNIEnv *, jbooleanArray, jsize, jsize, const jboolean *); + public void(*SetBooleanField)(JNIEnv *, jobject, jfieldID, jboolean); + public void(*SetByteArrayRegion)(JNIEnv *, jbyteArray, jsize, jsize, const jbyte *); + public void(*SetByteField)(JNIEnv *, jobject, jfieldID, jbyte); + public void(*SetCharArrayRegion)(JNIEnv *, jcharArray, jsize, jsize, const jchar *); + public void(*SetCharField)(JNIEnv *, jobject, jfieldID, jchar); + public void(*SetDoubleArrayRegion)(JNIEnv *, jdoubleArray, jsize, jsize, const jdouble *); + public void(*SetDoubleField)(JNIEnv *, jobject, jfieldID, jdouble); + public void(*SetFloatArrayRegion)(JNIEnv *, jfloatArray, jsize, jsize, const jfloat *); + public void(*SetFloatField)(JNIEnv *, jobject, jfieldID, jfloat); + public void(*SetIntArrayRegion)(JNIEnv *, jintArray, jsize, jsize, const jint *); + public void(*SetIntField)(JNIEnv *, jobject, jfieldID, jint); + public void(*SetLongArrayRegion)(JNIEnv *, jlongArray, jsize, jsize, const jlong *); + public void(*SetLongField)(JNIEnv *, jobject, jfieldID, jlong); + public void(*SetObjectArrayElement)(JNIEnv *, jobjectArray, jsize, jobject); + public void(*SetObjectField)(JNIEnv *, jobject, jfieldID, jobject); + public void(*SetShortArrayRegion)(JNIEnv *, jshortArray, jsize, jsize, const jshort *); + public void(*SetShortField)(JNIEnv *, jobject, jfieldID, jshort); + public void(*SetStaticBooleanField)(JNIEnv *, jclass, jfieldID, jboolean); + public void(*SetStaticByteField)(JNIEnv *, jclass, jfieldID, jbyte); + public void(*SetStaticCharField)(JNIEnv *, jclass, jfieldID, jchar); + public void(*SetStaticDoubleField)(JNIEnv *, jclass, jfieldID, jdouble); + public void(*SetStaticFloatField)(JNIEnv *, jclass, jfieldID, jfloat); + public void(*SetStaticIntField)(JNIEnv *, jclass, jfieldID, jint); + public void(*SetStaticLongField)(JNIEnv *, jclass, jfieldID, jlong); + public void(*SetStaticObjectField)(JNIEnv *, jclass, jfieldID, jobject); + public void(*SetStaticShortField)(JNIEnv *, jclass, jfieldID, jshort); + public void* reserved0; + public void* reserved1; + public void* reserved2; + public void* reserved3; + public void*(*GetDirectBufferAddress)(JNIEnv *, jobject); + public void*(*GetPrimitiveArrayCritical)(JNIEnv *, jarray, jboolean *); +} + +struct JNINativeMethod { + public const char* name; + public const char* signature; + public void* fnPtr; +} + +struct JavaVMAttachArgs { + public const char* name; + public jint version; + public jobject group; +} + +struct JavaVMInitArgs { + public JavaVMOption* options; + public jboolean ignoreUnrecognized; + public jint nOptions; + public jint version; +} + +struct JavaVMOption { + public const char* optionString; + public void* extraInfo; +} + +struct YGConfig { +} + +struct YGNode { +} + +struct YGSize { + public float height; + public float width; +} + +struct YGValue { + public YGUnit unit; + public float value; +} + +struct _JNIEnv { + public const struct JNINativeInterface* functions; +} + +struct _JavaVM { + public const struct JNIInvokeInterface* functions; +} + +struct pre_merge_jni_library { + public const char* name; + public int(*onload_func)(JNIEnv *, jclass); +} + +template +class TinyMap { + public TinyMap::Iterator begin(); + public TinyMap::Iterator end(); + public TinyMap::Iterator find(KeyT key); + public using Iterator = TinyMap::Pair*; + public using Pair = std::pair; + public void erase(TinyMap::Iterator iterator); + public void insert(TinyMap::Pair pair); +} + +union jvalue { + public jboolean z; + public jbyte b; + public jchar c; + public jdouble d; + public jfloat f; + public jint i; + public jlong j; + public jobject l; + public jshort s; +} + + +bool facebook::xplat::jsArgAsBool(const folly::dynamic& args, size_t n); +double facebook::xplat::jsArgAsDouble(const folly::dynamic& args, size_t n); +int64_t facebook::xplat::jsArgAsInt(const folly::dynamic& args, size_t n); +std::string facebook::xplat::jsArgAsString(const folly::dynamic& args, size_t n); +template +R facebook::xplat::jsArg(const folly::dynamic& arg, R(folly::dynamic::*asFoo)() const &, const T &... desc); +template +R facebook::xplat::jsArg(const folly::dynamic& arg, R(folly::dynamic::*asFoo)() const, const T &... desc); +template +R facebook::xplat::jsArgN(const folly::dynamic& args, size_t n, R(folly::dynamic::*asFoo)() const &); +template +R facebook::xplat::jsArgN(const folly::dynamic& args, size_t n, R(folly::dynamic::*asFoo)() const); +template +facebook::xplat::detail::is_dynamic::type& facebook::xplat::jsArgAsArray(T&& args, size_t n); +template +facebook::xplat::detail::is_dynamic::type& facebook::xplat::jsArgAsDynamic(T&& args, size_t n); +template +facebook::xplat::detail::is_dynamic::type& facebook::xplat::jsArgAsObject(T&& args, size_t n); + +class facebook::xplat::JsArgumentException : public std::logic_error { + public JsArgumentException(const std::string& msg); +} + + +class facebook::xplat::module::CxxModule { + public static constexpr AsyncTagType AsyncTag; + public static constexpr SyncTagType SyncTag; + public std::weak_ptr getInstance(); + public using Callback = std::function)>; + public using Provider = std::function()>; + public virtual std::map getConstants(); + public virtual std::string getName() = 0; + public virtual std::vector getMethods() = 0; + public virtual ~CxxModule() = default; + public void setInstance(std::weak_ptr instance); +} + +struct facebook::xplat::module::CxxModule::Method { + public Method(std::string aname, std::function&& afunc, SyncTagType); + public Method(std::string aname, std::function&& afunc, SyncTagType); + public Method(std::string aname, std::function&& afunc); + public Method(std::string aname, std::function&& afunc); + public Method(std::string aname, std::function&& afunc); + public Method(std::string aname, std::function&& afunc); + public Method(std::string aname, std::function&& afunc, AsyncTagType); + public bool isPromise; + public const char* getType(); + public size_t callbacks; + public std::function syncFunc; + public std::function func; + public std::string name; + template + public Method(std::string aname, T* t, void(T::*method)()); + template + public Method(std::string aname, T* t, void(T::*method)(folly::dynamic)); + template + public Method(std::string aname, T* t, void(T::*method)(folly::dynamic, facebook::xplat::module::CxxModule::Callback)); + template + public Method(std::string aname, T* t, void(T::*method)(folly::dynamic, facebook::xplat::module::CxxModule::Callback, facebook::xplat::module::CxxModule::Callback)); + template + public Method(std::string aname, T* t, void(T::*method)(folly::dynamic, facebook::xplat::module::CxxModule::Callback, facebook::xplat::module::CxxModule::Callback), AsyncTagType); +} + + +std::string facebook::xplat::detail::toStringHelper(); +template +R facebook::xplat::detail::jsArg1(const folly::dynamic& arg, M asFoo, const T &... desc); +template +std::string facebook::xplat::detail::toStringHelper(const T& value, const Rest &... rest); +template +facebook::xplat::detail::is_dynamic::type& facebook::xplat::detail::jsArgAsType(T&& args, size_t n, const char* required, bool(folly::dynamic::*isFoo)() const); +template +std::string facebook::xplat::detail::toStringHelper(const char* value, const Rest &... rest); + +template +struct facebook::xplat::detail::is_dynamic { + public using type = typename std::enable_if::value, T>::type; +} + + +class facebook::hermes::IHermes : public facebook::jsi::ICast { + protected ~IHermes() = default; + public static constexpr facebook::jsi::UUID uuid; + public virtual ICast* getHermesRootAPI() = 0; + public virtual SHRuntime* getSHRuntime() noexcept = 0; + public virtual const hermes::vm::GCExecTrace& getGCExecTrace() const = 0; + public virtual debugger::Debugger& getDebugger() = 0; + public virtual facebook::jsi::Value evaluateJavaScriptWithSourceMap(const std::shared_ptr& buffer, const std::shared_ptr& sourceMapBuf, const std::string& sourceURL) = 0; + public virtual facebook::jsi::Value evaluateSHUnit(SHUnitCreator shUnitCreator) = 0; + public virtual facebook::jsi::Value getObjectForID(uint64_t id) = 0; + public virtual sampling_profiler::Profile dumpSampledTraceToProfile() = 0; + public virtual std::string getIOTrackingInfoJSON() = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::BigInt& s) const = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::Object& o) const = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::PropNameID& pni) const = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::String& s) const = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::Symbol& sym) const = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::Value& val) const = 0; + public virtual void asyncTriggerTimeout() = 0; + public virtual void debugJavaScript(const std::string& src, const std::string& sourceURL, const facebook::hermes::IHermes::DebugFlags& debugFlags) = 0; + public virtual void loadSegment(std::unique_ptr buffer, const facebook::jsi::Value& context) = 0; + public virtual void registerForProfiling() = 0; + public virtual void resetTimezoneCache() = 0; + public virtual void sampledTraceToStreamInDevToolsFormat(std::ostream& stream) = 0; + public virtual void unregisterForProfiling() = 0; + public virtual void unwatchTimeLimit() = 0; + public virtual void watchTimeLimit(uint32_t timeoutInMs) = 0; + public virtual void* getVMRuntimeUnsafe() const = 0; +} + +struct facebook::hermes::IHermes::DebugFlags { +} + +class facebook::hermes::IHermesSHUnit : public facebook::jsi::ICast { + protected ~IHermesSHUnit() = default; + public static constexpr facebook::jsi::UUID uuid; + public virtual SHUnitCreator getSHUnitCreator() const = 0; +} + + +const char facebook::react::AndroidHorizontalScrollContentViewShadowNodeComponentName[]; +const char facebook::react::AndroidProgressBarComponentName[]; +const char facebook::react::AndroidSwitchComponentName[]; +const char facebook::react::AndroidTextInputComponentName[]; +const char facebook::react::AppleSwitchComponentName[]; +const char facebook::react::ImageComponentName[]; +const char facebook::react::ImageFetcherKey[]; +const char facebook::react::ImageManagerKey[]; +const char facebook::react::InputAccessoryComponentName[]; +const char facebook::react::LegacyViewManagerAndroidInteropComponentName[]; +const char facebook::react::LegacyViewManagerInteropComponentName[]; +const char facebook::react::ModalHostViewComponentName[]; +const char facebook::react::ParagraphComponentName[]; +const char facebook::react::RawTextComponentName[]; +const char facebook::react::RootComponentName[]; +const char facebook::react::RuntimeSchedulerKey[]; +const char facebook::react::SafeAreaViewComponentName[]; +const char facebook::react::ScrollViewComponentName[]; +const char facebook::react::TextComponentName[]; +const char facebook::react::UnimplementedViewComponentName[]; +const char facebook::react::ViewComponentName[]; +const facebook::react::EventTag facebook::react::EMPTY_EVENT_TAG; +constexpr auto facebook::react::kSimpleThreadSafeCacheSizeCap; +constexpr auto facebook::react::rncore_ModuleProvider; +constexpr char facebook::react::LayoutConformanceShadowNodeComponentName[]; +constexpr char facebook::react::VirtualViewComponentName[]; +constexpr char* const facebook::react::TextLayoutManagerKey; +constexpr facebook::react::HighResDuration facebook::react::DEFAULT_DURATION_THRESHOLD; +constexpr facebook::react::HighResDuration facebook::react::LONG_TASK_DURATION_THRESHOLD; +constexpr facebook::react::ReactNativeVersionType facebook::react::ReactNativeVersion; +constexpr float facebook::react::kDefaultEpsilon; +constexpr size_t facebook::react::EVENT_BUFFER_SIZE; +constexpr size_t facebook::react::LONG_TASK_BUFFER_SIZE; +constexpr size_t facebook::react::RESOURCE_TIMING_BUFFER_SIZE; +constexpr uint32_t facebook::react::INITIAL_BUCKETS_SIZE; +static const facebook::react::LayoutMetrics facebook::react::EmptyLayoutMetrics; +static const facebook::react::TelemetryTimePoint facebook::react::kTelemetryUndefinedTimePoint; +static const int facebook::react::NO_VIEW_TAG; +static constexpr auto facebook::react::kPropNameLengthHardCap; +static constexpr double facebook::react::SingleFrameIntervalMs; +static constexpr double facebook::react::TicksPerMs; +static constexpr facebook::react::MapBuffer::Key facebook::react::AS_KEY_BASE_ATTRIBUTES; +static constexpr facebook::react::MapBuffer::Key facebook::react::AS_KEY_CACHE_ID; +static constexpr facebook::react::MapBuffer::Key facebook::react::AS_KEY_FRAGMENTS; +static constexpr facebook::react::MapBuffer::Key facebook::react::AS_KEY_HASH; +static constexpr facebook::react::MapBuffer::Key facebook::react::AS_KEY_STRING; +static constexpr facebook::react::MapBuffer::Key facebook::react::FR_KEY_HEIGHT; +static constexpr facebook::react::MapBuffer::Key facebook::react::FR_KEY_IS_ATTACHMENT; +static constexpr facebook::react::MapBuffer::Key facebook::react::FR_KEY_REACT_TAG; +static constexpr facebook::react::MapBuffer::Key facebook::react::FR_KEY_STRING; +static constexpr facebook::react::MapBuffer::Key facebook::react::FR_KEY_TEXT_ATTRIBUTES; +static constexpr facebook::react::MapBuffer::Key facebook::react::FR_KEY_WIDTH; +static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_ADJUST_FONT_SIZE_TO_FIT; +static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_ELLIPSIZE_MODE; +static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_HYPHENATION_FREQUENCY; +static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_INCLUDE_FONT_PADDING; +static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_MAXIMUM_FONT_SIZE; +static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_MAX_NUMBER_OF_LINES; +static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_MINIMUM_FONT_SIZE; +static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_TEXT_ALIGN_VERTICAL; +static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_TEXT_BREAK_STRATEGY; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_ACCESSIBILITY_ROLE; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_ALIGNMENT; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_ALIGNMENT_VERTICAL; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_ALLOW_FONT_SCALING; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_BACKGROUND_COLOR; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_BEST_WRITING_DIRECTION; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_FONT_FAMILY; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_FONT_SIZE; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_FONT_SIZE_MULTIPLIER; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_FONT_STYLE; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_FONT_VARIANT; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_FONT_WEIGHT; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_FOREGROUND_COLOR; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_IS_HIGHLIGHTED; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_LAYOUT_DIRECTION; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_LETTER_SPACING; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_LINE_BREAK_STRATEGY; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_LINE_HEIGHT; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_MAX_FONT_SIZE_MULTIPLIER; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_OPACITY; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_ROLE; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_DECORATION_COLOR; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_DECORATION_LINE; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_DECORATION_STYLE; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_SHADOW_COLOR; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_SHADOW_OFFSET_DX; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_SHADOW_OFFSET_DY; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_SHADOW_RADIUS; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_TRANSFORM; +static constexpr facebook::react::MapBuffer::Key facebook::react::TX_STATE_KEY_ATTRIBUTED_STRING; +static constexpr facebook::react::MapBuffer::Key facebook::react::TX_STATE_KEY_HASH; +static constexpr facebook::react::MapBuffer::Key facebook::react::TX_STATE_KEY_MOST_RECENT_EVENT_COUNT; +static constexpr facebook::react::MapBuffer::Key facebook::react::TX_STATE_KEY_PARAGRAPH_ATTRIBUTES; +static constexpr facebook::react::RawPropsValueIndex facebook::react::kRawPropsValueIndexEmpty; +static constexpr std::string_view facebook::react::ExtrapolateTypeClamp; +static constexpr std::string_view facebook::react::ExtrapolateTypeExtend; +static constexpr std::string_view facebook::react::ExtrapolateTypeIdentity; +template +using facebook::react::CSSCompoundDataType = std::variant; +template +using facebook::react::CSSCommaSeparatedList = facebook::react::CSSList; +template +using facebook::react::CSSWhitespaceSeparatedList = facebook::react::CSSList; +template +using facebook::react::CSSMergedDataTypes = typename facebook::react::detail::merge_data_types::type; +template +using facebook::react::CSSVariantWithTypes = typename facebook::react::detail::merge_variant::type; +template +using facebook::react::EventListenerT = std::function; +typedef std::function facebook::react::ValueListenerCallback; +typedef void(*facebook::react::WarnOnUsageLogger)(std::string message); +using facebook::react::ActivePointerRegistry = std::unordered_map; +using facebook::react::ActivityIndicatorViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::ActivityIndicatorViewShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::ActivityIndicatorViewState = facebook::react::StateData; +using facebook::react::AndroidDrawerLayoutComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::AndroidDrawerLayoutShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::AndroidDrawerLayoutState = facebook::react::StateData; +using facebook::react::AndroidHorizontalScrollContentViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::AndroidSwipeRefreshLayoutComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::AndroidSwipeRefreshLayoutShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::AndroidSwipeRefreshLayoutState = facebook::react::StateData; +using facebook::react::AnimationEndCallback = facebook::react::AsyncCallback; +using facebook::react::AnimationTimestamp = std::chrono::duration; +using facebook::react::BackgroundExecutor = std::function&& callback)>; +using facebook::react::BackgroundImage = std::variant; +using facebook::react::BackgroundSize = std::variant; +using facebook::react::BorderColors = facebook::react::RectangleEdges; +using facebook::react::BorderCurves = facebook::react::RectangleCorners; +using facebook::react::BorderRadii = facebook::react::RectangleCorners; +using facebook::react::BorderStyles = facebook::react::RectangleEdges; +using facebook::react::BorderWidths = facebook::react::RectangleEdges; +using facebook::react::CSSBackgroundImage = facebook::react::CSSCompoundDataType; +using facebook::react::CSSBackgroundImageList = facebook::react::CSSCommaSeparatedList; +using facebook::react::CSSFilterFunction = facebook::react::CSSCompoundDataType; +using facebook::react::CSSFilterList = facebook::react::CSSWhitespaceSeparatedList; +using facebook::react::CSSFontVariantList = facebook::react::CSSWhitespaceSeparatedList; +using facebook::react::CSSLengthPercentage = facebook::react::CSSCompoundDataType; +using facebook::react::CSSPreservedToken = facebook::react::CSSToken; +using facebook::react::CSSRadialGradientSize = std::variant; +using facebook::react::CSSShadowList = facebook::react::CSSCommaSeparatedList; +using facebook::react::CSSTransformFunction = facebook::react::CSSCompoundDataType; +using facebook::react::CSSTransformList = facebook::react::CSSWhitespaceSeparatedList; +using facebook::react::CallFunc = std::function; +using facebook::react::Callback = std::function; +using facebook::react::CallbackHandle = facebook::jsi::Object; +using facebook::react::CallbackId = uint64_t; +using facebook::react::CaptureTargetOverrideRegistry = std::unordered_map>; +using facebook::react::CascadedBorderColors = facebook::react::CascadedRectangleEdges; +using facebook::react::CascadedBorderCurves = facebook::react::CascadedRectangleCorners; +using facebook::react::CascadedBorderRadii = facebook::react::CascadedRectangleCorners; +using facebook::react::CascadedBorderStyles = facebook::react::CascadedRectangleEdges; +using facebook::react::CascadedBorderWidths = facebook::react::CascadedRectangleEdges; +using facebook::react::Color = int32_t; +using facebook::react::ComponentDescriptorConstructor = facebook::react::ComponentDescriptor::Unique(const facebook::react::ComponentDescriptorParameters& parameters); +using facebook::react::ComponentDescriptorProviderRequest = std::function; +using facebook::react::ComponentHandle = int64_t; +using facebook::react::ComponentName = const char*; +using facebook::react::ComponentRegistryFactory = std::function& contextContainer)>; +using facebook::react::CornerInsets = facebook::react::RectangleCorners; +using facebook::react::DebuggingOverlayComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::DebuggingOverlayShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::DebuggingOverlayState = facebook::react::StateData; +using facebook::react::DispatchEvent = std::function; +using facebook::react::EdgeInsets = facebook::react::RectangleEdges; +using facebook::react::EndResult = facebook::react::NativeAnimatedTurboModuleEndResult, std::optional>; +using facebook::react::EventEmitterListener = facebook::react::EventListenerT; +using facebook::react::EventEmitterListenerContainer = facebook::react::EventListenerContainerT; +using facebook::react::EventListener = std::function; +using facebook::react::EventPipe = std::function; +using facebook::react::EventPipeConclusion = std::function; +using facebook::react::EventTag = unsigned int; +using facebook::react::Float = float; +using facebook::react::GarbageCollectionTrigger = std::function; +using facebook::react::GradientDirection = std::variant; +using facebook::react::HasComponentProviderFunctionType = std::function; +using facebook::react::Headers = std::map; +using facebook::react::HostPlatformTouch = facebook::react::BaseTouch; +using facebook::react::HostPlatformViewEventEmitter = facebook::react::BaseViewEventEmitter; +using facebook::react::ImageSources = std::vector; +using facebook::react::InteractionTypesMap = std::unordered_map; +using facebook::react::IntersectionObserverObserverId = int32_t; +using facebook::react::JSIScopedTimeoutInvoker = std::function& invokee, std::function errorMessageProducer)>; +using facebook::react::LayoutConformanceComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::LegacyViewManagerAndroidInteropShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::LegacyViewManagerInteropShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::LineMeasureCache = facebook::react::SimpleThreadSafeCache; +using facebook::react::LinesMeasurements = std::vector; +using facebook::react::Logger = std::function; +using facebook::react::MeasureInWindowOnSuccessCallback = facebook::react::SyncCallback; +using facebook::react::MeasureLayoutOnSuccessCallback = facebook::react::SyncCallback; +using facebook::react::MeasureOnSuccessCallback = facebook::react::SyncCallback; +using facebook::react::MethodCallResult = std::optional; +using facebook::react::ModalHostViewSupportedOrientationsMask = uint32_t; +using facebook::react::MountingTransactionCallback = std::function; +using facebook::react::MutationObserverId = int32_t; +using facebook::react::NativeIntersectionObserverEntry = facebook::react::NativeIntersectionObserverNativeIntersectionObserverEntry; +using facebook::react::NativeIntersectionObserverIntersectionObserverId = int32_t; +using facebook::react::NativeIntersectionObserverObserveOptions = facebook::react::NativeIntersectionObserverNativeIntersectionObserverObserveOptions>, std::shared_ptr, std::vector, std::optional>, std::optional>; +using facebook::react::NativeMethodCallFunc = std::function; +using facebook::react::NativeMutationObserverObserveOptions = facebook::react::NativeMutationObserverNativeMutationObserverObserveOptions, bool>; +using facebook::react::NativeMutationRecord = facebook::react::NativeMutationObserverNativeMutationRecord, std::vector>; +using facebook::react::NativePartialReloadAndProfileConfig = facebook::react::NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfig, std::optional>; +using facebook::react::NativePerformancePerformanceObserverCallback = facebook::react::AsyncCallback<>; +using facebook::react::NativePerformancePerformanceObserverObserveOptions = facebook::react::NativePerformancePerformanceObserverInit>, std::optional, std::optional, std::optional>; +using facebook::react::NativeReloadAndProfileConfig = facebook::react::NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfig; +using facebook::react::NativeRequestIdleCallbackOptions = facebook::react::NativeIdleCallbacksRequestIdleCallbackOptions>; +using facebook::react::OnMutations = std::function&)>; +using facebook::react::ParagraphProps = facebook::react::HostPlatformParagraphProps; +using facebook::react::PerformanceEntry = std::variant; +using facebook::react::PerformanceEntryInteractionId = uint32_t; +using facebook::react::PerformanceObserverCallback = std::function; +using facebook::react::PerformanceObserverEntryTypeFilter = std::unordered_set; +using facebook::react::PointerHoverTrackerRegistry = std::unordered_map; +using facebook::react::PointerIdentifier = int32_t; +using facebook::react::PromiseSetupFunctionType = std::function)>; +using facebook::react::PullToRefreshViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::PullToRefreshViewShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::PullToRefreshViewState = facebook::react::StateData; +using facebook::react::RawCallback = std::function; +using facebook::react::RawPropsPropNameHash = uint32_t; +using facebook::react::RawPropsPropNameLength = uint16_t; +using facebook::react::RawPropsValueIndex = uint16_t; +using facebook::react::RawTextComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::RectAsTuple = std::tuple; +using facebook::react::RootComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::RuntimeExecutor = std::function&& callback)>; +using facebook::react::RuntimeSchedulerRenderingUpdate = std::function; +using facebook::react::RuntimeSchedulerTaskErrorHandler = std::function; +using facebook::react::ScrollViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::ScrollViewProps = facebook::react::HostPlatformScrollViewProps; +using facebook::react::ShadowTreeCommitTransaction = std::function; +using facebook::react::ShadowViewMutationList = std::vector; +using facebook::react::SharedComponentDescriptor = std::shared_ptr; +using facebook::react::SharedComponentDescriptorRegistry = std::shared_ptr; +using facebook::react::SharedEventEmitter = std::shared_ptr; +using facebook::react::SharedEventPayload = std::shared_ptr; +using facebook::react::SharedEventTarget = std::shared_ptr; +using facebook::react::SharedParagraphAttributes = std::shared_ptr; +using facebook::react::SharedRawTextProps = std::shared_ptr; +using facebook::react::SharedScrollViewProps = std::shared_ptr; +using facebook::react::SharedShadowNodeFamily = std::shared_ptr; +using facebook::react::SharedTextAttributes = std::shared_ptr; +using facebook::react::SharedTouchEventEmitter = std::shared_ptr; +using facebook::react::SharedViewEventEmitter = std::shared_ptr; +using facebook::react::SharedViewProps = std::shared_ptr; +using facebook::react::SnapshotMap = std::unordered_map>; +using facebook::react::StatePipe = std::function; +using facebook::react::SurfaceId = int32_t; +using facebook::react::Tag = int32_t; +using facebook::react::TelemetryClock = std::chrono::steady_clock; +using facebook::react::TelemetryDuration = std::chrono::nanoseconds; +using facebook::react::TelemetryTimePoint = facebook::react::TelemetryClock::time_point; +using facebook::react::TextComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::TextEventEmitter = facebook::react::TouchEventEmitter; +using facebook::react::TextLayoutManagerExtended = facebook::react::detail::TextLayoutManagerExtended; +using facebook::react::TextMeasureCache = facebook::react::SimpleThreadSafeCache; +using facebook::react::TimePointFunction = std::chrono::steady_clock::time_point(*)(); +using facebook::react::TimerHandle = int; +using facebook::react::TimerManagerDelegate = facebook::react::PlatformTimerRegistry; +using facebook::react::Touch = facebook::react::HostPlatformTouch; +using facebook::react::Touches = std::unordered_set; +using facebook::react::TraceSectionUnwrapped = facebook::react::DummyTraceSection; +using facebook::react::TracingStateListener = std::function; +using facebook::react::TurboModuleProviderFunctionTypeWithRuntime = std::function(facebook::jsi::Runtime& runtime, const std::string& name)>; +using facebook::react::UiTask = std::function; +using facebook::react::UnimplementedNativeViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::UnimplementedNativeViewShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::UnimplementedNativeViewState = facebook::react::StateData; +using facebook::react::UnimplementedViewShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::UserTimingDetailProvider = std::function; +using facebook::react::ValueFactory = std::function; +using facebook::react::ViewEventEmitter = facebook::react::HostPlatformViewEventEmitter; +using facebook::react::ViewNodePairScope = std::deque; +using facebook::react::ViewProps = facebook::react::HostPlatformViewProps; +using facebook::react::VirtualViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::parsePlatformColorFn = facebook::react::SharedColor(*)(const facebook::react::ContextContainer&, int32_t, const facebook::react::RawValue&); +template +concept facebook::react::CacheGeneratorFunction = std::invocable && std::same_as, ValueT>; +template +concept facebook::react::CSSUniqueComponentValueVisitors = CSSSyntaxVisitorReturn&& (CSSComponentValueVisitor && ...) && + ((CSSFunctionVisitor ? 1 : 0) + ... + 0) <= 1&& + ((CSSPreservedTokenVisitor ? 1 : 0) + ... + 0) <= 1&& + ((CSSSimpleBlockVisitor ? 1 : 0) + ... + 0) <= 1; +template +concept facebook::react::StateDataWithJNIReference = requires(StateDataT stateData) { + { stateData.getJNIReference() } -> std::same_as>; +}; +template +concept facebook::react::StateDataWithMapBuffer = requires(StateDataT stateData) { + { stateData.getMapBuffer() } -> std::same_as; +}; +template +concept facebook::react::CSSFunctionBlockSink = requires(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser) { + { T::consumeFunctionBlock(func, parser) } -> std::convertible_to; +}; +template +concept facebook::react::CSSParserSink = requires(facebook::react::CSSValueParser& parser) { + { T::consume(parser) } -> std::convertible_to; +}; +template +concept facebook::react::CSSPreservedTokenSink = requires(const facebook::react::CSSPreservedToken& token) { + { T::consumePreservedToken(token) } -> std::convertible_to; +}; +template +concept facebook::react::CSSSimpleBlockSink = requires(const facebook::react::CSSSimpleBlock& block, facebook::react::CSSValueParser& parser) { + { T::consumeSimpleBlock(block, parser) } -> std::convertible_to; +}; +template +concept facebook::react::CSSValidDataTypeParser = ((CSSFunctionBlockSink || CSSSimpleBlockSink || CSSPreservedTokenSink) && + !CSSParserSink) || +CSSParserSink; +template +concept facebook::react::CSSComponentValueVisitor = CSSSyntaxVisitorReturn&& + (CSSFunctionVisitor || CSSPreservedTokenVisitor || CSSSimpleBlockVisitor); +template +concept facebook::react::CSSFunctionVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSFunctionBlock func, facebook::react::CSSSyntaxParser& blockParser) { + { visitor(func, blockParser) } -> std::convertible_to; +}; +template +concept facebook::react::CSSPreservedTokenVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSPreservedToken token) { + { visitor(token) } -> std::convertible_to; +}; +template +concept facebook::react::CSSSimpleBlockVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSSimpleBlock block, facebook::react::CSSSyntaxParser& blockParser) { + { visitor(block, blockParser) } -> std::convertible_to; +}; +template +concept facebook::react::CSSDataType = CSSValidDataTypeParser, std::optional> && std::equality_comparable; +template +concept facebook::react::CSSKeywordSet = std::is_enum_v && std::is_same_v, std::underlying_type_t>; +template +concept facebook::react::CSSMaybeCompoundDataType = CSSDataType || CSSValidCompoundDataType; +template +concept facebook::react::CSSSyntaxVisitorReturn = std::is_default_constructible_v && std::equality_comparable; +template +concept facebook::react::CSSValidCompoundDataType = facebook::react::detail::is_variant_of_data_types::value; +template +concept facebook::react::Hashable = !std::is_same_v&& (requires(T a) { + { std::hash{}(a) } -> std::convertible_to; +}); +template +concept facebook::react::RawPropsFilterable = requires(facebook::react::RawProps& rawProps) { + { T::filterRawProps(rawProps) } -> std::same_as; +}; +template +concept facebook::react::TextLayoutManagerWithPreparedTextLayout = requires( + TextLayoutManagerT textLayoutManager, + facebook::react::AttributedString attributedString, + facebook::react::ParagraphAttributes paragraphAttributes, + facebook::react::TextLayoutContext layoutContext, + facebook::react::LayoutConstraints layoutConstraints, + typename TextLayoutManagerT::PreparedTextLayout preparedTextLayout) { + sizeof(typename TextLayoutManagerT::PreparedTextLayout); + { + textLayoutManager.prepareLayout(attributedString, paragraphAttributes, layoutContext, layoutConstraints) + } -> std::same_as; + { + textLayoutManager.measurePreparedLayout(preparedTextLayout, layoutContext, layoutConstraints) + } -> std::same_as; +}; +AAssetManager* facebook::react::extractAssetManager(jni::alias_ref assetManager); +JSI_EXPORT std::shared_ptr facebook::react::FBReactNativeSpec_ModuleProvider(const std::string& moduleName, const facebook::react::JavaTurboModule::InitParams& params); +YGDirection facebook::react::yogaDirectionFromLayoutDirection(facebook::react::LayoutDirection direction); +bool facebook::react::areAttributedStringFragmentsEquivalentDisplayWise(const facebook::react::AttributedString::Fragment& lhs, const facebook::react::AttributedString::Fragment& rhs); +bool facebook::react::areAttributedStringFragmentsEquivalentLayoutWise(const facebook::react::AttributedString::Fragment& lhs, const facebook::react::AttributedString::Fragment& rhs); +bool facebook::react::areAttributedStringsEquivalentDisplayWise(const facebook::react::AttributedString& lhs, const facebook::react::AttributedString& rhs); +bool facebook::react::areAttributedStringsEquivalentLayoutWise(const facebook::react::AttributedString& lhs, const facebook::react::AttributedString& rhs); +bool facebook::react::areTextAttributesEquivalentLayoutWise(const facebook::react::TextAttributes& lhs, const facebook::react::TextAttributes& rhs); +bool facebook::react::hasAccurateCPUTimeNanosForBenchmarks(); +bool facebook::react::hostPlatformColorIsColorMeaningful(facebook::react::Color color) noexcept; +bool facebook::react::isColorMeaningful(const facebook::react::SharedColor& color) noexcept; +bool facebook::react::isHermesBytecodeBundle(const facebook::react::BundleHeader& header); +bool facebook::react::isZero(facebook::react::Float n); +const char* facebook::react::stringForScriptTag(const facebook::react::ScriptTag& tag); +const facebook::react::InteractionTypesMap& facebook::react::getInteractionTypes(); +const std::unordered_set& facebook::react::getDirectManipulationAllowlist(); +constexpr auto facebook::react::to_underlying(auto e) noexcept; +constexpr bool facebook::react::iequals(std::string_view a, std::string_view b); +constexpr char facebook::react::toLower(char c); +constexpr float facebook::react::canonicalize(float value, facebook::react::CSSAngleUnit unit); +constexpr std::optional facebook::react::parseCSSAngleUnit(std::string_view unit); +constexpr std::optional facebook::react::parseCSSLengthUnit(std::string_view unit); +constexpr uint32_t facebook::react::fnv1aLowercase(std::string_view string); +double facebook::react::ceil(double value) noexcept; +double facebook::react::floor(double value) noexcept; +double facebook::react::getCPUTimeNanos(); +double facebook::react::interpolate(double inputValue, double inputMin, double inputMax, double outputMin, double outputMax, std::string_view extrapolateLeft, std::string_view extrapolateRight); +double facebook::react::round(double value) noexcept; +facebook::jsi::Value facebook::react::createPromiseAsJSIValue(facebook::jsi::Runtime& rt, facebook::react::PromiseSetupFunctionType&& func); +facebook::react::AttributedString facebook::react::ensurePlaceholderIfEmpty_DO_NOT_USE(const facebook::react::AttributedString& attributedString); +facebook::react::Color facebook::react::hostPlatformColorFromComponents(facebook::react::ColorComponents components); +facebook::react::Color facebook::react::hostPlatformColorFromRGBA(uint8_t r, uint8_t g, uint8_t b, uint8_t a); +facebook::react::ColorComponents facebook::react::colorComponentsFromColor(facebook::react::SharedColor color); +facebook::react::ColorComponents facebook::react::colorComponentsFromHostPlatformColor(facebook::react::Color color); +facebook::react::ColorSpace facebook::react::getDefaultColorSpace(); +facebook::react::ComponentBuilder facebook::react::simpleComponentBuilder(std::shared_ptr contextContainer = nullptr); +facebook::react::ComponentRegistryFactory facebook::react::getDefaultComponentRegistryFactory(); +facebook::react::DisplayType facebook::react::displayTypeFromYGDisplay(YGDisplay display); +facebook::react::FilterType facebook::react::filterTypeFromVariant(const facebook::react::CSSFilterFunction& filter); +facebook::react::Float facebook::react::floatFromYogaFloat(float value); +facebook::react::Float facebook::react::floatFromYogaOptionalFloat(facebook::yoga::FloatOptional value); +facebook::react::LayoutMetrics facebook::react::layoutMetricsFromYogaNode(facebook::yoga::Node& yogaNode); +facebook::react::MapBuffer facebook::react::serializeImageRequests(const std::vector& items); +facebook::react::MapBuffer facebook::react::toMapBuffer(const facebook::react::AttributedString& attributedString); +facebook::react::MapBuffer facebook::react::toMapBuffer(const facebook::react::AttributedString::Fragment& fragment); +facebook::react::MapBuffer facebook::react::toMapBuffer(const facebook::react::FontVariant& fontVariant); +facebook::react::MapBuffer facebook::react::toMapBuffer(const facebook::react::ParagraphAttributes& paragraphAttributes); +facebook::react::MapBuffer facebook::react::toMapBuffer(const facebook::react::ParagraphState& paragraphState); +facebook::react::MapBuffer facebook::react::toMapBuffer(const facebook::react::TextAttributes& textAttributes); +facebook::react::ParagraphAttributes facebook::react::convertRawProp(const facebook::react::PropsParserContext& context, const facebook::react::RawProps& rawProps, const facebook::react::ParagraphAttributes& sourceParagraphAttributes, const facebook::react::ParagraphAttributes& defaultParagraphAttributes); +facebook::react::Rect facebook::react::insetBy(const facebook::react::Rect& rect, const facebook::react::EdgeInsets& insets) noexcept; +facebook::react::Rect facebook::react::outsetBy(const facebook::react::Rect& rect, const facebook::react::EdgeInsets& outsets) noexcept; +facebook::react::ScriptTag facebook::react::parseTypeFromHeader(const facebook::react::BundleHeader& header); +facebook::react::ShadowView facebook::react::shadowViewFromShadowNode(const facebook::react::ShadowNode& shadowNode); +facebook::react::ShadowViewMutation::List facebook::react::calculateShadowViewMutations(const facebook::react::ShadowNode& oldRootShadowNode, const facebook::react::ShadowNode& newRootShadowNode); +facebook::react::SharedColor facebook::react::blackColor(); +facebook::react::SharedColor facebook::react::clearColor(); +facebook::react::SharedColor facebook::react::coerceColor(const facebook::react::RawValue& value, const facebook::react::PropsParserContext& context); +facebook::react::SharedColor facebook::react::colorFromComponents(facebook::react::ColorComponents components); +facebook::react::SharedColor facebook::react::colorFromRGBA(uint8_t r, uint8_t g, uint8_t b, uint8_t a); +facebook::react::SharedColor facebook::react::fromCSSColor(const facebook::react::CSSColor& cssColor); +facebook::react::SharedColor facebook::react::parsePlatformColor(const facebook::react::ContextContainer& contextContainer, int32_t surfaceId, const facebook::react::RawValue& value); +facebook::react::SharedColor facebook::react::whiteColor(); +facebook::react::Size facebook::react::ModalHostViewScreenSize(void); +facebook::react::Size facebook::react::yogaMeassureToSize(int64_t value); +facebook::react::StubViewTree facebook::react::buildStubViewTreeUsingDifferentiator(const facebook::react::ShadowNode& rootShadowNode); +facebook::react::StubViewTree facebook::react::buildStubViewTreeWithoutUsingDifferentiator(const facebook::react::ShadowNode& rootShadowNode); +facebook::react::SurfaceId facebook::react::getNextRootViewTag() noexcept; +facebook::react::TurboModuleMethodValueKind facebook::react::getTurboModuleMethodValueKind(facebook::jsi::Runtime& rt, const facebook::jsi::Value* value); +facebook::react::ValueUnit facebook::react::cssLengthPercentageToValueUnit(const std::variant& value); +facebook::react::ValueUnit facebook::react::toValueUnit(const facebook::react::RawValue& value); +facebook::yoga::FloatOptional facebook::react::convertAspectRatio(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value); +facebook::yoga::FloatOptional facebook::react::yogaOptionalFloatFromFloat(facebook::react::Float value); +float facebook::react::alphaFromHostPlatformColor(facebook::react::Color color); +float facebook::react::blueFromHostPlatformColor(facebook::react::Color color); +float facebook::react::ceil(float value) noexcept; +float facebook::react::floor(float value) noexcept; +float facebook::react::greenFromHostPlatformColor(facebook::react::Color color); +float facebook::react::redFromHostPlatformColor(facebook::react::Color color); +float facebook::react::round(float value) noexcept; +float facebook::react::yogaFloatFromFloat(facebook::react::Float value); +folly::dynamic facebook::react::diffDynamicProps(const folly::dynamic& oldProps, const folly::dynamic& newProps); +folly::dynamic facebook::react::mergeDynamicProps(const folly::dynamic& source, const folly::dynamic& patch, facebook::react::NullValueStrategy nullValueStrategy); +folly::dynamic facebook::react::toDynamic(const YGValue& dimension); +folly::dynamic facebook::react::toDynamic(const facebook::react::AndroidProgressBarProps& props); +folly::dynamic facebook::react::toDynamic(const facebook::react::AndroidTextInputTextShadowOffsetStruct& value); +folly::dynamic facebook::react::toDynamic(const facebook::react::BackgroundImage& backgroundImage); +folly::dynamic facebook::react::toDynamic(const facebook::react::BoxShadow& boxShadow); +folly::dynamic facebook::react::toDynamic(const facebook::react::EdgeInsets& edgeInsets); +folly::dynamic facebook::react::toDynamic(const facebook::react::FilterFunction& filterFunction); +folly::dynamic facebook::react::toDynamic(const facebook::react::ImageSource& imageSource); +folly::dynamic facebook::react::toDynamic(const facebook::react::Point& point); +folly::dynamic facebook::react::toDynamic(const facebook::react::SharedColor& sharedColor); +folly::dynamic facebook::react::toDynamic(const facebook::react::SubmitBehavior& value); +folly::dynamic facebook::react::toDynamic(const std::vector& arrayValue); +folly::dynamic facebook::react::toDynamic(const std::vector& arrayValue); +folly::dynamic facebook::react::toDynamic(const std::vector& arrayValue); +folly::dynamic facebook::react::toDynamic(const std::vector& arrayValue); +folly::dynamic facebook::react::toDynamic(const std::vector& arrayValue); +folly::dynamic facebook::react::toDynamic(const std::vector& arrayValue); +int facebook::react::toAndroidRepr(const facebook::react::SharedColor& color); +int facebook::react::toInt(const facebook::react::DisplayType& displayType); +int facebook::react::toInt(const facebook::react::LayoutDirection& layoutDirection); +long double facebook::react::ceil(long double value) noexcept; +long double facebook::react::floor(long double value) noexcept; +long double facebook::react::round(long double value) noexcept; +size_t facebook::react::attributedStringFragmentHashDisplayWise(const facebook::react::AttributedString::Fragment& fragment); +size_t facebook::react::attributedStringFragmentHashLayoutWise(const facebook::react::AttributedString::Fragment& fragment); +size_t facebook::react::attributedStringHashDisplayWise(const facebook::react::AttributedString& attributedString); +size_t facebook::react::attributedStringHashLayoutWise(const facebook::react::AttributedString& attributedString); +size_t facebook::react::hashGetColourArguments(int32_t surfaceId, const std::vector& resourcePaths); +size_t facebook::react::textAttributesHashLayoutWise(const facebook::react::TextAttributes& textAttributes); +std::function facebook::react::makeCallback(std::weak_ptr instance, const folly::dynamic& callbackId); +std::optional facebook::react::blendModeFromString(std::string_view blendModeName); +std::optional facebook::react::fromCSSShadow(const facebook::react::CSSShadow& cssShadow); +std::optional facebook::react::parseBoxShadowRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value); +std::optional facebook::react::fromCSSFilter(const facebook::react::CSSFilterFunction& cssFilter); +std::optional facebook::react::parseDropShadow(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value); +std::optional facebook::react::parseFilterRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value); +std::optional facebook::react::filterTypeFromString(std::string_view filterName); +std::optional facebook::react::coerceAmount(const facebook::react::RawValue& value); +std::optional facebook::react::coerceAngle(const facebook::react::RawValue& value); +std::optional facebook::react::coerceLength(const facebook::react::RawValue& value); +std::optional facebook::react::optionalFloatFromYogaValue(const facebook::yoga::Style::Length& length, std::optional base = {}); +std::optional facebook::react::toRadians(const facebook::react::RawValue& value); +std::optional facebook::react::fontVariantFromCSSFontVariant(facebook::react::CSSFontVariant cssVariant); +std::optional facebook::react::isolationFromString(std::string_view isolationSetting); +std::optional facebook::react::fromCSSTransformFunction(const facebook::react::CSSTransformFunction& cssTransform); +std::pair facebook::react::calculateAnimationProgress(uint64_t now, const facebook::react::LayoutAnimation& animation, const facebook::react::AnimationConfig& mutationConfig); +std::string facebook::react::base64Encode(const std::string_view s); +std::string facebook::react::componentNameByReactViewName(std::string viewName); +std::string facebook::react::generateRandomUuidString(); +std::string facebook::react::toString(const facebook::react::AccessibilityRole& accessibilityRole); +std::string facebook::react::toString(const facebook::react::AttributedString::Range& range); +std::string facebook::react::toString(const facebook::react::BlendMode& blendMode); +std::string facebook::react::toString(const facebook::react::DataDetectorType& value); +std::string facebook::react::toString(const facebook::react::DisplayType& displayType); +std::string facebook::react::toString(const facebook::react::DynamicTypeRamp& dynamicTypeRamp); +std::string facebook::react::toString(const facebook::react::EllipsizeMode& ellipsisMode); +std::string facebook::react::toString(const facebook::react::FilterType& filterType); +std::string facebook::react::toString(const facebook::react::FontStyle& fontStyle); +std::string facebook::react::toString(const facebook::react::FontVariant& fontVariant); +std::string facebook::react::toString(const facebook::react::FontWeight& fontWeight); +std::string facebook::react::toString(const facebook::react::HyphenationFrequency& hyphenationFrequency); +std::string facebook::react::toString(const facebook::react::ImageResizeMode& value); +std::string facebook::react::toString(const facebook::react::ImageSource& value); +std::string facebook::react::toString(const facebook::react::ImportantForAccessibility& importantForAccessibility); +std::string facebook::react::toString(const facebook::react::LayoutDirection& layoutDirection); +std::string facebook::react::toString(const facebook::react::LineBreakMode& lineBreakMode); +std::string facebook::react::toString(const facebook::react::LineBreakStrategy& lineBreakStrategy); +std::string facebook::react::toString(const facebook::react::Role& role); +std::string facebook::react::toString(const facebook::react::ScrollViewSnapToAlignment& value); +std::string facebook::react::toString(const facebook::react::SharedColor& value); +std::string facebook::react::toString(const facebook::react::TextAlignment& textAlignment); +std::string facebook::react::toString(const facebook::react::TextAlignmentVertical& textAlignment); +std::string facebook::react::toString(const facebook::react::TextBreakStrategy& textBreakStrategy); +std::string facebook::react::toString(const facebook::react::TextDecorationLineType& textDecorationLineType); +std::string facebook::react::toString(const facebook::react::TextDecorationStyle& textDecorationStyle); +std::string facebook::react::toString(const facebook::react::TextTransform& textTransform); +std::string facebook::react::toString(const facebook::react::WritingDirection& writingDirection); +std::string facebook::react::toString(double doubleValue, char suffix); +std::string facebook::react::toString(facebook::react::AccessibilityLiveRegion accessibilityLiveRegion); +std::string facebook::react::toString(facebook::react::PointerEventsMode value); +std::string_view facebook::react::getInteractionTypeForEvent(std::string_view eventName); +std::unique_ptr facebook::react::loadScriptFromAssets(AAssetManager* assetManager, const std::string& assetName); +std::unordered_map(std::shared_ptr jsInvoker)>>& facebook::react::globalExportedCxxTurboModuleMap(); +std::vector facebook::react::longestIncreasingSubsequence(const std::vector& values, const std::vector& include); +std::vector facebook::react::parseNormalizedRootMargin(const std::string& marginStr); +std::vector facebook::react::parseMethodCalls(folly::dynamic&& jsonData); +std::vector facebook::react::sliceChildShadowNodeViewPairs(const facebook::react::ShadowViewNodePair& shadowNodePair, facebook::react::ViewNodePairScope& viewNodePairScope, bool allowFlattened, facebook::react::Point layoutOffset, const facebook::react::CullingContext& cullingContext); +std::vector> facebook::react::buildNativeModuleList(std::weak_ptr winstance, jni::alias_ref::javaobject> javaModules, std::shared_ptr moduleMessageQueue); +template +constexpr std::optional facebook::react::parseCSSKeyword(std::string_view ident); +template +constexpr facebook::react::CSSVariantWithTypes, std::monostate> facebook::react::parseCSSProperty(std::string_view css); +template +facebook::react::Float facebook::react::roundToPixel(facebook::react::Float value, facebook::react::Float scaleFactor); +template +facebook::react::Point facebook::react::roundToPixel(facebook::react::Point value, facebook::react::Float scaleFactor); +template +facebook::react::Rect facebook::react::roundToPixel(facebook::react::Rect value, facebook::react::Float scaleFactor); +template +facebook::react::Size facebook::react::roundToPixel(facebook::react::Size value, facebook::react::Float scaleFactor); +template +std::size_t facebook::react::hash_combine(const T& v, const Args &... args); +template +void facebook::react::hash_combine(std::size_t& seed, const T& v, const Rest &... rest); +template ::type> +facebook::react::MoveWrapper facebook::react::makeMoveWrapper(T&& t); +template +constexpr std::optional facebook::react::parseCSSColorFunction(std::string_view colorFunction, facebook::react::CSSValueParser& parser); +template +constexpr std::optional facebook::react::parseCSSHexColor(std::string_view hexColorValue); +template +constexpr std::optional facebook::react::parseCSSNamedColor(std::string_view name); +template +constexpr uint32_t facebook::react::fnv1a(std::string_view string) noexcept; +template +facebook::react::ComponentDescriptor::Unique facebook::react::concreteComponentDescriptorConstructor(const facebook::react::ComponentDescriptorParameters& parameters); +template +facebook::react::ComponentDescriptorProvider facebook::react::concreteComponentDescriptorProvider(); +template +DestinationTimePointT facebook::react::clockCast(SourceTimePointT timePoint); +template +T facebook::react::convertRawProp(const facebook::react::PropsParserContext& context, const facebook::react::RawProps& rawProps, const char* name, const T& sourceValue, const U& defaultValue, const char* namePrefix = nullptr, const char* nameSuffix = nullptr); +template +T facebook::react::get(const facebook::react::AnimatedPropBase& animatedProp); +template +T facebook::react::get(const std::unique_ptr& animatedProp); +template +bool facebook::react::floatEquality(T a, T b, T epsilon = static_cast(facebook::react::kDefaultEpsilon)); +template +folly::dynamic facebook::react::toDynamic(const std::vector& arrayValue); +template +jni::local_ref> facebook::react::makeJWeakReference(jni::alias_ref ref); +template +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, T& result); +template +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, T& result, T defaultValue); +template +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, std::optional& result); +template +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, std::vector& result); +template +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, std::vector>& result); +template +std::shared_ptr facebook::react::getManagerByName(std::shared_ptr& contextContainer, const char name[]); +uint8_t facebook::react::alphaFromColor(facebook::react::SharedColor color) noexcept; +uint8_t facebook::react::blueFromColor(facebook::react::SharedColor color) noexcept; +uint8_t facebook::react::greenFromColor(facebook::react::SharedColor color) noexcept; +uint8_t facebook::react::redFromColor(facebook::react::SharedColor color) noexcept; +void facebook::react::FBReactNativeSpec_registerComponentDescriptorsFromCodegen(std::shared_ptr registry); +void facebook::react::addDynamicToJArray(jni::local_ref> jarray, jint index, const folly::dynamic& dyn); +void facebook::react::bindHasComponentProvider(facebook::jsi::Runtime& runtime, facebook::react::HasComponentProviderFunctionType&& provider); +void facebook::react::bindNativeLogger(facebook::jsi::Runtime& runtime, facebook::react::Logger logger); +void facebook::react::bindNativePerformanceNow(facebook::jsi::Runtime& runtime); +void facebook::react::cloneProp(facebook::react::BaseViewProps& viewProps, const facebook::react::AnimatedPropBase& animatedProp); +void facebook::react::configurePlatformColorCacheInvalidationHook(std::function&& hook); +void facebook::react::defineReadOnlyGlobal(facebook::jsi::Runtime& runtime, const std::string& propName, facebook::jsi::Value&& value); +void facebook::react::ensureThreadDurationJNIEnvAttached(); +void facebook::react::fromRawValue(const facebook::react::ContextContainer& contextContainer, int32_t surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, YGValue& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityAction& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityLabelledBy& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityLiveRegion& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityRole& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityState& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityTraits& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AttributedString::Range& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BackfaceVisibility& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BorderCurve& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BorderStyle& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ContentInsetAdjustmentBehavior& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::CornerInsets& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Cursor& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::DynamicTypeRamp& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::EdgeInsets& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::EllipsizeMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontStyle& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontVariant& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontWeight& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::HyphenationFrequency& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ImageResizeMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ImageSource& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ImportantForAccessibility& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::LineBreakStrategy& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::OutlineStyle& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Point& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::PointerEventsMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Role& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewIndicatorStyle& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewKeyboardDismissMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewMaintainVisibleContentPosition& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewSnapToAlignment& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::SharedColor& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Size& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextAlignment& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextBreakStrategy& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextDecorationLineType& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextDecorationStyle& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextTransform& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Transform& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TransformOrigin& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::WritingDirection& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Align& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Direction& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Display& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::FlexDirection& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::FloatOptional& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Justify& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Overflow& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::PositionType& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Style::Length& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Wrap& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::AccessibilityValue& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::BlendMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::DataDetectorType& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Isolation& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::LayoutConformance& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::LineBreakMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::SubmitBehavior& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::TextAlignmentVertical& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::ValueUnit& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::yoga::BoxSizing& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::yoga::Style::SizeLength& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::fromRawValueShared(const facebook::react::ContextContainer& contextContainer, int32_t surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result, facebook::react::parsePlatformColorFn parsePlatformColor); +void facebook::react::fromString(const std::string& string, facebook::react::AccessibilityTraits& result); +void facebook::react::g_setNativeAnimatedNowTimestampFunction(facebook::react::TimePointFunction nowFunction); +void facebook::react::parseProcessedBackgroundImage(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::parseProcessedBoxShadow(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::parseProcessedFilter(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::parseProcessedFontVariant(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::FontVariant& result); +void facebook::react::parseProcessedTransform(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Transform& result); +void facebook::react::parseProcessedTransformOrigin(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::TransformOrigin& result); +void facebook::react::parseUnprocessedBackgroundImageList(const facebook::react::PropsParserContext& context, const std::vector& value, std::vector& result); +void facebook::react::parseUnprocessedBackgroundImageString(const std::string& value, std::vector& result); +void facebook::react::parseUnprocessedBoxShadow(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::parseUnprocessedBoxShadowList(const facebook::react::PropsParserContext& context, std::vector&& value, std::vector& result); +void facebook::react::parseUnprocessedBoxShadowString(std::string&& value, std::vector& result); +void facebook::react::parseUnprocessedFilter(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::parseUnprocessedFilterList(const facebook::react::PropsParserContext& context, std::vector&& value, std::vector& result); +void facebook::react::parseUnprocessedFilterString(std::string&& value, std::vector& result); +void facebook::react::parseUnprocessedFontVariant(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontVariant& result); +void facebook::react::parseUnprocessedFontVariantString(const std::string& value, facebook::react::FontVariant& result); +void facebook::react::parseUnprocessedTransform(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Transform& result); +void facebook::react::parseUnprocessedTransformOrigin(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TransformOrigin& result); +void facebook::react::parseUnprocessedTransformOriginString(const std::string& value, facebook::react::TransformOrigin& result); +void facebook::react::parseUnprocessedTransformString(const std::string& value, facebook::react::Transform& result); +void facebook::react::reactAndroidLoggingHook(const std::string& message, unsigned int logLevel); +void facebook::react::registerCxxModuleToGlobalModuleMap(std::string name, std::function(std::shared_ptr jsInvoker)> moduleProviderFunc); +void facebook::react::serializeTransformAxis(const facebook::react::TransformOperation& operation, const std::string& operationName, float defaultValue, folly::dynamic& resultTranslateArray); +void facebook::react::serializeTransformOperationValue(const std::string& operationName, const facebook::react::ValueUnit& valueUnit, folly::dynamic& resultArray); +void facebook::react::setDefaultColorSpace(facebook::react::ColorSpace newColorSpace); +void facebook::react::setTouchPayloadOnObject(facebook::jsi::Object& object, facebook::jsi::Runtime& runtime, const facebook::react::BaseTouch& touch); +void facebook::react::updateMountedFlag(const std::vector>& oldChildren, const std::vector>& newChildren, facebook::react::ShadowTreeCommitSource commitSource); +void facebook::react::updateProp(const facebook::react::PropName propName, facebook::react::BaseViewProps& viewProps, const facebook::react::PropsSnapshot& snapshot); +void facebook::react::updateTransformProps(const facebook::react::Transform& transform, const facebook::react::TransformOperation& operation, folly::dynamic& resultTranslateArray); +bool facebook::react::operator==(const facebook::react::AttributedStringBox& lhs, const facebook::react::AttributedStringBox& rhs); +bool facebook::react::operator==(const facebook::react::LayoutConstraints& lhs, const facebook::react::LayoutConstraints& rhs); +bool facebook::react::operator==(const facebook::react::LayoutContext& lhs, const facebook::react::LayoutContext& rhs); +bool facebook::react::operator==(const facebook::react::LineMeasureCacheKey& lhs, const facebook::react::LineMeasureCacheKey& rhs); +bool facebook::react::operator==(const facebook::react::PerformanceObserver& lhs, const facebook::react::PerformanceObserver& rhs); +bool facebook::react::operator==(const facebook::react::PreparedTextCacheKey& lhs, const facebook::react::PreparedTextCacheKey& rhs); +bool facebook::react::operator==(const facebook::react::RawPropsKey& lhs, const facebook::react::RawPropsKey& rhs) noexcept; +bool facebook::react::operator==(const facebook::react::Size& rhs, const facebook::react::Size& lhs) noexcept; +bool facebook::react::operator==(const facebook::react::StubView& lhs, const facebook::react::StubView& rhs); +bool facebook::react::operator==(const facebook::react::StubViewTree& lhs, const facebook::react::StubViewTree& rhs); +bool facebook::react::operator==(const facebook::react::TextMeasureCacheKey& lhs, const facebook::react::TextMeasureCacheKey& rhs); +constexpr bool facebook::react::operator&(facebook::react::ModalHostViewSupportedOrientationsMask const lhs, enum facebook::react::ModalHostViewSupportedOrientations const rhs); +constexpr bool facebook::react::operator==(const facebook::react::AccessibilityState& lhs, const facebook::react::AccessibilityState& rhs); +constexpr bool facebook::react::operator==(const facebook::react::AccessibilityValue& lhs, const facebook::react::AccessibilityValue& rhs); +constexpr enum facebook::react::AccessibilityTraits facebook::react::operator&(const enum facebook::react::AccessibilityTraits lhs, const enum facebook::react::AccessibilityTraits rhs); +constexpr enum facebook::react::AccessibilityTraits facebook::react::operator|(const enum facebook::react::AccessibilityTraits lhs, const enum facebook::react::AccessibilityTraits rhs); +constexpr facebook::react::HighResDuration facebook::react::operator-(const facebook::react::HighResTimeStamp& lhs, const facebook::react::HighResTimeStamp& rhs); +constexpr facebook::react::HighResTimeStamp facebook::react::operator+(const facebook::react::HighResTimeStamp& lhs, const facebook::react::HighResDuration& rhs); +constexpr facebook::react::HighResTimeStamp facebook::react::operator-(const facebook::react::HighResTimeStamp& lhs, const facebook::react::HighResDuration& rhs); +constexpr facebook::react::ModalHostViewSupportedOrientationsMask facebook::react::operator|(facebook::react::ModalHostViewSupportedOrientationsMask const lhs, enum facebook::react::ModalHostViewSupportedOrientations const rhs); +constexpr void facebook::react::operator|=(facebook::react::ModalHostViewSupportedOrientationsMask& lhs, enum facebook::react::ModalHostViewSupportedOrientations const rhs); +facebook::react::EdgeInsets facebook::react::operator*(const facebook::react::EdgeInsets& edgeInsets, const facebook::react::Transform& transform); +facebook::react::Point facebook::react::operator*(const facebook::react::Point& point, const facebook::react::Transform& transform); +facebook::react::Rect facebook::react::operator*(const facebook::react::Rect& rect, const facebook::react::Transform& transform); +facebook::react::Size facebook::react::operator*(const facebook::react::Size& size, const facebook::react::Transform& transform); +facebook::react::Vector facebook::react::operator*(const facebook::react::Transform& transform, const facebook::react::Vector& vector); +template +facebook::react::RectangleEdges facebook::react::operator+(const facebook::react::RectangleEdges& lhs, const facebook::react::RectangleEdges& rhs) noexcept; +template +facebook::react::RectangleEdges facebook::react::operator-(const facebook::react::RectangleEdges& lhs, const facebook::react::RectangleEdges& rhs) noexcept; +JSI_EXPORT const char facebook::react::ActivityIndicatorViewComponentName[]; +JSI_EXPORT const char facebook::react::AndroidDrawerLayoutComponentName[]; +JSI_EXPORT const char facebook::react::AndroidSwipeRefreshLayoutComponentName[]; +JSI_EXPORT const char facebook::react::DebuggingOverlayComponentName[]; +JSI_EXPORT const char facebook::react::PullToRefreshViewComponentName[]; +JSI_EXPORT const char facebook::react::UnimplementedNativeViewComponentName[]; + +class facebook::react::AccessibilityProps { + public AccessibilityProps() = default; + public AccessibilityProps(const facebook::react::PropsParserContext& context, const facebook::react::AccessibilityProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool accessibilityElementsHidden; + public bool accessibilityIgnoresInvertColors; + public bool accessibilityRespondsToUserInteraction; + public bool accessibilityShowsLargeContentViewer; + public bool accessibilityViewIsModal; + public bool accessible; + public bool onAccessibilityAction; + public bool onAccessibilityEscape; + public bool onAccessibilityMagicTap; + public bool onAccessibilityTap; + public facebook::react::AccessibilityLabelledBy accessibilityLabelledBy; + public facebook::react::AccessibilityLiveRegion accessibilityLiveRegion; + public facebook::react::AccessibilityTraits accessibilityTraits; + public facebook::react::AccessibilityValue accessibilityValue; + public facebook::react::ImportantForAccessibility importantForAccessibility; + public facebook::react::Role role; + public std::optional accessibilityState; + public std::string accessibilityHint; + public std::string accessibilityLabel; + public std::string accessibilityLanguage; + public std::string accessibilityLargeContentTitle; + public std::string accessibilityRole; + public std::string testId; + public std::vector accessibilityActions; + public std::vector accessibilityOrder; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::ActivityIndicatorViewEventEmitter : public facebook::react::BaseViewEventEmitter { +} + +class facebook::react::ActivityIndicatorViewProps : public facebook::react::HostPlatformViewProps { + public ActivityIndicatorViewProps() = default; + public ActivityIndicatorViewProps(const facebook::react::PropsParserContext& context, const facebook::react::ActivityIndicatorViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool animating; + public bool hidesWhenStopped; + public facebook::react::ActivityIndicatorViewSize size; + public facebook::react::SharedColor color; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::AdditionAnimatedNode : public facebook::react::OperatorAnimatedNode { + public AdditionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::AndroidAnimationChoreographer : public facebook::react::AnimationChoreographer { + public AndroidAnimationChoreographer(jni::alias_ref jChoreographer); + public virtual void pause() override; + public virtual void resume() override; +} + +class facebook::react::AndroidDrawerLayoutEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onDrawerClose(facebook::react::AndroidDrawerLayoutEventEmitter::OnDrawerClose value) const; + public void onDrawerOpen(facebook::react::AndroidDrawerLayoutEventEmitter::OnDrawerOpen value) const; + public void onDrawerSlide(facebook::react::AndroidDrawerLayoutEventEmitter::OnDrawerSlide value) const; + public void onDrawerStateChanged(facebook::react::AndroidDrawerLayoutEventEmitter::OnDrawerStateChanged value) const; +} + +struct facebook::react::AndroidDrawerLayoutEventEmitter::OnDrawerClose { +} + +struct facebook::react::AndroidDrawerLayoutEventEmitter::OnDrawerOpen { +} + +struct facebook::react::AndroidDrawerLayoutEventEmitter::OnDrawerSlide { + public facebook::react::Float offset; +} + +struct facebook::react::AndroidDrawerLayoutEventEmitter::OnDrawerStateChanged { + public int drawerState; +} + +class facebook::react::AndroidDrawerLayoutProps : public facebook::react::HostPlatformViewProps { + public AndroidDrawerLayoutProps() = default; + public AndroidDrawerLayoutProps(const facebook::react::PropsParserContext& context, const facebook::react::AndroidDrawerLayoutProps& sourceProps, const facebook::react::RawProps& rawProps); + public facebook::react::AndroidDrawerLayoutDrawerLockMode drawerLockMode; + public facebook::react::AndroidDrawerLayoutDrawerPosition drawerPosition; + public facebook::react::AndroidDrawerLayoutKeyboardDismissMode keyboardDismissMode; + public facebook::react::Float drawerWidth; + public facebook::react::SharedColor drawerBackgroundColor; + public facebook::react::SharedColor statusBarBackgroundColor; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::AndroidEventBeat : public facebook::react::EventBeat, public facebook::react::EventBeatManagerObserver { + public AndroidEventBeat(std::shared_ptr ownerBox, facebook::react::EventBeatManager* eventBeatManager, facebook::react::RuntimeScheduler& runtimeScheduler, jni::global_ref javaUIManager); + public virtual void request() const override; + public virtual void tick() const override; + public ~AndroidEventBeat() override; +} + +class facebook::react::AndroidHorizontalScrollContentViewEventEmitter : public facebook::react::BaseViewEventEmitter { +} + +class facebook::react::AndroidHorizontalScrollContentViewProps : public facebook::react::HostPlatformViewProps { + public AndroidHorizontalScrollContentViewProps() = default; + public AndroidHorizontalScrollContentViewProps(const facebook::react::PropsParserContext& context, const facebook::react::AndroidHorizontalScrollContentViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool removeClippedSubviews; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::AndroidHorizontalScrollContentViewShadowNode : public facebook::react::ConcreteViewShadowNode { + public AndroidHorizontalScrollContentViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public AndroidHorizontalScrollContentViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public virtual void layout(facebook::react::LayoutContext layoutContext) override; +} + +class facebook::react::AndroidProgressBarComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public AndroidProgressBarComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); + public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; +} + +class facebook::react::AndroidProgressBarEventEmitter : public facebook::react::BaseViewEventEmitter { +} + +class facebook::react::AndroidProgressBarMeasurementsManager { + public AndroidProgressBarMeasurementsManager(const std::shared_ptr& contextContainer); + public facebook::react::Size measure(facebook::react::SurfaceId surfaceId, const facebook::react::AndroidProgressBarProps& props, facebook::react::LayoutConstraints layoutConstraints) const; +} + +class facebook::react::AndroidProgressBarProps : public facebook::react::HostPlatformViewProps { + public AndroidProgressBarProps() = default; + public AndroidProgressBarProps(const facebook::react::PropsParserContext& context, const facebook::react::AndroidProgressBarProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool animating; + public bool indeterminate; + public double progress; + public facebook::react::SharedColor color; + public std::string styleAttr; + public std::string testID; + public std::string typeAttr; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::AndroidProgressBarShadowNode : public facebook::react::ConcreteViewShadowNode { + public AndroidProgressBarShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public AndroidProgressBarShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; + public void setAndroidProgressBarMeasurementsManager(const std::shared_ptr& measurementsManager); +} + +class facebook::react::AndroidSwipeRefreshLayoutEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onRefresh(facebook::react::AndroidSwipeRefreshLayoutEventEmitter::OnRefresh value) const; +} + +struct facebook::react::AndroidSwipeRefreshLayoutEventEmitter::OnRefresh { +} + +class facebook::react::AndroidSwipeRefreshLayoutProps : public facebook::react::HostPlatformViewProps { + public AndroidSwipeRefreshLayoutProps() = default; + public AndroidSwipeRefreshLayoutProps(const facebook::react::PropsParserContext& context, const facebook::react::AndroidSwipeRefreshLayoutProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool enabled; + public bool refreshing; + public facebook::react::AndroidSwipeRefreshLayoutSize size; + public facebook::react::Float progressViewOffset; + public facebook::react::SharedColor progressBackgroundColor; + public std::vector colors; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::AndroidSwitchComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public AndroidSwitchComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); + public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; +} + +class facebook::react::AndroidSwitchEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onChange(facebook::react::AndroidSwitchEventEmitter::OnChange value) const; +} + +struct facebook::react::AndroidSwitchEventEmitter::OnChange { + public bool value; + public int target; +} + +class facebook::react::AndroidSwitchMeasurementsManager { + public AndroidSwitchMeasurementsManager(const std::shared_ptr& contextContainer); + public facebook::react::Size measure(facebook::react::SurfaceId surfaceId, facebook::react::LayoutConstraints layoutConstraints) const; +} + +class facebook::react::AndroidSwitchProps : public facebook::react::HostPlatformViewProps { + public AndroidSwitchProps() = default; + public AndroidSwitchProps(const facebook::react::PropsParserContext& context, const facebook::react::AndroidSwitchProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool disabled; + public bool enabled; + public bool on; + public bool value; + public facebook::react::SharedColor thumbColor; + public facebook::react::SharedColor thumbTintColor; + public facebook::react::SharedColor trackColorForFalse; + public facebook::react::SharedColor trackColorForTrue; + public facebook::react::SharedColor trackTintColor; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::AndroidSwitchShadowNode : public facebook::react::ConcreteViewShadowNode { + public AndroidSwitchShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public AndroidSwitchShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; + public void setAndroidSwitchMeasurementsManager(const std::shared_ptr& measurementsManager); +} + +class facebook::react::AndroidTextInputComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; + public AndroidTextInputComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); + public virtual facebook::react::State::Shared createInitialState(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family) const override; +} + +class facebook::react::AndroidTextInputEventEmitter : public facebook::react::BaseViewEventEmitter { +} + +class facebook::react::AndroidTextInputProps : public facebook::react::BaseTextInputProps { + public AndroidTextInputProps() = default; + public AndroidTextInputProps(const facebook::react::PropsParserContext& context, const facebook::react::AndroidTextInputProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool allowFontScaling; + public bool autoCorrect; + public bool caretHidden; + public bool contextMenuHidden; + public bool disableFullscreenUI; + public bool hasPadding; + public bool hasPaddingBottom; + public bool hasPaddingEnd; + public bool hasPaddingHorizontal; + public bool hasPaddingLeft; + public bool hasPaddingRight; + public bool hasPaddingStart; + public bool hasPaddingTop; + public bool hasPaddingVertical; + public bool includeFontPadding; + public bool secureTextEntry; + public bool selectTextOnFocus; + public bool showSoftInputOnFocus; + public facebook::react::AndroidTextInputTextShadowOffsetStruct textShadowOffset; + public facebook::react::Float fontSize; + public facebook::react::Float letterSpacing; + public facebook::react::Float lineHeight; + public facebook::react::Float maxFontSizeMultiplier; + public facebook::react::Float textShadowRadius; + public facebook::react::SharedColor color; + public facebook::react::SharedColor textShadowColor; + public folly::dynamic getDynamic() const; + public int inlineImagePadding; + public int numberOfLines; + public std::string autoComplete; + public std::string fontFamily; + public std::string fontStyle; + public std::string fontWeight; + public std::string importantForAutofill; + public std::string inlineImageLeft; + public std::string keyboardType; + public std::string returnKeyLabel; + public std::string returnKeyType; + public std::string textAlign; + public std::string textBreakStrategy; + public std::string textDecorationLine; + public std::string textTransform; + public std::string value; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::AndroidTextInputShadowNode : public facebook::react::ConcreteViewShadowNode { + protected facebook::react::LayoutConstraints getTextConstraints(const facebook::react::LayoutConstraints& layoutConstraints) const; + protected std::shared_ptr textLayoutManager_; + protected virtual facebook::react::Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const override; + protected virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; + protected virtual void layout(facebook::react::LayoutContext layoutContext) override; + public AndroidTextInputShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public AndroidTextInputShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public void setTextLayoutManager(std::shared_ptr textLayoutManager); +} + +class facebook::react::AndroidTextInputState { + public AndroidTextInputState() = default; + public AndroidTextInputState(const facebook::react::AndroidTextInputState& previousState, const folly::dynamic& data); + public AndroidTextInputState(facebook::react::AttributedStringBox attributedStringBox, facebook::react::AttributedString reactTreeAttributedString, facebook::react::ParagraphAttributes paragraphAttributes, int64_t mostRecentEventCount); + public facebook::react::AttributedString reactTreeAttributedString; + public facebook::react::AttributedStringBox attributedStringBox; + public facebook::react::MapBuffer getMapBuffer() const; + public facebook::react::ParagraphAttributes paragraphAttributes; + public folly::dynamic getDynamic() const; + public int64_t cachedAttributedStringId; + public int64_t mostRecentEventCount; +} + +class facebook::react::AnimatedModule : public facebook::react::NativeAnimatedModuleCxxSpec, public facebook::react::TurboModuleWithJSIBindings { + public AnimatedModule(std::shared_ptr jsInvoker, std::shared_ptr nodesManagerProvider); + public void addAnimatedEventToView(facebook::jsi::Runtime& rt, facebook::react::Tag viewTag, std::string eventName, facebook::jsi::Object eventMapping); + public void addListener(facebook::jsi::Runtime& rt, const std::string& eventName); + public void connectAnimatedNodeToShadowNodeFamily(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::jsi::Object shadowNode); + public void connectAnimatedNodeToView(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::react::Tag viewTag); + public void connectAnimatedNodes(facebook::jsi::Runtime& rt, facebook::react::Tag parentTag, facebook::react::Tag childTag); + public void createAnimatedNode(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::jsi::Object config); + public void disconnectAnimatedNodeFromView(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::react::Tag viewTag); + public void disconnectAnimatedNodes(facebook::jsi::Runtime& rt, facebook::react::Tag parentTag, facebook::react::Tag childTag); + public void dropAnimatedNode(facebook::jsi::Runtime& rt, facebook::react::Tag tag); + public void extractAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); + public void finishOperationBatch(facebook::jsi::Runtime& rt); + public void flattenAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); + public void getValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::react::AsyncCallback saveValueCallback); + public void queueAndExecuteBatchedOperations(facebook::jsi::Runtime& rt, facebook::jsi::Array operationsAndArgs); + public void removeAnimatedEventFromView(facebook::jsi::Runtime& rt, facebook::react::Tag viewTag, std::string eventName, facebook::react::Tag animatedNodeTag); + public void removeListeners(facebook::jsi::Runtime& rt, int count); + public void restoreDefaultValues(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); + public void setAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, double offset); + public void setAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, double value); + public void startAnimatingNode(facebook::jsi::Runtime& rt, int animationId, facebook::react::Tag nodeTag, facebook::jsi::Object config, facebook::react::AnimationEndCallback endCallback); + public void startListeningToAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag); + public void startOperationBatch(facebook::jsi::Runtime& rt); + public void stopAnimation(facebook::jsi::Runtime& rt, int animationId); + public void stopListeningToAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag); + public void updateAnimatedNodeConfig(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::jsi::Object config); +} + +class facebook::react::AnimatedMountingOverrideDelegate : public facebook::react::MountingOverrideDelegate { + public AnimatedMountingOverrideDelegate(facebook::react::NativeAnimatedNodesManager& animatedManager, const facebook::react::Scheduler& scheduler); + public virtual bool shouldOverridePullTransaction() const override; + public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const override; +} + +class facebook::react::AnimatedNode { + protected facebook::react::AnimatedNode* getChildNode(facebook::react::Tag tag); + protected facebook::react::AnimatedNodeType type_; + protected facebook::react::NativeAnimatedNodesManager* manager_; + protected facebook::react::Tag tag_; + protected std::unordered_set children_; + public AnimatedNode(const facebook::react::AnimatedNode&) = default; + public AnimatedNode(facebook::react::AnimatedNode&&) noexcept = default; + public AnimatedNode(facebook::react::Tag tag, folly::dynamic config, facebook::react::NativeAnimatedNodesManager& manager, facebook::react::AnimatedNodeType type); + public const folly::dynamic& getConfig() const noexcept; + public const std::unordered_set& getChildren() const noexcept; + public facebook::react::AnimatedNode& operator=(const facebook::react::AnimatedNode&) = default; + public facebook::react::AnimatedNode& operator=(facebook::react::AnimatedNode&&) noexcept = default; + public facebook::react::AnimatedNodeType type() const noexcept; + public facebook::react::Tag tag() const noexcept; + public int activeIncomingNodes; + public int bfsColor; + public static constexpr int INITIAL_BFS_COLOR; + public static std::optional getNodeTypeByName(const std::string& nodeTypeName); + public std::string debugID() const; + public virtual void onAttachToNode(facebook::react::Tag); + public virtual void onDetachedFromNode(facebook::react::Tag); + public virtual void update(); + public virtual ~AnimatedNode() = default; + public void addChild(facebook::react::Tag tag); + public void removeChild(facebook::react::Tag tag); +} + +class facebook::react::AnimatedPropsRegistry { + public std::pair>&, facebook::react::SnapshotMap&> getMap(facebook::react::SurfaceId surfaceId); + public void clear(facebook::react::SurfaceId surfaceId); + public void update(const std::unordered_map& surfaceUpdates); +} + +class facebook::react::AnimationBackend : public facebook::react::UIManagerAnimationBackend { + public AnimationBackend(std::shared_ptr animationChoreographer, std::shared_ptr uiManager); + public using PauseCallback = std::function; + public using ResumeCallback = std::function; + public virtual facebook::react::CallbackId start(const facebook::react::UIManagerAnimationBackend::Callback& callback) override; + public virtual void clearRegistry(facebook::react::SurfaceId surfaceId) override; + public virtual void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) override; + public virtual void registerJSInvoker(std::shared_ptr jsInvoker) override; + public virtual void stop(facebook::react::CallbackId callbackId) override; + public virtual void trigger() override; + public void commitUpdates(facebook::react::SurfaceId surfaceId, facebook::react::SurfaceUpdates& surfaceUpdates); + public void requestAsyncFlushForSurfaces(const std::set& surfaces); + public void synchronouslyUpdateProps(const std::unordered_map& updates); +} + +class facebook::react::AnimationBackendCommitHook : public facebook::react::UIManagerCommitHook { + public AnimationBackendCommitHook(facebook::react::UIManager& uiManager, std::shared_ptr animatedPropsRegistry); + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions& commitOptions) noexcept override; + public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept override; + public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept override; +} + +class facebook::react::AnimationChoreographer { + public virtual void pause() = 0; + public virtual void resume() = 0; + public virtual ~AnimationChoreographer() = default; + public void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) const; + public void setAnimationBackend(std::weak_ptr animationBackend); +} + +class facebook::react::AnimationDriver { + protected bool ignoreCompletedHandlers_; + protected bool isComplete_; + protected bool isStarted_; + protected double startFrameTimeMs_; + protected facebook::react::NativeAnimatedNodesManager* manager_; + protected facebook::react::Tag animatedValueTag_; + protected folly::dynamic config_; + protected int currentIteration_; + protected int id_; + protected int iterations_; + protected std::optional endCallback_; + protected virtual bool update(double, bool); + protected void markNodeUpdated(facebook::react::Tag tag); + public AnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); + public bool getIsComplete() const noexcept; + public facebook::react::Tag getAnimatedValueTag() const noexcept; + public int getId() const noexcept; + public static std::optional getDriverTypeByName(const std::string& driverTypeName); + public std::string debugID() const; + public virtual void updateConfig(folly::dynamic config); + public virtual ~AnimationDriver() = default; + public void runAnimationStep(double renderingTime); + public void startAnimation(); + public void stopAnimation(bool ignoreCompletedHandlers = false); +} + +class facebook::react::AppRegistryBinding { + public AppRegistryBinding() = delete; + public static void setSurfaceProps(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& initialProps, facebook::react::DisplayMode displayMode); + public static void startSurface(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& initialProps, facebook::react::DisplayMode displayMode); + public static void stopSurface(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId); +} + +class facebook::react::AttributedString : public facebook::react::Sealable, public facebook::react::DebugStringConvertible { + public bool compareTextAttributesWithoutFrame(const facebook::react::AttributedString& rhs) const; + public bool isContentEqual(const facebook::react::AttributedString& rhs) const; + public bool isEmpty() const; + public bool operator==(const facebook::react::AttributedString& rhs) const; + public const facebook::react::AttributedString::Fragments& getFragments() const; + public const facebook::react::TextAttributes& getBaseTextAttributes() const; + public facebook::react::AttributedString::Fragments& getFragments(); + public std::string getString() const; + public using Fragments = std::vector; + public void appendFragment(facebook::react::AttributedString::Fragment&& fragment); + public void prependFragment(facebook::react::AttributedString::Fragment&& fragment); + public void setBaseTextAttributes(const facebook::react::TextAttributes& defaultAttributes); +} + +class facebook::react::AttributedString::Fragment { + public bool isAttachment() const; + public bool isContentEqual(const facebook::react::AttributedString::Fragment& rhs) const; + public bool operator==(const facebook::react::AttributedString::Fragment& rhs) const; + public facebook::react::ShadowView parentShadowView; + public facebook::react::TextAttributes textAttributes; + public static std::string AttachmentCharacter(); + public std::string string; +} + +class facebook::react::AttributedString::Range { + public int length; + public int location; +} + +class facebook::react::AttributedStringBox { + public AttributedStringBox(); + public AttributedStringBox(const facebook::react::AttributedString& value); + public AttributedStringBox(const facebook::react::AttributedStringBox& other) = default; + public AttributedStringBox(facebook::react::AttributedStringBox&& other) noexcept; + public AttributedStringBox(std::shared_ptr opaquePointer); + public const facebook::react::AttributedString& getValue() const; + public facebook::react::AttributedStringBox& operator=(const facebook::react::AttributedStringBox& other) = default; + public facebook::react::AttributedStringBox& operator=(facebook::react::AttributedStringBox&& other) noexcept; + public facebook::react::AttributedStringBox::Mode getMode() const; + public std::shared_ptr getOpaquePointer() const; +} + +enum facebook::react::AttributedStringBox::Mode { + OpaquePointer, + Value, +} + +class facebook::react::BaseParagraphProps : public facebook::react::HostPlatformViewProps, public facebook::react::BaseTextProps { + public BaseParagraphProps() = default; + public BaseParagraphProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseParagraphProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool isSelectable; + public bool onTextLayout; + public facebook::react::ParagraphAttributes paragraphAttributes; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::BaseScrollViewProps : public facebook::react::HostPlatformViewProps { + public BaseScrollViewProps() = default; + public BaseScrollViewProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseScrollViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool alwaysBounceHorizontal; + public bool alwaysBounceVertical; + public bool automaticallyAdjustContentInsets; + public bool automaticallyAdjustKeyboardInsets; + public bool automaticallyAdjustsScrollIndicatorInsets; + public bool bounces; + public bool bouncesZoom; + public bool canCancelContentTouches; + public bool centerContent; + public bool directionalLockEnabled; + public bool disableIntervalMomentum; + public bool horizontal; + public bool isInvertedVirtualizedList; + public bool pagingEnabled; + public bool persistentScrollbar; + public bool pinchGestureEnabled; + public bool scrollEnabled; + public bool scrollToOverflowEnabled; + public bool scrollsToTop; + public bool showsHorizontalScrollIndicator; + public bool showsVerticalScrollIndicator; + public bool snapToEnd; + public bool snapToStart; + public facebook::react::ContentInsetAdjustmentBehavior contentInsetAdjustmentBehavior; + public facebook::react::EdgeInsets contentInset; + public facebook::react::EdgeInsets scrollIndicatorInsets; + public facebook::react::Float decelerationRate; + public facebook::react::Float endDraggingSensitivityMultiplier; + public facebook::react::Float maximumZoomScale; + public facebook::react::Float minimumZoomScale; + public facebook::react::Float scrollEventThrottle; + public facebook::react::Float snapToInterval; + public facebook::react::Float zoomScale; + public facebook::react::Point contentOffset; + public facebook::react::ScrollViewIndicatorStyle indicatorStyle; + public facebook::react::ScrollViewKeyboardDismissMode keyboardDismissMode; + public facebook::react::ScrollViewSnapToAlignment snapToAlignment; + public std::optional maintainVisibleContentPosition; + public std::vector snapToOffsets; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::BaseTextInputProps : public facebook::react::HostPlatformViewProps, public facebook::react::BaseTextProps { + public BaseTextInputProps() = default; + public BaseTextInputProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseTextInputProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool autoFocus; + public bool disableKeyboardShortcuts; + public bool editable; + public bool multiline; + public bool readOnly; + public facebook::react::ParagraphAttributes paragraphAttributes; + public facebook::react::SharedColor cursorColor; + public facebook::react::SharedColor placeholderTextColor; + public facebook::react::SharedColor selectionColor; + public facebook::react::SharedColor selectionHandleColor; + public facebook::react::SharedColor underlineColorAndroid; + public facebook::react::SubmitBehavior getNonDefaultSubmitBehavior() const; + public facebook::react::SubmitBehavior submitBehavior; + public facebook::react::TextAttributes getEffectiveTextAttributes(facebook::react::Float fontSizeMultiplier) const; + public int maxLength; + public int mostRecentEventCount; + public std::optional> acceptDragAndDropTypes; + public std::string autoCapitalize; + public std::string defaultValue; + public std::string placeholder; + public std::string text; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::BaseTextProps { + public BaseTextProps() = default; + public BaseTextProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseTextProps& sourceProps, const facebook::react::RawProps& rawProps); + public facebook::react::TextAttributes textAttributes; + public void appendTextAttributesProps(folly::dynamic& result, const facebook::react::BaseTextProps* prevProps) const; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::BaseTextShadowNode { + public static void buildAttributedString(const facebook::react::TextAttributes& baseTextAttributes, const facebook::react::ShadowNode& parentNode, facebook::react::AttributedString& outAttributedString, facebook::react::BaseTextShadowNode::Attachments& outAttachments); + public using Attachments = std::vector; +} + +class facebook::react::BaseTextShadowNode::Attachment { + public const facebook::react::ShadowNode* shadowNode; + public size_t fragmentIndex; +} + +class facebook::react::BaseViewEventEmitter : public facebook::react::TouchEventEmitter { + public void onAccessibilityAction(const std::string& name) const; + public void onAccessibilityEscape() const; + public void onAccessibilityMagicTap() const; + public void onAccessibilityTap() const; + public void onBlur() const; + public void onFocus() const; + public void onLayout(const facebook::react::LayoutMetrics& layoutMetrics) const; +} + +class facebook::react::BaseViewProps : public facebook::react::YogaStylableProps, public facebook::react::AccessibilityProps { + public BaseViewProps() = default; + public BaseViewProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseViewProps& sourceProps, const facebook::react::RawProps& rawProps, const std::function& filterObjectKeys = nullptr); + public bool collapsable; + public bool collapsableChildren; + public bool getClipsContentToBounds() const; + public bool onLayout; + public bool removeClippedSubviews; + public bool shouldRasterize; + public facebook::react::BackfaceVisibility backfaceVisibility; + public facebook::react::BlendMode mixBlendMode; + public facebook::react::BorderMetrics resolveBorderMetrics(const facebook::react::LayoutMetrics& layoutMetrics) const; + public facebook::react::CascadedBorderColors borderColors; + public facebook::react::CascadedBorderCurves borderCurves; + public facebook::react::CascadedBorderRadii borderRadii; + public facebook::react::CascadedBorderStyles borderStyles; + public facebook::react::CascadedBorderWidths getBorderWidths() const; + public facebook::react::Cursor cursor; + public facebook::react::EdgeInsets hitSlop; + public facebook::react::Float opacity; + public facebook::react::Float outlineOffset; + public facebook::react::Float outlineWidth; + public facebook::react::Float shadowOpacity; + public facebook::react::Float shadowRadius; + public facebook::react::Isolation isolation; + public facebook::react::OutlineStyle outlineStyle; + public facebook::react::PointerEventsMode pointerEvents; + public facebook::react::SharedColor backgroundColor; + public facebook::react::SharedColor outlineColor; + public facebook::react::SharedColor shadowColor; + public facebook::react::Size shadowOffset; + public facebook::react::Transform resolveTransform(const facebook::react::LayoutMetrics& layoutMetrics) const; + public facebook::react::Transform transform; + public facebook::react::TransformOrigin transformOrigin; + public facebook::react::ViewEvents events; + public static facebook::react::Transform resolveTransform(const facebook::react::Size& frameSize, const facebook::react::Transform& transform, const facebook::react::TransformOrigin& transformOrigin); + public std::optional zIndex; + public std::vector backgroundImage; + public std::vector backgroundPosition; + public std::vector backgroundRepeat; + public std::vector backgroundSize; + public std::vector boxShadow; + public std::vector filter; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::BigStringBuffer : public facebook::jsi::Buffer { + public BigStringBuffer(std::unique_ptr script); + public virtual const uint8_t* data() const override; + public virtual size_t size() const override; +} + +class facebook::react::BindingsInstaller { + public virtual facebook::react::ReactInstance::BindingsInstallFunc getBindingsInstallFunc(); +} + +class facebook::react::BindingsInstallerHolder : public jni::HybridClass { + public static constexpr auto kJavaDescriptor; + public using BindingsInstallFunc = std::function& callInvoker)>; + public void installBindings(facebook::jsi::Runtime& runtime, const std::shared_ptr& callInvoker); +} + +class facebook::react::BlobCollector : public jni::HybridClass, public facebook::jsi::HostObject { + public BlobCollector(jni::global_ref blobModule, std::string blobId); + public size_t getBlobLength(); + public static constexpr auto kJavaDescriptor; + public static void nativeInstall(jni::alias_ref, jni::alias_ref blobModule, jlong jsContextNativePointer); + public static void registerNatives(); + public ~BlobCollector(); +} + +class facebook::react::BridgelessNativeMethodCallInvoker : public facebook::react::NativeMethodCallInvoker { + public BridgelessNativeMethodCallInvoker(std::shared_ptr messageQueueThread); + public virtual void invokeAsync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) noexcept override; + public virtual void invokeSync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) override; +} + +class facebook::react::BufferedRuntimeExecutor { + public BufferedRuntimeExecutor(facebook::react::RuntimeExecutor runtimeExecutor); + public using Work = std::function; + public void execute(facebook::react::BufferedRuntimeExecutor::Work&& callback); + public void flush(); +} + +struct facebook::react::BufferedRuntimeExecutor::BufferedWork { + public bool operator<(const facebook::react::BufferedRuntimeExecutor::BufferedWork& rhs) const; + public facebook::react::BufferedRuntimeExecutor::Work work_; + public uint64_t index_; +} + +class facebook::react::CSSSyntaxParser { + public constexpr CSSSyntaxParser(const facebook::react::CSSSyntaxParser&) = default; + public constexpr CSSSyntaxParser(facebook::react::CSSSyntaxParser&&) = default; + public constexpr CSSSyntaxParser(std::string_view css); + public constexpr bool consumeDelimiter(facebook::react::CSSDelimiter delimiter); + public constexpr bool isFinished() const; + public constexpr const facebook::react::CSSToken& peek() const; + public constexpr facebook::react::CSSSyntaxParser& operator=(const facebook::react::CSSSyntaxParser&) = default; + public constexpr facebook::react::CSSSyntaxParser& operator=(facebook::react::CSSSyntaxParser&&) = default; + public constexpr void consumeWhitespace(); + template + public constexpr ReturnT consumeComponentValue(const facebook::react::CSSComponentValueVisitor auto &... visitors); + template + public constexpr ReturnT consumeComponentValue(facebook::react::CSSDelimiter delimiter, const facebook::react::CSSComponentValueVisitor auto &... visitors); +} + +class facebook::react::CSSToken { + public constexpr CSSToken(const facebook::react::CSSToken& other) = default; + public constexpr CSSToken(facebook::react::CSSToken&& other) = default; + public constexpr CSSToken(facebook::react::CSSTokenType type); + public constexpr CSSToken(facebook::react::CSSTokenType type, float value); + public constexpr CSSToken(facebook::react::CSSTokenType type, float value, std::string_view unit); + public constexpr CSSToken(facebook::react::CSSTokenType type, std::string_view value); + public constexpr bool operator==(const facebook::react::CSSToken& other) const = default; + public constexpr facebook::react::CSSToken& operator=(const facebook::react::CSSToken& other) = default; + public constexpr facebook::react::CSSToken& operator=(facebook::react::CSSToken&& other) = default; + public constexpr facebook::react::CSSTokenType type() const; + public constexpr float numericValue() const; + public constexpr std::string_view stringValue() const; + public constexpr std::string_view unit() const; +} + +class facebook::react::CSSTokenizer { + public constexpr CSSTokenizer(std::string_view characters); + public constexpr facebook::react::CSSToken next(); +} + +class facebook::react::CSSValueParser { + public constexpr CSSValueParser(const facebook::react::CSSValueParser&) = default; + public constexpr CSSValueParser(facebook::react::CSSSyntaxParser& parser); + public constexpr const facebook::react::CSSSyntaxParser& syntaxParser() const; + public constexpr facebook::react::CSSSyntaxParser& syntaxParser(); + public constexpr facebook::react::CSSValueParser& operator=(const facebook::react::CSSValueParser&) = default; + template + public constexpr facebook::react::CSSVariantWithTypes, std::monostate> parseNextValue(facebook::react::CSSDelimiter delimiter = facebook::react::CSSDelimiter::None); + template + public constexpr facebook::react::CSSVariantWithTypes, std::monostate> peekNextValue(facebook::react::CSSDelimiter delimiter = facebook::react::CSSDelimiter::None); +} + +class facebook::react::CallInvoker { + public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept = 0; + public virtual void invokeAsync(facebook::react::SchedulerPriority, facebook::react::CallFunc&& func) noexcept; + public virtual void invokeAsync(std::function&& func) noexcept; + public virtual void invokeSync(facebook::react::CallFunc&& func) = 0; + public virtual void invokeSync(std::function&& func); + public virtual ~CallInvoker() = default; +} + +class facebook::react::CallInvokerHolder : public jni::HybridClass { + public static constexpr auto kJavaDescriptor; + public std::shared_ptr getCallInvoker(); +} + +class facebook::react::CallbackWrapper : public facebook::react::LongLivedObject { + public facebook::jsi::Function& callback() noexcept; + public facebook::jsi::Runtime& runtime() noexcept; + public facebook::react::CallInvoker& jsInvoker() noexcept; + public static std::weak_ptr createWeak(facebook::jsi::Function&& callback, facebook::jsi::Runtime& runtime, std::shared_ptr jsInvoker); + public std::shared_ptr jsInvokerPtr() noexcept; + public void destroy(); +} + +class facebook::react::CdpMetricsReporter : public facebook::react::PerformanceEntryReporterEventListener { + public CdpMetricsReporter(facebook::react::RuntimeExecutor runtimeExecutor); + public virtual void onEventTimingEntry(const facebook::react::PerformanceEventTiming& entry) override; +} + +class facebook::react::CdpPerfIssuesReporter : public facebook::react::PerformanceEntryReporterEventListener { + public CdpPerfIssuesReporter(facebook::react::RuntimeExecutor runtimeExecutor); + public virtual void onMeasureEntry(const facebook::react::PerformanceMeasure& entry, const std::optional& detailProvider) override; +} + +class facebook::react::ColorAnimatedNode : public facebook::react::AnimatedNode { + public ColorAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public facebook::react::Color getColor(); + public virtual void update() override; +} + +class facebook::react::ComponentBuilder { + public ComponentBuilder(const facebook::react::ComponentBuilder& componentBuilder) = default; + public ComponentBuilder(facebook::react::ComponentBuilder&& componentBuilder) noexcept = default; + public ComponentBuilder(facebook::react::ComponentDescriptorRegistry::Shared componentDescriptorRegistry); + public facebook::react::ComponentBuilder& operator=(const facebook::react::ComponentBuilder& other) = default; + public facebook::react::ComponentBuilder& operator=(facebook::react::ComponentBuilder&& other) = default; + template + public std::shared_ptr build(facebook::react::Element element) const; +} + +class facebook::react::ComponentDescriptor { + protected facebook::react::ComponentDescriptor::Flavor flavor_; + protected facebook::react::EventDispatcher::Weak eventDispatcher_; + protected facebook::react::RawPropsParser rawPropsParser_; + protected friend ShadowNode; + protected std::shared_ptr contextContainer_; + protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const = 0; + public ComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public const std::shared_ptr& getContextContainer() const; + public using Flavor = std::shared_ptr; + public using Shared = std::shared_ptr; + public using Unique = std::unique_ptr; + public virtual facebook::react::ComponentHandle getComponentHandle() const = 0; + public virtual facebook::react::ComponentName getComponentName() const = 0; + public virtual facebook::react::Props::Shared cloneProps(const facebook::react::PropsParserContext& context, const facebook::react::Props::Shared& props, facebook::react::RawProps rawProps) const = 0; + public virtual facebook::react::ShadowNodeFamily::Shared createFamily(const facebook::react::ShadowNodeFamilyFragment& fragment) const = 0; + public virtual facebook::react::ShadowNodeTraits getTraits() const = 0; + public virtual facebook::react::State::Shared createInitialState(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family) const = 0; + public virtual facebook::react::State::Shared createState(const facebook::react::ShadowNodeFamily& family, const facebook::react::StateData::Shared& data) const = 0; + public virtual std::shared_ptr cloneShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) const = 0; + public virtual std::shared_ptr createShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family) const = 0; + public virtual void appendChild(const std::shared_ptr& parentShadowNode, const std::shared_ptr& childShadowNode) const = 0; + public virtual ~ComponentDescriptor() = default; +} + +class facebook::react::ComponentDescriptorParameters { + public facebook::react::ComponentDescriptor::Flavor flavor; + public facebook::react::EventDispatcher::Weak eventDispatcher; + public std::shared_ptr contextContainer; +} + +class facebook::react::ComponentDescriptorProvider { + public facebook::react::ComponentDescriptor::Flavor flavor; + public facebook::react::ComponentDescriptorConstructor* constructor; + public facebook::react::ComponentHandle handle; + public facebook::react::ComponentName name; +} + +class facebook::react::ComponentDescriptorProviderRegistry { + public facebook::react::ComponentDescriptorRegistry::Shared createComponentDescriptorRegistry(const facebook::react::ComponentDescriptorParameters& parameters) const; + public void add(const facebook::react::ComponentDescriptorProvider& provider) const; + public void setComponentDescriptorProviderRequest(facebook::react::ComponentDescriptorProviderRequest request) const; +} + +class facebook::react::ComponentDescriptorRegistry { + public ComponentDescriptorRegistry(facebook::react::ComponentDescriptorParameters parameters, const facebook::react::ComponentDescriptorProviderRegistry& providerRegistry, std::shared_ptr contextContainer); + public bool hasComponentDescriptorAt(facebook::react::ComponentHandle componentHandle) const; + public const facebook::react::ComponentDescriptor& at(const std::string& componentName) const; + public const facebook::react::ComponentDescriptor& at(facebook::react::ComponentHandle componentHandle) const; + public const facebook::react::ComponentDescriptor* findComponentDescriptorByHandle_DO_NOT_USE_THIS_IS_BROKEN(facebook::react::ComponentHandle componentHandle) const; + public facebook::react::ComponentDescriptor::Shared getFallbackComponentDescriptor() const; + public using Shared = std::shared_ptr; + public void setFallbackComponentDescriptor(const facebook::react::SharedComponentDescriptor& descriptor); +} + +class facebook::react::ComponentFactory : public jni::HybridClass { + public facebook::react::ComponentRegistryFactory buildRegistryFunction; + public static constexpr char* const kJavaDescriptor; + public static void registerNatives(); +} + +class facebook::react::ComponentNameResolverBinding : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; + public static void install(jni::alias_ref, jni::alias_ref runtimeExecutor, jni::alias_ref componentNameResolver); + public static void registerNatives(); +} + +class facebook::react::ConstantsForViewManagerProvider : public facebook::jni::JavaClass { + public folly::dynamic getConstantsForViewManager(const std::string& viewManagerName) const; + public static constexpr char* kJavaDescriptor; +} + +class facebook::react::ConstantsProvider : public facebook::jni::JavaClass { + public folly::dynamic getConstants() const; + public static constexpr char* kJavaDescriptor; +} + +class facebook::react::ContextContainer { + public void erase(const std::string& key) const; + public void update(const facebook::react::ContextContainer& contextContainer) const; + template + public T at(const std::string& key) const; + template + public std::optional find(const std::string& key) const; + template + public void insert(const std::string& key, const T& instance) const; +} + +class facebook::react::CxxNativeModule : public facebook::react::NativeModule { + public CxxNativeModule(std::weak_ptr instance, std::string name, facebook::xplat::module::CxxModule::Provider provider, std::shared_ptr messageQueueThread); + public static void setShouldWarnOnUse(bool value); + public virtual facebook::react::MethodCallResult callSerializableNativeHook(unsigned int hookId, folly::dynamic&& args) override; + public virtual folly::dynamic getConstants() override; + public virtual std::string getName() override; + public virtual std::string getSyncMethodName(unsigned int methodId) override; + public virtual std::vector getMethods() override; + public virtual void invoke(unsigned int reactMethodId, folly::dynamic&& params, int callId) override; +} + +class facebook::react::CxxReactPackage : public jni::HybridClass { + public static constexpr auto kJavaDescriptor; + public virtual std::shared_ptr getModule(const std::string& name, const std::shared_ptr& jsInvoker) = 0; +} + +class facebook::react::DebugStringConvertible { +} + +class facebook::react::DebuggingOverlayEventEmitter : public facebook::react::BaseViewEventEmitter { +} + +class facebook::react::DebuggingOverlayProps : public facebook::react::HostPlatformViewProps { + public DebuggingOverlayProps() = default; + public DebuggingOverlayProps(const facebook::react::PropsParserContext& context, const facebook::react::DebuggingOverlayProps& sourceProps, const facebook::react::RawProps& rawProps); + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::DecayAnimationDriver : public facebook::react::AnimationDriver { + protected virtual bool update(double timeDeltaMs, bool restarting) override; + public DecayAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); +} + +class facebook::react::DefaultComponentsRegistry : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; + public static std::function)> registerCodegenComponentDescriptorsFromEntryPoint; + public static std::function)> registerComponentDescriptorsFromEntryPoint; + public static void registerNatives(); +} + +class facebook::react::DefaultEventTypesProvider : public facebook::jni::JavaClass { + public folly::dynamic getDefaultEventTypes() const; + public static constexpr char* kJavaDescriptor; +} + +class facebook::react::DefaultTurboModuleManagerDelegate : public jni::HybridClass { + public static constexpr auto kJavaDescriptor; + public static jni::local_ref initHybrid(jni::alias_ref, jni::alias_ref::javaobject>); + public static std::function(const std::string&, const facebook::react::JavaTurboModule::InitParams&)> javaModuleProvider; + public static std::function(const std::string&, const std::shared_ptr&)> cxxModuleProvider; + public static void registerNatives(); + public std::shared_ptr getTurboModule(const std::string& name, const facebook::react::JavaTurboModule::InitParams& params) override; + public std::shared_ptr getTurboModule(const std::string& name, const std::shared_ptr& jsInvoker) override; +} + +class facebook::react::DevToolsRuntimeSettings { + public DevToolsRuntimeSettings(const facebook::react::DevToolsRuntimeSettings&) = delete; + public DevToolsRuntimeSettings(facebook::react::DevToolsRuntimeSettings&&) = delete; + public facebook::react::NativeReloadAndProfileConfig getReloadAndProfileConfig() const; + public static facebook::react::DevToolsRuntimeSettings& getInstance(); + public void operator=(const facebook::react::DevToolsRuntimeSettings&) = delete; + public void operator=(facebook::react::DevToolsRuntimeSettings&&) = delete; + public void setReloadAndProfileConfig(facebook::react::NativePartialReloadAndProfileConfig config); + public ~DevToolsRuntimeSettings() = default; +} + +class facebook::react::DevToolsRuntimeSettingsModule : public facebook::react::NativeReactDevToolsRuntimeSettingsModuleCxxSpec { + public DevToolsRuntimeSettingsModule(std::shared_ptr jsInvoker); + public facebook::react::NativeReloadAndProfileConfig getReloadAndProfileConfig(facebook::jsi::Runtime& rt); + public void setReloadAndProfileConfig(facebook::jsi::Runtime& rt, facebook::react::NativePartialReloadAndProfileConfig config); +} + +class facebook::react::DiffClampAnimatedNode : public facebook::react::ValueAnimatedNode { + public DiffClampAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::DivisionAnimatedNode : public facebook::react::OperatorAnimatedNode { + public DivisionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::ElementFragment { + public facebook::react::ComponentHandle componentHandle; + public facebook::react::ComponentName componentName; + public facebook::react::ElementFragment::FinalizeCallback finalizeCallback; + public facebook::react::ElementFragment::List children; + public facebook::react::ElementFragment::ReferenceCallback referenceCallback; + public facebook::react::ElementFragment::StateCallback stateCallback; + public facebook::react::Props::Shared props; + public facebook::react::SurfaceId surfaceId; + public facebook::react::Tag tag; + public using FinalizeCallback = std::function; + public using List = std::vector; + public using ListOfShared = std::vector; + public using ReferenceCallback = std::function& shadowNode)>; + public using Shared = std::shared_ptr; + public using StateCallback = std::function; +} + +class facebook::react::Error { + public Error(const char* message); + public Error(std::string message); + public const std::string& message() const; +} + +class facebook::react::EventAnimationDriver { + protected const facebook::react::Tag animatedValueTag_; + protected std::vector eventPath_; + public EventAnimationDriver(const std::vector& eventPath, facebook::react::Tag animatedValueTag); + public facebook::react::Tag getAnimatedNodeTag() const; + public std::optional getValueFromPayload(const facebook::react::EventPayload& eventPayload); + public ~EventAnimationDriver() = default; +} + +class facebook::react::EventBeat { + protected facebook::react::EventBeat::BeatCallback beatCallback_; + protected mutable std::atomic isEventBeatRequested_; + protected std::function induceCallback_; + protected std::shared_ptr ownerBox_; + protected void induce() const; + public EventBeat(const facebook::react::EventBeat& other) = delete; + public EventBeat(std::shared_ptr ownerBox, facebook::react::RuntimeScheduler& runtimeScheduler); + public facebook::react::EventBeat& operator=(const facebook::react::EventBeat& other) = delete; + public using BeatCallback = std::function; + public using Factory = std::function(std::shared_ptr ownerBox)>; + public virtual void request() const; + public virtual void requestSynchronous() const; + public virtual ~EventBeat() = default; + public void setBeatCallback(facebook::react::EventBeat::BeatCallback beatCallback); + public void unstable_setInduceCallback(std::function callback); +} + +struct facebook::react::EventBeat::OwnerBox { + public std::weak_ptr owner; +} + +class facebook::react::EventBeatManager : public jni::HybridClass { + public static constexpr char* const kJavaDescriptor; + public static void registerNatives(); + public void addObserver(const facebook::react::EventBeatManagerObserver& observer) const; + public void removeObserver(const facebook::react::EventBeatManagerObserver& observer) const; +} + +class facebook::react::EventBeatManagerObserver { + public virtual void tick() const = 0; + public virtual ~EventBeatManagerObserver() noexcept = default; +} + +class facebook::react::EventDispatcher { + public EventDispatcher(const facebook::react::EventQueueProcessor& eventProcessor, std::unique_ptr eventBeat, facebook::react::StatePipe statePipe, std::weak_ptr eventLogger); + public using Shared = std::shared_ptr; + public using Weak = std::weak_ptr; + public void addListener(std::shared_ptr listener) const; + public void dispatchEvent(facebook::react::RawEvent&& rawEvent) const; + public void dispatchStateUpdate(facebook::react::StateUpdate&& stateUpdate, facebook::react::EventQueue::UpdateMode updateMode) const; + public void dispatchUniqueEvent(facebook::react::RawEvent&& rawEvent) const; + public void experimental_flushSync() const; + public void removeListener(const std::shared_ptr& listener) const; +} + +class facebook::react::EventEmitter { + public EventEmitter(facebook::react::SharedEventTarget eventTarget, facebook::react::EventDispatcher::Weak eventDispatcher); + public const facebook::react::SharedEventTarget& getEventTarget() const; + public static facebook::react::ValueFactory defaultPayloadFactory(); + public static std::mutex& DispatchMutex(); + public static std::string normalizeEventType(std::string type); + public using Shared = std::shared_ptr; + public virtual ~EventEmitter() = default; + public void dispatchEvent(std::string type, const facebook::react::ValueFactory& payloadFactory = facebook::react::EventEmitter::defaultPayloadFactory(), facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified) const; + public void dispatchEvent(std::string type, const facebook::react::ValueFactory& payloadFactory, facebook::react::RawEvent::Category category, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified) const; + public void dispatchEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::RawEvent::Category category, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchEvent(std::string type, folly::dynamic&& payload, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified) const; + public void dispatchEvent(std::string type, folly::dynamic&& payload, facebook::react::RawEvent::Category category, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, const facebook::react::ValueFactory& payloadFactory = facebook::react::EventEmitter::defaultPayloadFactory()) const; + public void dispatchUniqueEvent(std::string type, const facebook::react::ValueFactory& payloadFactory, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload) const; + public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload) const; + public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void setEnabled(bool enabled); + public void setShadowNodeFamily(std::weak_ptr shadowNodeFamily); + template + public void experimental_flushSync(Lambda syncFunc) const; +} + +class facebook::react::EventEmitterWrapper : public jni::HybridClass { + public EventEmitterWrapper(facebook::react::SharedEventEmitter eventEmitter); + public facebook::react::SharedEventEmitter eventEmitter; + public static constexpr char* const kJavaDescriptor; + public static void registerNatives(); + public void dispatchEvent(std::string eventName, facebook::react::NativeMap* payload, int category, jlong eventTimestamp); + public void dispatchEventSynchronously(std::string eventName, facebook::react::NativeMap* params, jlong eventTimestamp); + public void dispatchUniqueEvent(std::string eventName, facebook::react::NativeMap* payload, jlong eventTimestamp); +} + +class facebook::react::EventListenerContainer { + public bool willDispatchEvent(const facebook::react::RawEvent& event); + public void addListener(std::shared_ptr listener); + public void removeListener(const std::shared_ptr& listener); +} + +class facebook::react::EventLogger { + public virtual facebook::react::EventTag onEventStart(std::string_view name, facebook::react::SharedEventTarget target, std::optional eventStartTimeStamp = std::nullopt) = 0; + public virtual void onEventProcessingEnd(facebook::react::EventTag tag) = 0; + public virtual void onEventProcessingStart(facebook::react::EventTag tag) = 0; + public virtual ~EventLogger() = default; +} + +class facebook::react::EventPerformanceLogger : public facebook::react::EventLogger, public facebook::react::RuntimeSchedulerEventTimingDelegate, public facebook::react::UIManagerMountHook { + public EventPerformanceLogger(std::weak_ptr performanceEntryReporter); + public virtual facebook::react::EventTag onEventStart(std::string_view name, facebook::react::SharedEventTarget target, std::optional eventStartTimeStamp = std::nullopt) override; + public virtual void dispatchPendingEventTimingEntries(facebook::react::HighResTimeStamp taskEndTime, const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) override; + public virtual void onEventProcessingEnd(facebook::react::EventTag tag) override; + public virtual void onEventProcessingStart(facebook::react::EventTag tag) override; + public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp mountTime) noexcept override; +} + +class facebook::react::EventQueue { + protected const std::unique_ptr eventBeat_; + protected facebook::react::EventQueueProcessor eventProcessor_; + protected mutable std::mutex queueMutex_; + protected mutable std::vector eventQueue_; + protected mutable std::vector stateUpdateQueue_; + protected void flushEvents(facebook::jsi::Runtime& runtime) const; + protected void flushStateUpdates() const; + protected void onBeat(facebook::jsi::Runtime& runtime) const; + protected void onEnqueue() const; + public EventQueue(facebook::react::EventQueueProcessor eventProcessor, std::unique_ptr eventBeat); + public void enqueueEvent(facebook::react::RawEvent&& rawEvent) const; + public void enqueueStateUpdate(facebook::react::StateUpdate&& stateUpdate, facebook::react::EventQueue::UpdateMode updateMode = facebook::react::EventQueue::UpdateMode::Asynchronous) const; + public void enqueueUniqueEvent(facebook::react::RawEvent&& rawEvent) const; + public void experimental_flushSync() const; +} + +enum facebook::react::EventQueue::UpdateMode { + Asynchronous, + unstable_Immediate, +} + +class facebook::react::EventQueueProcessor { + public EventQueueProcessor(facebook::react::EventPipe eventPipe, facebook::react::EventPipeConclusion eventPipeConclusion, facebook::react::StatePipe statePipe, std::weak_ptr eventLogger); + public void flushEvents(facebook::jsi::Runtime& runtime, std::vector&& events) const; + public void flushStateUpdates(std::vector&& states) const; +} + +class facebook::react::EventSubscription { + public EventSubscription(const facebook::react::EventSubscription&) = delete; + public EventSubscription(facebook::react::EventSubscription&&) noexcept = default; + public EventSubscription(std::function remove); + public facebook::react::EventSubscription& operator=(const facebook::react::EventSubscription&) = delete; + public facebook::react::EventSubscription& operator=(facebook::react::EventSubscription&&) noexcept = default; + public void remove(); + public ~EventSubscription() = default; +} + +class facebook::react::EventTarget { + public EventTarget(facebook::react::InstanceHandle::Shared instanceHandle, facebook::react::SurfaceId surfaceId); + public facebook::jsi::Value getInstanceHandle(facebook::jsi::Runtime& runtime) const; + public facebook::react::EventTarget::Tag getTag() const; + public facebook::react::SurfaceId getSurfaceId() const; + public using Tag = int32_t; + public void release(facebook::jsi::Runtime& runtime); + public void retain(facebook::jsi::Runtime& runtime); + public void setEnabled(bool enabled); +} + +class facebook::react::ExecutorDelegate { + public virtual facebook::react::MethodCallResult callSerializableNativeHook(facebook::react::JSExecutor& executor, unsigned int moduleId, unsigned int methodId, folly::dynamic&& args) = 0; + public virtual std::shared_ptr getModuleRegistry() = 0; + public virtual void callNativeModules(facebook::react::JSExecutor& executor, folly::dynamic&& calls, bool isEndOfBatch) = 0; + public virtual ~ExecutorDelegate() = default; +} + +class facebook::react::FabricMountingManager { + public FabricMountingManager(const facebook::react::FabricMountingManager&) = delete; + public FabricMountingManager(jni::global_ref& javaUIManager); + public void destroyUnmountedShadowNode(const facebook::react::ShadowNodeFamily& family); + public void dispatchCommand(const facebook::react::ShadowView& shadowView, const std::string& commandName, const folly::dynamic& args); + public void drainPreallocateViewsQueue(); + public void executeMount(const facebook::react::MountingTransaction& transaction); + public void maybePreallocateShadowNode(const facebook::react::ShadowNode& shadowNode); + public void onAllAnimationsComplete(); + public void onAnimationStarted(); + public void onSurfaceStart(facebook::react::SurfaceId surfaceId); + public void onSurfaceStop(facebook::react::SurfaceId surfaceId); + public void scheduleReactRevisionMerge(facebook::react::SurfaceId surfaceId); + public void sendAccessibilityEvent(const facebook::react::ShadowView& shadowView, const std::string& eventType); + public void setIsJSResponder(const facebook::react::ShadowView& shadowView, bool isJSResponder, bool blockNativeResponder); + public void synchronouslyUpdateViewOnUIThread(facebook::react::Tag viewTag, const folly::dynamic& props); + public ~FabricMountingManager(); +} + +class facebook::react::FabricUIManagerBinding : public jni::HybridClass, public facebook::react::SchedulerDelegate, public facebook::react::LayoutAnimationStatusDelegate { + public static constexpr char* const kJavaDescriptor; + public static void registerNatives(); + public std::shared_ptr getScheduler(); +} + +class facebook::react::FocusOrderingHelper { + public static std::optional resolveFocusDirection(int direction); + public static std::shared_ptr findShadowNodeByTagRecursively(const std::shared_ptr& parentShadowNode, facebook::react::Tag tag); + public static void traverseAndUpdateNextFocusableElement(const std::shared_ptr& parentShadowNode, const std::shared_ptr& focusedShadowNode, const std::shared_ptr& currNode, facebook::react::FocusDirection focusDirection, const facebook::react::UIManager& uimanager, facebook::react::Rect sourceRect, std::optional& nextRect, std::shared_ptr& nextNode); +} + +class facebook::react::FrameAnimationDriver : public facebook::react::AnimationDriver { + protected virtual bool update(double timeDeltaMs, bool restarting) override; + protected virtual void updateConfig(folly::dynamic config) override; + public FrameAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); +} + +class facebook::react::FuseboxTracer { + public FuseboxTracer(const facebook::react::FuseboxTracer&) = delete; + public bool isTracing(); + public bool startTracing(); + public bool stopTracing(const std::function& resultCallback); + public bool stopTracingAndWriteToFile(const std::string& path); + public static facebook::react::FuseboxTracer& getFuseboxTracer(); + public void addEvent(const std::string_view& name, uint64_t start, uint64_t end, const std::optional& track); +} + +class facebook::react::HermesExecutor : public facebook::react::JSIExecutor { + public HermesExecutor(std::shared_ptr runtime, std::shared_ptr delegate, std::shared_ptr jsQueue, const facebook::react::JSIScopedTimeoutInvoker& timeoutInvoker, facebook::react::JSIExecutor::RuntimeInstaller runtimeInstaller, hermes::HermesRuntime& hermesRuntime); + public virtual facebook::react::jsinspector_modern::RuntimeTargetDelegate& getRuntimeTargetDelegate() override; +} + +class facebook::react::HermesExecutorFactory : public facebook::react::JSExecutorFactory { + public HermesExecutorFactory(facebook::react::JSIExecutor::RuntimeInstaller runtimeInstaller, const facebook::react::JSIScopedTimeoutInvoker& timeoutInvoker = facebook::react::JSIExecutor::defaultTimeoutInvoker, hermes::vm::RuntimeConfig runtimeConfig = defaultRuntimeConfig()); + public virtual std::unique_ptr createJSExecutor(std::shared_ptr delegate, std::shared_ptr jsQueue) override; + public void setDebuggerName(const std::string& debuggerName); + public void setEnableDebugger(bool enableDebugger); +} + +class facebook::react::HermesInstance { + public static std::unique_ptr createJSRuntime(std::shared_ptr crashManager, std::shared_ptr msgQueueThread, bool allocInOldGenBeforeTTI) noexcept; +} + +class facebook::react::HighResDuration { + public constexpr HighResDuration(); + public constexpr bool operator!=(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator!=(const std::chrono::steady_clock::duration& rhs) const; + public constexpr bool operator<(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator<(const std::chrono::steady_clock::duration& rhs) const; + public constexpr bool operator<=(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator<=(const std::chrono::steady_clock::duration& rhs) const; + public constexpr bool operator==(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator==(const std::chrono::steady_clock::duration& rhs) const; + public constexpr bool operator>(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator>(const std::chrono::steady_clock::duration& rhs) const; + public constexpr bool operator>=(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator>=(const std::chrono::steady_clock::duration& rhs) const; + public constexpr double toDOMHighResTimeStamp() const; + public constexpr facebook::react::HighResDuration operator+(const facebook::react::HighResDuration& rhs) const; + public constexpr facebook::react::HighResDuration operator+(const std::chrono::steady_clock::duration& rhs) const; + public constexpr facebook::react::HighResDuration operator-(const facebook::react::HighResDuration& rhs) const; + public constexpr facebook::react::HighResDuration operator-(const std::chrono::steady_clock::duration& rhs) const; + public constexpr facebook::react::HighResDuration& operator+=(const facebook::react::HighResDuration& rhs); + public constexpr facebook::react::HighResDuration& operator+=(const std::chrono::steady_clock::duration& rhs); + public constexpr facebook::react::HighResDuration& operator-=(const facebook::react::HighResDuration& rhs); + public constexpr facebook::react::HighResDuration& operator-=(const std::chrono::steady_clock::duration& rhs); + public constexpr int64_t toNanoseconds() const; + public constexpr operator std::chrono::steady_clock::duration() const; + public static constexpr facebook::react::HighResDuration fromChrono(std::chrono::steady_clock::duration chronoDuration); + public static constexpr facebook::react::HighResDuration fromDOMHighResTimeStamp(double units); + public static constexpr facebook::react::HighResDuration fromMilliseconds(int64_t units); + public static constexpr facebook::react::HighResDuration fromNanoseconds(int64_t units); + public static constexpr facebook::react::HighResDuration zero(); +} + +class facebook::react::HighResTimeStamp { + public HighResTimeStamp() noexcept; + public constexpr bool operator!=(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr bool operator<(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr bool operator<=(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr bool operator==(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr bool operator>(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr bool operator>=(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr double toDOMHighResTimeStamp() const; + public constexpr facebook::react::HighResTimeStamp& operator+=(const facebook::react::HighResDuration& rhs); + public constexpr facebook::react::HighResTimeStamp& operator-=(const facebook::react::HighResDuration& rhs); + public constexpr std::chrono::steady_clock::time_point toChronoSteadyClockTimePoint() const; + public static constexpr facebook::react::HighResTimeStamp fromChronoSteadyClockTimePoint(std::chrono::steady_clock::time_point chronoTimePoint); + public static constexpr facebook::react::HighResTimeStamp fromDOMHighResTimeStamp(double units); + public static constexpr facebook::react::HighResTimeStamp max() noexcept; + public static constexpr facebook::react::HighResTimeStamp min() noexcept; + public static facebook::react::HighResDuration unsafeOriginFromUnixTimeStamp() noexcept; + public static facebook::react::HighResTimeStamp now() noexcept; + public static void setTimeStampProviderForTesting(std::function&& timeStampProvider); +} + +class facebook::react::HostPlatformParagraphProps : public facebook::react::BaseParagraphProps { + public HostPlatformParagraphProps() = default; + public HostPlatformParagraphProps(const facebook::react::PropsParserContext& context, const facebook::react::HostPlatformParagraphProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool disabled; + public std::optional dataDetectorType; + public std::optional selectionColor; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::HostPlatformScrollViewProps : public facebook::react::BaseScrollViewProps { + public HostPlatformScrollViewProps() = default; + public HostPlatformScrollViewProps(const facebook::react::PropsParserContext& context, const facebook::react::HostPlatformScrollViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool nestedScrollEnabled; + public bool sendMomentumEvents; + public facebook::react::SharedColor endFillColor; + public folly::dynamic fadingEdgeLength; + public std::string overScrollMode; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::HostPlatformViewProps : public facebook::react::BaseViewProps { + public HostPlatformViewProps() = default; + public HostPlatformViewProps(const facebook::react::PropsParserContext& context, const facebook::react::HostPlatformViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public HostPlatformViewProps(const facebook::react::PropsParserContext& context, const facebook::react::HostPlatformViewProps& sourceProps, const facebook::react::RawProps& rawProps, const std::function& filterObjectKeys = nullptr); + public bool focusable; + public bool getProbablyMoreHorizontalThanVertical_DEPRECATED() const; + public bool hasTVPreferredFocus; + public bool needsOffscreenAlphaCompositing; + public bool renderToHardwareTextureAndroid; + public bool screenReaderFocusable; + public facebook::react::Float elevation; + public std::optional nativeBackground; + public std::optional nativeForeground; + public std::optional nextFocusDown; + public std::optional nextFocusForward; + public std::optional nextFocusLeft; + public std::optional nextFocusRight; + public std::optional nextFocusUp; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::IAsyncEventEmitter { + public IAsyncEventEmitter() noexcept = default; + public IAsyncEventEmitter(const facebook::react::IAsyncEventEmitter&) = delete; + public IAsyncEventEmitter(facebook::react::IAsyncEventEmitter&&) noexcept = default; + public facebook::react::IAsyncEventEmitter& operator=(const facebook::react::IAsyncEventEmitter&) = delete; + public facebook::react::IAsyncEventEmitter& operator=(facebook::react::IAsyncEventEmitter&&) noexcept = default; + public virtual facebook::jsi::Object get(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker) const = 0; + public virtual ~IAsyncEventEmitter() noexcept = default; +} + +class facebook::react::ImageComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public ImageComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); + public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; +} + +class facebook::react::ImageErrorInfo { + public int responseCode; + public std::string error; + public std::vector> httpResponseHeaders; +} + +class facebook::react::ImageEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onError(const facebook::react::ImageErrorInfo& error) const; + public void onLoad(const facebook::react::ImageSource& source) const; + public void onLoadEnd() const; + public void onLoadStart() const; + public void onPartialLoad() const; + public void onProgress(double progress, int64_t loaded, int64_t total) const; +} + +class facebook::react::ImageFetcher { + public ImageFetcher(const facebook::react::ImageFetcher&) = delete; + public ImageFetcher(facebook::react::ImageFetcher&&) = delete; + public ImageFetcher(std::shared_ptr contextContainer); + public facebook::react::ImageFetcher& operator=(const facebook::react::ImageFetcher&) = delete; + public facebook::react::ImageFetcher& operator=(facebook::react::ImageFetcher&&) = delete; + public void flushImageRequests(); + public ~ImageFetcher() = default; +} + +class facebook::react::ImageLoadError { + public ImageLoadError(std::shared_ptr error); + public std::shared_ptr getError() const; +} + +class facebook::react::ImageManager { + public ImageManager(const std::shared_ptr& contextContainer); + public virtual facebook::react::ImageRequest requestImage(const facebook::react::ImageSource& imageSource, facebook::react::SurfaceId surfaceId, const facebook::react::ImageRequestParams& imageRequestParams = {}, facebook::react::Tag tag = {}) const; + public virtual ~ImageManager(); +} + +class facebook::react::ImageProps : public facebook::react::HostPlatformViewProps { + public ImageProps() = default; + public ImageProps(const facebook::react::PropsParserContext& context, const facebook::react::ImageProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool progressiveRenderingEnabled; + public bool shouldNotifyLoadEvents; + public facebook::react::EdgeInsets capInsets; + public facebook::react::Float blurRadius; + public facebook::react::Float fadeDuration; + public facebook::react::Float resizeMultiplier; + public facebook::react::ImageResizeMode resizeMode; + public facebook::react::ImageSource defaultSource; + public facebook::react::ImageSource loadingIndicatorSource; + public facebook::react::ImageSources sources; + public facebook::react::SharedColor overlayColor; + public facebook::react::SharedColor tintColor; + public std::string internal_analyticTag; + public std::string resizeMethod; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::ImageRequest { + public ImageRequest(const facebook::react::ImageRequest& other) = delete; + public ImageRequest(facebook::react::ImageRequest&& other) noexcept = default; + public ImageRequest(facebook::react::ImageSource imageSource, std::shared_ptr telemetry, facebook::react::SharedFunction<> resumeFunction = {}, facebook::react::SharedFunction<> cancelationFunction = {}); + public const facebook::react::ImageResponseObserverCoordinator& getObserverCoordinator() const; + public const facebook::react::ImageSource& getImageSource() const; + public const std::shared_ptr& getSharedObserverCoordinator() const; + public const std::shared_ptr& getSharedTelemetry() const; + public facebook::react::ImageRequest& operator=(const facebook::react::ImageRequest& other) = delete; + public facebook::react::ImageRequest& operator=(facebook::react::ImageRequest&& other) noexcept = default; + public ~ImageRequest() = default; +} + +class facebook::react::ImageRequestParams { + public ImageRequestParams() = default; + public ImageRequestParams(facebook::react::Float blurRadius, facebook::react::ImageSource defaultSource, facebook::react::ImageResizeMode resizeMode, std::string resizeMethod, facebook::react::Float resizeMultiplier, bool shouldNotifyLoadEvents, facebook::react::SharedColor overlayColor, facebook::react::SharedColor tintColor, facebook::react::Float fadeDuration, bool progressiveRenderingEnabled, facebook::react::ImageSource loadingIndicatorSource, std::string analyticTag, facebook::react::Size size); + public bool operator==(const facebook::react::ImageRequestParams& rhs) const = default; + public bool progressiveRenderingEnabled; + public bool shouldNotifyLoadEvents; + public facebook::react::Float blurRadius; + public facebook::react::Float fadeDuration; + public facebook::react::Float resizeMultiplier; + public facebook::react::ImageResizeMode resizeMode; + public facebook::react::ImageSource defaultSource; + public facebook::react::ImageSource loadingIndicatorSource; + public facebook::react::SharedColor overlayColor; + public facebook::react::SharedColor tintColor; + public facebook::react::Size size; + public std::string analyticTag; + public std::string resizeMethod; +} + +class facebook::react::ImageResponse { + public ImageResponse(std::shared_ptr image, std::shared_ptr metadata); + public std::shared_ptr getImage() const; + public std::shared_ptr getMetadata() const; +} + +enum facebook::react::ImageResponse::Status { + Cancelled, + Completed, + Consumed, + Failed, + Loading, +} + +class facebook::react::ImageResponseObserver { + public virtual void didReceiveFailure(const facebook::react::ImageLoadError& error) const = 0; + public virtual void didReceiveImage(const facebook::react::ImageResponse& imageResponse) const = 0; + public virtual void didReceiveProgress(float progress, int64_t loaded, int64_t total) const = 0; + public virtual ~ImageResponseObserver() noexcept = default; +} + +class facebook::react::ImageResponseObserverCoordinator { + public ImageResponseObserverCoordinator(facebook::react::SharedFunction<> resumeFunction, facebook::react::SharedFunction<> cancelationFunction); + public void addObserver(std::shared_ptr observer) const; + public void nativeImageResponseComplete(const facebook::react::ImageResponse& imageResponse) const; + public void nativeImageResponseFailed(const facebook::react::ImageLoadError& loadError) const; + public void nativeImageResponseProgress(float progress, int64_t loaded, int64_t total) const; + public void removeObserver(const std::shared_ptr& observer) const; +} + +class facebook::react::ImageShadowNode : public facebook::react::ConcreteViewShadowNode { + public ImageShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ImageShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ImageState initialStateData(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared&, const facebook::react::ComponentDescriptor& componentDescriptor); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public virtual void layout(facebook::react::LayoutContext layoutContext) override; + public void setImageManager(const std::shared_ptr& imageManager); +} + +class facebook::react::ImageSource { + public bool operator==(const facebook::react::ImageSource& rhs) const; + public facebook::react::Float scale; + public facebook::react::ImageSource::CacheStategy cache; + public facebook::react::ImageSource::Type type; + public facebook::react::Size size; + public folly::dynamic toDynamic() const; + public std::string body; + public std::string bundle; + public std::string method; + public std::string uri; + public std::vector> headers; +} + +enum facebook::react::ImageSource::CacheStategy { + Default, + ForceCache, + OnlyIfCached, + Reload, +} + +enum facebook::react::ImageSource::Type { + Invalid, + Local, + Remote, +} + +class facebook::react::ImageState { + public ImageState(const facebook::react::ImageSource& imageSource, facebook::react::ImageRequest imageRequest, const facebook::react::ImageRequestParams& imageRequestParams); + public ImageState(const facebook::react::ImageState& previousState, folly::dynamic data); + public const facebook::react::ImageRequest& getImageRequest() const; + public const facebook::react::ImageRequestParams& getImageRequestParams() const; + public facebook::react::ImageSource getImageSource() const; + public folly::dynamic getDynamic() const; +} + +class facebook::react::ImageTelemetry { + public ImageTelemetry(const facebook::react::SurfaceId surfaceId); + public facebook::react::SurfaceId getSurfaceId() const; + public facebook::react::TelemetryTimePoint getWillRequestUrlTime() const; +} + +class facebook::react::InputAccessoryComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public InputAccessoryComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; +} + +class facebook::react::InputAccessoryEventEmitter : public facebook::react::BaseViewEventEmitter { +} + +class facebook::react::InputAccessoryProps : public facebook::react::HostPlatformViewProps { + public InputAccessoryProps() = default; + public InputAccessoryProps(const facebook::react::PropsParserContext& context, const facebook::react::InputAccessoryProps& sourceProps, const facebook::react::RawProps& rawProps); + public facebook::react::SharedColor backgroundColor; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::InputAccessoryShadowNode : public facebook::react::ConcreteViewShadowNode { + public InputAccessoryShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public InputAccessoryShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); +} + +class facebook::react::InputAccessoryState { + public InputAccessoryState(); + public InputAccessoryState(facebook::react::Size viewportSize_); + public const facebook::react::Size viewportSize; +} + +class facebook::react::InspectorNetworkRequestListener : public jni::HybridClass { + public static constexpr auto kJavaDescriptor; + public static void registerNatives(); + public void onCompletion(); + public void onData(jni::alias_ref data); + public void onError(jni::alias_ref message); + public void onHeaders(jint httpStatusCode, jni::alias_ref> headers); +} + +class facebook::react::Instance { + public bool isBatchActive(); + public bool isInspectable(); + public bool supportsProfiling(); + public const facebook::react::ModuleRegistry& getModuleRegistry() const; + public facebook::react::ModuleRegistry& getModuleRegistry(); + public facebook::react::RuntimeExecutor getRuntimeExecutor(); + public std::shared_ptr getJSCallInvoker(); + public std::shared_ptr getDecoratedNativeMethodCallInvoker(std::shared_ptr nativeMethodCallInvoker); + public void callJSCallback(uint64_t callbackId, folly::dynamic&& params); + public void callJSFunction(std::string&& module, std::string&& method, folly::dynamic&& params); + public void handleMemoryPressure(int pressureLevel); + public void initializeBridge(std::unique_ptr callback, std::shared_ptr jsef, std::shared_ptr jsQueue, std::shared_ptr moduleRegistry, facebook::react::jsinspector_modern::HostTarget* inspectorTarget = nullptr); + public void initializeRuntime(); + public void loadRAMBundle(std::unique_ptr bundleRegistry, std::unique_ptr startupScript, std::string startupScriptSourceURL, bool loadSynchronously); + public void loadRAMBundleFromFile(const std::string& sourcePath, const std::string& sourceURL, bool loadSynchronously); + public void loadRAMBundleFromString(std::unique_ptr script, const std::string& sourceURL); + public void loadScriptFromString(std::unique_ptr string, std::string sourceURL, bool loadSynchronously); + public void registerBundle(uint32_t bundleId, const std::string& bundlePath); + public void setGlobalVariable(std::string propName, std::unique_ptr jsonValue); + public void setSourceURL(std::string sourceURL); + public void unregisterFromInspector(); + public void* getJavaScriptContext(); + public ~Instance() override; +} + +class facebook::react::InstanceHandle { + public InstanceHandle(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& instanceHandle, facebook::react::Tag tag); + public facebook::jsi::Value getInstanceHandle(facebook::jsi::Runtime& runtime) const; + public facebook::react::Tag getTag() const; + public using Shared = std::shared_ptr; +} + +class facebook::react::InterpolationAnimatedNode : public facebook::react::ValueAnimatedNode { + public InterpolationAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void onAttachToNode(facebook::react::Tag animatedNodeTag) override; + public virtual void onDetachedFromNode(facebook::react::Tag animatedNodeTag) override; + public virtual void update() override; +} + +class facebook::react::IntersectionObserver { + public IntersectionObserver(facebook::react::IntersectionObserverObserverId intersectionObserverId, std::optional observationRootShadowNodeFamily, facebook::react::ShadowNodeFamily::Shared targetShadowNodeFamily, std::vector thresholds, std::optional> rootThresholds, std::vector rootMargins); + public facebook::react::IntersectionObserverObserverId getIntersectionObserverId() const; + public facebook::react::ShadowNodeFamily::Shared getTargetShadowNodeFamily() const; + public std::optional updateIntersectionObservation(const facebook::react::RootShadowNode& rootShadowNode, facebook::react::HighResTimeStamp time); + public std::optional updateIntersectionObservationForSurfaceUnmount(facebook::react::HighResTimeStamp time); + public std::vector getThresholds() const; +} + +class facebook::react::IntersectionObserverManager : public facebook::react::UIManagerMountHook, public facebook::react::RuntimeSchedulerIntersectionObserverDelegate { + public IntersectionObserverManager(); + public std::vector takeRecords(); + public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp time) noexcept override; + public virtual void shadowTreeDidUnmount(facebook::react::SurfaceId surfaceId, facebook::react::HighResTimeStamp time) noexcept override; + public virtual void updateIntersectionObservations(const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) override; + public void connect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager, std::function notifyIntersectionObserversCallback); + public void disconnect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager); + public void observe(facebook::react::IntersectionObserverObserverId intersectionObserverId, const std::optional& observationRootShadowNode, const facebook::react::ShadowNodeFamily::Shared& shadowNode, std::vector thresholds, std::optional> rootThresholds, std::optional rootMargin, const facebook::react::UIManager& uiManager); + public void unobserve(facebook::react::IntersectionObserverObserverId intersectionObserverId, const facebook::react::ShadowNodeFamily::Shared& shadowNode); +} + +class facebook::react::IntersectionObserverState { + public bool isIntersecting() const; + public bool operator==(const facebook::react::IntersectionObserverState& other) const; + public static facebook::react::IntersectionObserverState Initial(); + public static facebook::react::IntersectionObserverState Intersecting(facebook::react::Float threshold); + public static facebook::react::IntersectionObserverState Intersecting(facebook::react::Float threshold, facebook::react::Float rootThreshold); + public static facebook::react::IntersectionObserverState NotIntersecting(); +} + +class facebook::react::JAnimationBackendChoreographer : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; + public void pause() const; + public void resume() const; +} + +class facebook::react::JBindingsInstaller : public jni::HybridClass, public facebook::react::BindingsInstaller { + public static constexpr auto kJavaDescriptor; + public ~JBindingsInstaller(); +} + +class facebook::react::JCxxCallbackImpl : public jni::HybridClass { + public static constexpr auto kJavaDescriptor; + public static void registerNatives(); +} + +class facebook::react::JDynamicNative : public jni::HybridClass { + public JDynamicNative(folly::dynamic payload); + public static constexpr auto kJavaDescriptor; + public static void registerNatives(); +} + +class facebook::react::JFabricUIManager : public facebook::jni::JavaClass { + public facebook::react::FabricUIManagerBinding* getBinding(); + public static constexpr auto kJavaDescriptor; +} + +class facebook::react::JHermesInstance : public jni::HybridClass { + public JHermesInstance(bool allocInOldGenBeforeTTI); + public static constexpr auto kJavaDescriptor; + public static jni::local_ref initHybrid(jni::alias_ref, bool allocInOldGenBeforeTTI); + public static void registerNatives(); + public std::unique_ptr createJSRuntime(std::shared_ptr msgQueueThread) noexcept; + public ~JHermesInstance(); +} + +class facebook::react::JJSRuntimeFactory : public jni::HybridClass, public JSRuntimeFactory { + public static constexpr auto kJavaDescriptor; +} + +class facebook::react::JJSTimerExecutor : public jni::HybridClass { + public static constexpr auto kJavaDescriptor; + public static void initHybrid(jni::alias_ref jobj); + public static void registerNatives(); + public void callTimers(facebook::react::WritableNativeArray* timerIDs); + public void setTimerManager(std::weak_ptr timerManager); +} + +class facebook::react::JMessageQueueThread : public facebook::react::MessageQueueThread { + public JMessageQueueThread(jni::alias_ref jobj); + public virtual void quitSynchronous() override; + public virtual void runOnQueue(std::function&& runnable) override; + public virtual void runOnQueueSync(std::function&& runnable) override; +} + +class facebook::react::JNativeModulePerfLogger : public jni::HybridClass { + public static constexpr auto kJavaDescriptor; + public virtual std::unique_ptr get() = 0; +} + +class facebook::react::JPreparedLayout : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; +} + +class facebook::react::JReactExceptionManager : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; + public void reportJsException(facebook::jsi::Runtime& runtime, const facebook::react::JsErrorHandler::ProcessedError& error); +} + +class facebook::react::JReactHostInspectorTarget : public jni::HybridClass, public facebook::react::jsinspector_modern::HostTargetDelegate { + public bool startBackgroundTrace(); + public facebook::react::jsinspector_modern::HostTarget* getInspectorTarget(); + public jboolean stopAndMaybeEmitBackgroundTrace(); + public jlong registerTracingStateListener(jni::alias_ref listener); + public jni::local_ref getTracingState(); + public static constexpr auto kJavaDescriptor; + public static jni::local_ref initHybrid(jni::alias_ref jobj, jni::alias_ref reactHost, jni::alias_ref javaExecutor); + public static void registerNatives(); + public virtual facebook::react::jsinspector_modern::HostTargetMetadata getMetadata() override; + public virtual facebook::react::jsinspector_modern::HostTargetTracingDelegate* getTracingDelegate() override; + public virtual void onReload(const facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest& request) override; + public virtual void onSetPausedInDebuggerMessage(const facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest& request) override; + public virtual void unstable_onPerfIssueAdded(const facebook::react::jsinspector_modern::PerfIssuePayload&) override; + public void loadNetworkResource(const facebook::react::jsinspector_modern::LoadNetworkResourceRequest& params, facebook::react::jsinspector_modern::ScopedExecutor executor) override; + public void recordFrameTimings(jni::alias_ref frameTimingSequence); + public void sendDebuggerResumeCommand(); + public void stopTracing(); + public void unregisterTracingStateListener(jlong subscriptionId); + public ~JReactHostInspectorTarget() override; +} + +class facebook::react::JReactInstance : public jni::HybridClass { + public jni::alias_ref getBufferedRuntimeExecutor() noexcept; + public jni::alias_ref getUnbufferedRuntimeExecutor() noexcept; + public jni::alias_ref getRuntimeScheduler() noexcept; + public static constexpr auto kJavaDescriptor; + public static jni::local_ref initHybrid(jni::alias_ref, jni::alias_ref jsRuntimeFactory, jni::alias_ref jsMessageQueueThread, jni::alias_ref nativeMessageQueueThread, jni::alias_ref javaTimerManager, jni::alias_ref jsTimerExecutor, jni::alias_ref jReactExceptionManager, jni::alias_ref jBindingsInstaller, bool isProfiling, jni::alias_ref jReactHostInspectorTarget); + public static void registerNatives(); + public void callFunctionOnModule(const std::string& moduleName, const std::string& methodName, facebook::react::NativeArray* args); + public void handleMemoryPressureJs(jint level); + public void loadJSBundleFromAssets(jni::alias_ref assetManager, const std::string& assetURL); + public void loadJSBundleFromFile(const std::string& fileName, const std::string& sourceURL); + public void registerSegment(int segmentId, const std::string& segmentPath) noexcept; + public void unregisterFromInspector(); +} + +class facebook::react::JReactMarker : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; + public static void registerNatives(); + public static void setLogPerfMarkerIfNeeded(); +} + +class facebook::react::JReactNativeFeatureFlagsCxxInterop : public facebook::jni::JavaClass { + public static bool cdpInteractionMetricsEnabled(facebook::jni::alias_ref); + public static bool commonTestFlag(facebook::jni::alias_ref); + public static bool cxxNativeAnimatedEnabled(facebook::jni::alias_ref); + public static bool defaultTextToOverflowHidden(facebook::jni::alias_ref); + public static bool disableEarlyViewCommandExecution(facebook::jni::alias_ref); + public static bool disableImageViewPreallocationAndroid(facebook::jni::alias_ref); + public static bool disableMountItemReorderingAndroid(facebook::jni::alias_ref); + public static bool disableSubviewClippingAndroid(facebook::jni::alias_ref); + public static bool disableTextLayoutManagerCacheAndroid(facebook::jni::alias_ref); + public static bool disableViewPreallocationAndroid(facebook::jni::alias_ref); + public static bool enableAccessibilityOrder(facebook::jni::alias_ref); + public static bool enableAccumulatedUpdatesInRawPropsAndroid(facebook::jni::alias_ref); + public static bool enableAndroidAntialiasedBorderRadiusClipping(facebook::jni::alias_ref); + public static bool enableAndroidLinearText(facebook::jni::alias_ref); + public static bool enableAndroidTextMeasurementOptimizations(facebook::jni::alias_ref); + public static bool enableBridgelessArchitecture(facebook::jni::alias_ref); + public static bool enableCppPropsIteratorSetter(facebook::jni::alias_ref); + public static bool enableCustomFocusSearchOnClippedElementsAndroid(facebook::jni::alias_ref); + public static bool enableDestroyShadowTreeRevisionAsync(facebook::jni::alias_ref); + public static bool enableDifferentiatorMutationVectorPreallocation(facebook::jni::alias_ref); + public static bool enableDoubleMeasurementFixAndroid(facebook::jni::alias_ref); + public static bool enableEagerMainQueueModulesOnIOS(facebook::jni::alias_ref); + public static bool enableEagerRootViewAttachment(facebook::jni::alias_ref); + public static bool enableExclusivePropsUpdateAndroid(facebook::jni::alias_ref); + public static bool enableFabricCommitBranching(facebook::jni::alias_ref); + public static bool enableFabricLogs(facebook::jni::alias_ref); + public static bool enableFabricRenderer(facebook::jni::alias_ref); + public static bool enableFontScaleChangesUpdatingLayout(facebook::jni::alias_ref); + public static bool enableIOSTextBaselineOffsetPerLine(facebook::jni::alias_ref); + public static bool enableIOSViewClipToPaddingBox(facebook::jni::alias_ref); + public static bool enableImagePrefetchingAndroid(facebook::jni::alias_ref); + public static bool enableImagePrefetchingJNIBatchingAndroid(facebook::jni::alias_ref); + public static bool enableImagePrefetchingOnUiThreadAndroid(facebook::jni::alias_ref); + public static bool enableImmediateUpdateModeForContentOffsetChanges(facebook::jni::alias_ref); + public static bool enableImperativeFocus(facebook::jni::alias_ref); + public static bool enableInteropViewManagerClassLookUpOptimizationIOS(facebook::jni::alias_ref); + public static bool enableIntersectionObserverByDefault(facebook::jni::alias_ref); + public static bool enableKeyEvents(facebook::jni::alias_ref); + public static bool enableLayoutAnimationsOnAndroid(facebook::jni::alias_ref); + public static bool enableLayoutAnimationsOnIOS(facebook::jni::alias_ref); + public static bool enableMainQueueCoordinatorOnIOS(facebook::jni::alias_ref); + public static bool enableModuleArgumentNSNullConversionIOS(facebook::jni::alias_ref); + public static bool enableMutationObserverByDefault(facebook::jni::alias_ref); + public static bool enableNativeCSSParsing(facebook::jni::alias_ref); + public static bool enableNativeViewPropTransformations(facebook::jni::alias_ref); + public static bool enableNetworkEventReporting(facebook::jni::alias_ref); + public static bool enablePreparedTextLayout(facebook::jni::alias_ref); + public static bool enablePropsUpdateReconciliationAndroid(facebook::jni::alias_ref); + public static bool enableSwiftUIBasedFilters(facebook::jni::alias_ref); + public static bool enableViewCulling(facebook::jni::alias_ref); + public static bool enableViewRecycling(facebook::jni::alias_ref); + public static bool enableViewRecyclingForImage(facebook::jni::alias_ref); + public static bool enableViewRecyclingForScrollView(facebook::jni::alias_ref); + public static bool enableViewRecyclingForText(facebook::jni::alias_ref); + public static bool enableViewRecyclingForView(facebook::jni::alias_ref); + public static bool enableVirtualViewContainerStateExperimental(facebook::jni::alias_ref); + public static bool enableVirtualViewDebugFeatures(facebook::jni::alias_ref); + public static bool fixFindShadowNodeByTagRaceCondition(facebook::jni::alias_ref); + public static bool fixMappingOfEventPrioritiesBetweenFabricAndReact(facebook::jni::alias_ref); + public static bool fixTextClippingAndroid15useBoundsForWidth(facebook::jni::alias_ref); + public static bool fixYogaFlexBasisFitContentInMainAxis(facebook::jni::alias_ref); + public static bool fuseboxAssertSingleHostState(facebook::jni::alias_ref); + public static bool fuseboxEnabledRelease(facebook::jni::alias_ref); + public static bool fuseboxFrameRecordingEnabled(facebook::jni::alias_ref); + public static bool fuseboxNetworkInspectionEnabled(facebook::jni::alias_ref); + public static bool hideOffscreenVirtualViewsOnIOS(facebook::jni::alias_ref); + public static bool overrideBySynchronousMountPropsAtMountingAndroid(facebook::jni::alias_ref); + public static bool perfIssuesEnabled(facebook::jni::alias_ref); + public static bool perfMonitorV2Enabled(facebook::jni::alias_ref); + public static bool preventShadowTreeCommitExhaustion(facebook::jni::alias_ref); + public static bool shouldPressibilityUseW3CPointerEventsForHover(facebook::jni::alias_ref); + public static bool shouldTriggerResponderTransferOnScrollAndroid(facebook::jni::alias_ref); + public static bool skipActivityIdentityAssertionOnHostPause(facebook::jni::alias_ref); + public static bool syncAndroidClipToPaddingWithOverflow(facebook::jni::alias_ref); + public static bool traceTurboModulePromiseRejectionsOnAndroid(facebook::jni::alias_ref); + public static bool updateRuntimeShadowNodeReferencesOnCommit(facebook::jni::alias_ref); + public static bool updateRuntimeShadowNodeReferencesOnCommitThread(facebook::jni::alias_ref); + public static bool useAlwaysAvailableJSErrorHandling(facebook::jni::alias_ref); + public static bool useFabricInterop(facebook::jni::alias_ref); + public static bool useLISAlgorithmInDifferentiator(facebook::jni::alias_ref); + public static bool useNativeViewConfigsInBridgelessMode(facebook::jni::alias_ref); + public static bool useNestedScrollViewAndroid(facebook::jni::alias_ref); + public static bool useSharedAnimatedBackend(facebook::jni::alias_ref); + public static bool useTraitHiddenOnAndroid(facebook::jni::alias_ref); + public static bool useTurboModuleInterop(facebook::jni::alias_ref); + public static bool useTurboModules(facebook::jni::alias_ref); + public static bool useUnorderedMapInDifferentiator(facebook::jni::alias_ref); + public static bool viewTransitionEnabled(facebook::jni::alias_ref); + public static constexpr auto kJavaDescriptor; + public static double preparedTextCacheSize(facebook::jni::alias_ref); + public static double viewCullingOutsetRatio(facebook::jni::alias_ref); + public static double virtualViewPrerenderRatio(facebook::jni::alias_ref); + public static jni::local_ref dangerouslyForceOverride(facebook::jni::alias_ref, jni::alias_ref provider); + public static void dangerouslyReset(facebook::jni::alias_ref); + public static void override(facebook::jni::alias_ref, jni::alias_ref provider); + public static void registerNatives(); +} + +class facebook::react::JReactSoftExceptionLogger : public facebook::jni::JavaClass { + public static constexpr char* kJavaDescriptor; + public static void logNoThrowSoftExceptionWithMessage(std::string tag, std::string message); +} + +class facebook::react::JReadableMapBuffer : public jni::HybridClass { + public JReadableMapBuffer(facebook::react::MapBuffer&& map); + public static constexpr auto kJavaDescriptor; + public static jni::local_ref createWithContents(facebook::react::MapBuffer&& map); + public std::vector data() const; +} + +class facebook::react::JRuntimeExecutor : public jni::HybridClass { + public facebook::react::RuntimeExecutor get(); + public static constexpr auto kJavaDescriptor; +} + +class facebook::react::JRuntimeScheduler : public jni::HybridClass { + public static constexpr auto kJavaDescriptor; + public std::weak_ptr get(); +} + +class facebook::react::JSBigBufferString : public facebook::react::JSBigString { + public JSBigBufferString(size_t size); + public char* mutableData(); + public virtual bool isAscii() const override; + public virtual const char* c_str() const override; + public virtual size_t size() const override; + public ~JSBigBufferString() override; +} + +class facebook::react::JSBigFileString : public facebook::react::JSBigString { + public JSBigFileString(int fd, size_t size, off_t offset = 0); + public int fd() const; + public static std::unique_ptr fromPath(const std::string& sourceURL); + public virtual bool isAscii() const override; + public virtual const char* c_str() const override; + public virtual size_t size() const override; + public ~JSBigFileString() override; +} + +class facebook::react::JSBigStdString : public facebook::react::JSBigString { + public JSBigStdString(std::string str, bool isAscii = false); + public virtual bool isAscii() const override; + public virtual const char* c_str() const override; + public virtual size_t size() const override; +} + +class facebook::react::JSBigString : public facebook::jsi::Buffer { + public JSBigString() = default; + public JSBigString(const facebook::react::JSBigString&) = delete; + public JSBigString(facebook::react::JSBigString&&) = delete; + public facebook::react::JSBigString& operator=(const facebook::react::JSBigString&) = delete; + public facebook::react::JSBigString& operator=(facebook::react::JSBigString&&) = delete; + public virtual bool isAscii() const = 0; + public virtual const char* c_str() const = 0; + public virtual const uint8_t* data() const final; + public virtual size_t size() const override = 0; + public ~JSBigString() override = default; +} + +class facebook::react::JSExecutor { + public static std::string getSyntheticBundlePath(uint32_t bundleId, const std::string& bundlePath); + public virtual bool isInspectable(); + public virtual facebook::react::jsinspector_modern::RuntimeTargetDelegate& getRuntimeTargetDelegate(); + public virtual std::string getDescription() = 0; + public virtual void callFunction(const std::string& moduleId, const std::string& methodId, const folly::dynamic& arguments) = 0; + public virtual void destroy(); + public virtual void flush(); + public virtual void handleMemoryPressure(int pressureLevel); + public virtual void initializeRuntime() = 0; + public virtual void invokeCallback(double callbackId, const folly::dynamic& arguments) = 0; + public virtual void loadBundle(std::unique_ptr script, std::string sourceURL) = 0; + public virtual void registerBundle(uint32_t bundleId, const std::string& bundlePath) = 0; + public virtual void setBundleRegistry(std::unique_ptr bundleRegistry) = 0; + public virtual void setGlobalVariable(std::string propName, std::unique_ptr jsonValue) = 0; + public virtual void* getJavaScriptContext(); + public virtual ~JSExecutor() = default; +} + +class facebook::react::JSExecutorFactory { + public virtual std::unique_ptr createJSExecutor(std::shared_ptr delegate, std::shared_ptr jsQueue) = 0; + public virtual ~JSExecutorFactory() = default; +} + +class facebook::react::JSIExecutor : public facebook::react::JSExecutor { + public JSIExecutor(std::shared_ptr runtime, std::shared_ptr delegate, const facebook::react::JSIScopedTimeoutInvoker& timeoutInvoker, facebook::react::JSIExecutor::RuntimeInstaller runtimeInstaller); + public static void defaultTimeoutInvoker(const std::function& invokee, std::function errorMessageProducer); + public using RuntimeInstaller = std::function; + public virtual bool isInspectable() override; + public virtual std::string getDescription() override; + public virtual void callFunction(const std::string& moduleId, const std::string& methodId, const folly::dynamic& arguments) override; + public virtual void flush() override; + public virtual void handleMemoryPressure(int pressureLevel) override; + public virtual void initializeRuntime() override; + public virtual void invokeCallback(double callbackId, const folly::dynamic& arguments) override; + public virtual void loadBundle(std::unique_ptr script, std::string sourceURL) override; + public virtual void registerBundle(uint32_t bundleId, const std::string& bundlePath) override; + public virtual void setBundleRegistry(std::unique_ptr bundleRegistry) override; + public virtual void setGlobalVariable(std::string propName, std::unique_ptr jsonValue) override; + public virtual void* getJavaScriptContext() override; +} + +class facebook::react::JSINativeModules { + public JSINativeModules(std::shared_ptr moduleRegistry); + public facebook::jsi::Value getModule(facebook::jsi::Runtime& rt, const facebook::jsi::PropNameID& name); + public void reset(); +} + +class facebook::react::JSIndexedRAMBundle : public facebook::react::JSModulesUnbundle { + public JSIndexedRAMBundle(const char* sourcePath); + public JSIndexedRAMBundle(std::unique_ptr script); + public static std::function(std::string)> buildFactory(); + public std::unique_ptr getStartupCode(); + public virtual facebook::react::JSModulesUnbundle::Module getModule(uint32_t moduleId) const override; +} + +class facebook::react::JSModulesUnbundle { + public JSModulesUnbundle(); + public virtual facebook::react::JSModulesUnbundle::Module getModule(uint32_t moduleId) const = 0; + public virtual ~JSModulesUnbundle() = default; +} + +class facebook::react::JSModulesUnbundle::ModuleNotFound : public std::out_of_range { + public ModuleNotFound(uint32_t moduleId); +} + +struct facebook::react::JSModulesUnbundle::Module { + public std::string code; + public std::string name; +} + +class facebook::react::JWritableMapBuffer : public facebook::jni::JavaClass { + public facebook::react::MapBuffer getMapBuffer(); + public static constexpr auto kJavaDescriptor; +} + +class facebook::react::JavaInteropTurboModule : public facebook::react::JavaTurboModule { + protected virtual facebook::jsi::Value create(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& propName) override; + public JavaInteropTurboModule(const facebook::react::JavaTurboModule::InitParams& params, const std::vector& methodDescriptors); + public virtual std::vector getPropertyNames(facebook::jsi::Runtime& runtime) override; +} + +struct facebook::react::JavaInteropTurboModule::MethodDescriptor { + public facebook::react::TurboModuleMethodValueKind jsiReturnKind; + public int jsArgCount; + public std::string jniSignature; + public std::string methodName; +} + +class facebook::react::JavaMessageQueueThread : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; +} + +class facebook::react::JavaNativeModule : public facebook::react::NativeModule { + public JavaNativeModule(std::weak_ptr instance, jni::alias_ref wrapper, std::shared_ptr messageQueueThread); + public virtual facebook::react::MethodCallResult callSerializableNativeHook(unsigned int reactMethodId, folly::dynamic&& params) override; + public virtual folly::dynamic getConstants() override; + public virtual std::string getName() override; + public virtual std::string getSyncMethodName(unsigned int reactMethodId) override; + public virtual std::vector getMethods() override; + public virtual void invoke(unsigned int reactMethodId, folly::dynamic&& params, int callId) override; +} + +class facebook::react::JavaScriptExecutorHolder : public jni::HybridClass { + protected JavaScriptExecutorHolder(std::shared_ptr factory); + public static constexpr auto kJavaDescriptor; + public std::shared_ptr getExecutorFactory(); +} + +class facebook::react::JavaTimerRegistry : public facebook::react::PlatformTimerRegistry { + public JavaTimerRegistry(jni::global_ref javaTimerManager); + public virtual void createRecurringTimer(uint32_t timerID, double delayMS) override; + public virtual void createTimer(uint32_t timerID, double delayMS) override; + public virtual void deleteTimer(uint32_t timerID) override; +} + +class facebook::react::JavaTurboModule : public facebook::react::TurboModule { + protected void configureEventEmitterCallback(); + protected void setEventEmitterCallback(jni::alias_ref); + public JavaTurboModule(const facebook::react::JavaTurboModule::InitParams& params); + public facebook::jsi::Value invokeJavaMethod(facebook::jsi::Runtime& runtime, facebook::react::TurboModuleMethodValueKind valueKind, const std::string& methodName, const std::string& methodSignature, const facebook::jsi::Value* args, size_t argCount, jmethodID& cachedMethodID); + public virtual ~JavaTurboModule(); +} + +struct facebook::react::JavaTurboModule::InitParams { + public jni::alias_ref instance; + public std::shared_ptr jsInvoker; + public std::shared_ptr nativeMethodCallInvoker; + public std::string moduleName; +} + +class facebook::react::JniJSModulesUnbundle : public facebook::react::JSModulesUnbundle { + public JniJSModulesUnbundle() = default; + public JniJSModulesUnbundle(AAssetManager* assetManager, std::string moduleDirectory); + public JniJSModulesUnbundle(facebook::react::JniJSModulesUnbundle&& other) = delete; + public facebook::react::JniJSModulesUnbundle& operator=(facebook::react::JSModulesUnbundle&& other) = delete; + public static bool isUnbundle(AAssetManager* assetManager, const std::string& assetName); + public static std::unique_ptr fromEntryFile(AAssetManager* assetManager, const std::string& entryFile); + public virtual facebook::react::JSModulesUnbundle::Module getModule(uint32_t moduleId) const override; +} + +class facebook::react::JsErrorHandler { + public JsErrorHandler(facebook::react::JsErrorHandler::OnJsError onJsError); + public bool hasHandledFatalError(); + public bool inErrorHandler(); + public bool isRuntimeReady(); + public using OnJsError = std::function; + public void handleError(facebook::jsi::Runtime& runtime, facebook::jsi::JSError& error, bool isFatal, bool logToConsole = true); + public void notifyOfFatalError(); + public void registerErrorListener(const std::function& listener); + public void setRuntimeReady(); + public ~JsErrorHandler(); +} + +struct facebook::react::JsErrorHandler::ProcessedError { + public bool isFatal; + public facebook::jsi::Object extraData; + public int id; + public std::optional componentStack; + public std::optional name; + public std::optional originalMessage; + public std::string message; + public std::vector stack; +} + +struct facebook::react::JsErrorHandler::ProcessedError::StackFrame { + public std::optional column; + public std::optional lineNumber; + public std::optional file; + public std::string methodName; +} + +class facebook::react::LayoutAnimationCallbackWrapper { + public LayoutAnimationCallbackWrapper(); + public LayoutAnimationCallbackWrapper(facebook::jsi::Function&& callback); + public void call(facebook::jsi::Runtime& runtime) const; +} + +class facebook::react::LayoutAnimationDriver : public facebook::react::LayoutAnimationKeyFrameManager { + protected virtual void animationMutationsForFrame(facebook::react::SurfaceId surfaceId, facebook::react::ShadowViewMutation::List& mutationsList, uint64_t now) const override; + public LayoutAnimationDriver(facebook::react::RuntimeExecutor runtimeExecutor, std::shared_ptr& contextContainer, facebook::react::LayoutAnimationStatusDelegate* delegate); +} + +class facebook::react::LayoutAnimationKeyFrameManager : public facebook::react::UIManagerAnimationDelegate, public facebook::react::MountingOverrideDelegate { + protected bool hasComponentDescriptorForShadowView(const facebook::react::ShadowView& shadowView) const; + protected const facebook::react::ComponentDescriptor& getComponentDescriptorForShadowView(const facebook::react::ShadowView& shadowView) const; + protected facebook::react::ShadowView createInterpolatedShadowView(facebook::react::Float progress, const facebook::react::ShadowView& startingView, const facebook::react::ShadowView& finalView) const; + protected facebook::react::SharedComponentDescriptorRegistry componentDescriptorRegistry_; + protected mutable std::mutex currentAnimationMutex_; + protected mutable std::optional currentAnimation_; + protected mutable std::vector inflightAnimations_; + protected virtual void animationMutationsForFrame(facebook::react::SurfaceId surfaceId, facebook::react::ShadowViewMutation::List& mutationsList, uint64_t now) const = 0; + protected void callCallback(const facebook::react::LayoutAnimationCallbackWrapper& callback) const; + protected void queueFinalMutationsForCompletedKeyFrame(const facebook::react::AnimationKeyFrame& keyframe, facebook::react::ShadowViewMutation::List& mutationsList, bool interrupted, const std::string& logPrefix) const; + public LayoutAnimationKeyFrameManager(facebook::react::RuntimeExecutor runtimeExecutor, std::shared_ptr& contextContainer, facebook::react::LayoutAnimationStatusDelegate* delegate); + public virtual bool shouldAnimateFrame() const override; + public virtual bool shouldOverridePullTransaction() const override; + public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const override; + public virtual void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry) override; + public virtual void stopSurface(facebook::react::SurfaceId surfaceId) override; + public virtual void uiManagerDidConfigureNextLayoutAnimation(facebook::jsi::Runtime& runtime, const facebook::react::RawValue& config, const facebook::jsi::Value& successCallbackValue, const facebook::jsi::Value& failureCallbackValue) const override; + public void setClockNow(std::function now); + public void setLayoutAnimationStatusDelegate(facebook::react::LayoutAnimationStatusDelegate* delegate) const; + public void uiManagerDidConfigureNextLayoutAnimation(facebook::react::LayoutAnimation layoutAnimation) const; +} + +class facebook::react::LayoutAnimationStatusDelegate { + public virtual void onAllAnimationsComplete() = 0; + public virtual void onAnimationStarted() = 0; + public virtual ~LayoutAnimationStatusDelegate() = default; +} + +class facebook::react::LayoutConformanceShadowNode : public facebook::react::ConcreteShadowNode { +} + +class facebook::react::LayoutableShadowNode : public facebook::react::ShadowNode { + public LayoutableShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public LayoutableShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public facebook::react::LayoutMetrics getLayoutMetrics() const; + public facebook::react::LayoutMetrics layoutMetrics_; + public facebook::react::LayoutableShadowNode::UnsharedList getLayoutableChildNodes() const; + public static facebook::react::LayoutMetrics computeLayoutMetricsFromRoot(const facebook::react::ShadowNodeFamily& descendantNodeFamily, const facebook::react::LayoutableShadowNode& rootNode, facebook::react::LayoutableShadowNode::LayoutInspectingPolicy policy); + public static facebook::react::LayoutMetrics computeRelativeLayoutMetrics(const facebook::react::ShadowNode::AncestorList& ancestors, facebook::react::LayoutableShadowNode::LayoutInspectingPolicy policy); + public static facebook::react::LayoutMetrics computeRelativeLayoutMetrics(const facebook::react::ShadowNodeFamily& descendantNodeFamily, const facebook::react::LayoutableShadowNode& ancestorNode, facebook::react::LayoutableShadowNode::LayoutInspectingPolicy policy); + public static std::shared_ptr findNodeAtPoint(const std::shared_ptr& node, facebook::react::Point point); + public using UnsharedList = std::vector; + public virtual bool canBeTouchTarget() const; + public virtual bool canChildrenBeTouchTarget() const; + public virtual bool getIsLayoutClean() const = 0; + public virtual facebook::react::Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const; + public virtual facebook::react::Point getContentOriginOffset(bool includeTransform) const; + public virtual facebook::react::Size measure(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public virtual facebook::react::Transform getTransform() const; + public virtual void dirtyLayout() = 0; + public virtual void layout(facebook::react::LayoutContext layoutContext) = 0; + public virtual void layoutTree(facebook::react::LayoutContext layoutContext, facebook::react::LayoutConstraints layoutConstraints) = 0; + public void setLayoutMetrics(facebook::react::LayoutMetrics layoutMetrics); +} + +struct facebook::react::LayoutableShadowNode::LayoutInspectingPolicy { + public bool enableOverflowClipping; + public bool includeTransform; + public bool includeViewportOffset; +} + +class facebook::react::LazyShadowTreeRevisionConsistencyManager : public facebook::react::ShadowTreeRevisionConsistencyManager, public facebook::react::ShadowTreeRevisionProvider { + public LazyShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRegistry& shadowTreeRegistry); + public std::shared_ptr updateCurrentRevision(facebook::react::SurfaceId surfaceId); + public virtual std::shared_ptr getCurrentRevision(facebook::react::SurfaceId surfaceId) override; + public virtual void lockRevisions() override; + public virtual void unlockRevisions() override; +} + +class facebook::react::LeakChecker { + public LeakChecker(facebook::react::RuntimeExecutor runtimeExecutor); + public void stopSurface(facebook::react::SurfaceId surfaceId); + public void uiManagerDidCreateShadowNodeFamily(const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily) const; +} + +class facebook::react::LegacyViewManagerInteropState { + public std::shared_ptr coordinator; +} + +class facebook::react::LegacyViewManagerInteropViewProps : public facebook::react::HostPlatformViewProps { + public LegacyViewManagerInteropViewProps() = default; + public LegacyViewManagerInteropViewProps(const facebook::react::PropsParserContext& context, const facebook::react::LegacyViewManagerInteropViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public const folly::dynamic otherProps; +} + +class facebook::react::LineMeasureCacheKey { + public facebook::react::AttributedString attributedString; + public facebook::react::ParagraphAttributes paragraphAttributes; + public facebook::react::Size size; +} + +class facebook::react::LongLivedObject { + protected LongLivedObject(facebook::jsi::Runtime& runtime); + protected facebook::jsi::Runtime& runtime_; + protected virtual ~LongLivedObject() = default; + public virtual void allowRelease(); +} + +class facebook::react::LongLivedObjectCollection { + public LongLivedObjectCollection() = default; + public LongLivedObjectCollection(const facebook::react::LongLivedObjectCollection&) = delete; + public size_t size() const; + public static facebook::react::LongLivedObjectCollection& get(facebook::jsi::Runtime& runtime); + public void add(std::shared_ptr o); + public void clear(); + public void operator=(const facebook::react::LongLivedObjectCollection&) = delete; + public void remove(const facebook::react::LongLivedObject* o); +} + +class facebook::react::MapBuffer { + public MapBuffer(const facebook::react::MapBuffer& buffer) = delete; + public MapBuffer(facebook::react::MapBuffer&& buffer) = default; + public MapBuffer(std::vector data); + public bool getBool(facebook::react::MapBuffer::Key key) const; + public const uint8_t* data() const; + public double getDouble(facebook::react::MapBuffer::Key key) const; + public facebook::react::MapBuffer getMapBuffer(facebook::react::MapBuffer::Key key) const; + public facebook::react::MapBuffer& operator=(const facebook::react::MapBuffer& other) = delete; + public facebook::react::MapBuffer& operator=(facebook::react::MapBuffer&& other) = default; + public int32_t getInt(facebook::react::MapBuffer::Key key) const; + public int64_t getLong(facebook::react::MapBuffer::Key key) const; + public size_t size() const; + public static constexpr uint16_t HEADER_ALIGNMENT; + public std::string getString(facebook::react::MapBuffer::Key key) const; + public std::vector getMapBufferList(facebook::react::MapBuffer::Key key) const; + public uint16_t count() const; + public using Key = uint16_t; +} + +enum facebook::react::MapBuffer::DataType : uint16_t { + Boolean, + Double, + Int, + Long, + Map, + String, +} + +struct facebook::react::MapBuffer::Bucket { + public Bucket(facebook::react::MapBuffer::Key key, uint16_t type, uint64_t data); + public facebook::react::MapBuffer::Key key; + public uint16_t type; + public uint64_t data; +} + +struct facebook::react::MapBuffer::Header { + public uint16_t alignment; + public uint16_t count; + public uint32_t bufferSize; +} + +class facebook::react::MapBufferBuilder { + public MapBufferBuilder(uint32_t initialSize = facebook::react::INITIAL_BUCKETS_SIZE); + public facebook::react::MapBuffer build(); + public static facebook::react::MapBuffer EMPTY(); + public void putBool(facebook::react::MapBuffer::Key key, bool value); + public void putDouble(facebook::react::MapBuffer::Key key, double value); + public void putInt(facebook::react::MapBuffer::Key key, int32_t value); + public void putLong(facebook::react::MapBuffer::Key key, int64_t value); + public void putMapBuffer(facebook::react::MapBuffer::Key key, const facebook::react::MapBuffer& map); + public void putMapBufferList(facebook::react::MapBuffer::Key key, const std::vector& mapBufferList); + public void putString(facebook::react::MapBuffer::Key key, const std::string& value); +} + +class facebook::react::MergedValueDispatcher { + public MergedValueDispatcher(facebook::react::MergedValueDispatcher::DispatchFunction dispatchFunction, facebook::react::MergedValueDispatcher::MergedValueFunction mergedValueFunction); + public using DispatchFunction = std::function&&)>; + public using MergedValueFunction = std::function&& tagToProps)>; + public void dispatch(const std::unordered_map& value); +} + +class facebook::react::MessageQueueThread { + public virtual void quitSynchronous() = 0; + public virtual void runOnQueue(std::function&&) = 0; + public virtual void runOnQueueSync(std::function&&) = 0; + public virtual ~MessageQueueThread() = default; +} + +class facebook::react::MethodInvoker { + public MethodInvoker(jni::alias_ref method, std::string methodName, std::string signature, std::string traceName, bool isSync); + public bool isSyncHook() const; + public facebook::react::MethodCallResult invoke(std::weak_ptr& instance, jni::alias_ref module, const folly::dynamic& params); + public std::string getMethodName() const; +} + +class facebook::react::ModalHostViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public ModalHostViewComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public virtual facebook::react::State::Shared createInitialState(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family) const override; + public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; +} + +class facebook::react::ModalHostViewEventEmitter : public facebook::react::BaseViewEventEmitter { + public static char const* toString(const facebook::react::ModalHostViewEventEmitter::OnOrientationChangeOrientation value); + public void onDismiss(facebook::react::ModalHostViewEventEmitter::OnDismiss value) const; + public void onOrientationChange(facebook::react::ModalHostViewEventEmitter::OnOrientationChange value) const; + public void onRequestClose(facebook::react::ModalHostViewEventEmitter::OnRequestClose value) const; + public void onShow(facebook::react::ModalHostViewEventEmitter::OnShow value) const; +} + +enum facebook::react::ModalHostViewEventEmitter::OnOrientationChangeOrientation { + Landscape, + Portrait, +} + +struct facebook::react::ModalHostViewEventEmitter::OnDismiss { +} + +struct facebook::react::ModalHostViewEventEmitter::OnOrientationChange { + public facebook::react::ModalHostViewEventEmitter::OnOrientationChangeOrientation orientation; +} + +struct facebook::react::ModalHostViewEventEmitter::OnRequestClose { +} + +struct facebook::react::ModalHostViewEventEmitter::OnShow { +} + +class facebook::react::ModalHostViewProps : public facebook::react::HostPlatformViewProps { + public ModalHostViewProps() = default; + public ModalHostViewProps(const facebook::react::PropsParserContext& context, const facebook::react::ModalHostViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool allowSwipeDismissal; + public bool animated; + public bool hardwareAccelerated; + public bool navigationBarTranslucent; + public bool statusBarTranslucent; + public bool transparent; + public bool visible; + public facebook::react::ModalHostViewAnimationType animationType; + public facebook::react::ModalHostViewPresentationStyle presentationStyle; + public facebook::react::ModalHostViewSupportedOrientationsMask supportedOrientations; + public int identifier; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::ModalHostViewShadowNode : public facebook::react::ConcreteViewShadowNode { + public ModalHostViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ModalHostViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); +} + +class facebook::react::ModalHostViewState { + public ModalHostViewState(); + public ModalHostViewState(const facebook::react::ModalHostViewState& previousState, folly::dynamic data); + public ModalHostViewState(facebook::react::Size screenSize_); + public const facebook::react::Size screenSize; + public folly::dynamic getDynamic() const; + public using Shared = std::shared_ptr; +} + +class facebook::react::ModuleHolder : public facebook::jni::JavaClass { + public facebook::xplat::module::CxxModule::Provider getProvider(const std::string& moduleName) const; + public static constexpr auto kJavaDescriptor; + public std::string getName() const; +} + +class facebook::react::ModuleRegistry { + public ModuleRegistry(std::vector> modules, facebook::react::ModuleRegistry::ModuleNotFoundCallback callback = nullptr); + public facebook::react::MethodCallResult callSerializableNativeHook(unsigned int moduleId, unsigned int methodId, folly::dynamic&& params); + public std::optional getConfig(const std::string& name); + public std::string getModuleName(unsigned int moduleId); + public std::string getModuleSyncMethodName(unsigned int moduleId, unsigned int methodId); + public std::vector moduleNames(); + public using ModuleNotFoundCallback = std::function; + public void callNativeMethod(unsigned int moduleId, unsigned int methodId, folly::dynamic&& params, int callId); + public void registerModules(std::vector> modules); +} + +class facebook::react::ModulusAnimatedNode : public facebook::react::ValueAnimatedNode { + public ModulusAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::MountingCoordinator { + public MountingCoordinator(const facebook::react::ShadowTreeRevision& baseRevision); + public bool hasPendingTransactions() const; + public bool waitForTransaction(std::chrono::duration timeout) const; + public const facebook::react::TelemetryController& getTelemetryController() const; + public facebook::react::ShadowTreeRevision getBaseRevision() const; + public facebook::react::SurfaceId getSurfaceId() const; + public std::optional pullTransaction(bool willPerformAsynchronously = false) const; + public void didPerformAsyncTransactions() const; + public void setMountingOverrideDelegate(std::weak_ptr delegate) const; +} + +class facebook::react::MountingOverrideDelegate { + public virtual bool shouldOverridePullTransaction() const = 0; + public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const = 0; + public virtual ~MountingOverrideDelegate() = default; +} + +class facebook::react::MountingTransaction { + public MountingTransaction(const facebook::react::MountingTransaction& mountingTransaction) = default; + public MountingTransaction(facebook::react::MountingTransaction&& mountingTransaction) noexcept = default; + public MountingTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, facebook::react::ShadowViewMutationList&& mutations, facebook::react::TransactionTelemetry telemetry); + public const facebook::react::ShadowViewMutationList& getMutations() const; + public facebook::react::MountingTransaction& operator=(const facebook::react::MountingTransaction& other) = delete; + public facebook::react::MountingTransaction& operator=(facebook::react::MountingTransaction&& other) = default; + public facebook::react::MountingTransaction::Number getNumber() const; + public facebook::react::ShadowViewMutationList getMutations(); + public facebook::react::SurfaceId getSurfaceId() const; + public facebook::react::TransactionTelemetry& getTelemetry() const; + public using Number = int64_t; + public void mergeWith(facebook::react::MountingTransaction&& transaction); +} + +class facebook::react::MultiplicationAnimatedNode : public facebook::react::OperatorAnimatedNode { + public MultiplicationAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::MutationObserver { + public MutationObserver(const facebook::react::MutationObserver&) = delete; + public MutationObserver(facebook::react::MutationObserver&&) = default; + public MutationObserver(facebook::react::MutationObserverId mutationObserverId); + public facebook::react::MutationObserver& operator=(const facebook::react::MutationObserver&) = delete; + public facebook::react::MutationObserver& operator=(facebook::react::MutationObserver&&) = default; + public void observe(std::shared_ptr targetShadowNodeFamily, bool observeSubtree); + public void recordMutations(const facebook::react::RootShadowNode& oldRootShadowNode, const facebook::react::RootShadowNode& newRootShadowNode, std::vector& recordedMutations) const; +} + +class facebook::react::MutationObserverManager : public facebook::react::UIManagerCommitHook { + public MutationObserverManager(); + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTree::CommitOptions& commitOptions) noexcept override; + public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept override; + public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept override; + public void connect(facebook::react::UIManager& uiManager, facebook::react::OnMutations&& onMutations); + public void disconnect(facebook::react::UIManager& uiManager); + public void observe(facebook::react::MutationObserverId mutationObserverId, std::shared_ptr shadowNode, bool observeSubtree, const facebook::react::UIManager& uiManager); + public void unobserveAll(facebook::react::MutationObserverId mutationObserverId); +} + +class facebook::react::NativeAccessibilityInfoSpecJSI : public facebook::react::JavaTurboModule { + public NativeAccessibilityInfoSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeAccessibilityManagerSpecJSI : public facebook::react::JavaTurboModule { + public NativeAccessibilityManagerSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeActionSheetManagerSpecJSI : public facebook::react::JavaTurboModule { + public NativeActionSheetManagerSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeAlertManagerSpecJSI : public facebook::react::JavaTurboModule { + public NativeAlertManagerSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeAnimatedModuleSpecJSI : public facebook::react::JavaTurboModule { + public NativeAnimatedModuleSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeAnimatedNodesManager : public std::enable_shared_from_this { + public NativeAnimatedNodesManager(const facebook::react::NativeAnimatedNodesManager&) = delete; + public NativeAnimatedNodesManager(facebook::react::NativeAnimatedNodesManager&&) = delete; + public NativeAnimatedNodesManager(facebook::react::NativeAnimatedNodesManager::DirectManipulationCallback&& directManipulationCallback, facebook::react::NativeAnimatedNodesManager::FabricCommitCallback&& fabricCommitCallback, facebook::react::NativeAnimatedNodesManager::ResolvePlatformColor&& resolvePlatformColor, facebook::react::NativeAnimatedNodesManager::StartOnRenderCallback&& startOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::StopOnRenderCallback&& stopOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::FrameRateListenerCallback&& frameRateListenerCallback = nullptr) noexcept; + public NativeAnimatedNodesManager(std::shared_ptr animationBackend) noexcept; + public bool commitProps(); + public bool hasManagedProps() const noexcept; + public bool isOnRenderThread() const noexcept; + public facebook::react::AnimationMutations onAnimationFrameForBackend(facebook::react::AnimatedPropsBuilder& propsBuilder, facebook::react::AnimationTimestamp timestamp); + public facebook::react::AnimationMutations pullAnimationMutations(facebook::react::AnimationTimestamp timestamp); + public facebook::react::NativeAnimatedNodesManager& operator=(const facebook::react::NativeAnimatedNodesManager&) = delete; + public facebook::react::NativeAnimatedNodesManager& operator=(facebook::react::NativeAnimatedNodesManager&&) = delete; + public folly::dynamic getManagedProps(facebook::react::Tag tag) const noexcept; + public std::optional getValue(facebook::react::Tag tag) noexcept; + public std::shared_ptr getEventEmitterListener() noexcept; + public using DirectManipulationCallback = std::function; + public using FabricCommitCallback = std::function&)>; + public using FrameRateListenerCallback = std::function; + public using ResolvePlatformColor = std::function; + public using StartOnRenderCallback = std::function&&, bool isAsync)>; + public using StopOnRenderCallback = std::function; + public void addAnimatedEventToView(facebook::react::Tag viewTag, const std::string& eventName, const folly::dynamic& eventMapping) noexcept; + public void connectAnimatedNodeToShadowNodeFamily(facebook::react::Tag propsNodeTag, std::shared_ptr family) noexcept; + public void connectAnimatedNodeToView(facebook::react::Tag propsNodeTag, facebook::react::Tag viewTag) noexcept; + public void connectAnimatedNodes(facebook::react::Tag parentTag, facebook::react::Tag childTag) noexcept; + public void createAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config) noexcept; + public void createAnimatedNodeAsync(facebook::react::Tag tag, const folly::dynamic& config) noexcept; + public void disconnectAnimatedNodeFromView(facebook::react::Tag propsNodeTag, facebook::react::Tag viewTag) noexcept; + public void disconnectAnimatedNodes(facebook::react::Tag parentTag, facebook::react::Tag childTag) noexcept; + public void dropAnimatedNode(facebook::react::Tag tag) noexcept; + public void extractAnimatedNodeOffsetOp(facebook::react::Tag tag); + public void flattenAnimatedNodeOffset(facebook::react::Tag tag); + public void insertMutations(std::unordered_map>& updates, facebook::react::AnimationMutations& mutations, facebook::react::AnimatedPropsBuilder& propsBuilder, bool hasLayoutUpdates = false); + public void onManagedPropsRemoved(facebook::react::Tag tag) noexcept; + public void onRender(); + public void removeAnimatedEventFromView(facebook::react::Tag viewTag, const std::string& eventName, facebook::react::Tag animatedValueTag) noexcept; + public void resolvePlatformColor(facebook::react::SurfaceId surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result) const; + public void restoreDefaultValues(facebook::react::Tag tag) noexcept; + public void scheduleOnUI(facebook::react::UiTask&& task); + public void schedulePropsCommit(facebook::react::Tag viewTag, const folly::dynamic& props, bool layoutStyleUpdated, bool forceFabricCommit, facebook::react::ShadowNodeFamily::Weak shadowNodeFamily = {}) noexcept; + public void setAnimatedNodeOffset(facebook::react::Tag tag, double offset); + public void setAnimatedNodeValue(facebook::react::Tag tag, double value); + public void startAnimatingNode(int animationId, facebook::react::Tag animatedNodeTag, folly::dynamic config, std::optional endCallback) noexcept; + public void startListeningToAnimatedNodeValue(facebook::react::Tag tag, facebook::react::ValueListenerCallback&& callback) noexcept; + public void startRenderCallbackIfNeeded(bool isAsync); + public void stopAnimation(int animationId, bool isTrackingAnimation = false) noexcept; + public void stopListeningToAnimatedNodeValue(facebook::react::Tag tag) noexcept; + public void updateNodes(const std::set& finishedAnimationValueNodes = {}) noexcept; + public ~NativeAnimatedNodesManager() noexcept; + template >> + public T* getAnimatedNode(facebook::react::Tag tag) const; +} + +class facebook::react::NativeAnimatedNodesManagerProvider { + public NativeAnimatedNodesManagerProvider(facebook::react::NativeAnimatedNodesManager::StartOnRenderCallback startOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::StopOnRenderCallback stopOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::FrameRateListenerCallback frameRateListenerCallback = nullptr); + public std::shared_ptr getEventEmitterListener(); + public std::shared_ptr getOrCreate(facebook::jsi::Runtime& runtime, std::shared_ptr jsInvoker); + public void addEventEmitterListener(const std::shared_ptr& listener); +} + +class facebook::react::NativeAnimatedTurboModuleSpecJSI : public facebook::react::JavaTurboModule { + public NativeAnimatedTurboModuleSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeAppStateSpecJSI : public facebook::react::JavaTurboModule { + public NativeAppStateSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeAppearanceSpecJSI : public facebook::react::JavaTurboModule { + public NativeAppearanceSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeArray : public jni::HybridClass { + protected NativeArray(const facebook::react::NativeArray&) = delete; + protected facebook::react::NativeArray& operator=(const facebook::react::NativeArray&) = delete; + protected folly::dynamic array_; + protected friend HybridBase; + protected void assertInternalType(); + protected void throwIfConsumed(); + public bool isConsumed; + public const folly::dynamic& getArray() const; + public folly::dynamic consume(); + public jni::local_ref toString(); + public static constexpr auto * kJavaDescriptor; + public static void registerNatives(); + template + protected NativeArray(Dyn&& array); +} + +class facebook::react::NativeBlobModuleSpecJSI : public facebook::react::JavaTurboModule { + public NativeBlobModuleSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeCPUTime : public facebook::react::NativeCPUTimeCxxSpec { + public NativeCPUTime(std::shared_ptr jsInvoker); + public bool hasAccurateCPUTimeNanosForBenchmarks(facebook::jsi::Runtime& runtime); + public double getCPUTimeNanos(facebook::jsi::Runtime& runtime); +} + +class facebook::react::NativeClipboardSpecJSI : public facebook::react::JavaTurboModule { + public NativeClipboardSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeDOM : public facebook::react::NativeDOMCxxSpec { + public NativeDOM(std::shared_ptr jsInvoker); + public bool hasPointerCapture(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, double pointerId); + public bool isConnected(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference); + public double compareDocumentPosition(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference, facebook::jsi::Value otherNativeNodeReference); + public facebook::jsi::Value getElementById(facebook::jsi::Runtime& rt, facebook::react::SurfaceId surfaceId, const std::string& id); + public facebook::jsi::Value getParentNode(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference); + public facebook::jsi::Value linkRootNode(facebook::jsi::Runtime& rt, facebook::react::SurfaceId surfaceId, facebook::jsi::Value instanceHandle); + public std::string getTagName(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); + public std::string getTextContent(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); + public std::tuple getBoundingClientRect(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, bool includeTransform); + public std::tuple getScrollPosition(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); + public std::tuple getOffset(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); + public std::tuple getBorderWidth(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); + public std::tuple getInnerSize(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); + public std::tuple getScrollSize(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); + public std::vector getChildNodes(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference); + public void measure(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, const facebook::react::MeasureOnSuccessCallback& callback); + public void measureInWindow(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, const facebook::react::MeasureInWindowOnSuccessCallback& callback); + public void measureLayout(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, std::shared_ptr relativeToShadowNode, facebook::jsi::Function onFail, const facebook::react::MeasureLayoutOnSuccessCallback& onSuccess); + public void releasePointerCapture(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, double pointerId); + public void setNativeProps(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, facebook::jsi::Value updatePayload); + public void setPointerCapture(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, double pointerId); +} + +class facebook::react::NativeDevLoadingViewSpecJSI : public facebook::react::JavaTurboModule { + public NativeDevLoadingViewSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeDevMenuSpecJSI : public facebook::react::JavaTurboModule { + public NativeDevMenuSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeDevSettingsSpecJSI : public facebook::react::JavaTurboModule { + public NativeDevSettingsSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeDeviceEventManagerSpecJSI : public facebook::react::JavaTurboModule { + public NativeDeviceEventManagerSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeDeviceInfoSpecJSI : public facebook::react::JavaTurboModule { + public NativeDeviceInfoSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeDialogManagerAndroidSpecJSI : public facebook::react::JavaTurboModule { + public NativeDialogManagerAndroidSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeExceptionsManagerSpecJSI : public facebook::react::JavaTurboModule { + public NativeExceptionsManagerSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeFantomTestSpecificMethods : public facebook::react::NativeFantomTestSpecificMethodsCxxSpec { + public NativeFantomTestSpecificMethods(std::shared_ptr jsInvoker); + public void registerForcedCloneCommitHook(facebook::jsi::Runtime& runtime); + public void setRootNodeSize(facebook::jsi::Runtime& runtime, int surfaceId, float width, float height); + public void takeFunctionAndNoop(facebook::jsi::Runtime& runtime, facebook::jsi::Function callback); +} + +class facebook::react::NativeFileReaderModuleSpecJSI : public facebook::react::JavaTurboModule { + public NativeFileReaderModuleSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeFrameRateLoggerSpecJSI : public facebook::react::JavaTurboModule { + public NativeFrameRateLoggerSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeHeadlessJsTaskSupportSpecJSI : public facebook::react::JavaTurboModule { + public NativeHeadlessJsTaskSupportSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeI18nManagerSpecJSI : public facebook::react::JavaTurboModule { + public NativeI18nManagerSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeIdleCallbacks : public facebook::react::NativeIdleCallbacksCxxSpec { + public NativeIdleCallbacks(std::shared_ptr jsInvoker); + public facebook::react::CallbackHandle requestIdleCallback(facebook::jsi::Runtime& runtime, facebook::react::SyncCallback&& callback, std::optional options); + public void cancelIdleCallback(facebook::jsi::Runtime& runtime, facebook::jsi::Object handle); +} + +class facebook::react::NativeImageEditorSpecJSI : public facebook::react::JavaTurboModule { + public NativeImageEditorSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeImageLoaderAndroidSpecJSI : public facebook::react::JavaTurboModule { + public NativeImageLoaderAndroidSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeImageStoreAndroidSpecJSI : public facebook::react::JavaTurboModule { + public NativeImageStoreAndroidSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeIntentAndroidSpecJSI : public facebook::react::JavaTurboModule { + public NativeIntentAndroidSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeIntersectionObserver : public facebook::react::NativeIntersectionObserverCxxSpec { + public NativeIntersectionObserver(std::shared_ptr jsInvoker); + public facebook::jsi::Object observeV2(facebook::jsi::Runtime& runtime, facebook::react::NativeIntersectionObserverObserveOptions options); + public std::vector takeRecords(facebook::jsi::Runtime& runtime); + public void connect(facebook::jsi::Runtime& runtime, facebook::react::AsyncCallback<> notifyIntersectionObserversCallback); + public void disconnect(facebook::jsi::Runtime& runtime); + public void unobserveV2(facebook::jsi::Runtime& runtime, facebook::react::IntersectionObserverObserverId intersectionObserverId, facebook::jsi::Object targetToken); +} + +class facebook::react::NativeJSCHeapCaptureSpecJSI : public facebook::react::JavaTurboModule { + public NativeJSCHeapCaptureSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeKeyboardObserverSpecJSI : public facebook::react::JavaTurboModule { + public NativeKeyboardObserverSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeLinkingManagerSpecJSI : public facebook::react::JavaTurboModule { + public NativeLinkingManagerSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeLogBoxSpecJSI : public facebook::react::JavaTurboModule { + public NativeLogBoxSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeMap : public jni::HybridClass { + protected NativeMap(const facebook::react::NativeMap&) = delete; + protected facebook::react::NativeMap& operator=(const facebook::react::NativeMap&) = delete; + protected folly::dynamic map_; + protected friend HybridBase; + protected void throwIfConsumed(); + public bool isConsumed; + public folly::dynamic consume(); + public jni::local_ref toString(); + public static constexpr auto kJavaDescriptor; + public static void registerNatives(); + template + protected NativeMap(Dyn&& map); +} + +class facebook::react::NativeMethodCallInvoker { + public virtual void invokeAsync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) noexcept = 0; + public virtual void invokeSync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) = 0; + public virtual ~NativeMethodCallInvoker() = default; +} + +class facebook::react::NativeMethodCallInvokerHolder : public jni::HybridClass { + public static constexpr auto kJavaDescriptor; + public std::shared_ptr getNativeMethodCallInvoker(); +} + +class facebook::react::NativeMicrotasks : public facebook::react::NativeMicrotasksCxxSpec { + public NativeMicrotasks(std::shared_ptr jsInvoker); + public void queueMicrotask(facebook::jsi::Runtime& runtime, facebook::jsi::Function callback); +} + +class facebook::react::NativeModalManagerSpecJSI : public facebook::react::JavaTurboModule { + public NativeModalManagerSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeModule { + public virtual facebook::react::MethodCallResult callSerializableNativeHook(unsigned int reactMethodId, folly::dynamic&& args) = 0; + public virtual folly::dynamic getConstants() = 0; + public virtual std::string getName() = 0; + public virtual std::string getSyncMethodName(unsigned int methodId) = 0; + public virtual std::vector getMethods() = 0; + public virtual void invoke(unsigned int reactMethodId, folly::dynamic&& params, int callId) = 0; + public virtual ~NativeModule() = default; +} + +class facebook::react::NativeModulePerfLogger { + public virtual void asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName) = 0; + public virtual void asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName) = 0; + public virtual void asyncMethodCallBatchPreprocessEnd(int batchSize) = 0; + public virtual void asyncMethodCallBatchPreprocessStart() = 0; + public virtual void asyncMethodCallDispatch(const char* moduleName, const char* methodName) = 0; + public virtual void asyncMethodCallEnd(const char* moduleName, const char* methodName) = 0; + public virtual void asyncMethodCallExecutionArgConversionEnd(const char* moduleName, const char* methodName, int32_t id) = 0; + public virtual void asyncMethodCallExecutionArgConversionStart(const char* moduleName, const char* methodName, int32_t id) = 0; + public virtual void asyncMethodCallExecutionEnd(const char* moduleName, const char* methodName, int32_t id) = 0; + public virtual void asyncMethodCallExecutionFail(const char* moduleName, const char* methodName, int32_t id) = 0; + public virtual void asyncMethodCallExecutionStart(const char* moduleName, const char* methodName, int32_t id) = 0; + public virtual void asyncMethodCallFail(const char* moduleName, const char* methodName) = 0; + public virtual void asyncMethodCallStart(const char* moduleName, const char* methodName) = 0; + public virtual void moduleCreateCacheHit(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateConstructEnd(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateConstructStart(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateEnd(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateFail(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateSetUpEnd(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateSetUpStart(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateStart(const char* moduleName, int32_t id) = 0; + public virtual void moduleDataCreateEnd(const char* moduleName, int32_t id) = 0; + public virtual void moduleDataCreateStart(const char* moduleName, int32_t id) = 0; + public virtual void moduleJSRequireBeginningCacheHit(const char* moduleName) = 0; + public virtual void moduleJSRequireBeginningEnd(const char* moduleName) = 0; + public virtual void moduleJSRequireBeginningFail(const char* moduleName) = 0; + public virtual void moduleJSRequireBeginningStart(const char* moduleName) = 0; + public virtual void moduleJSRequireEndingEnd(const char* moduleName) = 0; + public virtual void moduleJSRequireEndingFail(const char* moduleName) = 0; + public virtual void moduleJSRequireEndingStart(const char* moduleName) = 0; + public virtual void syncMethodCallArgConversionEnd(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallArgConversionStart(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallEnd(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallExecutionEnd(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallExecutionStart(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallFail(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallReturnConversionEnd(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallReturnConversionStart(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallStart(const char* moduleName, const char* methodName) = 0; + public virtual ~NativeModulePerfLogger() = default; +} + +class facebook::react::NativeMutationObserver : public facebook::react::NativeMutationObserverCxxSpec { + public NativeMutationObserver(std::shared_ptr jsInvoker); + public std::vector takeRecords(facebook::jsi::Runtime& runtime); + public void connect(facebook::jsi::Runtime& runtime, facebook::jsi::Function notifyMutationObservers, facebook::react::SyncCallback getPublicInstanceFromInstanceHandle); + public void disconnect(facebook::jsi::Runtime& runtime); + public void observe(facebook::jsi::Runtime& runtime, const facebook::react::NativeMutationObserverObserveOptions& options); + public void unobserveAll(facebook::jsi::Runtime& runtime, facebook::react::MutationObserverId mutationObserverId); +} + +class facebook::react::NativeNetworkingAndroidSpecJSI : public facebook::react::JavaTurboModule { + public NativeNetworkingAndroidSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativePerformance : public facebook::react::NativePerformanceCxxSpec { + public NativePerformance(std::shared_ptr jsInvoker); + public double getDroppedEntriesCount(facebook::jsi::Runtime& rt, facebook::jsi::Object observerObj); + public facebook::jsi::Object createObserver(facebook::jsi::Runtime& rt, facebook::react::NativePerformancePerformanceObserverCallback callback); + public facebook::react::HighResDuration timeOrigin(facebook::jsi::Runtime& rt); + public facebook::react::HighResTimeStamp now(facebook::jsi::Runtime& rt); + public std::optional getMarkTime(facebook::jsi::Runtime& rt, const std::string& name); + public std::unordered_map getReactNativeStartupTiming(facebook::jsi::Runtime& rt); + public std::unordered_map getSimpleMemoryInfo(facebook::jsi::Runtime& rt); + public std::vector getEntries(facebook::jsi::Runtime& rt); + public std::vector getEntriesByName(facebook::jsi::Runtime& rt, const std::string& entryName, std::optional entryType = std::nullopt); + public std::vector getEntriesByType(facebook::jsi::Runtime& rt, facebook::react::PerformanceEntryType entryType); + public std::vector takeRecords(facebook::jsi::Runtime& rt, facebook::jsi::Object observerObj, bool sort); + public std::vector getSupportedPerformanceEntryTypes(facebook::jsi::Runtime& rt); + public std::vector> getEventCounts(facebook::jsi::Runtime& rt); + public void clearEventCountsForTesting(facebook::jsi::Runtime& rt); + public void clearMarks(facebook::jsi::Runtime& rt, std::optional entryName = std::nullopt); + public void clearMeasures(facebook::jsi::Runtime& rt, std::optional entryName = std::nullopt); + public void disconnect(facebook::jsi::Runtime& rt, facebook::jsi::Object observer); + public void observe(facebook::jsi::Runtime& rt, facebook::jsi::Object observer, facebook::react::NativePerformancePerformanceObserverObserveOptions options); + public void reportMark(facebook::jsi::Runtime& rt, const std::string& name, facebook::react::HighResTimeStamp time, facebook::jsi::Value entry); + public void reportMeasure(facebook::jsi::Runtime& rt, const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration, facebook::jsi::Value entry); +} + +class facebook::react::NativePermissionsAndroidSpecJSI : public facebook::react::JavaTurboModule { + public NativePermissionsAndroidSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativePlatformConstantsAndroidSpecJSI : public facebook::react::JavaTurboModule { + public NativePlatformConstantsAndroidSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeReactDevToolsRuntimeSettingsModuleSpecJSI : public facebook::react::JavaTurboModule { + public NativeReactDevToolsRuntimeSettingsModuleSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeReactDevToolsSettingsManagerSpecJSI : public facebook::react::JavaTurboModule { + public NativeReactDevToolsSettingsManagerSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeReactNativeFeatureFlags : public facebook::react::NativeReactNativeFeatureFlagsCxxSpec { + public NativeReactNativeFeatureFlags(std::shared_ptr jsInvoker); + public bool cdpInteractionMetricsEnabled(facebook::jsi::Runtime& runtime); + public bool commonTestFlag(facebook::jsi::Runtime& runtime); + public bool commonTestFlagWithoutNativeImplementation(facebook::jsi::Runtime& runtime); + public bool cxxNativeAnimatedEnabled(facebook::jsi::Runtime& runtime); + public bool defaultTextToOverflowHidden(facebook::jsi::Runtime& runtime); + public bool disableEarlyViewCommandExecution(facebook::jsi::Runtime& runtime); + public bool disableImageViewPreallocationAndroid(facebook::jsi::Runtime& runtime); + public bool disableMountItemReorderingAndroid(facebook::jsi::Runtime& runtime); + public bool disableSubviewClippingAndroid(facebook::jsi::Runtime& runtime); + public bool disableTextLayoutManagerCacheAndroid(facebook::jsi::Runtime& runtime); + public bool disableViewPreallocationAndroid(facebook::jsi::Runtime& runtime); + public bool enableAccessibilityOrder(facebook::jsi::Runtime& runtime); + public bool enableAccumulatedUpdatesInRawPropsAndroid(facebook::jsi::Runtime& runtime); + public bool enableAndroidAntialiasedBorderRadiusClipping(facebook::jsi::Runtime& runtime); + public bool enableAndroidLinearText(facebook::jsi::Runtime& runtime); + public bool enableAndroidTextMeasurementOptimizations(facebook::jsi::Runtime& runtime); + public bool enableBridgelessArchitecture(facebook::jsi::Runtime& runtime); + public bool enableCppPropsIteratorSetter(facebook::jsi::Runtime& runtime); + public bool enableCustomFocusSearchOnClippedElementsAndroid(facebook::jsi::Runtime& runtime); + public bool enableDestroyShadowTreeRevisionAsync(facebook::jsi::Runtime& runtime); + public bool enableDifferentiatorMutationVectorPreallocation(facebook::jsi::Runtime& runtime); + public bool enableDoubleMeasurementFixAndroid(facebook::jsi::Runtime& runtime); + public bool enableEagerMainQueueModulesOnIOS(facebook::jsi::Runtime& runtime); + public bool enableEagerRootViewAttachment(facebook::jsi::Runtime& runtime); + public bool enableExclusivePropsUpdateAndroid(facebook::jsi::Runtime& runtime); + public bool enableFabricCommitBranching(facebook::jsi::Runtime& runtime); + public bool enableFabricLogs(facebook::jsi::Runtime& runtime); + public bool enableFabricRenderer(facebook::jsi::Runtime& runtime); + public bool enableFontScaleChangesUpdatingLayout(facebook::jsi::Runtime& runtime); + public bool enableIOSTextBaselineOffsetPerLine(facebook::jsi::Runtime& runtime); + public bool enableIOSViewClipToPaddingBox(facebook::jsi::Runtime& runtime); + public bool enableImagePrefetchingAndroid(facebook::jsi::Runtime& runtime); + public bool enableImagePrefetchingJNIBatchingAndroid(facebook::jsi::Runtime& runtime); + public bool enableImagePrefetchingOnUiThreadAndroid(facebook::jsi::Runtime& runtime); + public bool enableImmediateUpdateModeForContentOffsetChanges(facebook::jsi::Runtime& runtime); + public bool enableImperativeFocus(facebook::jsi::Runtime& runtime); + public bool enableInteropViewManagerClassLookUpOptimizationIOS(facebook::jsi::Runtime& runtime); + public bool enableIntersectionObserverByDefault(facebook::jsi::Runtime& runtime); + public bool enableKeyEvents(facebook::jsi::Runtime& runtime); + public bool enableLayoutAnimationsOnAndroid(facebook::jsi::Runtime& runtime); + public bool enableLayoutAnimationsOnIOS(facebook::jsi::Runtime& runtime); + public bool enableMainQueueCoordinatorOnIOS(facebook::jsi::Runtime& runtime); + public bool enableModuleArgumentNSNullConversionIOS(facebook::jsi::Runtime& runtime); + public bool enableMutationObserverByDefault(facebook::jsi::Runtime& runtime); + public bool enableNativeCSSParsing(facebook::jsi::Runtime& runtime); + public bool enableNativeViewPropTransformations(facebook::jsi::Runtime& runtime); + public bool enableNetworkEventReporting(facebook::jsi::Runtime& runtime); + public bool enablePreparedTextLayout(facebook::jsi::Runtime& runtime); + public bool enablePropsUpdateReconciliationAndroid(facebook::jsi::Runtime& runtime); + public bool enableSwiftUIBasedFilters(facebook::jsi::Runtime& runtime); + public bool enableViewCulling(facebook::jsi::Runtime& runtime); + public bool enableViewRecycling(facebook::jsi::Runtime& runtime); + public bool enableViewRecyclingForImage(facebook::jsi::Runtime& runtime); + public bool enableViewRecyclingForScrollView(facebook::jsi::Runtime& runtime); + public bool enableViewRecyclingForText(facebook::jsi::Runtime& runtime); + public bool enableViewRecyclingForView(facebook::jsi::Runtime& runtime); + public bool enableVirtualViewContainerStateExperimental(facebook::jsi::Runtime& runtime); + public bool enableVirtualViewDebugFeatures(facebook::jsi::Runtime& runtime); + public bool fixFindShadowNodeByTagRaceCondition(facebook::jsi::Runtime& runtime); + public bool fixMappingOfEventPrioritiesBetweenFabricAndReact(facebook::jsi::Runtime& runtime); + public bool fixTextClippingAndroid15useBoundsForWidth(facebook::jsi::Runtime& runtime); + public bool fixYogaFlexBasisFitContentInMainAxis(facebook::jsi::Runtime& runtime); + public bool fuseboxAssertSingleHostState(facebook::jsi::Runtime& runtime); + public bool fuseboxEnabledRelease(facebook::jsi::Runtime& runtime); + public bool fuseboxFrameRecordingEnabled(facebook::jsi::Runtime& runtime); + public bool fuseboxNetworkInspectionEnabled(facebook::jsi::Runtime& runtime); + public bool hideOffscreenVirtualViewsOnIOS(facebook::jsi::Runtime& runtime); + public bool overrideBySynchronousMountPropsAtMountingAndroid(facebook::jsi::Runtime& runtime); + public bool perfIssuesEnabled(facebook::jsi::Runtime& runtime); + public bool perfMonitorV2Enabled(facebook::jsi::Runtime& runtime); + public bool preventShadowTreeCommitExhaustion(facebook::jsi::Runtime& runtime); + public bool shouldPressibilityUseW3CPointerEventsForHover(facebook::jsi::Runtime& runtime); + public bool shouldTriggerResponderTransferOnScrollAndroid(facebook::jsi::Runtime& runtime); + public bool skipActivityIdentityAssertionOnHostPause(facebook::jsi::Runtime& runtime); + public bool syncAndroidClipToPaddingWithOverflow(facebook::jsi::Runtime& runtime); + public bool traceTurboModulePromiseRejectionsOnAndroid(facebook::jsi::Runtime& runtime); + public bool updateRuntimeShadowNodeReferencesOnCommit(facebook::jsi::Runtime& runtime); + public bool updateRuntimeShadowNodeReferencesOnCommitThread(facebook::jsi::Runtime& runtime); + public bool useAlwaysAvailableJSErrorHandling(facebook::jsi::Runtime& runtime); + public bool useFabricInterop(facebook::jsi::Runtime& runtime); + public bool useLISAlgorithmInDifferentiator(facebook::jsi::Runtime& runtime); + public bool useNativeViewConfigsInBridgelessMode(facebook::jsi::Runtime& runtime); + public bool useNestedScrollViewAndroid(facebook::jsi::Runtime& runtime); + public bool useSharedAnimatedBackend(facebook::jsi::Runtime& runtime); + public bool useTraitHiddenOnAndroid(facebook::jsi::Runtime& runtime); + public bool useTurboModuleInterop(facebook::jsi::Runtime& runtime); + public bool useTurboModules(facebook::jsi::Runtime& runtime); + public bool useUnorderedMapInDifferentiator(facebook::jsi::Runtime& runtime); + public bool viewTransitionEnabled(facebook::jsi::Runtime& runtime); + public double preparedTextCacheSize(facebook::jsi::Runtime& runtime); + public double viewCullingOutsetRatio(facebook::jsi::Runtime& runtime); + public double virtualViewPrerenderRatio(facebook::jsi::Runtime& runtime); + public static constexpr std::string_view kModuleName; +} + +class facebook::react::NativeRedBoxSpecJSI : public facebook::react::JavaTurboModule { + public NativeRedBoxSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeSegmentFetcherSpecJSI : public facebook::react::JavaTurboModule { + public NativeSegmentFetcherSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeSettingsManagerSpecJSI : public facebook::react::JavaTurboModule { + public NativeSettingsManagerSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeShareModuleSpecJSI : public facebook::react::JavaTurboModule { + public NativeShareModuleSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeSoundManagerSpecJSI : public facebook::react::JavaTurboModule { + public NativeSoundManagerSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeSourceCodeSpecJSI : public facebook::react::JavaTurboModule { + public NativeSourceCodeSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeStatusBarManagerAndroidSpecJSI : public facebook::react::JavaTurboModule { + public NativeStatusBarManagerAndroidSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeTimingSpecJSI : public facebook::react::JavaTurboModule { + public NativeTimingSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeToJsBridge { + public NativeToJsBridge(facebook::react::JSExecutorFactory* jsExecutorFactory, std::shared_ptr registry, std::shared_ptr jsQueue, std::shared_ptr callback); + public bool isBatchActive(); + public bool isInspectable(); + public facebook::react::jsinspector_modern::RuntimeTargetDelegate& getInspectorTargetDelegate(); + public std::shared_ptr getDecoratedNativeMethodCallInvoker(std::shared_ptr nativeMethodCallInvoker) const; + public virtual ~NativeToJsBridge(); + public void callFunction(std::string&& module, std::string&& method, folly::dynamic&& arguments); + public void destroy(); + public void handleMemoryPressure(int pressureLevel); + public void initializeRuntime(); + public void invokeCallback(double callbackId, folly::dynamic&& arguments); + public void loadBundle(std::unique_ptr bundleRegistry, std::unique_ptr startupScript, std::string sourceURL); + public void loadBundleSync(std::unique_ptr bundleRegistry, std::unique_ptr startupScript, std::string sourceURL); + public void registerBundle(uint32_t bundleId, const std::string& bundlePath); + public void runOnExecutorQueue(std::function&& task) noexcept; + public void setGlobalVariable(std::string propName, std::unique_ptr jsonValue); + public void* getJavaScriptContext(); +} + +class facebook::react::NativeToastAndroidSpecJSI : public facebook::react::JavaTurboModule { + public NativeToastAndroidSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeVibrationSpecJSI : public facebook::react::JavaTurboModule { + public NativeVibrationSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeWebSocketModuleSpecJSI : public facebook::react::JavaTurboModule { + public NativeWebSocketModuleSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NetworkReporter { + public bool isDebuggingEnabled() const; + public static facebook::react::NetworkReporter& getInstance(); + public void reportConnectionTiming(const std::string& requestId, const std::optional& headers); + public void reportDataReceived(const std::string& requestId, int dataLength, const std::optional& encodedDataLength); + public void reportRequestFailed(const std::string& requestId, bool cancelled) const; + public void reportRequestStart(const std::string& requestId, const facebook::react::RequestInfo& requestInfo, int encodedDataLength, const std::optional& redirectResponse); + public void reportResponseEnd(const std::string& requestId, int encodedDataLength); + public void reportResponseStart(const std::string& requestId, const facebook::react::ResponseInfo& responseInfo, int encodedDataLength); + public void storeResponseBody(const std::string& requestId, std::string_view body, bool base64Encoded); +} + +class facebook::react::ObjectAnimatedNode : public facebook::react::AnimatedNode { + public ObjectAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public void collectViewUpdates(std::string propKey, folly::dynamic& props); +} + +class facebook::react::OperatorAnimatedNode : public facebook::react::ValueAnimatedNode { + protected std::vector inputNodes_; + public OperatorAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); +} + +class facebook::react::ParagraphAttributes : public facebook::react::DebugStringConvertible { + public bool adjustsFontSizeToFit; + public bool includeFontPadding; + public bool operator==(const facebook::react::ParagraphAttributes& rhs) const; + public facebook::react::EllipsizeMode ellipsizeMode; + public facebook::react::Float maximumFontSize; + public facebook::react::Float minimumFontScale; + public facebook::react::Float minimumFontSize; + public facebook::react::HyphenationFrequency android_hyphenationFrequency; + public facebook::react::TextBreakStrategy textBreakStrategy; + public int maximumNumberOfLines; + public std::optional textAlignVertical; +} + +class facebook::react::ParagraphComponentDescriptor : public facebook::react::BaseParagraphComponentDescriptor { + public ParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); +} + +class facebook::react::ParagraphEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onTextLayout(const facebook::react::LinesMeasurements& linesMeasurements) const; +} + +class facebook::react::ParagraphShadowNode : public facebook::react::ConcreteViewShadowNode, public facebook::react::BaseTextShadowNode { + protected virtual bool shouldNewRevisionDirtyMeasurement(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) const override; + public ParagraphShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ParagraphShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public virtual facebook::react::Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const override; + public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; + public virtual void layout(facebook::react::LayoutContext layoutContext) override; + public void setTextLayoutManager(std::shared_ptr textLayoutManager); +} + +class facebook::react::ParagraphShadowNode::Content { + public facebook::react::AttributedString attributedString; + public facebook::react::BaseTextShadowNode::Attachments attachments; + public facebook::react::ParagraphAttributes paragraphAttributes; +} + +class facebook::react::ParagraphState { + public ParagraphState() = default; + public ParagraphState(const facebook::react::ParagraphState&, const folly::dynamic&); + public ParagraphState(facebook::react::AttributedString attributedString, facebook::react::ParagraphAttributes paragraphAttributes, std::weak_ptr layoutManager); + public ParagraphState(facebook::react::AttributedString attributedString, facebook::react::ParagraphAttributes paragraphAttributes, std::weak_ptr layoutManager, facebook::react::MeasuredPreparedTextLayout measuredLayout); + public facebook::react::AttributedString attributedString; + public facebook::react::MapBuffer getMapBuffer() const; + public facebook::react::MeasuredPreparedTextLayout measuredLayout; + public facebook::react::ParagraphAttributes paragraphAttributes; + public folly::dynamic getDynamic() const; + public jni::local_ref getJNIReference() const; + public std::weak_ptr layoutManager; +} + +class facebook::react::PerformanceEntryBuffer { + public PerformanceEntryBuffer() = default; + public facebook::react::HighResDuration durationThreshold; + public size_t droppedEntriesCount; + public virtual void add(const facebook::react::PerformanceEntry& entry) = 0; + public virtual void clear() = 0; + public virtual void clear(const std::string& name) = 0; + public virtual void getEntries(std::vector& target) const = 0; + public virtual void getEntries(std::vector& target, const std::string& name) const = 0; + public virtual ~PerformanceEntryBuffer() = default; +} + +class facebook::react::PerformanceEntryCircularBuffer : public facebook::react::PerformanceEntryBuffer { + public PerformanceEntryCircularBuffer(size_t size); + public virtual void add(const facebook::react::PerformanceEntry& entry) override; + public virtual void clear() override; + public virtual void clear(const std::string& name) override; + public virtual void getEntries(std::vector& target) const override; + public virtual void getEntries(std::vector& target, const std::string& name) const override; + public ~PerformanceEntryCircularBuffer() override = default; +} + +class facebook::react::PerformanceEntryKeyedBuffer : public facebook::react::PerformanceEntryBuffer { + public PerformanceEntryKeyedBuffer() = default; + public std::optional find(const std::string& name) const; + public virtual void add(const facebook::react::PerformanceEntry& entry) override; + public virtual void clear() override; + public virtual void clear(const std::string& name) override; + public virtual void getEntries(std::vector& target) const override; + public virtual void getEntries(std::vector& target, const std::string& name) const override; +} + +class facebook::react::PerformanceEntryReporter { + public PerformanceEntryReporter(); + public const std::unordered_map& getEventCounts() const; + public facebook::react::PerformanceObserverRegistry& getObserverRegistry(); + public static std::shared_ptr& getInstance(); + public static std::vector getSupportedEntryTypes(); + public std::optional getMarkTime(const std::string& markName) const; + public std::vector getEntries() const; + public std::vector getEntries(facebook::react::PerformanceEntryType entryType) const; + public std::vector getEntries(facebook::react::PerformanceEntryType entryType, const std::string& entryName) const; + public uint32_t getDroppedEntriesCount(facebook::react::PerformanceEntryType type) const noexcept; + public using UserTimingDetailProvider = std::function; + public void addEventListener(facebook::react::PerformanceEntryReporterEventListener* listener); + public void clearEntries(); + public void clearEntries(facebook::react::PerformanceEntryType entryType); + public void clearEntries(facebook::react::PerformanceEntryType entryType, const std::string& entryName); + public void clearEventCounts(); + public void getEntries(std::vector& dest) const; + public void getEntries(std::vector& dest, facebook::react::PerformanceEntryType entryType) const; + public void getEntries(std::vector& dest, facebook::react::PerformanceEntryType entryType, const std::string& entryName) const; + public void removeEventListener(facebook::react::PerformanceEntryReporterEventListener* listener); + public void reportEvent(const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration, facebook::react::HighResTimeStamp processingStart, facebook::react::HighResTimeStamp processingEnd, facebook::react::HighResTimeStamp taskEndTime, uint32_t interactionId); + public void reportLongTask(facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration); + public void reportMark(const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::PerformanceEntryReporter::UserTimingDetailProvider&& detailProvider = nullptr); + public void reportMeasure(const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration, const std::optional& detailProvider = std::nullopt); + public void reportResourceTiming(const std::string& url, facebook::react::HighResTimeStamp fetchStart, facebook::react::HighResTimeStamp requestStart, std::optional connectStart, std::optional connectEnd, facebook::react::HighResTimeStamp responseStart, facebook::react::HighResTimeStamp responseEnd, int responseStatus, const std::string& contentType, int encodedBodySize, int decodedBodySize); +} + +class facebook::react::PerformanceEntryReporterEventListener { + public virtual void onEventTimingEntry(const facebook::react::PerformanceEventTiming&); + public virtual void onMeasureEntry(const facebook::react::PerformanceMeasure&, const std::optional&); + public virtual ~PerformanceEntryReporterEventListener() = default; +} + +class facebook::react::PerformanceObserver : public std::enable_shared_from_this { + public PerformanceObserver(PrivateUseCreateMethod, facebook::react::PerformanceObserverRegistry& registry, facebook::react::PerformanceObserverCallback&& callback); + public static std::shared_ptr create(facebook::react::PerformanceObserverRegistry& registry, facebook::react::PerformanceObserverCallback&& callback); + public std::vector takeRecords(); + public uint32_t getDroppedEntriesCount() noexcept; + public void disconnect() noexcept; + public void handleEntry(const facebook::react::PerformanceEntry& entry); + public void observe(facebook::react::PerformanceEntryType type, facebook::react::PerformanceObserverObserveSingleOptions options = {}); + public void observe(std::unordered_set types); + public ~PerformanceObserver() = default; +} + +class facebook::react::PerformanceObserverRegistry { + public PerformanceObserverRegistry() = default; + public void addObserver(std::shared_ptr observer); + public void queuePerformanceEntry(const facebook::react::PerformanceEntry& entry); + public void removeObserver(std::shared_ptr observer); +} + +class facebook::react::PerformanceTracerCxxInterop : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; + public static jboolean isTracing(facebook::jni::alias_ref jthis); + public static jint subscribeToTracingStateChanges(facebook::jni::alias_ref jthis, facebook::jni::alias_ref callback); + public static void registerNatives(); + public static void reportMark(facebook::jni::alias_ref jthis, facebook::jni::alias_ref name, jlong timestampNanos, facebook::jni::alias_ref detail); + public static void reportMeasure(facebook::jni::alias_ref jthis, facebook::jni::alias_ref name, jlong startTimestampNanos, jlong durationNanos, facebook::jni::alias_ref detail); + public static void reportTimeStamp(facebook::jni::alias_ref jthis, facebook::jni::alias_ref name, jlong startTimeNanos, jlong endTimeNanos, facebook::jni::alias_ref trackName, facebook::jni::alias_ref trackGroup, facebook::jni::alias_ref color); + public static void unsubscribeFromTracingStateChanges(facebook::jni::alias_ref jthis, jint subscriptionId); +} + +class facebook::react::PlatformTimerRegistry { + public virtual void createRecurringTimer(uint32_t timerID, double delayMS) = 0; + public virtual void createTimer(uint32_t timerID, double delayMS) = 0; + public virtual void deleteTimer(uint32_t timerID) = 0; + public virtual void quit(); + public virtual ~PlatformTimerRegistry() noexcept = default; +} + +class facebook::react::PointerEventsProcessor { + public bool hasPointerCapture(facebook::react::PointerIdentifier pointerId, const facebook::react::ShadowNode* shadowNode); + public static std::shared_ptr getShadowNodeFromEventTarget(facebook::jsi::Runtime& runtime, facebook::react::EventTarget* target); + public void interceptPointerEvent(const std::shared_ptr& target, const std::string& type, facebook::react::ReactEventPriority priority, const facebook::react::PointerEvent& event, const facebook::react::DispatchEvent& eventDispatcher, const facebook::react::UIManager& uiManager); + public void releasePointerCapture(facebook::react::PointerIdentifier pointerId, const facebook::react::ShadowNode* shadowNode); + public void setPointerCapture(facebook::react::PointerIdentifier pointerId, const std::shared_ptr& shadowNode); +} + +class facebook::react::PointerHoverTracker { + public PointerHoverTracker(std::shared_ptr target, const facebook::react::UIManager& uiManager); + public bool areAnyTargetsListeningToEvents(std::initializer_list eventTypes, const facebook::react::UIManager& uiManager) const; + public bool hasSameTarget(const facebook::react::PointerHoverTracker& other) const; + public const facebook::react::ShadowNode* getTarget(const facebook::react::UIManager& uiManager) const; + public std::tuple diffEventPath(const facebook::react::PointerHoverTracker& other, const facebook::react::UIManager& uiManager) const; + public using EventPath = std::vector>; + public using Unique = std::unique_ptr; + public void markAsOld(); +} + +class facebook::react::PreparedTextCacheKey { + public facebook::react::AttributedString attributedString; + public facebook::react::LayoutConstraints layoutConstraints; + public facebook::react::ParagraphAttributes paragraphAttributes; +} + +class facebook::react::Props : public virtual facebook::react::Sealable, public virtual facebook::react::DebugStringConvertible { + protected void initialize(const facebook::react::PropsParserContext& context, const facebook::react::Props& sourceProps, const facebook::react::RawProps& rawProps, const std::function& filterObjectKeys = nullptr); + public Props() = default; + public Props(const facebook::react::Props& other) = delete; + public Props(const facebook::react::PropsParserContext& context, const facebook::react::Props& sourceProps, const facebook::react::RawProps& rawProps, const std::function& filterObjectKeys = nullptr); + public facebook::react::Props& operator=(const facebook::react::Props& other) = delete; + public folly::dynamic rawProps; + public std::string nativeId; + public using Shared = std::shared_ptr; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const; + public virtual ~Props() = default; + public void initializeDynamicProps(const facebook::react::Props& sourceProps, const facebook::react::RawProps& rawProps, const std::function& filterObjectKeys = nullptr); + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::PropsAnimatedNode : public facebook::react::AnimatedNode { + public PropsAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public facebook::react::SurfaceId connectedRootTag() const; + public facebook::react::Tag connectedViewTag() const; + public folly::dynamic props(); + public virtual void update() override; + public void connectToShadowNodeFamily(facebook::react::ShadowNodeFamily::Weak shadowNodeFamily); + public void connectToView(facebook::react::Tag viewTag); + public void disconnectFromShadowNodeFamily(); + public void disconnectFromView(facebook::react::Tag viewTag); + public void restoreDefaultValues(); + public void update(bool forceFabricCommit); +} + +class facebook::react::PullToRefreshViewEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onRefresh(facebook::react::PullToRefreshViewEventEmitter::OnRefresh value) const; +} + +struct facebook::react::PullToRefreshViewEventEmitter::OnRefresh { +} + +class facebook::react::PullToRefreshViewProps : public facebook::react::HostPlatformViewProps { + public PullToRefreshViewProps() = default; + public PullToRefreshViewProps(const facebook::react::PropsParserContext& context, const facebook::react::PullToRefreshViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool refreshing; + public facebook::react::Float progressViewOffset; + public facebook::react::SharedColor tintColor; + public facebook::react::SharedColor titleColor; + public std::string title; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::RAMBundleRegistry { + public RAMBundleRegistry(facebook::react::RAMBundleRegistry&&) = default; + public RAMBundleRegistry(std::unique_ptr mainBundle, std::function(std::string)> factory = nullptr); + public facebook::react::JSModulesUnbundle::Module getModule(uint32_t bundleId, uint32_t moduleId); + public facebook::react::RAMBundleRegistry& operator=(facebook::react::RAMBundleRegistry&&) = default; + public static constexpr uint32_t MAIN_BUNDLE_ID; + public static std::unique_ptr multipleBundlesRegistry(std::unique_ptr mainBundle, std::function(std::string)> factory); + public static std::unique_ptr singleBundleRegistry(std::unique_ptr mainBundle); + public virtual ~RAMBundleRegistry() = default; + public void registerBundle(uint32_t bundleId, std::string bundlePath); +} + +class facebook::react::RawProps { + public RawProps(); + public RawProps(const facebook::react::RawProps& other) noexcept; + public RawProps(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value) noexcept; + public RawProps(facebook::react::RawProps&& other) noexcept = default; + public RawProps(folly::dynamic dynamic) noexcept; + public bool isEmpty() const noexcept; + public const facebook::react::RawValue* at(const char* name, const char* prefix, const char* suffix) const noexcept; + public facebook::react::RawProps& operator=(const facebook::react::RawProps& other) noexcept = delete; + public facebook::react::RawProps& operator=(facebook::react::RawProps&& other) noexcept = delete; + public folly::dynamic toDynamic(const std::function& filterObjectKeys = nullptr) const; + public operator folly::dynamic() const; + public void parse(const facebook::react::RawPropsParser& parser) noexcept; +} + +enum facebook::react::RawProps::Mode { + Dynamic, + Empty, + JSI, +} + +class facebook::react::RawPropsKey { + public const char* name; + public const char* prefix; + public const char* suffix; + public operator std::string() const noexcept; + public void render(char* buffer, facebook::react::RawPropsPropNameLength* length) const noexcept; +} + +class facebook::react::RawPropsKeyMap { + public facebook::react::RawPropsValueIndex at(const char* name, facebook::react::RawPropsPropNameLength length) noexcept; + public void insert(const facebook::react::RawPropsKey& key, facebook::react::RawPropsValueIndex value) noexcept; + public void reindex() noexcept; +} + +class facebook::react::RawPropsParser { + public RawPropsParser() = default; + public RawPropsParser(bool); + template + public void prepare() noexcept; +} + +class facebook::react::RawTextProps : public facebook::react::Props { + public RawTextProps() = default; + public RawTextProps(const facebook::react::PropsParserContext& context, const facebook::react::RawTextProps& sourceProps, const facebook::react::RawProps& rawProps); + public std::string text; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::RawTextShadowNode : public facebook::react::ConcreteShadowNode { +} + +class facebook::react::RawValue { + public RawValue() noexcept; + public RawValue(const folly::dynamic& dynamic) noexcept; + public RawValue(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value) noexcept; + public RawValue(facebook::jsi::Runtime& runtime, facebook::jsi::Value&& value) noexcept; + public RawValue(facebook::react::RawValue&& other) noexcept; + public RawValue(folly::dynamic&& dynamic) noexcept; + public bool hasValue() const; + public facebook::react::RawValue& operator=(facebook::react::RawValue&& other) noexcept; + public operator folly::dynamic() const; + template + public bool hasType() const; + template + public operator T() const; +} + +class facebook::react::ReactInstance { + public ReactInstance(const facebook::react::ReactInstance&) = delete; + public ReactInstance(facebook::react::ReactInstance&&) = delete; + public ReactInstance(std::unique_ptr runtime, std::shared_ptr jsMessageQueueThread, std::shared_ptr timerManager, facebook::react::JsErrorHandler::OnJsError onJsError, facebook::react::jsinspector_modern::HostTarget* parentInspectorTarget = nullptr); + public facebook::react::ReactInstance& operator=(const facebook::react::ReactInstance&) = delete; + public facebook::react::ReactInstance& operator=(facebook::react::ReactInstance&&) = delete; + public facebook::react::RuntimeExecutor getBufferedRuntimeExecutor() noexcept; + public facebook::react::RuntimeExecutor getUnbufferedRuntimeExecutor() noexcept; + public std::shared_ptr getRuntimeScheduler() noexcept; + public using BindingsInstallFunc = std::function; + public void callFunctionOnModule(const std::string& moduleName, const std::string& methodName, folly::dynamic&& args); + public void handleMemoryPressureJs(int pressureLevel); + public void initializeRuntime(facebook::react::ReactInstance::JSRuntimeFlags options, facebook::react::ReactInstance::BindingsInstallFunc bindingsInstallFunc) noexcept; + public void loadScript(std::unique_ptr script, const std::string& sourceURL, std::function&& beforeLoad = nullptr, std::function&& afterLoad = nullptr); + public void registerSegment(uint32_t segmentId, const std::string& segmentPath); + public void unregisterFromInspector(); + public void* getJavaScriptContext(); + public ~ReactInstance() noexcept override; +} + +struct facebook::react::ReactInstance::JSRuntimeFlags { + public bool isProfiling; + public const std::string runtimeDiagnosticFlags; +} + +class facebook::react::ReactNativeFeatureFlags { + public static bool cdpInteractionMetricsEnabled(); + public static bool commonTestFlag(); + public static bool cxxNativeAnimatedEnabled(); + public static bool defaultTextToOverflowHidden(); + public static bool disableEarlyViewCommandExecution(); + public static bool disableImageViewPreallocationAndroid(); + public static bool disableMountItemReorderingAndroid(); + public static bool disableSubviewClippingAndroid(); + public static bool disableTextLayoutManagerCacheAndroid(); + public static bool disableViewPreallocationAndroid(); + public static bool enableAccessibilityOrder(); + public static bool enableAccumulatedUpdatesInRawPropsAndroid(); + public static bool enableAndroidAntialiasedBorderRadiusClipping(); + public static bool enableAndroidLinearText(); + public static bool enableAndroidTextMeasurementOptimizations(); + public static bool enableBridgelessArchitecture(); + public static bool enableCppPropsIteratorSetter(); + public static bool enableCustomFocusSearchOnClippedElementsAndroid(); + public static bool enableDestroyShadowTreeRevisionAsync(); + public static bool enableDifferentiatorMutationVectorPreallocation(); + public static bool enableDoubleMeasurementFixAndroid(); + public static bool enableEagerMainQueueModulesOnIOS(); + public static bool enableEagerRootViewAttachment(); + public static bool enableExclusivePropsUpdateAndroid(); + public static bool enableFabricCommitBranching(); + public static bool enableFabricLogs(); + public static bool enableFabricRenderer(); + public static bool enableFontScaleChangesUpdatingLayout(); + public static bool enableIOSTextBaselineOffsetPerLine(); + public static bool enableIOSViewClipToPaddingBox(); + public static bool enableImagePrefetchingAndroid(); + public static bool enableImagePrefetchingJNIBatchingAndroid(); + public static bool enableImagePrefetchingOnUiThreadAndroid(); + public static bool enableImmediateUpdateModeForContentOffsetChanges(); + public static bool enableImperativeFocus(); + public static bool enableInteropViewManagerClassLookUpOptimizationIOS(); + public static bool enableIntersectionObserverByDefault(); + public static bool enableKeyEvents(); + public static bool enableLayoutAnimationsOnAndroid(); + public static bool enableLayoutAnimationsOnIOS(); + public static bool enableMainQueueCoordinatorOnIOS(); + public static bool enableModuleArgumentNSNullConversionIOS(); + public static bool enableMutationObserverByDefault(); + public static bool enableNativeCSSParsing(); + public static bool enableNativeViewPropTransformations(); + public static bool enableNetworkEventReporting(); + public static bool enablePreparedTextLayout(); + public static bool enablePropsUpdateReconciliationAndroid(); + public static bool enableSwiftUIBasedFilters(); + public static bool enableViewCulling(); + public static bool enableViewRecycling(); + public static bool enableViewRecyclingForImage(); + public static bool enableViewRecyclingForScrollView(); + public static bool enableViewRecyclingForText(); + public static bool enableViewRecyclingForView(); + public static bool enableVirtualViewContainerStateExperimental(); + public static bool enableVirtualViewDebugFeatures(); + public static bool fixFindShadowNodeByTagRaceCondition(); + public static bool fixMappingOfEventPrioritiesBetweenFabricAndReact(); + public static bool fixTextClippingAndroid15useBoundsForWidth(); + public static bool fixYogaFlexBasisFitContentInMainAxis(); + public static bool fuseboxAssertSingleHostState(); + public static bool fuseboxEnabledRelease(); + public static bool fuseboxFrameRecordingEnabled(); + public static bool fuseboxNetworkInspectionEnabled(); + public static bool hideOffscreenVirtualViewsOnIOS(); + public static bool overrideBySynchronousMountPropsAtMountingAndroid(); + public static bool perfIssuesEnabled(); + public static bool perfMonitorV2Enabled(); + public static bool preventShadowTreeCommitExhaustion(); + public static bool shouldPressibilityUseW3CPointerEventsForHover(); + public static bool shouldTriggerResponderTransferOnScrollAndroid(); + public static bool skipActivityIdentityAssertionOnHostPause(); + public static bool syncAndroidClipToPaddingWithOverflow(); + public static bool traceTurboModulePromiseRejectionsOnAndroid(); + public static bool updateRuntimeShadowNodeReferencesOnCommit(); + public static bool updateRuntimeShadowNodeReferencesOnCommitThread(); + public static bool useAlwaysAvailableJSErrorHandling(); + public static bool useFabricInterop(); + public static bool useLISAlgorithmInDifferentiator(); + public static bool useNativeViewConfigsInBridgelessMode(); + public static bool useNestedScrollViewAndroid(); + public static bool useSharedAnimatedBackend(); + public static bool useTraitHiddenOnAndroid(); + public static bool useTurboModuleInterop(); + public static bool useTurboModules(); + public static bool useUnorderedMapInDifferentiator(); + public static bool viewTransitionEnabled(); + public static double preparedTextCacheSize(); + public static double viewCullingOutsetRatio(); + public static double virtualViewPrerenderRatio(); + public static std::optional dangerouslyForceOverride(std::unique_ptr provider); + public static void dangerouslyReset(); + public static void override(std::unique_ptr provider); +} + +class facebook::react::ReactNativeFeatureFlagsAccessor { + public ReactNativeFeatureFlagsAccessor(); + public bool cdpInteractionMetricsEnabled(); + public bool commonTestFlag(); + public bool cxxNativeAnimatedEnabled(); + public bool defaultTextToOverflowHidden(); + public bool disableEarlyViewCommandExecution(); + public bool disableImageViewPreallocationAndroid(); + public bool disableMountItemReorderingAndroid(); + public bool disableSubviewClippingAndroid(); + public bool disableTextLayoutManagerCacheAndroid(); + public bool disableViewPreallocationAndroid(); + public bool enableAccessibilityOrder(); + public bool enableAccumulatedUpdatesInRawPropsAndroid(); + public bool enableAndroidAntialiasedBorderRadiusClipping(); + public bool enableAndroidLinearText(); + public bool enableAndroidTextMeasurementOptimizations(); + public bool enableBridgelessArchitecture(); + public bool enableCppPropsIteratorSetter(); + public bool enableCustomFocusSearchOnClippedElementsAndroid(); + public bool enableDestroyShadowTreeRevisionAsync(); + public bool enableDifferentiatorMutationVectorPreallocation(); + public bool enableDoubleMeasurementFixAndroid(); + public bool enableEagerMainQueueModulesOnIOS(); + public bool enableEagerRootViewAttachment(); + public bool enableExclusivePropsUpdateAndroid(); + public bool enableFabricCommitBranching(); + public bool enableFabricLogs(); + public bool enableFabricRenderer(); + public bool enableFontScaleChangesUpdatingLayout(); + public bool enableIOSTextBaselineOffsetPerLine(); + public bool enableIOSViewClipToPaddingBox(); + public bool enableImagePrefetchingAndroid(); + public bool enableImagePrefetchingJNIBatchingAndroid(); + public bool enableImagePrefetchingOnUiThreadAndroid(); + public bool enableImmediateUpdateModeForContentOffsetChanges(); + public bool enableImperativeFocus(); + public bool enableInteropViewManagerClassLookUpOptimizationIOS(); + public bool enableIntersectionObserverByDefault(); + public bool enableKeyEvents(); + public bool enableLayoutAnimationsOnAndroid(); + public bool enableLayoutAnimationsOnIOS(); + public bool enableMainQueueCoordinatorOnIOS(); + public bool enableModuleArgumentNSNullConversionIOS(); + public bool enableMutationObserverByDefault(); + public bool enableNativeCSSParsing(); + public bool enableNativeViewPropTransformations(); + public bool enableNetworkEventReporting(); + public bool enablePreparedTextLayout(); + public bool enablePropsUpdateReconciliationAndroid(); + public bool enableSwiftUIBasedFilters(); + public bool enableViewCulling(); + public bool enableViewRecycling(); + public bool enableViewRecyclingForImage(); + public bool enableViewRecyclingForScrollView(); + public bool enableViewRecyclingForText(); + public bool enableViewRecyclingForView(); + public bool enableVirtualViewContainerStateExperimental(); + public bool enableVirtualViewDebugFeatures(); + public bool fixFindShadowNodeByTagRaceCondition(); + public bool fixMappingOfEventPrioritiesBetweenFabricAndReact(); + public bool fixTextClippingAndroid15useBoundsForWidth(); + public bool fixYogaFlexBasisFitContentInMainAxis(); + public bool fuseboxAssertSingleHostState(); + public bool fuseboxEnabledRelease(); + public bool fuseboxFrameRecordingEnabled(); + public bool fuseboxNetworkInspectionEnabled(); + public bool hideOffscreenVirtualViewsOnIOS(); + public bool overrideBySynchronousMountPropsAtMountingAndroid(); + public bool perfIssuesEnabled(); + public bool perfMonitorV2Enabled(); + public bool preventShadowTreeCommitExhaustion(); + public bool shouldPressibilityUseW3CPointerEventsForHover(); + public bool shouldTriggerResponderTransferOnScrollAndroid(); + public bool skipActivityIdentityAssertionOnHostPause(); + public bool syncAndroidClipToPaddingWithOverflow(); + public bool traceTurboModulePromiseRejectionsOnAndroid(); + public bool updateRuntimeShadowNodeReferencesOnCommit(); + public bool updateRuntimeShadowNodeReferencesOnCommitThread(); + public bool useAlwaysAvailableJSErrorHandling(); + public bool useFabricInterop(); + public bool useLISAlgorithmInDifferentiator(); + public bool useNativeViewConfigsInBridgelessMode(); + public bool useNestedScrollViewAndroid(); + public bool useSharedAnimatedBackend(); + public bool useTraitHiddenOnAndroid(); + public bool useTurboModuleInterop(); + public bool useTurboModules(); + public bool useUnorderedMapInDifferentiator(); + public bool viewTransitionEnabled(); + public double preparedTextCacheSize(); + public double viewCullingOutsetRatio(); + public double virtualViewPrerenderRatio(); + public std::optional getAccessedFeatureFlagNames() const; + public void override(std::unique_ptr provider); +} + +class facebook::react::ReactNativeFeatureFlagsDefaults : public facebook::react::ReactNativeFeatureFlagsProvider { + public ReactNativeFeatureFlagsDefaults() = default; + public virtual bool cdpInteractionMetricsEnabled() override; + public virtual bool commonTestFlag() override; + public virtual bool cxxNativeAnimatedEnabled() override; + public virtual bool defaultTextToOverflowHidden() override; + public virtual bool disableEarlyViewCommandExecution() override; + public virtual bool disableImageViewPreallocationAndroid() override; + public virtual bool disableMountItemReorderingAndroid() override; + public virtual bool disableSubviewClippingAndroid() override; + public virtual bool disableTextLayoutManagerCacheAndroid() override; + public virtual bool disableViewPreallocationAndroid() override; + public virtual bool enableAccessibilityOrder() override; + public virtual bool enableAccumulatedUpdatesInRawPropsAndroid() override; + public virtual bool enableAndroidAntialiasedBorderRadiusClipping() override; + public virtual bool enableAndroidLinearText() override; + public virtual bool enableAndroidTextMeasurementOptimizations() override; + public virtual bool enableBridgelessArchitecture() override; + public virtual bool enableCppPropsIteratorSetter() override; + public virtual bool enableCustomFocusSearchOnClippedElementsAndroid() override; + public virtual bool enableDestroyShadowTreeRevisionAsync() override; + public virtual bool enableDifferentiatorMutationVectorPreallocation() override; + public virtual bool enableDoubleMeasurementFixAndroid() override; + public virtual bool enableEagerMainQueueModulesOnIOS() override; + public virtual bool enableEagerRootViewAttachment() override; + public virtual bool enableExclusivePropsUpdateAndroid() override; + public virtual bool enableFabricCommitBranching() override; + public virtual bool enableFabricLogs() override; + public virtual bool enableFabricRenderer() override; + public virtual bool enableFontScaleChangesUpdatingLayout() override; + public virtual bool enableIOSTextBaselineOffsetPerLine() override; + public virtual bool enableIOSViewClipToPaddingBox() override; + public virtual bool enableImagePrefetchingAndroid() override; + public virtual bool enableImagePrefetchingJNIBatchingAndroid() override; + public virtual bool enableImagePrefetchingOnUiThreadAndroid() override; + public virtual bool enableImmediateUpdateModeForContentOffsetChanges() override; + public virtual bool enableImperativeFocus() override; + public virtual bool enableInteropViewManagerClassLookUpOptimizationIOS() override; + public virtual bool enableIntersectionObserverByDefault() override; + public virtual bool enableKeyEvents() override; + public virtual bool enableLayoutAnimationsOnAndroid() override; + public virtual bool enableLayoutAnimationsOnIOS() override; + public virtual bool enableMainQueueCoordinatorOnIOS() override; + public virtual bool enableModuleArgumentNSNullConversionIOS() override; + public virtual bool enableMutationObserverByDefault() override; + public virtual bool enableNativeCSSParsing() override; + public virtual bool enableNativeViewPropTransformations() override; + public virtual bool enableNetworkEventReporting() override; + public virtual bool enablePreparedTextLayout() override; + public virtual bool enablePropsUpdateReconciliationAndroid() override; + public virtual bool enableSwiftUIBasedFilters() override; + public virtual bool enableViewCulling() override; + public virtual bool enableViewRecycling() override; + public virtual bool enableViewRecyclingForImage() override; + public virtual bool enableViewRecyclingForScrollView() override; + public virtual bool enableViewRecyclingForText() override; + public virtual bool enableViewRecyclingForView() override; + public virtual bool enableVirtualViewContainerStateExperimental() override; + public virtual bool enableVirtualViewDebugFeatures() override; + public virtual bool fixFindShadowNodeByTagRaceCondition() override; + public virtual bool fixMappingOfEventPrioritiesBetweenFabricAndReact() override; + public virtual bool fixTextClippingAndroid15useBoundsForWidth() override; + public virtual bool fixYogaFlexBasisFitContentInMainAxis() override; + public virtual bool fuseboxAssertSingleHostState() override; + public virtual bool fuseboxEnabledRelease() override; + public virtual bool fuseboxFrameRecordingEnabled() override; + public virtual bool fuseboxNetworkInspectionEnabled() override; + public virtual bool hideOffscreenVirtualViewsOnIOS() override; + public virtual bool overrideBySynchronousMountPropsAtMountingAndroid() override; + public virtual bool perfIssuesEnabled() override; + public virtual bool perfMonitorV2Enabled() override; + public virtual bool preventShadowTreeCommitExhaustion() override; + public virtual bool shouldPressibilityUseW3CPointerEventsForHover() override; + public virtual bool shouldTriggerResponderTransferOnScrollAndroid() override; + public virtual bool skipActivityIdentityAssertionOnHostPause() override; + public virtual bool syncAndroidClipToPaddingWithOverflow() override; + public virtual bool traceTurboModulePromiseRejectionsOnAndroid() override; + public virtual bool updateRuntimeShadowNodeReferencesOnCommit() override; + public virtual bool updateRuntimeShadowNodeReferencesOnCommitThread() override; + public virtual bool useAlwaysAvailableJSErrorHandling() override; + public virtual bool useFabricInterop() override; + public virtual bool useLISAlgorithmInDifferentiator() override; + public virtual bool useNativeViewConfigsInBridgelessMode() override; + public virtual bool useNestedScrollViewAndroid() override; + public virtual bool useSharedAnimatedBackend() override; + public virtual bool useTraitHiddenOnAndroid() override; + public virtual bool useTurboModuleInterop() override; + public virtual bool useTurboModules() override; + public virtual bool useUnorderedMapInDifferentiator() override; + public virtual bool viewTransitionEnabled() override; + public virtual double preparedTextCacheSize() override; + public virtual double viewCullingOutsetRatio() override; + public virtual double virtualViewPrerenderRatio() override; +} + +class facebook::react::ReactNativeFeatureFlagsDynamicProvider : public facebook::react::ReactNativeFeatureFlagsDefaults { + public ReactNativeFeatureFlagsDynamicProvider(folly::dynamic values); + public virtual bool cdpInteractionMetricsEnabled() override; + public virtual bool commonTestFlag() override; + public virtual bool cxxNativeAnimatedEnabled() override; + public virtual bool defaultTextToOverflowHidden() override; + public virtual bool disableEarlyViewCommandExecution() override; + public virtual bool disableImageViewPreallocationAndroid() override; + public virtual bool disableMountItemReorderingAndroid() override; + public virtual bool disableSubviewClippingAndroid() override; + public virtual bool disableTextLayoutManagerCacheAndroid() override; + public virtual bool disableViewPreallocationAndroid() override; + public virtual bool enableAccessibilityOrder() override; + public virtual bool enableAccumulatedUpdatesInRawPropsAndroid() override; + public virtual bool enableAndroidAntialiasedBorderRadiusClipping() override; + public virtual bool enableAndroidLinearText() override; + public virtual bool enableAndroidTextMeasurementOptimizations() override; + public virtual bool enableBridgelessArchitecture() override; + public virtual bool enableCppPropsIteratorSetter() override; + public virtual bool enableCustomFocusSearchOnClippedElementsAndroid() override; + public virtual bool enableDestroyShadowTreeRevisionAsync() override; + public virtual bool enableDifferentiatorMutationVectorPreallocation() override; + public virtual bool enableDoubleMeasurementFixAndroid() override; + public virtual bool enableEagerMainQueueModulesOnIOS() override; + public virtual bool enableEagerRootViewAttachment() override; + public virtual bool enableExclusivePropsUpdateAndroid() override; + public virtual bool enableFabricCommitBranching() override; + public virtual bool enableFabricLogs() override; + public virtual bool enableFabricRenderer() override; + public virtual bool enableFontScaleChangesUpdatingLayout() override; + public virtual bool enableIOSTextBaselineOffsetPerLine() override; + public virtual bool enableIOSViewClipToPaddingBox() override; + public virtual bool enableImagePrefetchingAndroid() override; + public virtual bool enableImagePrefetchingJNIBatchingAndroid() override; + public virtual bool enableImagePrefetchingOnUiThreadAndroid() override; + public virtual bool enableImmediateUpdateModeForContentOffsetChanges() override; + public virtual bool enableImperativeFocus() override; + public virtual bool enableInteropViewManagerClassLookUpOptimizationIOS() override; + public virtual bool enableIntersectionObserverByDefault() override; + public virtual bool enableKeyEvents() override; + public virtual bool enableLayoutAnimationsOnAndroid() override; + public virtual bool enableLayoutAnimationsOnIOS() override; + public virtual bool enableMainQueueCoordinatorOnIOS() override; + public virtual bool enableModuleArgumentNSNullConversionIOS() override; + public virtual bool enableMutationObserverByDefault() override; + public virtual bool enableNativeCSSParsing() override; + public virtual bool enableNativeViewPropTransformations() override; + public virtual bool enableNetworkEventReporting() override; + public virtual bool enablePreparedTextLayout() override; + public virtual bool enablePropsUpdateReconciliationAndroid() override; + public virtual bool enableSwiftUIBasedFilters() override; + public virtual bool enableViewCulling() override; + public virtual bool enableViewRecycling() override; + public virtual bool enableViewRecyclingForImage() override; + public virtual bool enableViewRecyclingForScrollView() override; + public virtual bool enableViewRecyclingForText() override; + public virtual bool enableViewRecyclingForView() override; + public virtual bool enableVirtualViewContainerStateExperimental() override; + public virtual bool enableVirtualViewDebugFeatures() override; + public virtual bool fixFindShadowNodeByTagRaceCondition() override; + public virtual bool fixMappingOfEventPrioritiesBetweenFabricAndReact() override; + public virtual bool fixTextClippingAndroid15useBoundsForWidth() override; + public virtual bool fixYogaFlexBasisFitContentInMainAxis() override; + public virtual bool fuseboxAssertSingleHostState() override; + public virtual bool fuseboxEnabledRelease() override; + public virtual bool fuseboxFrameRecordingEnabled() override; + public virtual bool fuseboxNetworkInspectionEnabled() override; + public virtual bool hideOffscreenVirtualViewsOnIOS() override; + public virtual bool overrideBySynchronousMountPropsAtMountingAndroid() override; + public virtual bool perfIssuesEnabled() override; + public virtual bool perfMonitorV2Enabled() override; + public virtual bool preventShadowTreeCommitExhaustion() override; + public virtual bool shouldPressibilityUseW3CPointerEventsForHover() override; + public virtual bool shouldTriggerResponderTransferOnScrollAndroid() override; + public virtual bool skipActivityIdentityAssertionOnHostPause() override; + public virtual bool syncAndroidClipToPaddingWithOverflow() override; + public virtual bool traceTurboModulePromiseRejectionsOnAndroid() override; + public virtual bool updateRuntimeShadowNodeReferencesOnCommit() override; + public virtual bool updateRuntimeShadowNodeReferencesOnCommitThread() override; + public virtual bool useAlwaysAvailableJSErrorHandling() override; + public virtual bool useFabricInterop() override; + public virtual bool useLISAlgorithmInDifferentiator() override; + public virtual bool useNativeViewConfigsInBridgelessMode() override; + public virtual bool useNestedScrollViewAndroid() override; + public virtual bool useSharedAnimatedBackend() override; + public virtual bool useTraitHiddenOnAndroid() override; + public virtual bool useTurboModuleInterop() override; + public virtual bool useTurboModules() override; + public virtual bool useUnorderedMapInDifferentiator() override; + public virtual bool viewTransitionEnabled() override; + public virtual double preparedTextCacheSize() override; + public virtual double viewCullingOutsetRatio() override; + public virtual double virtualViewPrerenderRatio() override; +} + +class facebook::react::ReactNativeFeatureFlagsOverridesOSSCanary : public facebook::react::ReactNativeFeatureFlagsOverridesOSSStable { + public ReactNativeFeatureFlagsOverridesOSSCanary() = default; + public virtual bool enableBridgelessArchitecture() override; + public virtual bool enableFabricRenderer() override; + public virtual bool enableIntersectionObserverByDefault() override; + public virtual bool useNativeViewConfigsInBridgelessMode() override; + public virtual bool useTurboModuleInterop() override; + public virtual bool useTurboModules() override; +} + +class facebook::react::ReactNativeFeatureFlagsOverridesOSSExperimental : public facebook::react::ReactNativeFeatureFlagsOverridesOSSCanary { + public ReactNativeFeatureFlagsOverridesOSSExperimental() = default; + public virtual bool enableAccessibilityOrder() override; + public virtual bool enableSwiftUIBasedFilters() override; + public virtual bool fixTextClippingAndroid15useBoundsForWidth() override; + public virtual bool preventShadowTreeCommitExhaustion() override; +} + +class facebook::react::ReactNativeFeatureFlagsOverridesOSSStable : public facebook::react::ReactNativeFeatureFlagsDefaults { + public virtual bool enableBridgelessArchitecture() override; + public virtual bool enableFabricRenderer() override; + public virtual bool useNativeViewConfigsInBridgelessMode() override; + public virtual bool useTurboModules() override; +} + +class facebook::react::ReactNativeFeatureFlagsProvider { + public virtual bool cdpInteractionMetricsEnabled() = 0; + public virtual bool commonTestFlag() = 0; + public virtual bool cxxNativeAnimatedEnabled() = 0; + public virtual bool defaultTextToOverflowHidden() = 0; + public virtual bool disableEarlyViewCommandExecution() = 0; + public virtual bool disableImageViewPreallocationAndroid() = 0; + public virtual bool disableMountItemReorderingAndroid() = 0; + public virtual bool disableSubviewClippingAndroid() = 0; + public virtual bool disableTextLayoutManagerCacheAndroid() = 0; + public virtual bool disableViewPreallocationAndroid() = 0; + public virtual bool enableAccessibilityOrder() = 0; + public virtual bool enableAccumulatedUpdatesInRawPropsAndroid() = 0; + public virtual bool enableAndroidAntialiasedBorderRadiusClipping() = 0; + public virtual bool enableAndroidLinearText() = 0; + public virtual bool enableAndroidTextMeasurementOptimizations() = 0; + public virtual bool enableBridgelessArchitecture() = 0; + public virtual bool enableCppPropsIteratorSetter() = 0; + public virtual bool enableCustomFocusSearchOnClippedElementsAndroid() = 0; + public virtual bool enableDestroyShadowTreeRevisionAsync() = 0; + public virtual bool enableDifferentiatorMutationVectorPreallocation() = 0; + public virtual bool enableDoubleMeasurementFixAndroid() = 0; + public virtual bool enableEagerMainQueueModulesOnIOS() = 0; + public virtual bool enableEagerRootViewAttachment() = 0; + public virtual bool enableExclusivePropsUpdateAndroid() = 0; + public virtual bool enableFabricCommitBranching() = 0; + public virtual bool enableFabricLogs() = 0; + public virtual bool enableFabricRenderer() = 0; + public virtual bool enableFontScaleChangesUpdatingLayout() = 0; + public virtual bool enableIOSTextBaselineOffsetPerLine() = 0; + public virtual bool enableIOSViewClipToPaddingBox() = 0; + public virtual bool enableImagePrefetchingAndroid() = 0; + public virtual bool enableImagePrefetchingJNIBatchingAndroid() = 0; + public virtual bool enableImagePrefetchingOnUiThreadAndroid() = 0; + public virtual bool enableImmediateUpdateModeForContentOffsetChanges() = 0; + public virtual bool enableImperativeFocus() = 0; + public virtual bool enableInteropViewManagerClassLookUpOptimizationIOS() = 0; + public virtual bool enableIntersectionObserverByDefault() = 0; + public virtual bool enableKeyEvents() = 0; + public virtual bool enableLayoutAnimationsOnAndroid() = 0; + public virtual bool enableLayoutAnimationsOnIOS() = 0; + public virtual bool enableMainQueueCoordinatorOnIOS() = 0; + public virtual bool enableModuleArgumentNSNullConversionIOS() = 0; + public virtual bool enableMutationObserverByDefault() = 0; + public virtual bool enableNativeCSSParsing() = 0; + public virtual bool enableNativeViewPropTransformations() = 0; + public virtual bool enableNetworkEventReporting() = 0; + public virtual bool enablePreparedTextLayout() = 0; + public virtual bool enablePropsUpdateReconciliationAndroid() = 0; + public virtual bool enableSwiftUIBasedFilters() = 0; + public virtual bool enableViewCulling() = 0; + public virtual bool enableViewRecycling() = 0; + public virtual bool enableViewRecyclingForImage() = 0; + public virtual bool enableViewRecyclingForScrollView() = 0; + public virtual bool enableViewRecyclingForText() = 0; + public virtual bool enableViewRecyclingForView() = 0; + public virtual bool enableVirtualViewContainerStateExperimental() = 0; + public virtual bool enableVirtualViewDebugFeatures() = 0; + public virtual bool fixFindShadowNodeByTagRaceCondition() = 0; + public virtual bool fixMappingOfEventPrioritiesBetweenFabricAndReact() = 0; + public virtual bool fixTextClippingAndroid15useBoundsForWidth() = 0; + public virtual bool fixYogaFlexBasisFitContentInMainAxis() = 0; + public virtual bool fuseboxAssertSingleHostState() = 0; + public virtual bool fuseboxEnabledRelease() = 0; + public virtual bool fuseboxFrameRecordingEnabled() = 0; + public virtual bool fuseboxNetworkInspectionEnabled() = 0; + public virtual bool hideOffscreenVirtualViewsOnIOS() = 0; + public virtual bool overrideBySynchronousMountPropsAtMountingAndroid() = 0; + public virtual bool perfIssuesEnabled() = 0; + public virtual bool perfMonitorV2Enabled() = 0; + public virtual bool preventShadowTreeCommitExhaustion() = 0; + public virtual bool shouldPressibilityUseW3CPointerEventsForHover() = 0; + public virtual bool shouldTriggerResponderTransferOnScrollAndroid() = 0; + public virtual bool skipActivityIdentityAssertionOnHostPause() = 0; + public virtual bool syncAndroidClipToPaddingWithOverflow() = 0; + public virtual bool traceTurboModulePromiseRejectionsOnAndroid() = 0; + public virtual bool updateRuntimeShadowNodeReferencesOnCommit() = 0; + public virtual bool updateRuntimeShadowNodeReferencesOnCommitThread() = 0; + public virtual bool useAlwaysAvailableJSErrorHandling() = 0; + public virtual bool useFabricInterop() = 0; + public virtual bool useLISAlgorithmInDifferentiator() = 0; + public virtual bool useNativeViewConfigsInBridgelessMode() = 0; + public virtual bool useNestedScrollViewAndroid() = 0; + public virtual bool useSharedAnimatedBackend() = 0; + public virtual bool useTraitHiddenOnAndroid() = 0; + public virtual bool useTurboModuleInterop() = 0; + public virtual bool useTurboModules() = 0; + public virtual bool useUnorderedMapInDifferentiator() = 0; + public virtual bool viewTransitionEnabled() = 0; + public virtual double preparedTextCacheSize() = 0; + public virtual double viewCullingOutsetRatio() = 0; + public virtual double virtualViewPrerenderRatio() = 0; + public virtual ~ReactNativeFeatureFlagsProvider() = default; +} + +class facebook::react::ReactPerfettoLogger { + public static bool isTracing(); + public static void mark(const std::string_view& eventName, facebook::react::HighResTimeStamp startTime, const std::optional& trackName = std::nullopt, const std::optional& trackGroup = std::nullopt); + public static void measure(const std::string_view& eventName, facebook::react::HighResTimeStamp startTime, facebook::react::HighResTimeStamp endTime, const std::optional& trackName = std::nullopt, const std::optional& trackGroup = std::nullopt); +} + +class facebook::react::ReadableNativeArray : public jni::HybridClass { + protected friend HybridBase; + public bool equals(jni::alias_ref other); + public jni::local_ref> importArray(); + public jni::local_ref> importTypeArray(); + public static constexpr char* kJavaDescriptor; + public static void mapException(std::exception_ptr ex); + public static void registerNatives(); + template + protected ReadableNativeArray(Dyn&& array); +} + +class facebook::react::RootProps : public facebook::react::HostPlatformViewProps { + public RootProps() = default; + public RootProps(const facebook::react::PropsParserContext& context, const facebook::react::RootProps& sourceProps, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext); + public RootProps(const facebook::react::PropsParserContext& context, const facebook::react::RootProps& sourceProps, const facebook::react::RawProps& rawProps); + public facebook::react::LayoutConstraints layoutConstraints; + public facebook::react::LayoutContext layoutContext; +} + +class facebook::react::RootShadowNode : public facebook::react::ConcreteViewShadowNode { + public RootShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public RootShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public bool layoutIfNeeded(std::vector* affectedNodes = {}); + public facebook::react::RootShadowNode::Unshared clone(const facebook::react::PropsParserContext& propsParserContext, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; + public static facebook::react::ShadowNodeTraits BaseTraits(); + public using Shared = std::shared_ptr; + public using Unshared = std::shared_ptr; + public virtual facebook::react::Transform getTransform() const override; + public void setInstanceHandle(facebook::react::InstanceHandle::Shared instanceHandle) const; +} + +class facebook::react::RoundAnimatedNode : public facebook::react::ValueAnimatedNode { + public RoundAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::RunLoopObserver { + protected const facebook::react::RunLoopObserver::Activity activities_; + protected const facebook::react::RunLoopObserver::WeakOwner owner_; + protected mutable const facebook::react::RunLoopObserver::Delegate* delegate_; + protected mutable std::atomic enabled_; + protected virtual void startObserving() const noexcept = 0; + protected virtual void stopObserving() const noexcept = 0; + protected void activityDidChange(facebook::react::RunLoopObserver::Activity activity) const noexcept; + public RunLoopObserver(facebook::react::RunLoopObserver::Activity activities, facebook::react::RunLoopObserver::WeakOwner owner) noexcept; + public facebook::react::RunLoopObserver::WeakOwner getOwner() const noexcept; + public using Factory = std::function(facebook::react::RunLoopObserver::Activity activities, const facebook::react::RunLoopObserver::WeakOwner& owner)>; + public using Owner = std::shared_ptr; + public using WeakOwner = std::weak_ptr; + public virtual bool isOnRunLoopThread() const noexcept = 0; + public virtual ~RunLoopObserver() noexcept = default; + public void disable() const noexcept; + public void enable() const noexcept; + public void setDelegate(const facebook::react::RunLoopObserver::Delegate* delegate) const noexcept; +} + +class facebook::react::RunLoopObserver::Delegate { + public virtual void activityDidChange(const facebook::react::RunLoopObserver::Delegate* delegate, facebook::react::RunLoopObserver::Activity activity) const noexcept = 0; + public virtual ~Delegate() noexcept = default; +} + +enum facebook::react::RunLoopObserver::Activity : int32_t { + AfterWaiting, + BeforeWaiting, + None, +} + +class facebook::react::RuntimeScheduler { + public RuntimeScheduler(const facebook::react::RuntimeScheduler&) = delete; + public RuntimeScheduler(facebook::react::RuntimeExecutor runtimeExecutor, std::function now = facebook::react::HighResTimeStamp::now, facebook::react::RuntimeSchedulerTaskErrorHandler onTaskError = handleTaskErrorDefault); + public RuntimeScheduler(facebook::react::RuntimeScheduler&&) = delete; + public facebook::react::RuntimeScheduler& operator=(const facebook::react::RuntimeScheduler&) = delete; + public facebook::react::RuntimeScheduler& operator=(facebook::react::RuntimeScheduler&&) = delete; + public virtual bool getShouldYield() noexcept override; + public virtual facebook::react::HighResTimeStamp now() const noexcept override; + public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept override; + public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; + public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept override; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept override; + public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) override; + public virtual void cancelTask(facebook::react::Task& task) noexcept override; + public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) override; + public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) override; + public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept override; + public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) override; + public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) override; + public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* reporter) override; + public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* shadowTreeRevisionConsistencyManager) override; +} + +class facebook::react::RuntimeSchedulerBase { + public virtual bool getShouldYield() noexcept = 0; + public virtual facebook::react::HighResTimeStamp now() const noexcept = 0; + public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept = 0; + public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept = 0; + public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept = 0; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept = 0; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept = 0; + public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) = 0; + public virtual void cancelTask(facebook::react::Task& task) noexcept = 0; + public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) = 0; + public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) = 0; + public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept = 0; + public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) = 0; + public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) = 0; + public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* reporter) = 0; + public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* provider) = 0; + public virtual ~RuntimeSchedulerBase() = default; +} + +class facebook::react::RuntimeSchedulerBinding : public facebook::jsi::HostObject { + public RuntimeSchedulerBinding(std::shared_ptr runtimeScheduler); + public static std::shared_ptr createAndInstallIfNeeded(facebook::jsi::Runtime& runtime, const std::shared_ptr& runtimeScheduler); + public static std::shared_ptr getBinding(facebook::jsi::Runtime& runtime); + public std::shared_ptr getRuntimeScheduler() noexcept; + public virtual facebook::jsi::Value get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) override; +} + +class facebook::react::RuntimeSchedulerCallInvoker : public facebook::react::CallInvoker { + public RuntimeSchedulerCallInvoker(std::weak_ptr runtimeScheduler); + public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept override; + public virtual void invokeAsync(facebook::react::SchedulerPriority priority, facebook::react::CallFunc&& func) noexcept override; + public virtual void invokeSync(facebook::react::CallFunc&& func) override; +} + +class facebook::react::RuntimeSchedulerEventTimingDelegate { + public virtual void dispatchPendingEventTimingEntries(facebook::react::HighResTimeStamp taskEndTime, const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) = 0; + public virtual ~RuntimeSchedulerEventTimingDelegate() = default; +} + +class facebook::react::RuntimeSchedulerIntersectionObserverDelegate { + public virtual void updateIntersectionObservations(const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) = 0; + public virtual ~RuntimeSchedulerIntersectionObserverDelegate() = default; +} + +class facebook::react::RuntimeScheduler_Legacy : public facebook::react::RuntimeSchedulerBase { + public RuntimeScheduler_Legacy(const facebook::react::RuntimeScheduler_Legacy&) = delete; + public RuntimeScheduler_Legacy(facebook::react::RuntimeExecutor runtimeExecutor, std::function now, facebook::react::RuntimeSchedulerTaskErrorHandler onTaskError); + public RuntimeScheduler_Legacy(facebook::react::RuntimeScheduler_Legacy&&) = delete; + public facebook::react::RuntimeScheduler_Legacy& operator=(const facebook::react::RuntimeScheduler_Legacy&) = delete; + public facebook::react::RuntimeScheduler_Legacy& operator=(facebook::react::RuntimeScheduler_Legacy&&) = delete; + public virtual bool getShouldYield() noexcept override; + public virtual facebook::react::HighResTimeStamp now() const noexcept override; + public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept override; + public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; + public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept override; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept override; + public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) override; + public virtual void cancelTask(facebook::react::Task& task) noexcept override; + public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) override; + public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) override; + public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept override; + public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) override; + public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) override; + public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* performanceEntryReporter) override; + public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* shadowTreeRevisionConsistencyManager) override; +} + +class facebook::react::RuntimeScheduler_Modern : public facebook::react::RuntimeSchedulerBase { + public RuntimeScheduler_Modern(const facebook::react::RuntimeScheduler_Modern&) = delete; + public RuntimeScheduler_Modern(facebook::react::RuntimeExecutor runtimeExecutor, std::function now, facebook::react::RuntimeSchedulerTaskErrorHandler onTaskError); + public RuntimeScheduler_Modern(facebook::react::RuntimeScheduler_Modern&&) = delete; + public facebook::react::RuntimeScheduler_Modern& operator=(const facebook::react::RuntimeScheduler_Modern&) = delete; + public facebook::react::RuntimeScheduler_Modern& operator=(facebook::react::RuntimeScheduler_Modern&&) = delete; + public virtual bool getShouldYield() noexcept override; + public virtual facebook::react::HighResTimeStamp now() const noexcept override; + public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept override; + public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration customTimeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; + public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration customTimeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept override; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept override; + public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) override; + public virtual void cancelTask(facebook::react::Task& task) noexcept override; + public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) override; + public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) override; + public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept override; + public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) override; + public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) override; + public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* performanceEntryReporter) override; + public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* shadowTreeRevisionConsistencyManager) override; +} + +class facebook::react::SafeAreaViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { +} + +class facebook::react::SafeAreaViewEventEmitter : public facebook::react::BaseViewEventEmitter { +} + +class facebook::react::SafeAreaViewProps : public facebook::react::HostPlatformViewProps { + public SafeAreaViewProps() = default; + public SafeAreaViewProps(const facebook::react::PropsParserContext& context, const facebook::react::SafeAreaViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::SafeAreaViewShadowNode : public facebook::react::ConcreteViewShadowNode { +} + +class facebook::react::SafeAreaViewState { + public SafeAreaViewState() = default; + public SafeAreaViewState(const facebook::react::SafeAreaViewState&, folly::dynamic data); + public facebook::react::EdgeInsets padding; + public folly::dynamic getDynamic() const; +} + +class facebook::react::Scheduler : public facebook::react::UIManagerDelegate { + public Scheduler(const facebook::react::SchedulerToolbox& schedulerToolbox, facebook::react::UIManagerAnimationDelegate* animationDelegate, facebook::react::SchedulerDelegate* delegate); + public const facebook::react::ComponentDescriptor* findComponentDescriptorByHandle_DO_NOT_USE_THIS_IS_BROKEN(facebook::react::ComponentHandle handle) const; + public facebook::react::SchedulerDelegate* getDelegate() const; + public std::shared_ptr getContextContainer() const; + public std::shared_ptr getUIManager() const; + public virtual void uiManagerDidCreateShadowNode(const facebook::react::ShadowNode& shadowNode) override; + public virtual void uiManagerDidDispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) override; + public virtual void uiManagerDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) override; + public virtual void uiManagerDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) override; + public virtual void uiManagerDidPromoteReactRevision(const facebook::react::ShadowTree& shadowTree) override; + public virtual void uiManagerDidSendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType) override; + public virtual void uiManagerDidSetIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) override; + public virtual void uiManagerDidStartSurface(const facebook::react::ShadowTree& shadowTree) override; + public virtual void uiManagerDidUpdateShadowTree(const std::unordered_map& tagToProps) override; + public virtual void uiManagerShouldAddEventListener(std::shared_ptr listener) final; + public virtual void uiManagerShouldRemoveEventListener(const std::shared_ptr& listener) final; + public virtual void uiManagerShouldSetOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback) override; + public virtual void uiManagerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) override; + public void addEventListener(std::shared_ptr listener); + public void animationTick() const; + public void registerSurface(const facebook::react::SurfaceHandler& surfaceHandler) const noexcept; + public void removeEventListener(const std::shared_ptr& listener); + public void reportMount(facebook::react::SurfaceId surfaceId) const; + public void setDelegate(facebook::react::SchedulerDelegate* delegate); + public void unregisterSurface(const facebook::react::SurfaceHandler& surfaceHandler) const noexcept; + public ~Scheduler() override; +} + +class facebook::react::SchedulerDelegate { + public virtual void schedulerDidDispatchCommand(const facebook::react::ShadowView& shadowView, const std::string& commandName, const folly::dynamic& args) = 0; + public virtual void schedulerDidFinishTransaction(const std::shared_ptr& mountingCoordinator) = 0; + public virtual void schedulerDidRequestPreliminaryViewAllocation(const facebook::react::ShadowNode& shadowNode) = 0; + public virtual void schedulerDidSendAccessibilityEvent(const facebook::react::ShadowView& shadowView, const std::string& eventType) = 0; + public virtual void schedulerDidSetIsJSResponder(const facebook::react::ShadowView& shadowView, bool isJSResponder, bool blockNativeResponder) = 0; + public virtual void schedulerDidUpdateShadowTree(const std::unordered_map& tagToProps) = 0; + public virtual void schedulerShouldMergeReactRevision(facebook::react::SurfaceId surfaceId) = 0; + public virtual void schedulerShouldRenderTransactions(const std::shared_ptr& mountingCoordinator) = 0; + public virtual void schedulerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) = 0; + public virtual ~SchedulerDelegate() noexcept = default; +} + +class facebook::react::ScopedShadowTreeRevisionLock { + public ScopedShadowTreeRevisionLock(const facebook::react::ScopedShadowTreeRevisionLock&) = delete; + public ScopedShadowTreeRevisionLock(facebook::react::ScopedShadowTreeRevisionLock&&) = delete; + public ScopedShadowTreeRevisionLock(facebook::react::ShadowTreeRevisionConsistencyManager* consistencyManager) noexcept; + public facebook::react::ScopedShadowTreeRevisionLock& operator=(const facebook::react::ScopedShadowTreeRevisionLock&) = delete; + public facebook::react::ScopedShadowTreeRevisionLock& operator=(facebook::react::ScopedShadowTreeRevisionLock&&) = delete; + public ~ScopedShadowTreeRevisionLock() noexcept; +} + +class facebook::react::ScrollViewEventEmitter : public facebook::react::BaseViewEventEmitter { + public using EndDragMetrics = facebook::react::ScrollEndDragEvent; + public using Metrics = facebook::react::ScrollEvent; + public void onMomentumScrollBegin(const facebook::react::ScrollEvent& scrollEvent) const; + public void onMomentumScrollEnd(const facebook::react::ScrollEvent& scrollEvent) const; + public void onScroll(const facebook::react::ScrollEvent& scrollEvent) const; + public void onScrollBeginDrag(const facebook::react::ScrollEvent& scrollEvent) const; + public void onScrollEndDrag(const facebook::react::ScrollEndDragEvent& scrollEvent) const; + public void onScrollToTop(const facebook::react::ScrollEvent& scrollEvent) const; +} + +class facebook::react::ScrollViewMaintainVisibleContentPosition { + public bool operator==(const facebook::react::ScrollViewMaintainVisibleContentPosition& rhs) const = default; + public int minIndexForVisible; + public std::optional autoscrollToTopThreshold; +} + +class facebook::react::ScrollViewShadowNode : public facebook::react::ConcreteViewShadowNode { + public ScrollViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ScrollViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ScrollViewState initialStateData(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family, const facebook::react::ComponentDescriptor& componentDescriptor); + public virtual facebook::react::Point getContentOriginOffset(bool includeTransform) const override; + public virtual void layout(facebook::react::LayoutContext layoutContext) override; +} + +class facebook::react::ScrollViewState { + public ScrollViewState() = default; + public ScrollViewState(const facebook::react::ScrollViewState& previousState, folly::dynamic data); + public ScrollViewState(facebook::react::Point contentOffset, facebook::react::Rect contentBoundingRect, int scrollAwayPaddingTop); + public bool disableViewCulling; + public facebook::react::Point contentOffset; + public facebook::react::Rect contentBoundingRect; + public facebook::react::Size getContentSize() const; + public folly::dynamic getDynamic() const; + public int scrollAwayPaddingTop; +} + +class facebook::react::Sealable { + public Sealable(); + public Sealable(const facebook::react::Sealable& other); + public Sealable(facebook::react::Sealable&& other) noexcept; + public bool getSealed() const; + public facebook::react::Sealable& operator=(const facebook::react::Sealable& other); + public facebook::react::Sealable& operator=(facebook::react::Sealable&& other) noexcept; + public void ensureUnsealed() const; + public void seal() const; + public ~Sealable() noexcept; +} + +class facebook::react::SelectableParagraphComponentDescriptor : public facebook::react::BaseParagraphComponentDescriptor { + public SelectableParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); +} + +class facebook::react::SelectableParagraphShadowNode : public facebook::react::ParagraphShadowNode { + public SelectableParagraphShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public SelectableParagraphShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static constexpr facebook::react::ComponentName Name(); + public static facebook::react::ComponentHandle Handle(); +} + +class facebook::react::ShadowNode : public facebook::react::Sealable, public facebook::react::DebugStringConvertible, public facebook::jsi::NativeState { + protected facebook::react::Props::Shared props_; + protected facebook::react::ShadowNodeTraits traits_; + protected facebook::react::State::Shared state_; + protected int orderIndex_; + protected mutable std::weak_ptr runtimeShadowNodeReference_; + protected std::shared_ptr>> children_; + public ShadowNode(const facebook::react::ShadowNode& shadowNode) noexcept = delete; + public ShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ShadowNode(const facebook::react::ShadowNodeFragment& fragment, facebook::react::ShadowNodeFamily::Shared family, facebook::react::ShadowNodeTraits traits); + public bool getHasBeenPromoted() const; + public const facebook::react::ComponentDescriptor& getComponentDescriptor() const; + public const facebook::react::Props::Shared& getProps() const; + public const facebook::react::ShadowNodeFamily& getFamily() const; + public const facebook::react::SharedEventEmitter& getEventEmitter() const; + public const facebook::react::State::Shared& getState() const; + public const std::vector>& getChildren() const; + public facebook::jsi::Value getInstanceHandle(facebook::jsi::Runtime& runtime) const; + public facebook::react::ComponentHandle getComponentHandle() const; + public facebook::react::ComponentName getComponentName() const; + public facebook::react::ShadowNode& operator=(const facebook::react::ShadowNode& other) noexcept = delete; + public facebook::react::ShadowNodeFamily::Shared getFamilyShared() const; + public facebook::react::ShadowNodeTraits getTraits() const; + public facebook::react::State::Shared getMostRecentState() const; + public facebook::react::SurfaceId getSurfaceId() const; + public facebook::react::Tag getTag() const; + public int getOrderIndex() const; + public static bool getUseRuntimeShadowNodeReferenceUpdateOnThread(); + public static bool sameFamily(const facebook::react::ShadowNode& first, const facebook::react::ShadowNode& second); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public static std::shared_ptr>> emptySharedShadowNodeSharedList(); + public static void setUseRuntimeShadowNodeReferenceUpdateOnThread(bool isEnabled); + public std::shared_ptr getContextContainer() const; + public std::shared_ptr clone(const facebook::react::ShadowNodeFragment& fragment) const; + public std::shared_ptr cloneMultiple(const std::unordered_set>& familiesToUpdate, const std::function(const facebook::react::ShadowNode& oldShadowNode, const facebook::react::ShadowNodeFragment& fragment)>& callback) const; + public std::shared_ptr cloneTree(const facebook::react::ShadowNodeFamily& shadowNodeFamily, const std::function(const facebook::react::ShadowNode& oldShadowNode)>& callback) const; + public using AncestorList = std::vector, int>>; + public virtual void appendChild(const std::shared_ptr& child); + public virtual void completeClone(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public virtual void replaceChild(const facebook::react::ShadowNode& oldChild, const std::shared_ptr& newChild, size_t suggestedIndex = std::numeric_limits::max()); + public virtual ~ShadowNode() override = default; + public void sealRecursive() const; + public void setMounted(bool mounted) const; + public void setRuntimeShadowNodeReference(const std::shared_ptr& runtimeShadowNodeReference) const; + public void transferRuntimeShadowNodeReference(const std::shared_ptr& destinationShadowNode, const facebook::react::ShadowNodeFragment& fragment) const; + public void updateRuntimeShadowNodeReference(const std::shared_ptr& destinationShadowNode) const; +} + +class facebook::react::ShadowNodeFamily : public facebook::jsi::NativeState { + public ShadowNodeFamily(const facebook::react::ShadowNodeFamilyFragment& fragment, facebook::react::SharedEventEmitter eventEmitter, facebook::react::EventDispatcher::Weak eventDispatcher, const facebook::react::ComponentDescriptor& componentDescriptor); + public const facebook::react::ComponentDescriptor& getComponentDescriptor() const; + public facebook::jsi::Value getInstanceHandle(facebook::jsi::Runtime& runtime) const; + public facebook::react::ComponentHandle getComponentHandle() const; + public facebook::react::ComponentName getComponentName() const; + public facebook::react::InstanceHandle::Shared getInstanceHandle() const; + public facebook::react::ShadowNodeFamily::AncestorList getAncestors(const facebook::react::ShadowNode& ancestorShadowNode) const; + public facebook::react::SharedEventEmitter getEventEmitter() const; + public facebook::react::SurfaceId getSurfaceId() const; + public facebook::react::Tag getTag() const; + public mutable std::unique_ptr nativeProps_DEPRECATED; + public std::shared_ptr getMostRecentState() const; + public using AncestorList = std::vector, int>>; + public using Shared = std::shared_ptr; + public using Weak = std::weak_ptr; + public void dispatchRawState(facebook::react::StateUpdate&& stateUpdate, facebook::react::EventQueue::UpdateMode updateMode); + public void onUnmountedFamilyDestroyed(std::function callback); + public void setInstanceHandle(facebook::react::InstanceHandle::Shared& instanceHandle); + public void setMostRecentState(const std::shared_ptr& state); + public void setMounted(); + public void setParent(const facebook::react::ShadowNodeFamily::Shared& parent); + public ~ShadowNodeFamily(); +} + +class facebook::react::ShadowNodeTraits { + public bool check(facebook::react::ShadowNodeTraits::Trait traits) const; + public facebook::react::ShadowNodeTraits::Trait get() const; + public void set(facebook::react::ShadowNodeTraits::Trait trait); + public void unset(facebook::react::ShadowNodeTraits::Trait trait); +} + +enum facebook::react::ShadowNodeTraits::Trait : int32_t { + BaselineYogaNode, + ChildrenAreShared, + ChildrenFormStackingContext, + DirtyYogaNode, + ForceFlattenView, + FormsStackingContext, + FormsView, + Hidden, + KeyboardFocusable, + LeafYogaNode, + MeasurableYogaNode, + None, + RootNodeKind, + Unstable_uncullableTrace, + Unstable_uncullableView, + ViewKind, +} + +class facebook::react::ShadowTree { + public ShadowTree(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext, const facebook::react::ShadowTreeDelegate& delegate, const facebook::react::ContextContainer& contextContainer); + public facebook::react::CommitMode getCommitMode() const; + public facebook::react::CommitStatus commit(const facebook::react::ShadowTreeCommitTransaction& transaction, const facebook::react::ShadowTree::CommitOptions& commitOptions) const; + public facebook::react::CommitStatus tryCommit(const facebook::react::ShadowTreeCommitTransaction& transaction, const facebook::react::ShadowTree::CommitOptions& commitOptions) const; + public facebook::react::ShadowTreeRevision getCurrentRevision() const; + public facebook::react::SurfaceId getSurfaceId() const; + public std::optional getCurrentReactRevision() const; + public std::shared_ptr getMountingCoordinator() const; + public using CommitMode = facebook::react::ShadowTreeCommitMode; + public using CommitOptions = facebook::react::ShadowTreeCommitOptions; + public using CommitSource = facebook::react::ShadowTreeCommitSource; + public using CommitStatus = facebook::react::ShadowTreeCommitStatus; + public using Unique = std::unique_ptr; + public void commitEmptyTree() const; + public void mergeReactRevision() const; + public void notifyDelegatesOfUpdates() const; + public void promoteReactRevision() const; + public void setCommitMode(facebook::react::CommitMode commitMode) const; + public ~ShadowTree(); +} + +class facebook::react::ShadowTreeDelegate { + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions& commitOptions) const = 0; + public virtual void shadowTreeDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) const = 0; + public virtual void shadowTreeDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) const = 0; + public virtual void shadowTreeDidPromoteReactRevision(const facebook::react::ShadowTree& shadowTree) const = 0; + public virtual ~ShadowTreeDelegate() noexcept = default; +} + +class facebook::react::ShadowTreeRegistry { + public ShadowTreeRegistry() = default; + public bool visit(facebook::react::SurfaceId surfaceId, const std::function& callback) const; + public std::unique_ptr remove(facebook::react::SurfaceId surfaceId) const; + public void add(std::unique_ptr&& shadowTree) const; + public void enumerate(const std::function& callback) const; + public ~ShadowTreeRegistry(); +} + +class facebook::react::ShadowTreeRevision { + public facebook::react::RootShadowNode::Shared rootShadowNode; + public facebook::react::ShadowTreeRevision::Number number; + public facebook::react::TransactionTelemetry telemetry; + public using Number = int64_t; +} + +class facebook::react::ShadowTreeRevisionConsistencyManager { + public virtual void lockRevisions() = 0; + public virtual void unlockRevisions() = 0; + public virtual ~ShadowTreeRevisionConsistencyManager() = default; +} + +class facebook::react::ShadowTreeRevisionProvider { + public virtual facebook::react::RootShadowNode::Shared getCurrentRevision(facebook::react::SurfaceId surfaceId) = 0; + public virtual ~ShadowTreeRevisionProvider() = default; +} + +class facebook::react::SharedColor { + public SharedColor(); + public SharedColor(facebook::react::Color color); + public bool operator!=(const facebook::react::SharedColor& otherColor) const; + public bool operator==(const facebook::react::SharedColor& otherColor) const; + public const facebook::react::Color& operator*() const; + public facebook::react::Color& operator*(); + public operator bool() const; + public std::string toString() const noexcept; +} + +class facebook::react::SpringAnimationDriver : public facebook::react::AnimationDriver { + protected virtual bool update(double timeDeltaMs, bool restarting) override; + public SpringAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); +} + +class facebook::react::StackTraceParser { + public static std::vector parse(bool isHermes, const std::string& stackString); +} + +class facebook::react::State { + protected State(facebook::react::StateData::Shared data, const facebook::react::State& previousState); + protected State(facebook::react::StateData::Shared data, facebook::react::ShadowNodeFamily::Weak family); + protected const facebook::react::StateData::Shared& getDataPointer() const; + protected facebook::react::ShadowNodeFamily::Weak family_; + protected facebook::react::StateData::Shared data_; + protected mutable bool isObsolete_; + protected size_t revision_; + public facebook::react::State::Shared getMostRecentState() const; + public facebook::react::State::Shared getMostRecentStateIfObsolete() const; + public size_t getRevision() const; + public static constexpr size_t initialRevisionValue; + public using Shared = std::shared_ptr; + public virtual facebook::react::MapBuffer getMapBuffer() const = 0; + public virtual folly::dynamic getDynamic() const = 0; + public virtual jni::local_ref getJNIReference() const = 0; + public virtual void updateState(folly::dynamic&& data) const = 0; + public virtual ~State() = default; +} + +class facebook::react::StateUpdate { + public facebook::react::SharedShadowNodeFamily family; + public facebook::react::StateUpdate::Callback callback; + public using Callback = std::function; + public using FailureCallback = std::function; +} + +class facebook::react::StateWrapper : public jni::HybridClass { + public static constexpr char* const kJavaDescriptor; +} + +class facebook::react::StateWrapperImpl : public jni::HybridClass { + public jni::local_ref getStateMapBufferDataImpl(); + public jni::local_ref getStateDataImpl(); + public jni::local_ref getStateDataReferenceImpl(); + public static constexpr auto StateWrapperImplJavaDescriptor; + public static constexpr char* const kJavaDescriptor; + public static void registerNatives(); + public std::shared_ptr getState() const; + public void setState(std::shared_ptr state); + public void updateStateImpl(facebook::react::NativeMap* map); +} + +class facebook::react::StubView { + public StubView() = default; + public StubView(const facebook::react::StubView& stubView) = default; + public facebook::react::ComponentHandle componentHandle; + public facebook::react::ComponentName componentName; + public facebook::react::LayoutMetrics layoutMetrics; + public facebook::react::Props::Shared props; + public facebook::react::ShadowNodeTraits traits; + public facebook::react::SharedEventEmitter eventEmitter; + public facebook::react::State::Shared state; + public facebook::react::SurfaceId surfaceId; + public facebook::react::Tag parentTag; + public facebook::react::Tag tag; + public operator facebook::react::ShadowView() const; + public std::vector children; + public using Shared = std::shared_ptr; + public void update(const facebook::react::ShadowView& shadowView); +} + +class facebook::react::StubViewTree { + public StubViewTree() = default; + public StubViewTree(const facebook::react::ShadowView& shadowView); + public bool hasTag(facebook::react::Tag tag) const; + public const facebook::react::StubView& getRootStubView() const; + public const facebook::react::StubView& getStubView(facebook::react::Tag tag) const; + public size_t size() const; + public std::vector takeMountingLogs(); + public void dispatchCommand(const facebook::react::ShadowView& shadowView, const std::string& commandName, const folly::dynamic& args); + public void mutate(const facebook::react::ShadowViewMutationList& mutations); +} + +class facebook::react::StyleAnimatedNode : public facebook::react::AnimatedNode { + public StyleAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public bool isLayoutStyleUpdated() const noexcept; + public void collectViewUpdates(folly::dynamic& props); +} + +class facebook::react::SubtractionAnimatedNode : public facebook::react::OperatorAnimatedNode { + public SubtractionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::SurfaceHandler { + public SurfaceHandler(const facebook::react::SurfaceHandler& SurfaceHandler) noexcept = delete; + public SurfaceHandler(const std::string& moduleName, facebook::react::SurfaceId surfaceId) noexcept; + public SurfaceHandler(facebook::react::SurfaceHandler&& other) noexcept = delete; + public facebook::react::DisplayMode getDisplayMode() const noexcept; + public facebook::react::LayoutConstraints getLayoutConstraints() const noexcept; + public facebook::react::LayoutContext getLayoutContext() const noexcept; + public facebook::react::Size measure(const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; + public facebook::react::SurfaceHandler& operator=(const facebook::react::SurfaceHandler& other) noexcept = delete; + public facebook::react::SurfaceHandler& operator=(facebook::react::SurfaceHandler&& other) noexcept = delete; + public facebook::react::SurfaceHandler::Status getStatus() const noexcept; + public facebook::react::SurfaceId getSurfaceId() const noexcept; + public folly::dynamic getProps() const noexcept; + public std::shared_ptr getMountingCoordinator() const noexcept; + public std::string getModuleName() const noexcept; + public virtual void setDisplayMode(facebook::react::DisplayMode displayMode) const noexcept; + public virtual ~SurfaceHandler() noexcept; + public void constraintLayout(const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; + public void setContextContainer(std::shared_ptr contextContainer) const noexcept; + public void setProps(const folly::dynamic& props) const noexcept; + public void setSurfaceId(facebook::react::SurfaceId surfaceId) const noexcept; + public void start() const noexcept; + public void stop() const noexcept; +} + +enum facebook::react::SurfaceHandler::Status { + Registered, + Running, + Unregistered, +} + +class facebook::react::SurfaceHandlerBinding : public jni::HybridClass { + public SurfaceHandlerBinding(facebook::react::SurfaceId surfaceId, const std::string& moduleName); + public const facebook::react::SurfaceHandler& getSurfaceHandler(); + public jboolean isRunning(); + public jint getSurfaceId(); + public jni::local_ref getModuleName(); + public static constexpr char* const kJavaDescriptor; + public static void registerNatives(); + public void setDisplayMode(jint mode); + public void setLayoutConstraints(jfloat minWidth, jfloat maxWidth, jfloat minHeight, jfloat maxHeight, jfloat offsetX, jfloat offsetY, jboolean doLeftAndRightSwapInRTL, jboolean isRTL, jfloat pixelDensity, jfloat fontScale); + public void setProps(facebook::react::NativeMap* props); +} + +class facebook::react::SurfaceManager { + public SurfaceManager(const facebook::react::Scheduler& scheduler) noexcept; + public bool isSurfaceRunning(facebook::react::SurfaceId surfaceId) const noexcept; + public facebook::react::Size measureSurface(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const noexcept; + public std::optional getSurfaceProps(facebook::react::SurfaceId surfaceId) const noexcept; + public std::shared_ptr findMountingCoordinator(facebook::react::SurfaceId surfaceId) const noexcept; + public std::unordered_set getRunningSurfaces() const noexcept; + public void constraintSurfaceLayout(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const noexcept; + public void startSurface(facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& props, const facebook::react::LayoutConstraints& layoutConstraints = {}, const facebook::react::LayoutContext& layoutContext = {}) noexcept; + public void stopAllSurfaces() noexcept; + public void stopSurface(facebook::react::SurfaceId surfaceId) noexcept; + public ~SurfaceManager() noexcept; +} + +struct facebook::react::SurfaceManager::SurfaceProps { + public facebook::react::LayoutConstraints layoutConstraints; + public facebook::react::LayoutContext layoutContext; + public facebook::react::SurfaceId surfaceId; + public folly::dynamic props; + public std::string moduleName; +} + +class facebook::react::SurfaceTelemetry { + public facebook::react::TelemetryDuration getCommitTime() const; + public facebook::react::TelemetryDuration getDiffTime() const; + public facebook::react::TelemetryDuration getLayoutTime() const; + public facebook::react::TelemetryDuration getMountTime() const; + public facebook::react::TelemetryDuration getTextMeasureTime() const; + public int getLastRevisionNumber() const; + public int getNumberOfMutations() const; + public int getNumberOfTextMeasurements() const; + public int getNumberOfTransactions() const; + public static constexpr size_t kMaxNumberOfRecordedCommitTelemetries; + public std::vector getRecentTransactionTelemetries() const; + public void incorporate(const facebook::react::TransactionTelemetry& telemetry, int numberOfMutations); +} + +class facebook::react::SwitchComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public SwitchComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); + public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; +} + +class facebook::react::SwitchEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onChange(facebook::react::SwitchEventEmitter::OnChange value) const; +} + +struct facebook::react::SwitchEventEmitter::OnChange { + public bool value; + public int target; +} + +class facebook::react::SwitchProps : public facebook::react::HostPlatformViewProps { + public SwitchProps() = default; + public SwitchProps(const facebook::react::PropsParserContext& context, const facebook::react::SwitchProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool disabled; + public bool value; + public facebook::react::SharedColor onTintColor; + public facebook::react::SharedColor thumbColor; + public facebook::react::SharedColor thumbTintColor; + public facebook::react::SharedColor tintColor; + public facebook::react::SharedColor trackColorForFalse; + public facebook::react::SharedColor trackColorForTrue; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::SwitchShadowNode : public facebook::react::ConcreteViewShadowNode { + public SwitchShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public SwitchShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; +} + +class facebook::react::TaskPriorityComparer { + public bool operator()(const std::shared_ptr& lhs, const std::shared_ptr& rhs); +} + +class facebook::react::TelemetryController { + public bool pullTransaction(const facebook::react::MountingTransactionCallback& willMount, const facebook::react::MountingTransactionCallback& doMount, const facebook::react::MountingTransactionCallback& didMount) const; +} + +class facebook::react::TextAttributes : public facebook::react::DebugStringConvertible { + public bool operator==(const facebook::react::TextAttributes& rhs) const; + public facebook::react::Float fontSize; + public facebook::react::Float fontSizeMultiplier; + public facebook::react::Float letterSpacing; + public facebook::react::Float lineHeight; + public facebook::react::Float maxFontSizeMultiplier; + public facebook::react::Float opacity; + public facebook::react::Float textShadowRadius; + public facebook::react::SharedColor backgroundColor; + public facebook::react::SharedColor foregroundColor; + public facebook::react::SharedColor textDecorationColor; + public facebook::react::SharedColor textShadowColor; + public static facebook::react::TextAttributes defaultTextAttributes(); + public std::optional allowFontScaling; + public std::optional isHighlighted; + public std::optional isPressable; + public std::optional accessibilityRole; + public std::optional dynamicTypeRamp; + public std::optional fontStyle; + public std::optional fontVariant; + public std::optional fontWeight; + public std::optional layoutDirection; + public std::optional lineBreakMode; + public std::optional lineBreakStrategy; + public std::optional role; + public std::optional textShadowOffset; + public std::optional alignment; + public std::optional textDecorationLineType; + public std::optional textDecorationStyle; + public std::optional textTransform; + public std::optional baseWritingDirection; + public std::string fontFamily; + public void apply(facebook::react::TextAttributes textAttributes); +} + +class facebook::react::TextInputEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onBlur(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onContentSizeChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onEndEditing(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onFocus(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onKeyPress(const facebook::react::TextInputEventEmitter::KeyPressMetrics& keyPressMetrics) const; + public void onScroll(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onSelectionChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onSubmitEditing(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; +} + +struct facebook::react::TextInputEventEmitter::KeyPressMetrics { + public int eventCount; + public std::string text; +} + +struct facebook::react::TextInputEventEmitter::Metrics { + public facebook::react::AttributedString::Range selectionRange; + public facebook::react::EdgeInsets contentInset; + public facebook::react::Float zoomScale; + public facebook::react::Point contentOffset; + public facebook::react::Size containerSize; + public facebook::react::Size contentSize; + public facebook::react::Size layoutMeasurement; + public facebook::react::Tag target; + public int eventCount; + public std::string text; +} + +class facebook::react::TextInputState { + public TextInputState() = default; + public TextInputState(facebook::react::AttributedStringBox attributedStringBox, facebook::react::AttributedString reactTreeAttributedString, facebook::react::ParagraphAttributes paragraphAttributes, int64_t mostRecentEventCount); + public facebook::react::AttributedString reactTreeAttributedString; + public facebook::react::AttributedStringBox attributedStringBox; + public facebook::react::ParagraphAttributes paragraphAttributes; + public int64_t mostRecentEventCount; +} + +class facebook::react::TextLayoutManager { + public TextLayoutManager(const facebook::react::TextLayoutManager&) = delete; + public TextLayoutManager(const std::shared_ptr& contextContainer); + public TextLayoutManager(facebook::react::TextLayoutManager&&) = delete; + public facebook::react::LinesMeasurements measureLines(const facebook::react::AttributedStringBox& attributedStringBox, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::Size& size) const; + public facebook::react::TextLayoutManager& operator=(const facebook::react::TextLayoutManager&) = delete; + public facebook::react::TextLayoutManager& operator=(facebook::react::TextLayoutManager&&) = delete; + public facebook::react::TextLayoutManager::PreparedTextLayout prepareLayout(const facebook::react::AttributedString& attributedString, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public facebook::react::TextMeasurement measure(const facebook::react::AttributedStringBox& attributedStringBox, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public facebook::react::TextMeasurement measureCachedSpannableById(int64_t cacheId, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public facebook::react::TextMeasurement measurePreparedLayout(const facebook::react::TextLayoutManager::PreparedTextLayout& layout, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public using PreparedTextLayout = facebook::react::SafeReleaseJniRef>; +} + +class facebook::react::TextMeasureCacheKey { + public facebook::react::AttributedString attributedString; + public facebook::react::LayoutConstraints layoutConstraints; + public facebook::react::ParagraphAttributes paragraphAttributes; +} + +class facebook::react::TextMeasurement { + public facebook::react::Size size; + public facebook::react::TextMeasurement::Attachments attachments; + public using Attachments = std::vector; +} + +class facebook::react::TextMeasurement::Attachment { + public bool isClipped; + public facebook::react::Rect frame; +} + +class facebook::react::TextProps : public facebook::react::Props, public facebook::react::BaseTextProps { + public TextProps() = default; + public TextProps(const facebook::react::PropsParserContext& context, const facebook::react::TextProps& sourceProps, const facebook::react::RawProps& rawProps); + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::TextShadowNode : public facebook::react::ConcreteShadowNode, public facebook::react::BaseTextShadowNode { + public TextShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public using BaseShadowNode = facebook::react::ConcreteShadowNode; +} + +class facebook::react::TimerManager { + public TimerManager(const facebook::react::TimerManager&) = delete; + public TimerManager(facebook::react::TimerManager&&) = delete; + public TimerManager(std::unique_ptr platformTimerRegistry) noexcept; + public facebook::react::TimerManager& operator=(const facebook::react::TimerManager&) = delete; + public facebook::react::TimerManager& operator=(facebook::react::TimerManager&&) = delete; + public void attachGlobals(facebook::jsi::Runtime& runtime); + public void callTimer(facebook::react::TimerHandle handle); + public void quit(); + public void setRuntimeExecutor(facebook::react::RuntimeExecutor runtimeExecutor) noexcept; + public ~TimerManager() noexcept; +} + +class facebook::react::TouchEventEmitter : public facebook::react::EventEmitter { + public TouchEventEmitter(facebook::react::SharedEventTarget eventTarget, facebook::react::EventDispatcher::Weak eventDispatcher); + public void onClick(facebook::react::PointerEvent event) const; + public void onGotPointerCapture(facebook::react::PointerEvent event) const; + public void onLostPointerCapture(facebook::react::PointerEvent event) const; + public void onPointerCancel(facebook::react::PointerEvent event) const; + public void onPointerDown(facebook::react::PointerEvent event) const; + public void onPointerEnter(facebook::react::PointerEvent event) const; + public void onPointerLeave(facebook::react::PointerEvent event) const; + public void onPointerMove(facebook::react::PointerEvent event) const; + public void onPointerOut(facebook::react::PointerEvent event) const; + public void onPointerOver(facebook::react::PointerEvent event) const; + public void onPointerUp(facebook::react::PointerEvent event) const; + public void onTouchCancel(facebook::react::TouchEvent event) const; + public void onTouchEnd(facebook::react::TouchEvent event) const; + public void onTouchMove(facebook::react::TouchEvent event) const; + public void onTouchStart(facebook::react::TouchEvent event) const; +} + +class facebook::react::TracingDelegate : public facebook::react::jsinspector_modern::HostTargetTracingDelegate { + public TracingState getTracingState(); + public size_t registerTracingStateListener(facebook::react::TracingStateListener listener); + public virtual void onTracingStarted(facebook::react::jsinspector_modern::tracing::Mode, bool) override; + public virtual void onTracingStopped() override; + public void unregisterTracingStateListener(size_t subscriptionId); +} + +class facebook::react::TracingStateCallback : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; + public void onTracingStateChanged(bool isTracing) const; +} + +class facebook::react::TrackingAnimatedNode : public facebook::react::AnimatedNode { + public TrackingAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::TransactionTelemetry { + public TransactionTelemetry(); + public TransactionTelemetry(std::function now); + public facebook::react::TelemetryDuration getTextMeasureTime() const; + public facebook::react::TelemetryTimePoint getCommitEndTime() const; + public facebook::react::TelemetryTimePoint getCommitStartTime() const; + public facebook::react::TelemetryTimePoint getDiffEndTime() const; + public facebook::react::TelemetryTimePoint getDiffStartTime() const; + public facebook::react::TelemetryTimePoint getLayoutEndTime() const; + public facebook::react::TelemetryTimePoint getLayoutStartTime() const; + public facebook::react::TelemetryTimePoint getMountEndTime() const; + public facebook::react::TelemetryTimePoint getMountStartTime() const; + public int getAffectedLayoutNodesCount() const; + public int getNumberOfTextMeasurements() const; + public int getRevisionNumber() const; + public static facebook::react::TransactionTelemetry* threadLocalTelemetry(); + public void didCommit(); + public void didDiff(); + public void didLayout(); + public void didLayout(int affectedLayoutNodesCount); + public void didMeasureText(); + public void didMount(); + public void setAsThreadLocal(); + public void setRevisionNumber(int revisionNumber); + public void unsetAsThreadLocal(); + public void willCommit(); + public void willDiff(); + public void willLayout(); + public void willMeasureText(); + public void willMount(); +} + +class facebook::react::TransformAnimatedNode : public facebook::react::AnimatedNode { + public TransformAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public void collectViewUpdates(folly::dynamic& props); +} + +class facebook::react::TransformHelper : public facebook::jni::JavaClass { + public static constexpr auto * kJavaDescriptor; + public static void registerNatives(); +} + +class facebook::react::TurboModule : public facebook::jsi::HostObject { + protected const std::string name_; + protected std::shared_ptr jsInvoker_; + protected std::unordered_map methodMap_; + protected std::unordered_map> eventEmitterMap_; + protected using ArgFactory = std::function& args)>; + protected virtual facebook::jsi::Value create(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& propName); + protected void emitDeviceEvent(const std::string& eventName, facebook::react::TurboModule::ArgFactory&& argFactory = nullptr); + protected void emitDeviceEvent(facebook::jsi::Runtime&, const std::string& eventName, facebook::react::TurboModule::ArgFactory&& argFactory = nullptr); + public TurboModule(std::string name, std::shared_ptr jsInvoker); + public virtual facebook::jsi::Value get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& propName) override; + public virtual std::vector getPropertyNames(facebook::jsi::Runtime& runtime) override; +} + +struct facebook::react::TurboModule::MethodMetadata { + public facebook::jsi::Value(*invoker)(facebook::jsi::Runtime &rt, facebook::react::TurboModule &turboModule, const facebook::jsi::Value *args, size_t count); + public size_t argCount; +} + +class facebook::react::TurboModuleBinding { + public static void install(facebook::jsi::Runtime& runtime, TurboModuleProviderFunctionType&& moduleProvider, TurboModuleProviderFunctionType&& legacyModuleProvider = nullptr, std::shared_ptr longLivedObjectCollection = nullptr); + public static void install(facebook::jsi::Runtime& runtime, facebook::react::TurboModuleProviderFunctionTypeWithRuntime&& moduleProvider, facebook::react::TurboModuleProviderFunctionTypeWithRuntime&& legacyModuleProvider = nullptr, std::shared_ptr longLivedObjectCollection = nullptr); + public ~TurboModuleBinding(); +} + +class facebook::react::TurboModuleManager : public jni::HybridClass { + public static constexpr auto kJavaDescriptor; + public static jni::local_ref initHybrid(jni::alias_ref, jni::alias_ref jsCallInvokerHolder, jni::alias_ref nativeMethodCallInvokerHolder, jni::alias_ref delegate); + public static void registerNatives(); +} + +class facebook::react::TurboModuleManagerDelegate : public jni::HybridClass { + public static constexpr auto kJavaDescriptor; + public virtual std::shared_ptr getTurboModule(const std::string& name, const facebook::react::JavaTurboModule::InitParams& params) = 0; + public virtual std::shared_ptr getTurboModule(const std::string& name, const std::shared_ptr& jsInvoker) = 0; +} + +class facebook::react::TurboModuleWithJSIBindings { + public static void installJSIBindings(const std::shared_ptr& cxxModule, facebook::jsi::Runtime& runtime); + public virtual ~TurboModuleWithJSIBindings() = default; +} + +class facebook::react::UIConstantsProviderBinding : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; + public static void install(jni::alias_ref, jni::alias_ref runtimeExecutor, jni::alias_ref defaultExportableEventTypesProvider, jni::alias_ref constantsForViewManagerProvider, jni::alias_ref constantsProvider); + public static void registerNatives(); +} + +class facebook::react::UIManager : public facebook::react::ShadowTreeDelegate { + public UIManager(const facebook::react::RuntimeExecutor& runtimeExecutor, std::shared_ptr contextContainer); + public const facebook::react::ShadowTreeRegistry& getShadowTreeRegistry() const; + public facebook::react::LayoutMetrics getRelativeLayoutMetrics(const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode* ancestorShadowNode, facebook::react::LayoutableShadowNode::LayoutInspectingPolicy policy) const; + public facebook::react::ShadowTree::Unique stopSurface(facebook::react::SurfaceId surfaceId) const; + public facebook::react::ShadowTreeRevisionConsistencyManager* getShadowTreeRevisionConsistencyManager(); + public facebook::react::ShadowTreeRevisionProvider* getShadowTreeRevisionProvider(); + public facebook::react::UIManagerDelegate* getDelegate(); + public facebook::react::UIManagerViewTransitionDelegate* getViewTransitionDelegate() const; + public std::shared_ptr getContextContainer() const; + public std::shared_ptr findNodeAtPoint(const std::shared_ptr& shadowNode, facebook::react::Point point) const; + public std::shared_ptr findShadowNodeByTag_DEPRECATED(facebook::react::Tag tag) const; + public std::shared_ptr getNewestCloneOfShadowNode(const facebook::react::ShadowNode& shadowNode) const; + public std::shared_ptr cloneNode(const facebook::react::ShadowNode& shadowNode, const std::shared_ptr>>& children, facebook::react::RawProps rawProps) const; + public std::shared_ptr createNode(facebook::react::Tag tag, const std::string& componentName, facebook::react::SurfaceId surfaceId, facebook::react::RawProps props, facebook::react::InstanceHandle::Shared instanceHandle) const; + public std::weak_ptr unstable_getAnimationBackend(); + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTree::CommitOptions& commitOptions) const override; + public virtual void shadowTreeDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) const override; + public virtual void shadowTreeDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) const override; + public virtual void shadowTreeDidPromoteReactRevision(const facebook::react::ShadowTree& shadowTree) const override; + public void addEventListener(std::shared_ptr listener); + public void animationTick() const; + public void appendChild(const std::shared_ptr& parentShadowNode, const std::shared_ptr& childShadowNode) const; + public void completeSurface(facebook::react::SurfaceId surfaceId, const std::shared_ptr>>& rootChildren, facebook::react::ShadowTree::CommitOptions commitOptions); + public void dispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) const; + public void registerCommitHook(facebook::react::UIManagerCommitHook& commitHook); + public void registerMountHook(facebook::react::UIManagerMountHook& mountHook); + public void removeEventListener(const std::shared_ptr& listener); + public void reportMount(facebook::react::SurfaceId surfaceId) const; + public void sendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType); + public void setAnimationDelegate(facebook::react::UIManagerAnimationDelegate* delegate); + public void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry); + public void setDelegate(facebook::react::UIManagerDelegate* delegate); + public void setIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) const; + public void setNativeAnimatedDelegate(std::weak_ptr delegate); + public void setNativeProps_DEPRECATED(const std::shared_ptr& shadowNode, facebook::react::RawProps rawProps) const; + public void setOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback); + public void setSurfaceProps(facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& props, facebook::react::DisplayMode displayMode) const noexcept; + public void setViewTransitionDelegate(facebook::react::UIManagerViewTransitionDelegate* delegate); + public void startEmptySurface(facebook::react::ShadowTree::Unique&& shadowTree) const noexcept; + public void startSurface(facebook::react::ShadowTree::Unique&& shadowTree, const std::string& moduleName, const folly::dynamic& props, facebook::react::DisplayMode displayMode) const noexcept; + public void stopSurfaceForAnimationDelegate(facebook::react::SurfaceId surfaceId) const; + public void synchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props); + public void unregisterCommitHook(facebook::react::UIManagerCommitHook& commitHook); + public void unregisterMountHook(facebook::react::UIManagerMountHook& mountHook); + public void unstable_setAnimationBackend(std::shared_ptr animationBackend); + public void updateShadowTree(std::unordered_map&& tagToProps); + public void updateState(const facebook::react::StateUpdate& stateUpdate) const; + public void visitBinding(const std::function& callback, facebook::jsi::Runtime& runtime) const; + public ~UIManager() override; +} + +class facebook::react::UIManagerAnimationBackend { + public using Callback = std::function; + public virtual facebook::react::CallbackId start(const facebook::react::UIManagerAnimationBackend::Callback& callback) = 0; + public virtual void clearRegistry(facebook::react::SurfaceId surfaceId) = 0; + public virtual void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) = 0; + public virtual void registerJSInvoker(std::shared_ptr jsInvoker) = 0; + public virtual void stop(facebook::react::CallbackId callbackId) = 0; + public virtual void trigger() = 0; + public virtual ~UIManagerAnimationBackend() = default; +} + +class facebook::react::UIManagerAnimationDelegate { + public virtual bool shouldAnimateFrame() const = 0; + public virtual void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry) = 0; + public virtual void stopSurface(facebook::react::SurfaceId surfaceId) = 0; + public virtual void uiManagerDidConfigureNextLayoutAnimation(facebook::jsi::Runtime& runtime, const facebook::react::RawValue& config, const facebook::jsi::Value& successCallback, const facebook::jsi::Value& failureCallback) const = 0; + public virtual ~UIManagerAnimationDelegate() = default; +} + +class facebook::react::UIManagerBinding : public facebook::jsi::HostObject { + public UIManagerBinding(std::shared_ptr uiManager); + public facebook::react::PointerEventsProcessor& getPointerEventsProcessor(); + public facebook::react::UIManager& getUIManager(); + public static std::shared_ptr getBinding(facebook::jsi::Runtime& runtime); + public static void createAndInstallIfNeeded(facebook::jsi::Runtime& runtime, const std::shared_ptr& uiManager); + public virtual facebook::jsi::Value get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) override; + public void dispatchEvent(facebook::jsi::Runtime& runtime, facebook::react::EventTarget* eventTarget, const std::string& type, facebook::react::ReactEventPriority priority, const facebook::react::EventPayload& payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void invalidate() const; + public ~UIManagerBinding() override; +} + +class facebook::react::UIManagerCommitHook { + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions&) noexcept; + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree&, const facebook::react::RootShadowNode::Shared&, const facebook::react::RootShadowNode::Unshared& newRootShadowNode) noexcept; + public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept = 0; + public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept = 0; + public virtual ~UIManagerCommitHook() noexcept = default; +} + +class facebook::react::UIManagerDelegate { + public using OnSurfaceStartCallback = std::function; + public virtual void uiManagerDidCreateShadowNode(const facebook::react::ShadowNode& shadowNode) = 0; + public virtual void uiManagerDidDispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) = 0; + public virtual void uiManagerDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) = 0; + public virtual void uiManagerDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) = 0; + public virtual void uiManagerDidPromoteReactRevision(const facebook::react::ShadowTree& shadowTree) = 0; + public virtual void uiManagerDidSendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType) = 0; + public virtual void uiManagerDidSetIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) = 0; + public virtual void uiManagerDidStartSurface(const facebook::react::ShadowTree& shadowTree) = 0; + public virtual void uiManagerDidUpdateShadowTree(const std::unordered_map& tagToProps) = 0; + public virtual void uiManagerShouldAddEventListener(std::shared_ptr listener) = 0; + public virtual void uiManagerShouldRemoveEventListener(const std::shared_ptr& listener) = 0; + public virtual void uiManagerShouldSetOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback) = 0; + public virtual void uiManagerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) = 0; + public virtual ~UIManagerDelegate() noexcept = default; +} + +class facebook::react::UIManagerMountHook { + public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp mountTime) noexcept = 0; + public virtual void shadowTreeDidUnmount(facebook::react::SurfaceId, facebook::react::HighResTimeStamp) noexcept; + public virtual ~UIManagerMountHook() noexcept = default; +} + +class facebook::react::UIManagerNativeAnimatedDelegate { + public virtual void runAnimationFrame() = 0; + public virtual ~UIManagerNativeAnimatedDelegate() = default; +} + +class facebook::react::UIManagerNativeAnimatedDelegateImpl : public facebook::react::UIManagerNativeAnimatedDelegate { + public UIManagerNativeAnimatedDelegateImpl(std::weak_ptr manager); + public virtual void runAnimationFrame() override; +} + +class facebook::react::UIManagerViewTransitionDelegate { + public virtual std::optional getViewTransitionInstance(const std::string& name, const std::string& pseudo); + public virtual void applyViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name, const std::string& className); + public virtual void cancelViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name); + public virtual void restoreViewTransitionName(const facebook::react::ShadowNode& shadowNode); + public virtual void startViewTransition(std::function mutationCallback, std::function onReadyCallback, std::function onCompleteCallback); + public virtual void startViewTransitionEnd(); + public virtual ~UIManagerViewTransitionDelegate() = default; +} + +struct facebook::react::UIManagerViewTransitionDelegate::ViewTransitionInstance { + public facebook::react::Float height; + public facebook::react::Float width; + public facebook::react::Float x; + public facebook::react::Float y; + public facebook::react::Tag nativeTag; +} + +class facebook::react::UnimplementedNativeViewEventEmitter : public facebook::react::BaseViewEventEmitter { +} + +class facebook::react::UnimplementedNativeViewProps : public facebook::react::HostPlatformViewProps { + public UnimplementedNativeViewProps() = default; + public UnimplementedNativeViewProps(const facebook::react::PropsParserContext& context, const facebook::react::UnimplementedNativeViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public std::string name; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::UnimplementedViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public UnimplementedViewComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public virtual facebook::react::ComponentHandle getComponentHandle() const override; + public virtual facebook::react::ComponentName getComponentName() const override; + public virtual facebook::react::Props::Shared cloneProps(const facebook::react::PropsParserContext& context, const facebook::react::Props::Shared& props, facebook::react::RawProps rawProps) const override; +} + +class facebook::react::UnimplementedViewProps : public facebook::react::HostPlatformViewProps { + public facebook::react::ComponentName getComponentName() const; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; + public void setComponentName(facebook::react::ComponentName componentName); +} + +class facebook::react::UnstableLegacyViewManagerAutomaticComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public UnstableLegacyViewManagerAutomaticComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public UnstableLegacyViewManagerAutomaticComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, std::string legacyComponentName); + public virtual facebook::react::ComponentHandle getComponentHandle() const override; + public virtual facebook::react::ComponentName getComponentName() const override; +} + +class facebook::react::ValueAnimatedNode : public facebook::react::AnimatedNode { + protected bool isColorValue_; + public ValueAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public bool getIsColorValue() const noexcept; + public bool setOffset(double offset) noexcept; + public bool setRawValue(double value) noexcept; + public double getOffset() const noexcept; + public double getRawValue() const noexcept; + public double getValue() const noexcept; + public void extractOffset() noexcept; + public void flattenOffset() noexcept; + public void setValueListener(facebook::react::ValueListenerCallback&& callback) noexcept; +} + +class facebook::react::ValueFactoryEventPayload : public facebook::react::EventPayload { + public ValueFactoryEventPayload(facebook::react::ValueFactory factory); + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; + public virtual facebook::react::EventPayloadType getType() const override; +} + +class facebook::react::ViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public ViewComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); +} + +class facebook::react::ViewShadowNode : public facebook::react::ConcreteViewShadowNode { + public ViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); +} + +class facebook::react::ViewShadowNodeProps : public facebook::react::HostPlatformViewProps { + public ViewShadowNodeProps() = default; + public ViewShadowNodeProps(const facebook::react::PropsParserContext& context, const facebook::react::ViewShadowNodeProps& sourceProps, const facebook::react::RawProps& rawProps); +} + +class facebook::react::ViewTransitionModule : public facebook::react::UIManagerViewTransitionDelegate { + public virtual std::optional getViewTransitionInstance(const std::string& name, const std::string& pseudo) override; + public virtual void applyViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name, const std::string& className) override; + public virtual void cancelViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name) override; + public virtual void restoreViewTransitionName(const facebook::react::ShadowNode& shadowNode) override; + public virtual void startViewTransition(std::function mutationCallback, std::function onReadyCallback, std::function onCompleteCallback) override; + public virtual void startViewTransitionEnd() override; + public void setUIManager(facebook::react::UIManager* uiManager); + public ~ViewTransitionModule() override = default; +} + +struct facebook::react::ViewTransitionModule::AnimationKeyFrameView { + public facebook::react::SurfaceId surfaceId; + public facebook::react::Tag tag; + public facebook::react::ViewTransitionModule::AnimationKeyFrameViewLayoutMetrics layoutMetrics; +} + +struct facebook::react::ViewTransitionModule::AnimationKeyFrameViewLayoutMetrics { + public facebook::react::Float pointScaleFactor; + public facebook::react::Point originFromRoot; + public facebook::react::Size size; +} + +class facebook::react::VirtualViewEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onModeChange(facebook::react::VirtualViewEventEmitter::OnModeChange value) const; +} + +struct facebook::react::VirtualViewEventEmitter::OnModeChange { + public facebook::react::VirtualViewEventEmitter::OnModeChangeTargetRect targetRect; + public facebook::react::VirtualViewEventEmitter::OnModeChangeThresholdRect thresholdRect; + public int mode; +} + +struct facebook::react::VirtualViewEventEmitter::OnModeChangeTargetRect { + public double height; + public double width; + public double x; + public double y; +} + +struct facebook::react::VirtualViewEventEmitter::OnModeChangeThresholdRect { + public double height; + public double width; + public double x; + public double y; +} + +class facebook::react::VirtualViewExperimentalEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onModeChange(facebook::react::VirtualViewExperimentalEventEmitter::OnModeChange value) const; +} + +struct facebook::react::VirtualViewExperimentalEventEmitter::OnModeChange { + public facebook::react::VirtualViewExperimentalEventEmitter::OnModeChangeTargetRect targetRect; + public facebook::react::VirtualViewExperimentalEventEmitter::OnModeChangeThresholdRect thresholdRect; + public int mode; +} + +struct facebook::react::VirtualViewExperimentalEventEmitter::OnModeChangeTargetRect { + public double height; + public double width; + public double x; + public double y; +} + +struct facebook::react::VirtualViewExperimentalEventEmitter::OnModeChangeThresholdRect { + public double height; + public double width; + public double x; + public double y; +} + +class facebook::react::VirtualViewExperimentalProps : public facebook::react::HostPlatformViewProps { + public VirtualViewExperimentalProps() = default; + public VirtualViewExperimentalProps(const facebook::react::PropsParserContext& context, const facebook::react::VirtualViewExperimentalProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool initialHidden; + public bool removeClippedSubviews; + public int renderState; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::VirtualViewProps : public facebook::react::HostPlatformViewProps { + public VirtualViewProps() = default; + public VirtualViewProps(const facebook::react::PropsParserContext& context, const facebook::react::VirtualViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool initialHidden; + public bool removeClippedSubviews; + public int renderState; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::VirtualViewShadowNode : public facebook::react::ConcreteViewShadowNode { + public VirtualViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public VirtualViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); +} + +class facebook::react::WeakFamilyRegistry { + public facebook::react::WeakFamilyRegistry::WeakFamilies weakFamiliesForSurfaceId(facebook::react::SurfaceId surfaceId) const; + public using WeakFamilies = std::vector; + public void add(const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily) const; + public void removeFamiliesWithSurfaceId(facebook::react::SurfaceId surfaceId) const; +} + +class facebook::react::YogaLayoutableShadowNode : public facebook::react::LayoutableShadowNode { + protected facebook::yoga::Config yogaConfig_; + protected mutable facebook::yoga::Node yogaNode_; + protected virtual bool shouldNewRevisionDirtyMeasurement(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) const; + public YogaLayoutableShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public YogaLayoutableShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public facebook::react::Rect getContentBounds() const; + public using ListOfShared = std::vector; + public using Shared = std::shared_ptr; + public virtual bool getIsLayoutClean() const override; + public virtual void appendChild(const std::shared_ptr& child) override; + public virtual void completeClone(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) override; + public virtual void dirtyLayout() override; + public virtual void layout(facebook::react::LayoutContext layoutContext) override; + public virtual void layoutTree(facebook::react::LayoutContext layoutContext, facebook::react::LayoutConstraints layoutConstraints) override; + public virtual void replaceChild(const facebook::react::ShadowNode& oldChild, const std::shared_ptr& newChild, size_t suggestedIndex = SIZE_MAX) override; + public void enableMeasurement(); + public void setPadding(facebook::react::RectangleEdges padding) const; + public void setPositionType(YGPositionType positionType) const; + public void setSize(facebook::react::Size size) const; + public void updateYogaChildren(); + public void updateYogaProps(); +} + +class facebook::react::YogaStylableProps : public facebook::react::Props { + public YogaStylableProps() = default; + public YogaStylableProps(const facebook::react::PropsParserContext& context, const facebook::react::YogaStylableProps& sourceProps, const facebook::react::RawProps& rawProps, const std::function& filterObjectKeys = nullptr); + public facebook::yoga::Style yogaStyle; + public facebook::yoga::Style::Length insetBlockEnd; + public facebook::yoga::Style::Length insetBlockStart; + public facebook::yoga::Style::Length insetInlineEnd; + public facebook::yoga::Style::Length insetInlineStart; + public facebook::yoga::Style::Length marginBlock; + public facebook::yoga::Style::Length marginBlockEnd; + public facebook::yoga::Style::Length marginBlockStart; + public facebook::yoga::Style::Length marginInline; + public facebook::yoga::Style::Length marginInlineEnd; + public facebook::yoga::Style::Length marginInlineStart; + public facebook::yoga::Style::Length paddingBlock; + public facebook::yoga::Style::Length paddingBlockEnd; + public facebook::yoga::Style::Length paddingBlockStart; + public facebook::yoga::Style::Length paddingInline; + public facebook::yoga::Style::Length paddingInlineEnd; + public facebook::yoga::Style::Length paddingInlineStart; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +enum facebook::react::AccessibilityLiveRegion : uint8_t { + Assertive, + None, + Polite, +} + +enum facebook::react::AccessibilityRole : uint8_t { + Adjustable, + Alert, + Button, + Checkbox, + Combobox, + Drawerlayout, + Dropdownlist, + Grid, + Header, + Horizontalscrollview, + Iconmenu, + Image, + Imagebutton, + Keyboardkey, + Link, + List, + Menu, + Menubar, + Menuitem, + None, + Pager, + Progressbar, + Radio, + Radiogroup, + Scrollbar, + Scrollview, + Search, + Slidingdrawer, + Spinbutton, + Summary, + Switch, + Tab, + Tabbar, + Tablist, + Text, + Timer, + Togglebutton, + Toolbar, + Viewgroup, + Webview, +} + +enum facebook::react::AccessibilityTraits : uint32_t { + Adjustable, + AllowsDirectInteraction, + Button, + CausesPageTurn, + Header, + Image, + KeyboardKey, + Link, + None, + NotEnabled, + PlaysSound, + SearchField, + Selected, + StartsMediaSession, + StaticText, + SummaryElement, + Switch, + TabBar, + UpdatesFrequently, +} + +enum facebook::react::ActivityIndicatorViewSize { + Large, + Small, +} + +enum facebook::react::AndroidDrawerLayoutDrawerLockMode { + LockedClosed, + LockedOpen, + Unlocked, +} + +enum facebook::react::AndroidDrawerLayoutDrawerPosition { + Left, + Right, +} + +enum facebook::react::AndroidDrawerLayoutKeyboardDismissMode { + None, + OnDrag, +} + +enum facebook::react::AndroidSwipeRefreshLayoutSize { + Default, + Large, +} + +enum facebook::react::AnimatedNodeType { + Addition, + Color, + Diffclamp, + Division, + Interpolation, + Modulus, + Multiplication, + Object, + Props, + Round, + Style, + Subtraction, + Tracking, + Transform, + Value, +} + +enum facebook::react::AnimationConfigurationType { + Create, + Delete, + Update, +} + +enum facebook::react::AnimationDriverType { + Decay, + Frames, + Spring, +} + +enum facebook::react::AnimationProperty { + NotApplicable, + Opacity, + ScaleX, + ScaleXY, + ScaleY, +} + +enum facebook::react::AnimationType { + EaseIn, + EaseInEaseOut, + EaseOut, + Keyboard, + Linear, + None, + Spring, +} + +enum facebook::react::BackfaceVisibility : uint8_t { + Auto, + Hidden, + Visible, +} + +enum facebook::react::BackgroundRepeatStyle { + NoRepeat, + Repeat, + Round, + Space, +} + +enum facebook::react::BackgroundSizeKeyword { + Contain, + Cover, +} + +enum facebook::react::BlendMode { + Color, + ColorBurn, + ColorDodge, + Darken, + Difference, + Exclusion, + HardLight, + Hue, + Lighten, + Luminosity, + Multiply, + Normal, + Overlay, + Saturation, + Screen, + SoftLight, +} + +enum facebook::react::BorderCurve : uint8_t { + Circular, + Continuous, +} + +enum facebook::react::BorderStyle : uint8_t { + Dashed, + Dotted, + Solid, +} + +enum facebook::react::CSSAngleUnit : uint8_t { + Deg, + Grad, + Rad, + Turn, +} + +enum facebook::react::CSSDelimiter { + Comma, + CommaOrWhitespace, + None, + OptionalWhitespace, + Solidus, + SolidusOrWhitespace, + Whitespace, +} + +enum facebook::react::CSSFontVariant : std::underlying_type_t { + CommonLigatures, + Contextual, + DiscretionaryLigatures, + HistoricalLigatures, + LiningNums, + NoCommonLigatures, + NoContextual, + NoDiscretionaryLigatures, + NoHistoricalLigatures, + OldstyleNums, + ProportionalNums, + SmallCaps, + StylisticEight, + StylisticEighteen, + StylisticEleven, + StylisticFifteen, + StylisticFive, + StylisticFour, + StylisticFourteen, + StylisticNine, + StylisticNineteen, + StylisticOne, + StylisticSeven, + StylisticSeventeen, + StylisticSix, + StylisticSixteen, + StylisticTen, + StylisticThirteen, + StylisticThree, + StylisticTwelve, + StylisticTwenty, + StylisticTwo, + TabularNums, +} + +enum facebook::react::CSSGradientAtKeyword : std::underlying_type_t { + At, +} + +enum facebook::react::CSSGradientDirectionKeyword : std::underlying_type_t { + Bottom, + Left, + Right, + Top, +} + +enum facebook::react::CSSGradientPositionKeyword : std::underlying_type_t { + Bottom, + Center, + Left, + Right, + Top, +} + +enum facebook::react::CSSGradientToKeyword : std::underlying_type_t { + To, +} + +enum facebook::react::CSSInsetShadowKeyword : std::underlying_type_t { + Inset, +} + +enum facebook::react::CSSKeyword : uint8_t { + Absolute, + At, + Auto, + Baseline, + Block, + Bottom, + Center, + Clip, + Column, + ColumnReverse, + CommonLigatures, + Content, + Contents, + Contextual, + Dashed, + DiscretionaryLigatures, + Dotted, + Double, + End, + Fixed, + Flex, + FlexEnd, + FlexStart, + Grid, + Groove, + Hidden, + HistoricalLigatures, + Inherit, + Initial, + Inline, + InlineBlock, + InlineFlex, + InlineGrid, + Inset, + Left, + LiningNums, + Ltr, + MaxContent, + Medium, + MinContent, + NoCommonLigatures, + NoContextual, + NoDiscretionaryLigatures, + NoHistoricalLigatures, + NoWrap, + None, + Normal, + OldstyleNums, + Outset, + ProportionalNums, + Relative, + Ridge, + Right, + Row, + RowReverse, + Rtl, + Scroll, + SmallCaps, + Solid, + SpaceAround, + SpaceBetween, + SpaceEvenly, + Start, + Static, + Sticky, + Stretch, + StylisticEight, + StylisticEighteen, + StylisticEleven, + StylisticFifteen, + StylisticFive, + StylisticFour, + StylisticFourteen, + StylisticNine, + StylisticNineteen, + StylisticOne, + StylisticSeven, + StylisticSeventeen, + StylisticSix, + StylisticSixteen, + StylisticTen, + StylisticThirteen, + StylisticThree, + StylisticTwelve, + StylisticTwenty, + StylisticTwo, + TabularNums, + Thick, + Thin, + To, + Top, + Unset, + Visible, + Wrap, + WrapReverse, +} + +enum facebook::react::CSSLengthUnit : uint8_t { + Cap, + Ch, + Cm, + Dvb, + Dvh, + Dvi, + Dvmax, + Dvmin, + Dvw, + Em, + Ex, + Ic, + In, + Lh, + Lvb, + Lvh, + Lvi, + Lvmax, + Lvmin, + Lvw, + Mm, + Pc, + Pt, + Px, + Q, + Rcap, + Rch, + Rem, + Rex, + Ric, + Rlh, + Svb, + Svh, + Svi, + Svmax, + Svmin, + Svw, + Vb, + Vh, + Vi, + Vmax, + Vmin, + Vw, +} + +enum facebook::react::CSSLinearGradientDirectionKeyword : uint8_t { + ToBottomLeft, + ToBottomRight, + ToTopLeft, + ToTopRight, +} + +enum facebook::react::CSSRadialGradientShape : uint8_t { + Circle, + Ellipse, +} + +enum facebook::react::CSSRadialGradientSizeKeyword : uint8_t { + ClosestCorner, + ClosestSide, + FarthestCorner, + FarthestSide, +} + +enum facebook::react::CSSTokenType { + CloseCurly, + CloseParen, + CloseSquare, + Comma, + Delim, + Dimension, + EndOfFile, + Function, + Hash, + Ident, + Number, + OpenCurly, + OpenParen, + OpenSquare, + Percentage, + WhiteSpace, +} + +enum facebook::react::CSSTransformOriginKeyword : std::underlying_type_t { + Bottom, + Center, + Left, + Right, + Top, +} + +enum facebook::react::CSSWideKeyword : std::underlying_type_t { + Inherit, + Initial, + Unset, +} + +enum facebook::react::ColorSpace { + DisplayP3, + sRGB, +} + +enum facebook::react::ContentInsetAdjustmentBehavior { + Always, + Automatic, + Never, + ScrollableAxes, +} + +enum facebook::react::Cursor : uint8_t { + Alias, + AllScroll, + Auto, + Cell, + ColResize, + ContextMenu, + Copy, + Crosshair, + Default, + EResize, + EWResize, + Grab, + Grabbing, + Help, + Move, + NEResize, + NESWResize, + NResize, + NSResize, + NWResize, + NWSEResize, + NoDrop, + None, + NotAllowed, + Pointer, + Progress, + RowResize, + SEResize, + SResize, + SWResize, + Text, + Url, + WResize, + Wait, + ZoomIn, + ZoomOut, +} + +enum facebook::react::DataDetectorType { + All, + Email, + Link, + None, + PhoneNumber, +} + +enum facebook::react::DisplayMode { + Hidden, + Suspended, + Visible, +} + +enum facebook::react::DisplayType { + Contents, + Flex, + Grid, + None, +} + +enum facebook::react::DynamicTypeRamp { + Body, + Callout, + Caption1, + Caption2, + Footnote, + Headline, + LargeTitle, + Subheadline, + Title1, + Title2, + Title3, +} + +enum facebook::react::EllipsizeMode { + Clip, + Head, + Middle, + Tail, +} + +enum facebook::react::EventPayloadType { + PointerEvent, + ScrollEvent, + ValueFactory, +} + +enum facebook::react::FilterType { + Blur, + Brightness, + Contrast, + DropShadow, + Grayscale, + HueRotate, + Invert, + Opacity, + Saturate, + Sepia, +} + +enum facebook::react::FocusDirection { + FocusBackward, + FocusDown, + FocusForward, + FocusLeft, + FocusRight, + FocusUp, +} + +enum facebook::react::FontStyle { + Italic, + Normal, + Oblique, +} + +enum facebook::react::FontVariant : int { + Default, + LiningNums, + OldstyleNums, + ProportionalNums, + SmallCaps, + StylisticEight, + StylisticEighteen, + StylisticEleven, + StylisticFifteen, + StylisticFive, + StylisticFour, + StylisticFourteen, + StylisticNine, + StylisticNineteen, + StylisticOne, + StylisticSeven, + StylisticSeventeen, + StylisticSix, + StylisticSixteen, + StylisticTen, + StylisticThirteen, + StylisticThree, + StylisticTwelve, + StylisticTwenty, + StylisticTwo, + TabularNums, +} + +enum facebook::react::FontWeight : int { + Black, + Bold, + Demibold, + Heavy, + Light, + Medium, + Regular, + Semibold, + Thin, + UltraLight, + Weight100, + Weight200, + Weight300, + Weight400, + Weight500, + Weight600, + Weight700, + Weight800, + Weight900, +} + +enum facebook::react::GradientDirectionType { + Angle, + Keyword, +} + +enum facebook::react::GradientKeyword : uint8_t { + ToBottomLeft, + ToBottomRight, + ToTopLeft, + ToTopRight, +} + +enum facebook::react::HyphenationFrequency { + Full, + None, + Normal, +} + +enum facebook::react::ImageResizeMode : int8_t { + Center, + Contain, + Cover, + None, + Repeat, + Stretch, +} + +enum facebook::react::ImportantForAccessibility : uint8_t { + Auto, + No, + NoHideDescendants, + Yes, +} + +enum facebook::react::Isolation { + Auto, + Isolate, +} + +enum facebook::react::LayoutConformance : uint8_t { + Compatibility, + Strict, +} + +enum facebook::react::LayoutDirection { + LeftToRight, + RightToLeft, + Undefined, +} + +enum facebook::react::LineBreakMode { + Char, + Clip, + Head, + Middle, + Tail, + Word, +} + +enum facebook::react::LineBreakStrategy { + HangulWordPriority, + None, + PushOut, + Standard, +} + +enum facebook::react::ModalHostViewAnimationType { + Fade, + None, + Slide, +} + +enum facebook::react::ModalHostViewPresentationStyle { + FormSheet, + FullScreen, + OverFullScreen, + PageSheet, +} + +enum facebook::react::ModalHostViewSupportedOrientations : facebook::react::ModalHostViewSupportedOrientationsMask { + Landscape, + LandscapeLeft, + LandscapeRight, + Portrait, + PortraitUpsideDown, +} + +enum facebook::react::NativeFantomNativeEventCategory { + Continuous, + ContinuousEnd, + ContinuousStart, + Discrete, + Idle, + Unspecified, +} + +enum facebook::react::NullValueStrategy { + Ignore, + Override, +} + +enum facebook::react::OutlineStyle : uint8_t { + Dashed, + Dotted, + Solid, +} + +enum facebook::react::PerformanceEntryType { + EVENT, + LONGTASK, + MARK, + MEASURE, + RESOURCE, + _NEXT, +} + +enum facebook::react::PointerEventsMode : uint8_t { + Auto, + BoxNone, + BoxOnly, + None, +} + +enum facebook::react::PositionType { + Absolute, + Relative, + Static, +} + +enum facebook::react::PropName { + ALIGN_CONTENT, + ALIGN_ITEMS, + ALIGN_SELF, + ASPECT_RATIO, + BACKFACE_VISIBILITY, + BACKGROUND_COLOR, + BORDER_COLOR, + BORDER_CURVES, + BORDER_RADII, + BORDER_STYLES, + BORDER_WIDTH, + BOX_SHADOW, + BOX_SIZING, + COLUMN_GAP, + CURSOR, + DIRECTION, + DISPLAY, + FILTER, + FLEX, + FLEX_BASIS, + FLEX_DIRECTION, + FLEX_GROW, + FLEX_SHRINK, + FLEX_WRAP, + HEIGHT, + ISOLATION, + JUSTIFY_CONTENT, + MARGIN, + MAX_HEIGHT, + MAX_WIDTH, + MIN_HEIGHT, + MIN_WIDTH, + MIX_BLEND_MODE, + OPACITY, + OUTLINE_COLOR, + OUTLINE_OFFSET, + OUTLINE_STYLE, + OUTLINE_WIDTH, + PADDING, + POINTER_EVENTS, + POSITION, + POSITION_TYPE, + ROW_GAP, + SHADOW_COLOR, + SHADOW_OFFSET, + SHADOW_OPACITY, + SHADOW_RADIUS, + STYLE_OVERFLOW, + TRANSFORM, + TRANSFORM_ORIGIN, + WIDTH, + Z_INDEX, +} + +enum facebook::react::RadialGradientShape { + Circle, + Ellipse, +} + +enum facebook::react::ReactEventPriority { + Continuous, + Default, + Discrete, + Idle, +} + +enum facebook::react::Role : uint8_t { + Alert, + Alertdialog, + Application, + Article, + Banner, + Button, + Cell, + Checkbox, + Columnheader, + Combobox, + Complementary, + Contentinfo, + Definition, + Dialog, + Directory, + Document, + Feed, + Figure, + Form, + Grid, + Group, + Heading, + Img, + Link, + List, + Listitem, + Log, + Main, + Marquee, + Math, + Menu, + Menubar, + Menuitem, + Meter, + Navigation, + None, + Note, + Option, + Presentation, + Progressbar, + Radio, + Radiogroup, + Region, + Row, + Rowgroup, + Rowheader, + Scrollbar, + Searchbox, + Separator, + Slider, + Spinbutton, + Status, + Summary, + Switch, + Tab, + Table, + Tablist, + Tabpanel, + Term, + Timer, + Toolbar, + Tooltip, + Tree, + Treegrid, + Treeitem, +} + +enum facebook::react::SchedulerPriority : int { + IdlePriority, + ImmediatePriority, + LowPriority, + NormalPriority, + UserBlockingPriority, +} + +enum facebook::react::ScriptTag { + RAMBundle, + String, +} + +enum facebook::react::ScrollViewIndicatorStyle { + Black, + Default, + White, +} + +enum facebook::react::ScrollViewKeyboardDismissMode { + Interactive, + None, + OnDrag, +} + +enum facebook::react::ScrollViewSnapToAlignment { + Center, + End, + Start, +} + +enum facebook::react::ShadowTreeCommitMode { + Normal, + Suspended, +} + +enum facebook::react::ShadowTreeCommitSource { + AnimationEndSync, + React, + ReactRevisionMerge, + Unknown, +} + +enum facebook::react::ShadowTreeCommitStatus { + Cancelled, + Failed, + Succeeded, +} + +enum facebook::react::SubmitBehavior { + BlurAndSubmit, + Default, + Newline, + Submit, +} + +enum facebook::react::TextAlignment { + Center, + Justified, + Left, + Natural, + Right, +} + +enum facebook::react::TextAlignmentVertical { + Auto, + Bottom, + Center, + Top, +} + +enum facebook::react::TextBreakStrategy { + Balanced, + HighQuality, + Simple, +} + +enum facebook::react::TextDecorationLineType { + None, + Strikethrough, + Underline, + UnderlineStrikethrough, +} + +enum facebook::react::TextDecorationStyle { + Dashed, + Dotted, + Double, + Solid, +} + +enum facebook::react::TextTransform { + Capitalize, + Lowercase, + None, + Unset, + Uppercase, +} + +enum facebook::react::TimerSource { + RequestAnimationFrame, + SetInterval, + SetTimeout, + Unknown, +} + +enum facebook::react::TransformOperationType : uint8_t { + Arbitrary, + Identity, + Perspective, + Rotate, + Scale, + Skew, + Translate, +} + +enum facebook::react::TurboModuleMethodValueKind { + ArrayKind, + BooleanKind, + FunctionKind, + NumberKind, + ObjectKind, + PromiseKind, + StringKind, + VoidKind, +} + +enum facebook::react::UnitType { + Percent, + Point, + Undefined, +} + +enum facebook::react::WritingDirection { + LeftToRight, + Natural, + RightToLeft, +} + +struct facebook::react::AbstractPerformanceEntry { + public facebook::react::HighResDuration duration; + public facebook::react::HighResTimeStamp startTime; + public std::string name; +} + +struct facebook::react::AccessibilityAction { + public std::optional label; + public std::string name; +} + +struct facebook::react::AccessibilityLabelledBy { + public std::vector value; +} + +struct facebook::react::AccessibilityState { + public bool busy; + public bool disabled; + public bool selected; + public facebook::react::AccessibilityState::CheckedState checked; + public std::optional expanded; +} + +enum facebook::react::AccessibilityState::CheckedState { + Checked, + Mixed, + None, + Unchecked, +} + +struct facebook::react::AccessibilityValue { + public std::optional max; + public std::optional min; + public std::optional now; + public std::optional text; +} + +struct facebook::react::ActivePointer { + public bool shouldLeaveWhenReleased; + public facebook::react::PointerEvent event; +} + +struct facebook::react::AndroidTextInputTextShadowOffsetStruct { + public double height; + public double width; +} + +struct facebook::react::AnimatedPropBase { + public AnimatedPropBase(facebook::react::PropName propName); + public facebook::react::PropName propName; + public virtual ~AnimatedPropBase() = default; +} + +struct facebook::react::AnimatedProps { + public std::unique_ptr rawProps; + public std::vector> props; +} + +struct facebook::react::AnimatedPropsBuilder { + public facebook::react::AnimatedProps get(); + public std::unique_ptr rawProps; + public std::vector> props; + public void setAlignContent(facebook::yoga::Align value); + public void setAlignItems(facebook::yoga::Align value); + public void setAlignSelf(facebook::yoga::Align value); + public void setAspectRatio(facebook::yoga::FloatOptional value); + public void setBackfaceVisibility(facebook::react::BackfaceVisibility value); + public void setBackgroundColor(facebook::react::SharedColor value); + public void setBorderColor(facebook::react::CascadedBorderColors& value); + public void setBorderCurves(facebook::react::CascadedBorderCurves& value); + public void setBorderRadii(facebook::react::CascadedBorderRadii& value); + public void setBorderStyles(facebook::react::CascadedBorderStyles& value); + public void setBorderWidth(facebook::react::CascadedRectangleEdges& value); + public void setBoxShadow(const std::vector& value); + public void setBoxSizing(facebook::yoga::BoxSizing value); + public void setColumnGap(facebook::yoga::Style::Length value); + public void setCursor(facebook::react::Cursor value); + public void setDirection(facebook::yoga::Direction value); + public void setDisplay(facebook::yoga::Display value); + public void setFilter(const std::vector& value); + public void setFlex(facebook::yoga::FloatOptional value); + public void setFlexBasis(facebook::yoga::Style::SizeLength value); + public void setFlexDirection(facebook::yoga::FlexDirection value); + public void setFlexGrow(facebook::yoga::FloatOptional value); + public void setFlexShrink(facebook::yoga::FloatOptional value); + public void setFlexWrap(facebook::yoga::Wrap value); + public void setHeight(facebook::yoga::Style::SizeLength value); + public void setIsolation(facebook::react::Isolation value); + public void setJustifyContent(facebook::yoga::Justify value); + public void setMargin(facebook::react::CascadedRectangleEdges& value); + public void setMaxHeight(facebook::yoga::Style::SizeLength value); + public void setMaxWidth(facebook::yoga::Style::SizeLength value); + public void setMinHeight(facebook::yoga::Style::SizeLength value); + public void setMinWidth(facebook::yoga::Style::SizeLength value); + public void setMixBlendMode(facebook::react::BlendMode value); + public void setOpacity(facebook::react::Float value); + public void setOutlineColor(facebook::react::SharedColor value); + public void setOutlineOffset(facebook::react::Float value); + public void setOutlineStyle(facebook::react::OutlineStyle value); + public void setOutlineWidth(facebook::react::Float value); + public void setOverflow(facebook::yoga::Overflow value); + public void setPadding(facebook::react::CascadedRectangleEdges& value); + public void setPointerEvents(facebook::react::PointerEventsMode value); + public void setPosition(facebook::react::CascadedRectangleEdges& value); + public void setPositionType(facebook::yoga::PositionType value); + public void setRowGap(facebook::yoga::Style::Length value); + public void setShadowColor(facebook::react::SharedColor value); + public void setShadowOffset(facebook::react::Size value); + public void setShadowOpacity(facebook::react::Float value); + public void setShadowRadius(facebook::react::Float value); + public void setTransform(const facebook::react::Transform& t); + public void setTransformOrigin(const facebook::react::TransformOrigin& value); + public void setWidth(facebook::yoga::Style::SizeLength value); + public void setZIndex(std::optional value); + public void storeDynamic(folly::dynamic& d); + public void storeJSI(facebook::jsi::Runtime& runtime, facebook::jsi::Value& value); +} + +struct facebook::react::AnimationConfig { + public double delay; + public double duration; + public facebook::react::AnimationProperty animationProperty; + public facebook::react::AnimationType animationType; + public facebook::react::Float initialVelocity; + public facebook::react::Float springDamping; +} + +struct facebook::react::AnimationKeyFrame { + public bool generateFinalSyntheticMutations; + public bool invalidated; + public double initialProgress; + public facebook::react::AnimationConfigurationType type; + public facebook::react::ShadowView viewEnd; + public facebook::react::ShadowView viewPrev; + public facebook::react::ShadowView viewStart; + public facebook::react::Tag parentTag; + public facebook::react::Tag tag; + public std::vector finalMutationsForKeyFrame; +} + +struct facebook::react::AnimationMutation { + public bool hasLayoutUpdates; + public facebook::react::AnimatedProps props; + public facebook::react::Tag tag; + public std::shared_ptr family; +} + +struct facebook::react::AnimationMutations { + public std::set asyncFlushSurfaces; + public std::vector batch; +} + +struct facebook::react::BackgroundPosition { + public BackgroundPosition(); + public bool operator==(const facebook::react::BackgroundPosition& other) const = default; + public std::optional bottom; + public std::optional left; + public std::optional right; + public std::optional top; +} + +struct facebook::react::BackgroundRepeat { + public BackgroundRepeat(); + public bool operator==(const facebook::react::BackgroundRepeat& other) const = default; + public facebook::react::BackgroundRepeatStyle x; + public facebook::react::BackgroundRepeatStyle y; +} + +struct facebook::react::BackgroundSizeLengthPercentage { + public BackgroundSizeLengthPercentage(); + public bool isXAuto() const; + public bool isYAuto() const; + public bool operator==(const facebook::react::BackgroundSizeLengthPercentage& other) const = default; + public std::variant x; + public std::variant y; +} + +struct facebook::react::BaseTouch { + public facebook::react::Float force; + public facebook::react::Float timestamp; + public facebook::react::HighResTimeStamp timeStamp; + public facebook::react::Point offsetPoint; + public facebook::react::Point pagePoint; + public facebook::react::Point screenPoint; + public facebook::react::Tag target; + public int identifier; +} + +struct facebook::react::BaseTouch::Comparator { + public bool operator()(const facebook::react::BaseTouch& lhs, const facebook::react::BaseTouch& rhs) const; +} + +struct facebook::react::BaseTouch::Hasher { + public size_t operator()(const facebook::react::BaseTouch& touch) const; +} + +struct facebook::react::BorderMetrics { + public bool operator==(const facebook::react::BorderMetrics& rhs) const = default; + public facebook::react::BorderColors borderColors; + public facebook::react::BorderCurves borderCurves; + public facebook::react::BorderRadii borderRadii; + public facebook::react::BorderStyles borderStyles; + public facebook::react::BorderWidths borderWidths; +} + +struct facebook::react::BoxShadow { + public bool inset; + public bool operator==(const facebook::react::BoxShadow& other) const = default; + public facebook::react::Float blurRadius; + public facebook::react::Float offsetX; + public facebook::react::Float offsetY; + public facebook::react::Float spreadDistance; + public facebook::react::SharedColor color; + public folly::dynamic toDynamic() const; +} + +struct facebook::react::Bridging { + public static bool fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); + public static bool toJs(facebook::jsi::Runtime&, bool value); +} + +struct facebook::react::Bridging : public facebook::react::Bridging { +} + +struct facebook::react::Bridging { + public static double fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); + public static double toJs(facebook::jsi::Runtime&, double value); +} + +struct facebook::react::Bridging { + public static float fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); + public static float toJs(facebook::jsi::Runtime&, float value); +} + +struct facebook::react::Bridging { + public static int32_t fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); + public static int32_t toJs(facebook::jsi::Runtime&, int32_t value); +} + +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime&, uint32_t value); + public static uint32_t fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); +} + +struct facebook::react::Bridging { + public static void fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value&); +} + +struct facebook::react::BufferEvent { + public std::string name; + public std::string track; + public uint64_t end; + public uint64_t start; +} + +struct facebook::react::BundleHeader { + public BundleHeader(); + public facebook::react::Magic32 magic32; + public uint32_t version; + public uint64_t magic64; +} + +struct facebook::react::CSSAngle { + public constexpr bool operator==(const facebook::react::CSSAngle& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSBlurFilter { + public constexpr bool operator==(const facebook::react::CSSBlurFilter& rhs) const = default; + public facebook::react::CSSLength amount; +} + +struct facebook::react::CSSBrightnessFilter { + public constexpr bool operator==(const facebook::react::CSSBrightnessFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSColor { + public constexpr bool operator==(const facebook::react::CSSColor& rhs) const = default; + public static constexpr facebook::react::CSSColor black(); + public uint8_t a; + public uint8_t b; + public uint8_t g; + public uint8_t r; +} + +struct facebook::react::CSSColorHint { + public bool operator==(const facebook::react::CSSColorHint& rhs) const = default; + public std::variant position; +} + +struct facebook::react::CSSColorStop { + public bool operator==(const facebook::react::CSSColorStop& rhs) const; + public facebook::react::CSSColor color; + public std::optional> endPosition; + public std::optional> startPosition; +} + +struct facebook::react::CSSContrastFilter { + public constexpr bool operator==(const facebook::react::CSSContrastFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSDropShadowFilter { + public constexpr bool operator==(const facebook::react::CSSDropShadowFilter& rhs) const = default; + public facebook::react::CSSColor color; + public facebook::react::CSSLength offsetX; + public facebook::react::CSSLength offsetY; + public facebook::react::CSSLength standardDeviation; +} + +struct facebook::react::CSSFunctionBlock { + public std::string_view name; +} + +struct facebook::react::CSSGrayscaleFilter { + public constexpr bool operator==(const facebook::react::CSSGrayscaleFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSHueRotateFilter { + public constexpr bool operator==(const facebook::react::CSSHueRotateFilter& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSInvertFilter { + public constexpr bool operator==(const facebook::react::CSSInvertFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSLength { + public constexpr bool operator==(const facebook::react::CSSLength& rhs) const = default; + public facebook::react::CSSLengthUnit unit; + public float value; +} + +struct facebook::react::CSSLinearGradientDirection { + public bool operator==(const facebook::react::CSSLinearGradientDirection& rhs) const = default; + public std::variant value; +} + +struct facebook::react::CSSLinearGradientFunction { + public bool operator==(const facebook::react::CSSLinearGradientFunction& rhs) const = default; + public static std::pair>, int> parseGradientColorStopsAndHints(facebook::react::CSSValueParser& parser); + public std::optional direction; + public std::vector> items; +} + +struct facebook::react::CSSMatrix { + public constexpr bool operator==(const facebook::react::CSSMatrix& rhs) const = default; + public std::array values; +} + +struct facebook::react::CSSNumber { + public constexpr bool operator==(const facebook::react::CSSNumber& rhs) const = default; + public float value; +} + +struct facebook::react::CSSOpacityFilter { + public constexpr bool operator==(const facebook::react::CSSOpacityFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSPercentage { + public constexpr bool operator==(const facebook::react::CSSPercentage& rhs) const = default; + public float value; +} + +struct facebook::react::CSSPerspective { + public constexpr bool operator==(const facebook::react::CSSPerspective& rhs) const = default; + public facebook::react::CSSLength length; +} + +struct facebook::react::CSSRadialGradientExplicitSize { + public bool operator==(const facebook::react::CSSRadialGradientExplicitSize& rhs) const = default; + public std::variant sizeX; + public std::variant sizeY; +} + +struct facebook::react::CSSRadialGradientFunction { + public bool operator==(const facebook::react::CSSRadialGradientFunction& rhs) const = default; + public std::optional position; + public std::optional shape; + public std::optional size; + public std::vector> items; +} + +struct facebook::react::CSSRadialGradientPosition { + public bool operator==(const facebook::react::CSSRadialGradientPosition& rhs) const = default; + public std::optional> bottom; + public std::optional> left; + public std::optional> right; + public std::optional> top; +} + +struct facebook::react::CSSRatio { + public constexpr bool isDegenerate() const; + public constexpr bool operator==(const facebook::react::CSSRatio& rhs) const = default; + public float denominator; + public float numerator; +} + +struct facebook::react::CSSRotate { + public constexpr bool operator==(const facebook::react::CSSRotate& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSRotateX { + public constexpr bool operator==(const facebook::react::CSSRotateX& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSRotateY { + public constexpr bool operator==(const facebook::react::CSSRotateY& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSRotateZ { + public constexpr bool operator==(const facebook::react::CSSRotateZ& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSSaturateFilter { + public constexpr bool operator==(const facebook::react::CSSSaturateFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSScale { + public constexpr bool operator==(const facebook::react::CSSScale& rhs) const = default; + public float x; + public float y; +} + +struct facebook::react::CSSScaleX { + public constexpr bool operator==(const facebook::react::CSSScaleX& rhs) const = default; + public float value; +} + +struct facebook::react::CSSScaleY { + public constexpr bool operator==(const facebook::react::CSSScaleY& rhs) const = default; + public float value; +} + +struct facebook::react::CSSSepiaFilter { + public constexpr bool operator==(const facebook::react::CSSSepiaFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSShadow { + public bool inset; + public constexpr bool operator==(const facebook::react::CSSShadow& rhs) const = default; + public facebook::react::CSSColor color; + public facebook::react::CSSLength blurRadius; + public facebook::react::CSSLength offsetX; + public facebook::react::CSSLength offsetY; + public facebook::react::CSSLength spreadDistance; +} + +struct facebook::react::CSSSimpleBlock { + public facebook::react::CSSTokenType openBracketType; +} + +struct facebook::react::CSSSkewX { + public constexpr bool operator==(const facebook::react::CSSSkewX& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSSkewY { + public constexpr bool operator==(const facebook::react::CSSSkewY& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSTransformOrigin { + public constexpr bool operator==(const facebook::react::CSSTransformOrigin& rhs) const = default; + public facebook::react::CSSLength z; + public std::variant x; + public std::variant y; +} + +struct facebook::react::CSSTranslate3D { + public constexpr bool operator==(const facebook::react::CSSTranslate3D& rhs) const = default; + public facebook::react::CSSLength z; + public std::variant x; + public std::variant y; +} + +struct facebook::react::CSSTranslate { + public constexpr bool operator==(const facebook::react::CSSTranslate& rhs) const = default; + public std::variant x; + public std::variant y; +} + +struct facebook::react::CSSTranslateX { + public constexpr bool operator==(const facebook::react::CSSTranslateX& rhs) const = default; + public std::variant value; +} + +struct facebook::react::CSSTranslateY { + public constexpr bool operator==(const facebook::react::CSSTranslateY& rhs) const = default; + public std::variant value; +} + +struct facebook::react::CSSZero { + public constexpr bool operator==(const facebook::react::CSSZero& rhs) const = default; +} + +struct facebook::react::CallbackWithId { + public facebook::react::Callback callback; + public facebook::react::CallbackId callbackId; +} + +struct facebook::react::ColorComponents { + public facebook::react::ColorSpace colorSpace; + public float alpha; + public float blue; + public float green; + public float red; +} + +struct facebook::react::ColorStop { + public bool operator==(const facebook::react::ColorStop& other) const = default; + public facebook::react::SharedColor color; + public facebook::react::ValueUnit position; + public folly::dynamic toDynamic() const; +} + +struct facebook::react::CornerRadii { + public bool operator==(const facebook::react::CornerRadii& other) const = default; + public float horizontal; + public float vertical; +} + +struct facebook::react::CppMountItem { + public facebook::react::CppMountItem::Type type; + public facebook::react::ShadowView newChildShadowView; + public facebook::react::ShadowView oldChildShadowView; + public facebook::react::Tag parentTag; + public int index; + public static facebook::react::CppMountItem CreateMountItem(const facebook::react::ShadowView& shadowView); + public static facebook::react::CppMountItem DeleteMountItem(const facebook::react::ShadowView& shadowView); + public static facebook::react::CppMountItem InsertMountItem(facebook::react::Tag parentTag, const facebook::react::ShadowView& shadowView, int index); + public static facebook::react::CppMountItem RemoveMountItem(facebook::react::Tag parentTag, const facebook::react::ShadowView& shadowView, int index); + public static facebook::react::CppMountItem UpdateEventEmitterMountItem(const facebook::react::ShadowView& shadowView); + public static facebook::react::CppMountItem UpdateLayoutMountItem(const facebook::react::ShadowView& shadowView, facebook::react::Tag parentTag); + public static facebook::react::CppMountItem UpdateOverflowInsetMountItem(const facebook::react::ShadowView& shadowView); + public static facebook::react::CppMountItem UpdatePaddingMountItem(const facebook::react::ShadowView& shadowView); + public static facebook::react::CppMountItem UpdatePropsMountItem(const facebook::react::ShadowView& oldShadowView, const facebook::react::ShadowView& newShadowView); + public static facebook::react::CppMountItem UpdateStateMountItem(const facebook::react::ShadowView& shadowView); +} + +enum facebook::react::CppMountItem::Type { + Create, + Delete, + Insert, + Multiple, + Remove, + Undefined, + UpdateEventEmitter, + UpdateLayout, + UpdateOverflowInset, + UpdatePadding, + UpdateProps, + UpdateState, +} + +struct facebook::react::CullingContext { + public bool operator==(const facebook::react::CullingContext& rhs) const = default; + public bool shouldConsiderCulling() const; + public facebook::react::CullingContext adjustCullingContextIfNeeded(const facebook::react::ShadowViewNodePair& pair) const; + public facebook::react::Rect frame; + public facebook::react::Transform transform; +} + +struct facebook::react::DebugStringConvertibleOptions { +} + +struct facebook::react::DefaultTurboModules { + public static std::shared_ptr getTurboModule(const std::string& name, const std::shared_ptr& jsInvoker); +} + +struct facebook::react::DropShadowParams { + public bool operator==(const facebook::react::DropShadowParams& other) const = default; + public facebook::react::Float offsetX; + public facebook::react::Float offsetY; + public facebook::react::Float standardDeviation; + public facebook::react::SharedColor color; + public folly::dynamic toDynamic() const; +} + +struct facebook::react::DummyTraceSection { + template + public DummyTraceSection(const char* name, ConvertsToStringPiece &&... args); +} + +struct facebook::react::DynamicEventPayload : public facebook::react::EventPayload { + protected folly::dynamic payload_; + public DynamicEventPayload(folly::dynamic&& payload); + public static facebook::react::SharedEventPayload create(folly::dynamic&& payload); + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; + public virtual facebook::react::EventPayloadType getType() const override; + public virtual std::optional extractValue(const std::vector&) const override; +} + +struct facebook::react::DynamicPointerEvent : public facebook::react::DynamicEventPayload { + public DynamicPointerEvent(folly::dynamic&& payload); + public const std::optional>& getHitPathForEventListener() const; +} + +struct facebook::react::EventAnimationDriverKey { + public bool operator==(const facebook::react::EventAnimationDriverKey& rhs) const noexcept; + public facebook::react::Tag viewTag; + public std::string eventName; +} + +struct facebook::react::EventPayload { + public EventPayload() = default; + public EventPayload(const facebook::react::EventPayload&) = default; + public EventPayload(facebook::react::EventPayload&&) = default; + public facebook::react::EventPayload& operator=(const facebook::react::EventPayload&) = default; + public facebook::react::EventPayload& operator=(facebook::react::EventPayload&&) = default; + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const = 0; + public virtual facebook::react::EventPayloadType getType() const = 0; + public virtual std::optional extractValue(const std::vector&) const; + public virtual ~EventPayload() = default; +} + +struct facebook::react::FantomForcedCloneCommitHook : public facebook::react::UIManagerCommitHook { + public facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const std::shared_ptr& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode) noexcept override; + public virtual void commitHookWasRegistered(const facebook::react::UIManager&) noexcept override; + public virtual void commitHookWasUnregistered(const facebook::react::UIManager&) noexcept override; +} + +struct facebook::react::FilterFunction { + public bool operator==(const facebook::react::FilterFunction& other) const = default; + public facebook::react::FilterType type; + public folly::dynamic toDynamic() const; + public std::variant parameters; +} + +struct facebook::react::ImageRequestItem { + public facebook::react::ImageRequestParams imageRequestParams; + public facebook::react::ImageSource imageSource; + public facebook::react::Tag tag; +} + +struct facebook::react::InspectorData { + public folly::dynamic props; + public int columnNumber; + public int lineNumber; + public int selectedIndex; + public std::string fileName; + public std::vector hierarchy; +} + +struct facebook::react::InstanceCallback { + public virtual void decrementPendingJSCalls(); + public virtual void incrementPendingJSCalls(); + public virtual void onBatchComplete(); + public virtual ~InstanceCallback() = default; +} + +struct facebook::react::IntersectionObserverEntry { + public bool isIntersectingAboveThresholds; + public bool sameShadowNodeFamily(const facebook::react::ShadowNodeFamily& otherShadowNodeFamily) const; + public facebook::react::HighResTimeStamp time; + public facebook::react::IntersectionObserverObserverId intersectionObserverId; + public facebook::react::Rect intersectionRect; + public facebook::react::Rect rootRect; + public facebook::react::Rect targetRect; + public facebook::react::ShadowNodeFamily::Shared shadowNodeFamily; +} + +struct facebook::react::JAssetManager : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; +} + +struct facebook::react::JBaseJavaModule : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; +} + +struct facebook::react::JCallback : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; +} + +struct facebook::react::JDynamic : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; +} + +struct facebook::react::JExecutor : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; + public void execute(jni::alias_ref runnable); +} + +struct facebook::react::JFrameTimingSequence : public facebook::jni::JavaClass { + public facebook::react::HighResTimeStamp getBeginTimestamp() const; + public facebook::react::HighResTimeStamp getEndTimestamp() const; + public static constexpr auto kJavaDescriptor; + public std::optional> getScreenshot() const; + public uint64_t getId() const; + public uint64_t getThreadId() const; +} + +struct facebook::react::JJavaTimerManager : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; + public void createTimer(uint32_t timerID, double duration, bool repeat); + public void deleteTimer(uint32_t timerID); +} + +struct facebook::react::JMethodDescriptor : public facebook::jni::JavaClass { + public jni::local_ref getMethod() const; + public static constexpr auto kJavaDescriptor; + public std::string getName() const; + public std::string getSignature() const; + public std::string getType() const; +} + +struct facebook::react::JMountItem : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; +} + +struct facebook::react::JNativeModule : public facebook::jni::JavaClass { + public static constexpr char* const kJavaDescriptor; +} + +struct facebook::react::JReactHostImpl : public facebook::jni::JavaClass { + public jni::local_ref reload(const std::string& reason); + public jni::local_ref> getHostMetadata() const; + public static constexpr auto kJavaDescriptor; + public void loadNetworkResource(const std::string& url, jni::local_ref listener) const; + public void setPausedInDebuggerMessage(std::optional message); +} + +struct facebook::react::JReflectMethod : public facebook::jni::JavaClass { + public jmethodID getMethodID(); + public static constexpr auto kJavaDescriptor; +} + +struct facebook::react::JTaskInterface : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; +} + +struct facebook::react::JTracingState : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; +} + +struct facebook::react::JTracingStateListener : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; + public void onStateChanged(TracingState tracingState, bool screenshotsEnabled) const; +} + +struct facebook::react::JTurboModule : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; +} + +struct facebook::react::JTurboModuleWithJSIBindings : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; +} + +struct facebook::react::JavaModuleWrapper : public facebook::jni::JavaClass { + public jni::local_ref getModule(); + public jni::local_ref::javaobject> getMethodDescriptors(); + public static constexpr auto kJavaDescriptor; + public std::string getName() const; +} + +struct facebook::react::LayoutAnimation { + public bool completed; + public facebook::react::LayoutAnimationCallbackWrapper failureCallback; + public facebook::react::LayoutAnimationCallbackWrapper successCallback; + public facebook::react::LayoutAnimationConfig layoutAnimationConfig; + public facebook::react::SurfaceId surfaceId; + public std::vector keyFrames; + public uint64_t startTime; +} + +struct facebook::react::LayoutAnimationConfig { + public double duration; + public facebook::react::AnimationConfig createConfig; + public facebook::react::AnimationConfig deleteConfig; + public facebook::react::AnimationConfig updateConfig; +} + +struct facebook::react::LayoutConformanceProps : public facebook::react::YogaStylableProps { + public LayoutConformanceProps() = default; + public LayoutConformanceProps(const facebook::react::PropsParserContext& context, const facebook::react::LayoutConformanceProps& sourceProps, const facebook::react::RawProps& rawProps); + public facebook::react::LayoutConformance mode; +} + +struct facebook::react::LayoutConstraints { + public facebook::react::LayoutDirection layoutDirection; + public facebook::react::Size clamp(const facebook::react::Size& size) const; + public facebook::react::Size maximumSize; + public facebook::react::Size minimumSize; +} + +struct facebook::react::LayoutContext { + public bool swapLeftAndRightInRTL; + public facebook::react::Float fontSizeMultiplier; + public facebook::react::Float pointScaleFactor; + public facebook::react::Point viewportOffset; + public std::vector* affectedNodes; +} + +struct facebook::react::LayoutMetrics { + public bool operator==(const facebook::react::LayoutMetrics& rhs) const = default; + public bool wasLeftAndRightSwapped; + public facebook::react::DisplayType displayType; + public facebook::react::EdgeInsets borderWidth; + public facebook::react::EdgeInsets contentInsets; + public facebook::react::EdgeInsets overflowInset; + public facebook::react::Float pointScaleFactor; + public facebook::react::LayoutDirection layoutDirection; + public facebook::react::PositionType positionType; + public facebook::react::Rect frame; + public facebook::react::Rect getContentFrame() const; + public facebook::react::Rect getOverflowInsetFrame() const; + public facebook::react::Rect getPaddingFrame() const; +} + +struct facebook::react::LineMeasurement { + public LineMeasurement(const folly::dynamic& data); + public LineMeasurement(std::string text, facebook::react::Rect frame, facebook::react::Float descender, facebook::react::Float capHeight, facebook::react::Float ascender, facebook::react::Float xHeight); + public bool operator==(const facebook::react::LineMeasurement& rhs) const; + public facebook::react::Float ascender; + public facebook::react::Float capHeight; + public facebook::react::Float descender; + public facebook::react::Float xHeight; + public facebook::react::Rect frame; + public static facebook::react::Float baseline(const std::vector& lines); + public std::string text; +} + +struct facebook::react::LinearGradient { + public bool operator==(const facebook::react::LinearGradient& other) const = default; + public facebook::react::GradientDirection direction; + public folly::dynamic toDynamic() const; + public std::vector colorStops; +} + +struct facebook::react::Magic32 { + public uint32_t reserved_; + public uint32_t value; +} + +struct facebook::react::MarginValue { + public bool isPercentage; + public facebook::react::Float value; +} + +struct facebook::react::MeasuredPreparedTextLayout { + public facebook::react::LayoutConstraints layoutConstraints; + public facebook::react::TextMeasurement measurement; + public facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout preparedTextLayout; +} + +struct facebook::react::MethodCall { + public MethodCall(int mod, int meth, folly::dynamic&& args, int cid); + public folly::dynamic arguments; + public int callId; + public int methodId; + public int moduleId; +} + +struct facebook::react::MethodDescriptor { + public MethodDescriptor(std::string n, std::string t); + public std::string name; + public std::string type; +} + +struct facebook::react::ModalHostViewSupportedOrientationsMaskWrapped { + public facebook::react::ModalHostViewSupportedOrientationsMask value; +} + +struct facebook::react::ModuleConfig { + public folly::dynamic config; + public size_t index; +} + +struct facebook::react::MutationRecord { + public facebook::react::MutationObserverId mutationObserverId; + public std::shared_ptr targetShadowNode; + public std::vector> addedShadowNodes; + public std::vector> removedShadowNodes; +} + +struct facebook::react::NativeDrawable { + public bool operator!=(const facebook::react::NativeDrawable& rhs) const; + public bool operator==(const facebook::react::NativeDrawable& rhs) const; + public facebook::react::NativeDrawable::Kind kind; + public facebook::react::NativeDrawable::Ripple ripple; + public std::string themeAttr; + public ~NativeDrawable() = default; +} + +enum facebook::react::NativeDrawable::Kind : uint8_t { + Ripple, + ThemeAttr, +} + +struct facebook::react::NativeDrawable::Ripple { + public bool borderless; + public bool operator==(const facebook::react::NativeDrawable::Ripple& rhs) const; + public std::optional rippleRadius; + public std::optional color; +} + +struct facebook::react::NativePerformanceEntry { + public facebook::react::HighResDuration duration; + public facebook::react::HighResTimeStamp startTime; + public facebook::react::PerformanceEntryType entryType; + public std::optional connectEnd; + public std::optional connectStart; + public std::optional fetchStart; + public std::optional processingEnd; + public std::optional processingStart; + public std::optional requestStart; + public std::optional responseEnd; + public std::optional responseStart; + public std::optional interactionId; + public std::optional decodedBodySize; + public std::optional encodedBodySize; + public std::optional responseStatus; + public std::optional contentType; + public std::string name; +} + +struct facebook::react::PerformanceEntrySorter { + public bool operator()(const facebook::react::PerformanceEntry& lhs, const facebook::react::PerformanceEntry& rhs); +} + +struct facebook::react::PerformanceEventTiming : public facebook::react::AbstractPerformanceEntry { + public facebook::react::HighResTimeStamp processingEnd; + public facebook::react::HighResTimeStamp processingStart; + public facebook::react::HighResTimeStamp taskEndTime; + public facebook::react::PerformanceEntryInteractionId interactionId; + public static constexpr facebook::react::PerformanceEntryType entryType; +} + +struct facebook::react::PerformanceLongTaskTiming : public facebook::react::AbstractPerformanceEntry { + public static constexpr facebook::react::PerformanceEntryType entryType; +} + +struct facebook::react::PerformanceMark : public facebook::react::AbstractPerformanceEntry { + public static constexpr facebook::react::PerformanceEntryType entryType; +} + +struct facebook::react::PerformanceMeasure : public facebook::react::AbstractPerformanceEntry { + public static constexpr facebook::react::PerformanceEntryType entryType; +} + +struct facebook::react::PerformanceObserverObserveMultipleOptions { + public facebook::react::HighResDuration durationThreshold; +} + +struct facebook::react::PerformanceObserverObserveSingleOptions { + public bool buffered; + public facebook::react::HighResDuration durationThreshold; +} + +struct facebook::react::PerformanceResourceTiming : public facebook::react::AbstractPerformanceEntry { + public facebook::react::HighResTimeStamp fetchStart; + public facebook::react::HighResTimeStamp requestStart; + public int decodedBodySize; + public int encodedBodySize; + public int responseStatus; + public static constexpr facebook::react::PerformanceEntryType entryType; + public std::optional connectEnd; + public std::optional connectStart; + public std::optional responseEnd; + public std::optional responseStart; + public std::string contentType; +} + +struct facebook::react::Point { + public bool operator==(const facebook::react::Point& rhs) const = default; + public facebook::react::Float x; + public facebook::react::Float y; + public facebook::react::Point operator+(const facebook::react::Point& rhs) const noexcept; + public facebook::react::Point operator-() const noexcept; + public facebook::react::Point operator-(const facebook::react::Point& rhs) const noexcept; + public facebook::react::Point& operator*=(const facebook::react::Point& point) noexcept; + public facebook::react::Point& operator+=(const facebook::react::Point& point) noexcept; + public facebook::react::Point& operator-=(const facebook::react::Point& point) noexcept; +} + +struct facebook::react::PointerEvent : public facebook::react::EventPayload { + public bool altKey; + public bool ctrlKey; + public bool isPrimary; + public bool metaKey; + public bool shiftKey; + public facebook::react::Float height; + public facebook::react::Float pressure; + public facebook::react::Float tangentialPressure; + public facebook::react::Float width; + public facebook::react::HighResTimeStamp timeStamp; + public facebook::react::Point clientPoint; + public facebook::react::Point offsetPoint; + public facebook::react::Point screenPoint; + public int button; + public int buttons; + public int detail; + public int pointerId; + public int tiltX; + public int tiltY; + public int twist; + public std::string pointerType; + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; + public virtual facebook::react::EventPayloadType getType() const override; +} + +struct facebook::react::PointerEventTarget { + public facebook::react::PointerEvent event; + public std::shared_ptr target; +} + +struct facebook::react::ProcessedColorStop { + public bool operator==(const facebook::react::ProcessedColorStop& other) const = default; + public facebook::react::SharedColor color; + public std::optional position; +} + +struct facebook::react::Promise : public facebook::react::LongLivedObject { + public Promise(facebook::jsi::Runtime& rt, facebook::jsi::Function resolve, facebook::jsi::Function reject); + public facebook::jsi::Function reject_; + public facebook::jsi::Function resolve_; + public void reject(const std::string& message); + public void resolve(const facebook::jsi::Value& result); +} + +struct facebook::react::PropsParserContext { + public PropsParserContext(const facebook::react::PropsParserContext&) = delete; + public PropsParserContext(const facebook::react::SurfaceId surfaceId, const facebook::react::ContextContainer& contextContainer); + public const facebook::react::ContextContainer& contextContainer; + public const facebook::react::SurfaceId surfaceId; + public facebook::react::PropsParserContext& operator=(const facebook::react::PropsParserContext&) = delete; +} + +struct facebook::react::PropsSnapshot { + public facebook::react::BaseViewProps props; + public std::unique_ptr rawProps; + public std::unordered_set propNames; +} + +struct facebook::react::RadialGradient { + public bool operator==(const facebook::react::RadialGradient& other) const = default; + public facebook::react::RadialGradientPosition position; + public facebook::react::RadialGradientShape shape; + public facebook::react::RadialGradientSize size; + public folly::dynamic toDynamic() const; + public std::vector colorStops; +} + +struct facebook::react::RadialGradientPosition { + public bool operator==(const facebook::react::RadialGradientPosition& other) const = default; + public folly::dynamic toDynamic() const; + public std::optional bottom; + public std::optional left; + public std::optional right; + public std::optional top; +} + +struct facebook::react::RadialGradientSize { + public bool operator==(const facebook::react::RadialGradientSize& other) const = default; + public folly::dynamic toDynamic() const; + public std::variant value; +} + +enum facebook::react::RadialGradientSize::SizeKeyword { + ClosestCorner, + ClosestSide, + FarthestCorner, + FarthestSide, +} + +struct facebook::react::RadialGradientSize::Dimensions { + public bool operator==(const facebook::react::RadialGradientSize::Dimensions& other) const = default; + public facebook::react::ValueUnit x; + public facebook::react::ValueUnit y; + public folly::dynamic toDynamic() const; +} + +struct facebook::react::RawEvent { + public RawEvent(std::string type, facebook::react::SharedEventPayload eventPayload, facebook::react::SharedEventTarget eventTarget, std::weak_ptr shadowNodeFamily, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified, bool isUnique = false, facebook::react::HighResTimeStamp eventStartTimeStamp = facebook::react::HighResTimeStamp::now()); + public bool isUnique; + public facebook::react::EventTag loggingTag; + public facebook::react::HighResTimeStamp eventStartTimeStamp; + public facebook::react::RawEvent::Category category; + public facebook::react::SharedEventPayload eventPayload; + public facebook::react::SharedEventTarget eventTarget; + public std::string type; + public std::weak_ptr shadowNodeFamily; +} + +enum facebook::react::RawEvent::Category { + Continuous, + ContinuousEnd, + ContinuousStart, + Discrete, + Idle, + Unspecified, +} + +struct facebook::react::ReactNativeVersionType { + public int32_t Major; + public int32_t Minor; + public int32_t Patch; + public std::string_view Prerelease; +} + +struct facebook::react::ReadableArray : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; +} + +struct facebook::react::ReadableMap : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; +} + +struct facebook::react::ReadableNativeMap : public jni::HybridClass { + public friend HybridBase; + public jni::local_ref> importTypes(); + public jni::local_ref> importValues(); + public jni::local_ref> importKeys(); + public static constexpr auto kJavaDescriptor; + public static jni::local_ref createWithContents(folly::dynamic&& map); + public static void mapException(std::exception_ptr ex); + public static void registerNatives(); + public std::optional keys_; +} + +struct facebook::react::ReadableType : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; + public static jni::local_ref getType(folly::dynamic::Type type); +} + +struct facebook::react::RecoverableError : public std::exception { + public RecoverableError(const std::string& what_); + public virtual const char* what() const noexcept override; + template + public static void runRethrowingAsRecoverable(std::function act); +} + +struct facebook::react::Rect { + public bool containsPoint(facebook::react::Point point) noexcept; + public bool operator==(const facebook::react::Rect& rhs) const noexcept = default; + public facebook::react::Float getMaxX() const noexcept; + public facebook::react::Float getMaxY() const noexcept; + public facebook::react::Float getMidX() const noexcept; + public facebook::react::Float getMidY() const noexcept; + public facebook::react::Float getMinX() const noexcept; + public facebook::react::Float getMinY() const noexcept; + public facebook::react::Point getCenter() const noexcept; + public facebook::react::Point origin; + public facebook::react::Size size; + public static facebook::react::Rect boundingRect(const facebook::react::Point& a, const facebook::react::Point& b, const facebook::react::Point& c, const facebook::react::Point& d) noexcept; + public static facebook::react::Rect intersect(const facebook::react::Rect& rect1, const facebook::react::Rect& rect2); + public void unionInPlace(const facebook::react::Rect& rect) noexcept; +} + +struct facebook::react::RequestInfo { + public std::optional headers; + public std::optional httpBody; + public std::string httpMethod; + public std::string url; +} + +struct facebook::react::ResourceTimingData { + public facebook::react::HighResTimeStamp fetchStart; + public facebook::react::HighResTimeStamp requestStart; + public int decodedBodySize; + public int encodedBodySize; + public int responseStatus; + public std::optional connectEnd; + public std::optional connectStart; + public std::optional responseStart; + public std::string contentType; + public std::string url; +} + +struct facebook::react::ResponseInfo { + public std::optional headers; + public std::string url; + public uint16_t statusCode; +} + +struct facebook::react::SchedulerToolbox { + public facebook::react::ComponentRegistryFactory componentRegistryFactory; + public facebook::react::EventBeat::Factory eventBeatFactory; + public facebook::react::RuntimeExecutor runtimeExecutor; + public std::optional bridgelessBindingsExecutor; + public std::shared_ptr contextContainer; + public std::shared_ptr animationChoreographer; + public std::vector> commitHooks; +} + +struct facebook::react::ScrollEndDragEvent : public facebook::react::ScrollEvent { + public ScrollEndDragEvent() = default; + public ScrollEndDragEvent(const facebook::react::ScrollEvent& scrollEvent); + public facebook::react::Point targetContentOffset; + public facebook::react::Point velocity; + public folly::dynamic asDynamic() const; + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; +} + +struct facebook::react::ScrollEvent : public facebook::react::EventPayload { + public ScrollEvent() = default; + public facebook::react::EdgeInsets contentInset; + public facebook::react::Float timestamp; + public facebook::react::Float zoomScale; + public facebook::react::Point contentOffset; + public facebook::react::Size containerSize; + public facebook::react::Size contentSize; + public folly::dynamic asDynamic() const; + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; + public virtual facebook::react::EventPayloadType getType() const override; + public virtual std::optional extractValue(const std::vector&) const override; +} + +struct facebook::react::ShadowNodeFamilyFragment { + public const facebook::react::SurfaceId surfaceId; + public const facebook::react::Tag tag; + public const std::shared_ptr instanceHandle; +} + +struct facebook::react::ShadowNodeFragment { + public const bool runtimeShadowNodeReference; + public const facebook::react::Props::Shared& props; + public const facebook::react::State::Shared& state; + public const std::shared_ptr>>& children; + public static const facebook::react::Props::Shared& propsPlaceholder(); + public static const facebook::react::State::Shared& statePlaceholder(); + public static const std::shared_ptr>>& childrenPlaceholder(); +} + +struct facebook::react::ShadowNodeListWrapper : public facebook::jsi::NativeState { + public ShadowNodeListWrapper(std::shared_ptr>> shadowNodeList); + public std::shared_ptr>> shadowNodeList; + public ~ShadowNodeListWrapper() override; +} + +struct facebook::react::ShadowNodeWrapper : public facebook::jsi::NativeState { + public ShadowNodeWrapper(std::shared_ptr shadowNode); + public std::shared_ptr shadowNode; + public ~ShadowNodeWrapper() override; +} + +struct facebook::react::ShadowTreeCommitOptions { + public bool enableStateReconciliation; + public bool mountSynchronously; + public facebook::react::ShadowTreeCommitSource source; +} + +struct facebook::react::ShadowView { + public ShadowView() = default; + public ShadowView(const facebook::react::ShadowNode& shadowNode); + public ShadowView(const facebook::react::ShadowView& shadowView) = default; + public ShadowView(facebook::react::ShadowView&& shadowView) noexcept = default; + public bool operator==(const facebook::react::ShadowView& rhs) const; + public facebook::react::ComponentHandle componentHandle; + public facebook::react::ComponentName componentName; + public facebook::react::EventEmitter::Shared eventEmitter; + public facebook::react::LayoutMetrics layoutMetrics; + public facebook::react::Props::Shared props; + public facebook::react::ShadowNodeTraits traits; + public facebook::react::ShadowView& operator=(const facebook::react::ShadowView& other) = default; + public facebook::react::ShadowView& operator=(facebook::react::ShadowView&& other) = default; + public facebook::react::State::Shared state; + public facebook::react::SurfaceId surfaceId; + public facebook::react::Tag tag; +} + +struct facebook::react::ShadowViewMutation { + public ShadowViewMutation() = delete; + public bool mutatedViewIsVirtual() const; + public facebook::react::ShadowView newChildShadowView; + public facebook::react::ShadowView oldChildShadowView; + public facebook::react::ShadowViewMutation::Type type; + public facebook::react::Tag parentTag; + public int index; + public static facebook::react::ShadowViewMutation CreateMutation(facebook::react::ShadowView shadowView); + public static facebook::react::ShadowViewMutation DeleteMutation(facebook::react::ShadowView shadowView); + public static facebook::react::ShadowViewMutation InsertMutation(const facebook::react::ShadowView& parentShadowView, facebook::react::ShadowView childShadowView, int index); + public static facebook::react::ShadowViewMutation InsertMutation(facebook::react::Tag parentTag, facebook::react::ShadowView childShadowView, int index); + public static facebook::react::ShadowViewMutation RemoveMutation(const facebook::react::ShadowView& parentShadowView, facebook::react::ShadowView childShadowView, int index); + public static facebook::react::ShadowViewMutation RemoveMutation(facebook::react::Tag parentTag, facebook::react::ShadowView childShadowView, int index); + public static facebook::react::ShadowViewMutation UpdateMutation(facebook::react::ShadowView oldChildShadowView, facebook::react::ShadowView newChildShadowView, const facebook::react::ShadowView& parentShadowView); + public static facebook::react::ShadowViewMutation UpdateMutation(facebook::react::ShadowView oldChildShadowView, facebook::react::ShadowView newChildShadowView, facebook::react::Tag parentTag); + public using List = std::vector; +} + +enum facebook::react::ShadowViewMutation::Type : std::uint8_t { + Create, + Delete, + Insert, + Remove, + Update, +} + +struct facebook::react::ShadowViewNodePair { + public bool flattened; + public bool inOtherTree() const; + public bool isConcreteView; + public bool operator==(const facebook::react::ShadowViewNodePair& rhs) const; + public const facebook::react::ShadowNode* shadowNode; + public facebook::react::Point contextOrigin; + public facebook::react::ShadowView shadowView; + public mutable const facebook::react::ShadowViewNodePair* otherTreePair; + public size_t mountIndex; +} + +struct facebook::react::Size { + public facebook::react::Float height; + public facebook::react::Float width; + public facebook::react::Size& operator*=(const facebook::react::Point& point) noexcept; + public facebook::react::Size& operator+=(const facebook::react::Point& point) noexcept; +} + +struct facebook::react::StateData { + public StateData() = default; + public StateData(const facebook::react::StateData& previousState, folly::dynamic data); + public facebook::react::MapBuffer getMapBuffer() const; + public folly::dynamic getDynamic() const; + public using Shared = std::shared_ptr; +} + +struct facebook::react::SurfaceContext { + public std::unordered_map> map; + public std::unordered_map> pendingMap; + public std::unordered_set> families; + public std::unordered_set> pendingFamilies; +} + +struct facebook::react::SurfaceUpdates { + public bool hasLayoutUpdates; + public std::unordered_map propsMap; + public std::unordered_set> families; +} + +struct facebook::react::SystraceSection : public facebook::react::DummyTraceSection { + template + public SystraceSection(const char* name, ConvertsToStringPiece &&... args); +} + +struct facebook::react::Task : public facebook::jsi::NativeState { + public Task(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback, facebook::react::HighResTimeStamp expirationTime); + public Task(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback, facebook::react::HighResTimeStamp expirationTime); +} + +struct facebook::react::TextLayoutContext { + public bool operator==(const facebook::react::TextLayoutContext& rhs) const = default; + public facebook::react::Float pointScaleFactor; + public facebook::react::SurfaceId surfaceId; +} + +struct facebook::react::TimerCallback { + public TimerCallback(facebook::jsi::Function callback, std::vector args, bool repeat, facebook::react::TimerSource source = facebook::react::TimerSource::Unknown); + public bool repeat; + public const std::vector args_; + public facebook::jsi::Function callback_; + public facebook::react::TimerSource source; + public void invoke(facebook::jsi::Runtime& runtime); +} + +struct facebook::react::TouchEvent { + public facebook::react::Touches changedTouches; + public facebook::react::Touches targetTouches; + public facebook::react::Touches touches; +} + +struct facebook::react::Transform { + public bool operator==(const facebook::react::Transform& rhs) const noexcept; + public const facebook::react::Float& at(int i, int j) const noexcept; + public facebook::react::Float& at(int i, int j) noexcept; + public facebook::react::Rect applyWithCenter(const facebook::react::Rect& rect, const facebook::react::Point& center) const; + public facebook::react::Transform operator*(const facebook::react::Transform& rhs) const; + public operator folly::dynamic() const; + public static bool isHorizontalInversion(const facebook::react::Transform& transform) noexcept; + public static bool isVerticalInversion(const facebook::react::Transform& transform) noexcept; + public static facebook::react::Transform FromTransformOperation(facebook::react::TransformOperation transformOperation, const facebook::react::Size& size, const facebook::react::Transform& transform = facebook::react::Transform::Identity()); + public static facebook::react::Transform HorizontalInversion() noexcept; + public static facebook::react::Transform Identity() noexcept; + public static facebook::react::Transform Interpolate(facebook::react::Float animationProgress, const facebook::react::Transform& lhs, const facebook::react::Transform& rhs, const facebook::react::Size& size); + public static facebook::react::Transform Perspective(facebook::react::Float perspective) noexcept; + public static facebook::react::Transform Rotate(facebook::react::Float angleX, facebook::react::Float angleY, facebook::react::Float angleZ) noexcept; + public static facebook::react::Transform RotateX(facebook::react::Float radians) noexcept; + public static facebook::react::Transform RotateY(facebook::react::Float radians) noexcept; + public static facebook::react::Transform RotateZ(facebook::react::Float radians) noexcept; + public static facebook::react::Transform Scale(facebook::react::Float factorX, facebook::react::Float factorY, facebook::react::Float factorZ) noexcept; + public static facebook::react::Transform Skew(facebook::react::Float x, facebook::react::Float y) noexcept; + public static facebook::react::Transform Translate(facebook::react::Float x, facebook::react::Float y, facebook::react::Float z) noexcept; + public static facebook::react::Transform VerticalInversion() noexcept; + public static facebook::react::TransformOperation DefaultTransformOperation(facebook::react::TransformOperationType type); + public std::array matrix; + public std::vector operations; +} + +struct facebook::react::TransformConfig { + public double value; + public facebook::react::Tag nodeTag; + public std::string property; +} + +struct facebook::react::TransformOperation { + public bool operator==(const facebook::react::TransformOperation& other) const = default; + public facebook::react::TransformOperationType type; + public facebook::react::ValueUnit x; + public facebook::react::ValueUnit y; + public facebook::react::ValueUnit z; +} + +struct facebook::react::TransformOrigin { + public bool isSet() const; + public bool operator==(const facebook::react::TransformOrigin& other) const = default; + public float z; + public operator folly::dynamic() const; + public std::array xy; +} + +struct facebook::react::ValueUnit { + public constexpr ValueUnit() = default; + public constexpr ValueUnit(float v, facebook::react::UnitType u); + public constexpr bool operator==(const facebook::react::ValueUnit& other) const = default; + public constexpr float resolve(float referenceLength) const; + public constexpr operator bool() const; + public facebook::react::UnitType unit; + public float value; + public folly::dynamic toDynamic() const; +} + +struct facebook::react::Vector { + public facebook::react::Float w; + public facebook::react::Float x; + public facebook::react::Float y; + public facebook::react::Float z; +} + +struct facebook::react::ViewEvents { + public constexpr bool operator[](const facebook::react::ViewEvents::Offset offset) const; + public std::bitset<64> bits; + public std::bitset<64>::reference operator[](const facebook::react::ViewEvents::Offset offset); +} + +enum facebook::react::ViewEvents::Offset : std::size_t { + Click, + ClickCapture, + GotPointerCapture, + LostPointerCapture, + MoveShouldSetResponder, + MoveShouldSetResponderCapture, + PointerDown, + PointerDownCapture, + PointerEnter, + PointerEnterCapture, + PointerLeave, + PointerLeaveCapture, + PointerMove, + PointerMoveCapture, + PointerOut, + PointerOutCapture, + PointerOver, + PointerOverCapture, + PointerUp, + PointerUpCapture, + ResponderEnd, + ResponderGrant, + ResponderMove, + ResponderReject, + ResponderRelease, + ResponderStart, + ResponderTerminate, + ResponderTerminationRequest, + ShouldBlockNativeResponder, + StartShouldSetResponder, + StartShouldSetResponderCapture, + TouchCancel, + TouchEnd, + TouchMove, + TouchStart, +} + +struct facebook::react::WritableArray : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; +} + +struct facebook::react::WritableMap : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; +} + +struct facebook::react::WritableNativeArray : public jni::HybridClass { + public WritableNativeArray(); + public WritableNativeArray(folly::dynamic&& val); + public static constexpr char* kJavaDescriptor; + public static void initHybrid(jni::alias_ref jobj); + public static void registerNatives(); + public void pushBoolean(jboolean value); + public void pushDouble(jdouble value); + public void pushInt(jint value); + public void pushLong(jlong value); + public void pushNativeArray(facebook::react::ReadableNativeArray* otherArray); + public void pushNativeMap(facebook::react::ReadableNativeMap* map); + public void pushNull(); + public void pushString(jstring value); +} + +struct facebook::react::WritableNativeMap : public jni::HybridClass { + public WritableNativeMap(); + public WritableNativeMap(folly::dynamic&& val); + public friend HybridBase; + public static constexpr auto kJavaDescriptor; + public static void initHybrid(jni::alias_ref jobj); + public static void registerNatives(); + public void mergeNativeMap(facebook::react::ReadableNativeMap* other); + public void putBoolean(std::string key, bool val); + public void putDouble(std::string key, double val); + public void putInt(std::string key, int val); + public void putLong(std::string key, jlong val); + public void putNativeArray(std::string key, facebook::react::ReadableNativeArray* otherArray); + public void putNativeMap(std::string key, facebook::react::ReadableNativeMap* otherMap); + public void putNull(std::string key); + public void putString(std::string key, jni::alias_ref val); +} + +template +struct facebook::react::CSSList : public std::vector { +} + +template +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +template +struct facebook::react::CSSList { +} + +template ... VisitorsT> +struct facebook::react::CSSComponentValueVisitorDispatcher { + public constexpr ReturnT consumeComponentValue(facebook::react::CSSDelimiter delimiter, const VisitorsT &... visitors); + public constexpr std::optional visitFunction(); + public constexpr std::optional visitFunction(const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); + public constexpr std::optional visitPreservedToken(); + public constexpr std::optional visitPreservedToken(const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); + public constexpr std::optional visitSimpleBlock(facebook::react::CSSTokenType endToken); + public constexpr std::optional visitSimpleBlock(facebook::react::CSSTokenType endToken, const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); + public facebook::react::CSSSyntaxParser& parser; +} + +template +struct facebook::react::CSSList : public std::vector { +} + +template +class facebook::react::CircularBuffer { + public CircularBuffer(size_t maxSize); + public T& operator[](size_t idx); + public bool add(const T& el); + public size_t size() const; + public std::vector getEntries() const; + public std::vector getEntries(std::function predicate) const; + public void clear(); + public void clear(std::function predicate); + public void getEntries(std::vector& res) const; + public void getEntries(std::vector& res, std::function predicate) const; +} + +template +class facebook::react::MoveWrapper { + public MoveWrapper() = default; + public MoveWrapper(T&& t); + public MoveWrapper(const facebook::react::MoveWrapper& other); + public MoveWrapper(facebook::react::MoveWrapper&& other) noexcept; + public T& operator*(); + public T&& move(); + public T* operator->(); + public const T& operator*() const; + public const T* operator->() const; + public facebook::react::MoveWrapper& operator=(const facebook::react::MoveWrapper&) = delete; + public facebook::react::MoveWrapper& operator=(facebook::react::MoveWrapper&&) = delete; +} + +template +class facebook::react::ConcreteViewShadowNode : public facebook::react::ConcreteShadowNode { + public ConcreteViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ConcreteViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public using BaseShadowNode = facebook::react::ConcreteShadowNode; + public using ConcreteViewProps = ViewPropsT; + public virtual bool canBeTouchTarget() const override; + public virtual bool canChildrenBeTouchTarget() const override; + public virtual facebook::react::Transform getTransform() const override; +} + +template +class facebook::react::BaseTextInputShadowNode : public facebook::react::ConcreteViewShadowNode, public facebook::react::BaseTextShadowNode { + protected facebook::react::LayoutConstraints getTextConstraints(const facebook::react::LayoutConstraints& layoutConstraints) const; + protected std::shared_ptr textLayoutManager_; + protected virtual facebook::react::Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const override; + protected virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; + protected virtual void layout(facebook::react::LayoutContext layoutContext) override; + public BaseTextInputShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public BaseTextInputShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public using BaseShadowNode = facebook::react::ConcreteViewShadowNode; + public void setTextLayoutManager(std::shared_ptr textLayoutManager); +} + +template +class facebook::react::UnstableLegacyViewManagerInteropComponentDescriptor : public facebook::react::ConcreteComponentDescriptor> { + public UnstableLegacyViewManagerInteropComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); +} + +template +class facebook::react::ConcreteShadowNode : public BaseShadowNodeT { + protected facebook::react::Props::Shared props_; + protected facebook::react::State::Shared state_; + public const facebook::react::ConcreteShadowNode::ConcreteEventEmitter& getConcreteEventEmitter() const; + public const facebook::react::ConcreteShadowNode::ConcreteProps& getConcreteProps() const; + public const facebook::react::ConcreteShadowNode::ConcreteStateData& getStateData() const; + public const std::shared_ptr& getConcreteSharedProps() const; + public static const facebook::react::ConcreteShadowNode::SharedConcreteProps& defaultSharedProps(); + public static facebook::react::ComponentHandle Handle(); + public static facebook::react::ComponentName Name(); + public static facebook::react::ConcreteShadowNode::ConcreteStateData initialStateData(const facebook::react::Props::Shared&, const facebook::react::ShadowNodeFamily::Shared&, const facebook::react::ComponentDescriptor&); + public static facebook::react::ConcreteShadowNode::UnsharedConcreteProps Props(const facebook::react::PropsParserContext& context, const facebook::react::RawProps& rawProps, const facebook::react::Props::Shared& baseProps = nullptr); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public static void initializeDynamicProps(facebook::react::ConcreteShadowNode::UnsharedConcreteProps props, const facebook::react::RawProps& rawProps, const facebook::react::Props::Shared& baseProps = nullptr); + public using ConcreteEventEmitter = EventEmitterT; + public using ConcreteProps = PropsT; + public using ConcreteState = facebook::react::ConcreteState; + public using ConcreteStateData = StateDataT; + public using SharedConcreteEventEmitter = std::shared_ptr; + public using SharedConcreteProps = std::shared_ptr; + public using SharedConcreteShadowNode = std::shared_ptr; + public using UnsharedConcreteProps = std::shared_ptr; + public void setStateData(facebook::react::ConcreteShadowNode::ConcreteStateData&& data); +} + +template +struct facebook::react::Bridging : public facebook::react::Bridging { +} + +template +struct facebook::react::TemplateStringLiteral { + public constexpr TemplateStringLiteral(const char(&str)[N]); + public constexpr operator std::string_view() const; + public std::array value; +} + +template +struct facebook::react::CSSDataTypeParser { +} + +template +class facebook::react::ConcreteState : public facebook::react::State { + public ConcreteState(facebook::react::ConcreteState::SharedData data, const facebook::react::State& previousState); + public ConcreteState(facebook::react::ConcreteState::SharedData data, facebook::react::ShadowNodeFamily::Weak family); + public const facebook::react::ConcreteState::Data& getData() const; + public using Data = DataT; + public using Shared = std::shared_ptr; + public using SharedData = std::shared_ptr; + public virtual facebook::react::MapBuffer getMapBuffer() const override; + public virtual folly::dynamic getDynamic() const override; + public virtual jni::local_ref getJNIReference() const override; + public virtual void updateState(folly::dynamic&& data) const override; + public void updateState(facebook::react::ConcreteState::Data&& newData, facebook::react::EventQueue::UpdateMode updateMode = facebook::react::EventQueue::UpdateMode::Asynchronous) const; + public void updateState(std::function callback, facebook::react::EventQueue::UpdateMode updateMode = facebook::react::EventQueue::UpdateMode::Asynchronous) const; + public ~ConcreteState() override = default; +} + +template +class facebook::react::SyncCallback { +} + +template +class facebook::react::SimpleThreadSafeCache { + public SimpleThreadSafeCache(); + public SimpleThreadSafeCache(unsigned long size); + public ValueT get(const KeyT& key, facebook::react::CacheGeneratorFunction auto generator) const; + public std::optional get(const KeyT& key) const; + public std::pair getWithKey(const KeyT& key, facebook::react::CacheGeneratorFunction auto generator) const; +} + +template +class facebook::react::DiffMap { + public DiffMap(); + public DiffMap(size_t sizeHint); + public facebook::react::DiffMap::Iterator begin(); + public facebook::react::DiffMap::Iterator end(); + public facebook::react::DiffMap::Iterator find(KeyT key); + public using Pair = std::pair; + public void erase(facebook::react::DiffMap::Iterator it); + public void insert(facebook::react::DiffMap::Pair pair); +} + +class facebook::react::DiffMap::Iterator { + public bool operator!=(const facebook::react::DiffMap::Iterator& other) const; + public bool operator==(const facebook::react::DiffMap::Iterator& other) const; + public const facebook::react::DiffMap::Pair& operator*() const; + public const facebook::react::DiffMap::Pair* operator->() const; + public facebook::react::DiffMap::Iterator& operator++(); +} + +template +class facebook::react::OnScopeExit { + public OnScopeExit(const Lambda&& lambda) noexcept; + public OnScopeExit(const facebook::react::OnScopeExit&) = delete; + public OnScopeExit(facebook::react::OnScopeExit&&) = delete; + public facebook::react::OnScopeExit& operator=(const facebook::react::OnScopeExit&) = delete; + public facebook::react::OnScopeExit& operator=(facebook::react::OnScopeExit&&) = delete; + public ~OnScopeExit() noexcept; +} + +template +struct facebook::react::NativePerformanceRawPerformanceEntry { + public P0 name; + public P1 entryType; + public P2 startTime; + public P3 duration; + public P4 processingStart; + public P5 processingEnd; + public P6 interactionId; + public P7 fetchStart; + public P8 requestStart; + public P9 connectStart; + public P10 connectEnd; + public P11 responseStart; + public P12 responseEnd; + public P13 responseStatus; + public P14 contentType; + public P15 encodedBodySize; + public P16 decodedBodySize; + public bool operator==(const facebook::react::NativePerformanceRawPerformanceEntry& other) const; +} + +template +struct facebook::react::NativePlatformConstantsAndroidPlatformConstantsAndroid { + public P0 isTesting; + public P1 isDisableAnimations; + public P2 reactNativeVersion; + public P3 Version; + public P4 Release; + public P5 Serial; + public P6 Fingerprint; + public P7 Model; + public P8 ServerHost; + public P9 uiMode; + public P10 Brand; + public P11 Manufacturer; + public bool operator==(const facebook::react::NativePlatformConstantsAndroidPlatformConstantsAndroid& other) const; +} + +template +struct facebook::react::NativeAlertManagerArgs { + public P0 title; + public P1 message; + public P2 buttons; + public P3 type; + public P4 defaultValue; + public P5 cancelButtonKey; + public P6 destructiveButtonKey; + public P7 preferredButtonKey; + public P8 keyboardType; + public P9 userInterfaceStyle; + public bool operator==(const facebook::react::NativeAlertManagerArgs& other) const; +} + +template +struct facebook::react::NativePushNotificationManagerIOSNotification { + public P0 alertTitle; + public P1 alertBody; + public P2 userInfo; + public P3 category; + public P4 fireDate; + public P5 fireIntervalSeconds; + public P6 applicationIconBadgeNumber; + public P7 isSilent; + public P8 soundName; + public bool operator==(const facebook::react::NativePushNotificationManagerIOSNotification& other) const; +} + +template +struct facebook::react::NativeExceptionsManagerExceptionData { + public P0 message; + public P1 originalMessage; + public P2 name; + public P3 componentStack; + public P4 stack; + public P5 id; + public P6 isFatal; + public P7 extraData; + public bool operator==(const facebook::react::NativeExceptionsManagerExceptionData& other) const; +} + +template +struct facebook::react::NativePlatformConstantsIOSPlatformConstantsIOS { + public P0 isTesting; + public P1 isDisableAnimations; + public P2 reactNativeVersion; + public P3 forceTouchAvailable; + public P4 osVersion; + public P5 systemName; + public P6 interfaceIdiom; + public P7 isMacCatalyst; + public bool operator==(const facebook::react::NativePlatformConstantsIOSPlatformConstantsIOS& other) const; +} + +template +struct facebook::react::NativeDialogManagerAndroidDialogOptions { + public P0 title; + public P1 message; + public P2 buttonPositive; + public P3 buttonNegative; + public P4 buttonNeutral; + public P5 items; + public P6 cancelable; + public bool operator==(const facebook::react::NativeDialogManagerAndroidDialogOptions& other) const; +} + +template +struct facebook::react::NativeIntersectionObserverNativeIntersectionObserverEntry { + public P0 intersectionObserverId; + public P1 targetInstanceHandle; + public P2 targetRect; + public P3 rootRect; + public P4 intersectionRect; + public P5 isIntersectingAboveThresholds; + public P6 time; + public bool operator==(const facebook::react::NativeIntersectionObserverNativeIntersectionObserverEntry& other) const; +} + +template +struct facebook::react::NativeIntersectionObserverNativeIntersectionObserverObserveOptions { + public P0 intersectionObserverId; + public P1 rootShadowNode; + public P2 targetShadowNode; + public P3 thresholds; + public P4 rootThresholds; + public P5 rootMargin; + public bool operator==(const facebook::react::NativeIntersectionObserverNativeIntersectionObserverObserveOptions& other) const; +} + +template +struct facebook::react::NativeDeviceInfoDisplayMetricsAndroid { + public P0 width; + public P1 height; + public P2 scale; + public P3 fontScale; + public P4 densityDpi; + public bool operator==(const facebook::react::NativeDeviceInfoDisplayMetricsAndroid& other) const; +} + +template +struct facebook::react::NativeExceptionsManagerStackFrame { + public P0 column; + public P1 file; + public P2 lineNumber; + public P3 methodName; + public P4 collapse; + public bool operator==(const facebook::react::NativeExceptionsManagerStackFrame& other) const; +} + +template +struct facebook::react::NativeImageEditorOptions { + public P0 offset; + public P1 size; + public P2 displaySize; + public P3 resizeMode; + public P4 allowExternalStorage; + public bool operator==(const facebook::react::NativeImageEditorOptions& other) const; +} + +template +struct facebook::react::NativeDeviceInfoDimensionsPayload { + public P0 window; + public P1 screen; + public P2 windowPhysicalPixels; + public P3 screenPhysicalPixels; + public bool operator==(const facebook::react::NativeDeviceInfoDimensionsPayload& other) const; +} + +template +struct facebook::react::NativeDeviceInfoDisplayMetrics { + public P0 width; + public P1 height; + public P2 scale; + public P3 fontScale; + public bool operator==(const facebook::react::NativeDeviceInfoDisplayMetrics& other) const; +} + +template +struct facebook::react::NativeFantomImageResponse { + public P0 width; + public P1 height; + public P2 cacheStatus; + public P3 errorMessage; + public bool operator==(const facebook::react::NativeFantomImageResponse& other) const; +} + +template +struct facebook::react::NativeMutationObserverNativeMutationRecord { + public P0 mutationObserverId; + public P1 target; + public P2 addedNodes; + public P3 removedNodes; + public bool operator==(const facebook::react::NativeMutationObserverNativeMutationRecord& other) const; +} + +template +struct facebook::react::NativePerformancePerformanceObserverInit { + public P0 entryTypes; + public P1 type; + public P2 buffered; + public P3 durationThreshold; + public bool operator==(const facebook::react::NativePerformancePerformanceObserverInit& other) const; +} + +template +struct facebook::react::NativePlatformConstantsAndroidReactNativeVersionAndroid { + public P0 major; + public P1 minor; + public P2 patch; + public P3 prerelease; + public bool operator==(const facebook::react::NativePlatformConstantsAndroidReactNativeVersionAndroid& other) const; +} + +template +struct facebook::react::NativeAnimatedModuleEndResult { + public P0 finished; + public P1 value; + public P2 offset; + public bool operator==(const facebook::react::NativeAnimatedModuleEndResult& other) const; +} + +template +struct facebook::react::NativeAnimatedTurboModuleEndResult { + public P0 finished; + public P1 value; + public P2 offset; + public bool operator==(const facebook::react::NativeAnimatedTurboModuleEndResult& other) const; +} + +template +struct facebook::react::NativeDeviceInfoDeviceInfoConstants { + public P0 Dimensions; + public P1 isEdgeToEdge; + public P2 isIPhoneX_deprecated; + public bool operator==(const facebook::react::NativeDeviceInfoDeviceInfoConstants& other) const; +} + +template +struct facebook::react::NativeFantomScrollOptions { + public P0 x; + public P1 y; + public P2 zoomScale; + public bool operator==(const facebook::react::NativeFantomScrollOptions& other) const; +} + +template +struct facebook::react::NativeI18nManagerI18nManagerConstants { + public P0 doLeftAndRightSwapInRTL; + public P1 isRTL; + public P2 localeIdentifier; + public bool operator==(const facebook::react::NativeI18nManagerI18nManagerConstants& other) const; +} + +template +struct facebook::react::NativeMutationObserverNativeMutationObserverObserveOptions { + public P0 mutationObserverId; + public P1 targetShadowNode; + public P2 subtree; + public bool operator==(const facebook::react::NativeMutationObserverNativeMutationObserverObserveOptions& other) const; +} + +template +struct facebook::react::NativePushNotificationManagerIOSPermissions { + public P0 alert; + public P1 badge; + public P2 sound; + public bool operator==(const facebook::react::NativePushNotificationManagerIOSPermissions& other) const; +} + +template +struct facebook::react::NativeAnimatedModuleEventMapping { + public P0 nativeEventPath; + public P1 animatedValueTag; + public bool operator==(const facebook::react::NativeAnimatedModuleEventMapping& other) const; +} + +template +struct facebook::react::NativeAnimatedTurboModuleEventMapping { + public P0 nativeEventPath; + public P1 animatedValueTag; + public bool operator==(const facebook::react::NativeAnimatedTurboModuleEventMapping& other) const; +} + +template +struct facebook::react::NativeBlobModuleConstants { + public P0 BLOB_URI_SCHEME; + public P1 BLOB_URI_HOST; + public bool operator==(const facebook::react::NativeBlobModuleConstants& other) const; +} + +template +struct facebook::react::NativeFantomRenderFormatOptions { + public P0 includeRoot; + public P1 includeLayoutMetrics; + public bool operator==(const facebook::react::NativeFantomRenderFormatOptions& other) const; +} + +template +struct facebook::react::NativeIdleCallbacksIdleDeadline { + public P0 didTimeout; + public P1 timeRemaining; + public bool operator==(const facebook::react::NativeIdleCallbacksIdleDeadline& other) const; +} + +template +struct facebook::react::NativeImageLoaderAndroidImageSize { + public P0 width; + public P1 height; + public bool operator==(const facebook::react::NativeImageLoaderAndroidImageSize& other) const; +} + +template +struct facebook::react::NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfig { + public P0 shouldReloadAndProfile; + public P1 recordChangeDescriptions; + public bool operator==(const facebook::react::NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfig& other) const; +} + +template +struct facebook::react::NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfig { + public P0 shouldReloadAndProfile; + public P1 recordChangeDescriptions; + public bool operator==(const facebook::react::NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfig& other) const; +} + +template +struct facebook::react::NativeAppStateAppState { + public P0 app_state; + public bool operator==(const facebook::react::NativeAppStateAppState& other) const; +} + +template +struct facebook::react::NativeAppStateAppStateConstants { + public P0 initialAppState; + public bool operator==(const facebook::react::NativeAppStateAppStateConstants& other) const; +} + +template +struct facebook::react::NativeIdleCallbacksRequestIdleCallbackOptions { + public P0 timeout; + public bool operator==(const facebook::react::NativeIdleCallbacksRequestIdleCallbackOptions& other) const; +} + +template +struct facebook::react::NativeSourceCodeSourceCodeConstants { + public P0 scriptURL; + public bool operator==(const facebook::react::NativeSourceCodeSourceCodeConstants& other) const; +} + +template +class facebook::react::SyncCallback { + public R call(Args... args) const; + public R operator()(Args... args) const; + public SyncCallback(const facebook::react::SyncCallback&) = delete; + public SyncCallback(facebook::jsi::Runtime& rt, facebook::jsi::Function function, std::shared_ptr jsInvoker); + public SyncCallback(facebook::react::SyncCallback&& other) noexcept; + public facebook::react::SyncCallback& operator=(const facebook::react::SyncCallback&) = delete; + public facebook::react::SyncCallback& operator=(facebook::react::SyncCallback&& other) noexcept; + public ~SyncCallback(); +} + +template +struct facebook::react::Bridging : public facebook::react::Bridging> { +} + +template +struct facebook::react::Bridging : public facebook::react::Bridging> { +} + +template +class facebook::react::SafeReleaseJniRef { + public RefT::javaobject get() const; + public SafeReleaseJniRef() = default; + public SafeReleaseJniRef(RefT ref); + public SafeReleaseJniRef(const facebook::react::SafeReleaseJniRef& other) = default; + public SafeReleaseJniRef(facebook::react::SafeReleaseJniRef&& other) = default; + public const std::remove_reference())>::type& operator*() const noexcept; + public const std::remove_reference())>::type* operator->() const noexcept; + public facebook::react::SafeReleaseJniRef& operator=(const facebook::react::SafeReleaseJniRef& other) = default; + public facebook::react::SafeReleaseJniRef& operator=(facebook::react::SafeReleaseJniRef&& other) = default; + public operator RefT() const; + public operator bool() const noexcept; + public std::remove_reference())>::type& operator*() noexcept; + public std::remove_reference())>::type* operator->() noexcept; + public ~SafeReleaseJniRef(); +} + +template +class facebook::react::BaseParagraphComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; + public BaseParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); + public virtual facebook::react::ComponentName getComponentName() const override; +} + +template +class facebook::react::ConcreteComponentDescriptor : public facebook::react::ComponentDescriptor { + protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; + public ConcreteComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public using ConcreteEventEmitter = typename ShadowNodeT::ConcreteEventEmitter; + public using ConcreteProps = typename ShadowNodeT::ConcreteProps; + public using ConcreteShadowNode = ShadowNodeT; + public using ConcreteState = typename ShadowNodeT::ConcreteState; + public using ConcreteStateData = typename ShadowNodeT::ConcreteState::Data; + public using SharedConcreteEventEmitter = typename ShadowNodeT::SharedConcreteEventEmitter; + public using SharedConcreteProps = typename ShadowNodeT::SharedConcreteProps; + public virtual facebook::react::ComponentHandle getComponentHandle() const override; + public virtual facebook::react::ComponentName getComponentName() const override; + public virtual facebook::react::Props::Shared cloneProps(const facebook::react::PropsParserContext& context, const facebook::react::Props::Shared& props, facebook::react::RawProps rawProps) const override; + public virtual facebook::react::ShadowNodeFamily::Shared createFamily(const facebook::react::ShadowNodeFamilyFragment& fragment) const override; + public virtual facebook::react::ShadowNodeTraits getTraits() const override; + public virtual facebook::react::State::Shared createInitialState(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family) const override; + public virtual facebook::react::State::Shared createState(const facebook::react::ShadowNodeFamily& family, const facebook::react::StateData::Shared& data) const override; + public virtual std::shared_ptr cloneShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) const override; + public virtual std::shared_ptr createShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family) const override; + public virtual void appendChild(const std::shared_ptr& parentShadowNode, const std::shared_ptr& childShadowNode) const override; +} + +template +class facebook::react::Element { + public Element(); + public facebook::react::Element& children(std::vector children); + public facebook::react::Element& finalize(std::function finalizeCallback); + public facebook::react::Element& props(facebook::react::Element::SharedConcreteProps props); + public facebook::react::Element& props(std::function callback); + public facebook::react::Element& reference(facebook::react::Element::ConcreteUnsharedShadowNode& outShadowNode); + public facebook::react::Element& reference(std::function callback); + public facebook::react::Element& stateData(std::function callback); + public facebook::react::Element& surfaceId(facebook::react::SurfaceId surfaceId); + public facebook::react::Element& tag(facebook::react::Tag tag); + public operator facebook::react::ElementFragment(); + public using ConcreteProps = typename ShadowNodeT::ConcreteProps; + public using ConcreteReferenceCallback = std::function& shadowNode)>; + public using ConcreteShadowNode = ShadowNodeT; + public using ConcreteState = typename ShadowNodeT::ConcreteState; + public using ConcreteStateData = typename ShadowNodeT::ConcreteStateData; + public using ConcreteUnsharedShadowNode = std::shared_ptr; + public using SharedConcreteProps = std::shared_ptr; + public using SharedConcreteState = std::shared_ptr; +} + +template +struct facebook::react::Bridging { +} + +template +class facebook::react::NativeAccessibilityInfoCxxSpec : public facebook::react::TurboModule { + protected NativeAccessibilityInfoCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeAccessibilityManagerCxxSpec : public facebook::react::TurboModule { + protected NativeAccessibilityManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeActionSheetManagerCxxSpec : public facebook::react::TurboModule { + protected NativeActionSheetManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeAlertManagerCxxSpec : public facebook::react::TurboModule { + protected NativeAlertManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeAnimatedModuleCxxSpec : public facebook::react::TurboModule { + protected NativeAnimatedModuleCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeAnimatedTurboModuleCxxSpec : public facebook::react::TurboModule { + protected NativeAnimatedTurboModuleCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeAppStateCxxSpec : public facebook::react::TurboModule { + protected NativeAppStateCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeAppearanceCxxSpec : public facebook::react::TurboModule { + protected NativeAppearanceCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeBlobModuleCxxSpec : public facebook::react::TurboModule { + protected NativeBlobModuleCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeCPUTimeCxxSpec : public facebook::react::TurboModule { + protected NativeCPUTimeCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeClipboardCxxSpec : public facebook::react::TurboModule { + protected NativeClipboardCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeDOMCxxSpec : public facebook::react::TurboModule { + protected NativeDOMCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeDevLoadingViewCxxSpec : public facebook::react::TurboModule { + protected NativeDevLoadingViewCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeDevMenuCxxSpec : public facebook::react::TurboModule { + protected NativeDevMenuCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeDevSettingsCxxSpec : public facebook::react::TurboModule { + protected NativeDevSettingsCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeDeviceEventManagerCxxSpec : public facebook::react::TurboModule { + protected NativeDeviceEventManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeDeviceInfoCxxSpec : public facebook::react::TurboModule { + protected NativeDeviceInfoCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeDialogManagerAndroidCxxSpec : public facebook::react::TurboModule { + protected NativeDialogManagerAndroidCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeExceptionsManagerCxxSpec : public facebook::react::TurboModule { + protected NativeExceptionsManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeFantomCxxSpec : public facebook::react::TurboModule { + protected NativeFantomCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeFantomTestSpecificMethodsCxxSpec : public facebook::react::TurboModule { + protected NativeFantomTestSpecificMethodsCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeFileReaderModuleCxxSpec : public facebook::react::TurboModule { + protected NativeFileReaderModuleCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeFrameRateLoggerCxxSpec : public facebook::react::TurboModule { + protected NativeFrameRateLoggerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeHeadlessJsTaskSupportCxxSpec : public facebook::react::TurboModule { + protected NativeHeadlessJsTaskSupportCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeI18nManagerCxxSpec : public facebook::react::TurboModule { + protected NativeI18nManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeIdleCallbacksCxxSpec : public facebook::react::TurboModule { + protected NativeIdleCallbacksCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeImageEditorCxxSpec : public facebook::react::TurboModule { + protected NativeImageEditorCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeImageLoaderAndroidCxxSpec : public facebook::react::TurboModule { + protected NativeImageLoaderAndroidCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeImageLoaderIOSCxxSpec : public facebook::react::TurboModule { + protected NativeImageLoaderIOSCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeImageStoreAndroidCxxSpec : public facebook::react::TurboModule { + protected NativeImageStoreAndroidCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeImageStoreIOSCxxSpec : public facebook::react::TurboModule { + protected NativeImageStoreIOSCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeIntentAndroidCxxSpec : public facebook::react::TurboModule { + protected NativeIntentAndroidCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeIntersectionObserverCxxSpec : public facebook::react::TurboModule { + protected NativeIntersectionObserverCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeJSCHeapCaptureCxxSpec : public facebook::react::TurboModule { + protected NativeJSCHeapCaptureCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeKeyboardObserverCxxSpec : public facebook::react::TurboModule { + protected NativeKeyboardObserverCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeLinkingManagerCxxSpec : public facebook::react::TurboModule { + protected NativeLinkingManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeLogBoxCxxSpec : public facebook::react::TurboModule { + protected NativeLogBoxCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeMicrotasksCxxSpec : public facebook::react::TurboModule { + protected NativeMicrotasksCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeModalManagerCxxSpec : public facebook::react::TurboModule { + protected NativeModalManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeMutationObserverCxxSpec : public facebook::react::TurboModule { + protected NativeMutationObserverCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeNetworkingAndroidCxxSpec : public facebook::react::TurboModule { + protected NativeNetworkingAndroidCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeNetworkingIOSCxxSpec : public facebook::react::TurboModule { + protected NativeNetworkingIOSCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativePerformanceCxxSpec : public facebook::react::TurboModule { + protected NativePerformanceCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativePermissionsAndroidCxxSpec : public facebook::react::TurboModule { + protected NativePermissionsAndroidCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativePlatformConstantsAndroidCxxSpec : public facebook::react::TurboModule { + protected NativePlatformConstantsAndroidCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativePlatformConstantsIOSCxxSpec : public facebook::react::TurboModule { + protected NativePlatformConstantsIOSCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativePushNotificationManagerIOSCxxSpec : public facebook::react::TurboModule { + protected NativePushNotificationManagerIOSCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeReactDevToolsRuntimeSettingsModuleCxxSpec : public facebook::react::TurboModule { + protected NativeReactDevToolsRuntimeSettingsModuleCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeReactDevToolsSettingsManagerCxxSpec : public facebook::react::TurboModule { + protected NativeReactDevToolsSettingsManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeReactNativeFeatureFlagsCxxSpec : public facebook::react::TurboModule { + protected NativeReactNativeFeatureFlagsCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeRedBoxCxxSpec : public facebook::react::TurboModule { + protected NativeRedBoxCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeSegmentFetcherCxxSpec : public facebook::react::TurboModule { + protected NativeSegmentFetcherCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeSettingsManagerCxxSpec : public facebook::react::TurboModule { + protected NativeSettingsManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeShareModuleCxxSpec : public facebook::react::TurboModule { + protected NativeShareModuleCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeSoundManagerCxxSpec : public facebook::react::TurboModule { + protected NativeSoundManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeSourceCodeCxxSpec : public facebook::react::TurboModule { + protected NativeSourceCodeCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeStatusBarManagerAndroidCxxSpec : public facebook::react::TurboModule { + protected NativeStatusBarManagerAndroidCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeStatusBarManagerIOSCxxSpec : public facebook::react::TurboModule { + protected NativeStatusBarManagerIOSCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeTimingCxxSpec : public facebook::react::TurboModule { + protected NativeTimingCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeToastAndroidCxxSpec : public facebook::react::TurboModule { + protected NativeToastAndroidCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeVibrationCxxSpec : public facebook::react::TurboModule { + protected NativeVibrationCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeWebSocketModuleCxxSpec : public facebook::react::TurboModule { + protected NativeWebSocketModuleCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +struct facebook::react::AnimatedProp : public facebook::react::AnimatedPropBase { + public AnimatedProp() = default; + public AnimatedProp(facebook::react::PropName propName, const T& value); + public T value; +} + +template +struct facebook::react::CascadedRectangleCorners { + public bool operator==(const facebook::react::CascadedRectangleCorners& rhs) const = default; + public facebook::react::CascadedRectangleCorners::Counterpart resolve(bool isRTL, T defaults) const; + public facebook::react::CascadedRectangleCorners::OptionalT all; + public facebook::react::CascadedRectangleCorners::OptionalT bottomEnd; + public facebook::react::CascadedRectangleCorners::OptionalT bottomLeft; + public facebook::react::CascadedRectangleCorners::OptionalT bottomRight; + public facebook::react::CascadedRectangleCorners::OptionalT bottomStart; + public facebook::react::CascadedRectangleCorners::OptionalT endEnd; + public facebook::react::CascadedRectangleCorners::OptionalT endStart; + public facebook::react::CascadedRectangleCorners::OptionalT startEnd; + public facebook::react::CascadedRectangleCorners::OptionalT startStart; + public facebook::react::CascadedRectangleCorners::OptionalT topEnd; + public facebook::react::CascadedRectangleCorners::OptionalT topLeft; + public facebook::react::CascadedRectangleCorners::OptionalT topRight; + public facebook::react::CascadedRectangleCorners::OptionalT topStart; + public using Counterpart = facebook::react::RectangleCorners; + public using OptionalT = std::optional; +} + +template +struct facebook::react::CascadedRectangleEdges { + public bool operator==(const facebook::react::CascadedRectangleEdges& rhs) const = default; + public facebook::react::CascadedRectangleEdges::Counterpart resolve(bool isRTL, T defaults) const; + public facebook::react::CascadedRectangleEdges::OptionalT all; + public facebook::react::CascadedRectangleEdges::OptionalT block; + public facebook::react::CascadedRectangleEdges::OptionalT blockEnd; + public facebook::react::CascadedRectangleEdges::OptionalT blockStart; + public facebook::react::CascadedRectangleEdges::OptionalT bottom; + public facebook::react::CascadedRectangleEdges::OptionalT end; + public facebook::react::CascadedRectangleEdges::OptionalT horizontal; + public facebook::react::CascadedRectangleEdges::OptionalT left; + public facebook::react::CascadedRectangleEdges::OptionalT right; + public facebook::react::CascadedRectangleEdges::OptionalT start; + public facebook::react::CascadedRectangleEdges::OptionalT top; + public facebook::react::CascadedRectangleEdges::OptionalT vertical; + public using Counterpart = facebook::react::RectangleEdges; + public using OptionalT = std::optional; +} + +template +struct facebook::react::NativeAlertManagerArgsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Array buttonsToJs(facebook::jsi::Runtime& rt, decltype(types.buttons) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static facebook::jsi::String cancelButtonKeyToJs(facebook::jsi::Runtime& rt, decltype(types.cancelButtonKey) value); + public static facebook::jsi::String defaultValueToJs(facebook::jsi::Runtime& rt, decltype(types.defaultValue) value); + public static facebook::jsi::String destructiveButtonKeyToJs(facebook::jsi::Runtime& rt, decltype(types.destructiveButtonKey) value); + public static facebook::jsi::String keyboardTypeToJs(facebook::jsi::Runtime& rt, decltype(types.keyboardType) value); + public static facebook::jsi::String messageToJs(facebook::jsi::Runtime& rt, decltype(types.message) value); + public static facebook::jsi::String preferredButtonKeyToJs(facebook::jsi::Runtime& rt, decltype(types.preferredButtonKey) value); + public static facebook::jsi::String titleToJs(facebook::jsi::Runtime& rt, decltype(types.title) value); + public static facebook::jsi::String typeToJs(facebook::jsi::Runtime& rt, decltype(types.type) value); + public static facebook::jsi::String userInterfaceStyleToJs(facebook::jsi::Runtime& rt, decltype(types.userInterfaceStyle) value); +} + +template +struct facebook::react::NativeAnimatedModuleEndResultBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static bool finishedToJs(facebook::jsi::Runtime& rt, decltype(types.finished) value); + public static double offsetToJs(facebook::jsi::Runtime& rt, decltype(types.offset) value); + public static double valueToJs(facebook::jsi::Runtime& rt, decltype(types.value) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeAnimatedModuleEventMappingBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Array nativeEventPathToJs(facebook::jsi::Runtime& rt, decltype(types.nativeEventPath) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static std::optional animatedValueTagToJs(facebook::jsi::Runtime& rt, decltype(types.animatedValueTag) value); +} + +template +struct facebook::react::NativeAnimatedTurboModuleEndResultBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static bool finishedToJs(facebook::jsi::Runtime& rt, decltype(types.finished) value); + public static double offsetToJs(facebook::jsi::Runtime& rt, decltype(types.offset) value); + public static double valueToJs(facebook::jsi::Runtime& rt, decltype(types.value) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeAnimatedTurboModuleEventMappingBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Array nativeEventPathToJs(facebook::jsi::Runtime& rt, decltype(types.nativeEventPath) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static std::optional animatedValueTagToJs(facebook::jsi::Runtime& rt, decltype(types.animatedValueTag) value); +} + +template +struct facebook::react::NativeAppStateAppStateBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static facebook::jsi::String app_stateToJs(facebook::jsi::Runtime& rt, decltype(types.app_state) value); +} + +template +struct facebook::react::NativeAppStateAppStateConstantsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static facebook::jsi::String initialAppStateToJs(facebook::jsi::Runtime& rt, decltype(types.initialAppState) value); +} + +template +struct facebook::react::NativeBlobModuleConstantsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static std::optional BLOB_URI_HOSTToJs(facebook::jsi::Runtime& rt, decltype(types.BLOB_URI_HOST) value); + public static std::optional BLOB_URI_SCHEMEToJs(facebook::jsi::Runtime& rt, decltype(types.BLOB_URI_SCHEME) value); +} + +template +struct facebook::react::NativeDeviceInfoDeviceInfoConstantsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static bool isEdgeToEdgeToJs(facebook::jsi::Runtime& rt, decltype(types.isEdgeToEdge) value); + public static bool isIPhoneX_deprecatedToJs(facebook::jsi::Runtime& rt, decltype(types.isIPhoneX_deprecated) value); + public static facebook::jsi::Object DimensionsToJs(facebook::jsi::Runtime& rt, decltype(types.Dimensions) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeDeviceInfoDimensionsPayloadBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object screenPhysicalPixelsToJs(facebook::jsi::Runtime& rt, decltype(types.screenPhysicalPixels) value); + public static facebook::jsi::Object screenToJs(facebook::jsi::Runtime& rt, decltype(types.screen) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static facebook::jsi::Object windowPhysicalPixelsToJs(facebook::jsi::Runtime& rt, decltype(types.windowPhysicalPixels) value); + public static facebook::jsi::Object windowToJs(facebook::jsi::Runtime& rt, decltype(types.window) value); +} + +template +struct facebook::react::NativeDeviceInfoDisplayMetricsAndroidBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static double densityDpiToJs(facebook::jsi::Runtime& rt, decltype(types.densityDpi) value); + public static double fontScaleToJs(facebook::jsi::Runtime& rt, decltype(types.fontScale) value); + public static double heightToJs(facebook::jsi::Runtime& rt, decltype(types.height) value); + public static double scaleToJs(facebook::jsi::Runtime& rt, decltype(types.scale) value); + public static double widthToJs(facebook::jsi::Runtime& rt, decltype(types.width) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeDeviceInfoDisplayMetricsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static double fontScaleToJs(facebook::jsi::Runtime& rt, decltype(types.fontScale) value); + public static double heightToJs(facebook::jsi::Runtime& rt, decltype(types.height) value); + public static double scaleToJs(facebook::jsi::Runtime& rt, decltype(types.scale) value); + public static double widthToJs(facebook::jsi::Runtime& rt, decltype(types.width) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeDialogManagerAndroidDialogOptionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static bool cancelableToJs(facebook::jsi::Runtime& rt, decltype(types.cancelable) value); + public static facebook::jsi::Array itemsToJs(facebook::jsi::Runtime& rt, decltype(types.items) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static facebook::jsi::String buttonNegativeToJs(facebook::jsi::Runtime& rt, decltype(types.buttonNegative) value); + public static facebook::jsi::String buttonNeutralToJs(facebook::jsi::Runtime& rt, decltype(types.buttonNeutral) value); + public static facebook::jsi::String buttonPositiveToJs(facebook::jsi::Runtime& rt, decltype(types.buttonPositive) value); + public static facebook::jsi::String messageToJs(facebook::jsi::Runtime& rt, decltype(types.message) value); + public static facebook::jsi::String titleToJs(facebook::jsi::Runtime& rt, decltype(types.title) value); +} + +template +struct facebook::react::NativeExceptionsManagerExceptionDataBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static bool isFatalToJs(facebook::jsi::Runtime& rt, decltype(types.isFatal) value); + public static double idToJs(facebook::jsi::Runtime& rt, decltype(types.id) value); + public static facebook::jsi::Array stackToJs(facebook::jsi::Runtime& rt, decltype(types.stack) value); + public static facebook::jsi::Object extraDataToJs(facebook::jsi::Runtime& rt, decltype(types.extraData) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static facebook::jsi::String messageToJs(facebook::jsi::Runtime& rt, decltype(types.message) value); + public static std::optional componentStackToJs(facebook::jsi::Runtime& rt, decltype(types.componentStack) value); + public static std::optional nameToJs(facebook::jsi::Runtime& rt, decltype(types.name) value); + public static std::optional originalMessageToJs(facebook::jsi::Runtime& rt, decltype(types.originalMessage) value); +} + +template +struct facebook::react::NativeExceptionsManagerStackFrameBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static bool collapseToJs(facebook::jsi::Runtime& rt, decltype(types.collapse) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static facebook::jsi::String methodNameToJs(facebook::jsi::Runtime& rt, decltype(types.methodName) value); + public static std::optional columnToJs(facebook::jsi::Runtime& rt, decltype(types.column) value); + public static std::optional lineNumberToJs(facebook::jsi::Runtime& rt, decltype(types.lineNumber) value); + public static std::optional fileToJs(facebook::jsi::Runtime& rt, decltype(types.file) value); +} + +template +struct facebook::react::NativeFantomImageResponseBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static double heightToJs(facebook::jsi::Runtime& rt, decltype(types.height) value); + public static double widthToJs(facebook::jsi::Runtime& rt, decltype(types.width) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static facebook::jsi::String cacheStatusToJs(facebook::jsi::Runtime& rt, decltype(types.cacheStatus) value); + public static facebook::jsi::String errorMessageToJs(facebook::jsi::Runtime& rt, decltype(types.errorMessage) value); +} + +template +struct facebook::react::NativeFantomRenderFormatOptionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static bool includeLayoutMetricsToJs(facebook::jsi::Runtime& rt, decltype(types.includeLayoutMetrics) value); + public static bool includeRootToJs(facebook::jsi::Runtime& rt, decltype(types.includeRoot) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeFantomScrollOptionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static double xToJs(facebook::jsi::Runtime& rt, decltype(types.x) value); + public static double yToJs(facebook::jsi::Runtime& rt, decltype(types.y) value); + public static double zoomScaleToJs(facebook::jsi::Runtime& rt, decltype(types.zoomScale) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeI18nManagerI18nManagerConstantsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static bool doLeftAndRightSwapInRTLToJs(facebook::jsi::Runtime& rt, decltype(types.doLeftAndRightSwapInRTL) value); + public static bool isRTLToJs(facebook::jsi::Runtime& rt, decltype(types.isRTL) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static std::optional localeIdentifierToJs(facebook::jsi::Runtime& rt, decltype(types.localeIdentifier) value); +} + +template +struct facebook::react::NativeIdleCallbacksIdleDeadlineBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static bool didTimeoutToJs(facebook::jsi::Runtime& rt, decltype(types.didTimeout) value); + public static facebook::jsi::Function timeRemainingToJs(facebook::jsi::Runtime& rt, decltype(types.timeRemaining) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeIdleCallbacksRequestIdleCallbackOptionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static double timeoutToJs(facebook::jsi::Runtime& rt, decltype(types.timeout) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeImageEditorOptionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static bool allowExternalStorageToJs(facebook::jsi::Runtime& rt, decltype(types.allowExternalStorage) value); + public static facebook::jsi::Object offsetToJs(facebook::jsi::Runtime& rt, decltype(types.offset) value); + public static facebook::jsi::Object sizeToJs(facebook::jsi::Runtime& rt, decltype(types.size) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static std::optional displaySizeToJs(facebook::jsi::Runtime& rt, decltype(types.displaySize) value); + public static std::optional resizeModeToJs(facebook::jsi::Runtime& rt, decltype(types.resizeMode) value); +} + +template +struct facebook::react::NativeImageLoaderAndroidImageSizeBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static double heightToJs(facebook::jsi::Runtime& rt, decltype(types.height) value); + public static double widthToJs(facebook::jsi::Runtime& rt, decltype(types.width) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeIntersectionObserverNativeIntersectionObserverEntryBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static bool isIntersectingAboveThresholdsToJs(facebook::jsi::Runtime& rt, decltype(types.isIntersectingAboveThresholds) value); + public static double intersectionObserverIdToJs(facebook::jsi::Runtime& rt, decltype(types.intersectionObserverId) value); + public static double timeToJs(facebook::jsi::Runtime& rt, decltype(types.time) value); + public static facebook::jsi::Array rootRectToJs(facebook::jsi::Runtime& rt, decltype(types.rootRect) value); + public static facebook::jsi::Array targetRectToJs(facebook::jsi::Runtime& rt, decltype(types.targetRect) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static facebook::jsi::Value targetInstanceHandleToJs(facebook::jsi::Runtime& rt, decltype(types.targetInstanceHandle) value); + public static std::optional intersectionRectToJs(facebook::jsi::Runtime& rt, decltype(types.intersectionRect) value); +} + +template +struct facebook::react::NativeIntersectionObserverNativeIntersectionObserverObserveOptionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static double intersectionObserverIdToJs(facebook::jsi::Runtime& rt, decltype(types.intersectionObserverId) value); + public static facebook::jsi::Array thresholdsToJs(facebook::jsi::Runtime& rt, decltype(types.thresholds) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static facebook::jsi::Value targetShadowNodeToJs(facebook::jsi::Runtime& rt, decltype(types.targetShadowNode) value); + public static std::optional rootThresholdsToJs(facebook::jsi::Runtime& rt, decltype(types.rootThresholds) value); + public static std::optional rootMarginToJs(facebook::jsi::Runtime& rt, decltype(types.rootMargin) value); + public static std::optional rootShadowNodeToJs(facebook::jsi::Runtime& rt, decltype(types.rootShadowNode) value); +} + +template +struct facebook::react::NativeMutationObserverNativeMutationObserverObserveOptionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static bool subtreeToJs(facebook::jsi::Runtime& rt, decltype(types.subtree) value); + public static double mutationObserverIdToJs(facebook::jsi::Runtime& rt, decltype(types.mutationObserverId) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static facebook::jsi::Value targetShadowNodeToJs(facebook::jsi::Runtime& rt, decltype(types.targetShadowNode) value); +} + +template +struct facebook::react::NativeMutationObserverNativeMutationRecordBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static double mutationObserverIdToJs(facebook::jsi::Runtime& rt, decltype(types.mutationObserverId) value); + public static facebook::jsi::Array addedNodesToJs(facebook::jsi::Runtime& rt, decltype(types.addedNodes) value); + public static facebook::jsi::Array removedNodesToJs(facebook::jsi::Runtime& rt, decltype(types.removedNodes) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static facebook::jsi::Value targetToJs(facebook::jsi::Runtime& rt, decltype(types.target) value); +} + +template +struct facebook::react::NativePerformancePerformanceObserverInitBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static bool bufferedToJs(facebook::jsi::Runtime& rt, decltype(types.buffered) value); + public static double durationThresholdToJs(facebook::jsi::Runtime& rt, decltype(types.durationThreshold) value); + public static double typeToJs(facebook::jsi::Runtime& rt, decltype(types.type) value); + public static facebook::jsi::Array entryTypesToJs(facebook::jsi::Runtime& rt, decltype(types.entryTypes) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativePerformanceRawPerformanceEntryBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static double connectEndToJs(facebook::jsi::Runtime& rt, decltype(types.connectEnd) value); + public static double connectStartToJs(facebook::jsi::Runtime& rt, decltype(types.connectStart) value); + public static double decodedBodySizeToJs(facebook::jsi::Runtime& rt, decltype(types.decodedBodySize) value); + public static double durationToJs(facebook::jsi::Runtime& rt, decltype(types.duration) value); + public static double encodedBodySizeToJs(facebook::jsi::Runtime& rt, decltype(types.encodedBodySize) value); + public static double entryTypeToJs(facebook::jsi::Runtime& rt, decltype(types.entryType) value); + public static double fetchStartToJs(facebook::jsi::Runtime& rt, decltype(types.fetchStart) value); + public static double interactionIdToJs(facebook::jsi::Runtime& rt, decltype(types.interactionId) value); + public static double processingEndToJs(facebook::jsi::Runtime& rt, decltype(types.processingEnd) value); + public static double processingStartToJs(facebook::jsi::Runtime& rt, decltype(types.processingStart) value); + public static double requestStartToJs(facebook::jsi::Runtime& rt, decltype(types.requestStart) value); + public static double responseEndToJs(facebook::jsi::Runtime& rt, decltype(types.responseEnd) value); + public static double responseStartToJs(facebook::jsi::Runtime& rt, decltype(types.responseStart) value); + public static double responseStatusToJs(facebook::jsi::Runtime& rt, decltype(types.responseStatus) value); + public static double startTimeToJs(facebook::jsi::Runtime& rt, decltype(types.startTime) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static facebook::jsi::String contentTypeToJs(facebook::jsi::Runtime& rt, decltype(types.contentType) value); + public static facebook::jsi::String nameToJs(facebook::jsi::Runtime& rt, decltype(types.name) value); +} + +template +struct facebook::react::NativePlatformConstantsAndroidPlatformConstantsAndroidBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static bool isDisableAnimationsToJs(facebook::jsi::Runtime& rt, decltype(types.isDisableAnimations) value); + public static bool isTestingToJs(facebook::jsi::Runtime& rt, decltype(types.isTesting) value); + public static double VersionToJs(facebook::jsi::Runtime& rt, decltype(types.Version) value); + public static facebook::jsi::Object reactNativeVersionToJs(facebook::jsi::Runtime& rt, decltype(types.reactNativeVersion) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static facebook::jsi::String BrandToJs(facebook::jsi::Runtime& rt, decltype(types.Brand) value); + public static facebook::jsi::String FingerprintToJs(facebook::jsi::Runtime& rt, decltype(types.Fingerprint) value); + public static facebook::jsi::String ManufacturerToJs(facebook::jsi::Runtime& rt, decltype(types.Manufacturer) value); + public static facebook::jsi::String ModelToJs(facebook::jsi::Runtime& rt, decltype(types.Model) value); + public static facebook::jsi::String ReleaseToJs(facebook::jsi::Runtime& rt, decltype(types.Release) value); + public static facebook::jsi::String SerialToJs(facebook::jsi::Runtime& rt, decltype(types.Serial) value); + public static facebook::jsi::String ServerHostToJs(facebook::jsi::Runtime& rt, decltype(types.ServerHost) value); + public static facebook::jsi::String uiModeToJs(facebook::jsi::Runtime& rt, decltype(types.uiMode) value); +} + +template +struct facebook::react::NativePlatformConstantsAndroidReactNativeVersionAndroidBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static double majorToJs(facebook::jsi::Runtime& rt, decltype(types.major) value); + public static double minorToJs(facebook::jsi::Runtime& rt, decltype(types.minor) value); + public static double patchToJs(facebook::jsi::Runtime& rt, decltype(types.patch) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static std::optional prereleaseToJs(facebook::jsi::Runtime& rt, decltype(types.prerelease) value); +} + +template +struct facebook::react::NativePlatformConstantsIOSPlatformConstantsIOSBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static bool forceTouchAvailableToJs(facebook::jsi::Runtime& rt, decltype(types.forceTouchAvailable) value); + public static bool isDisableAnimationsToJs(facebook::jsi::Runtime& rt, decltype(types.isDisableAnimations) value); + public static bool isMacCatalystToJs(facebook::jsi::Runtime& rt, decltype(types.isMacCatalyst) value); + public static bool isTestingToJs(facebook::jsi::Runtime& rt, decltype(types.isTesting) value); + public static facebook::jsi::Object reactNativeVersionToJs(facebook::jsi::Runtime& rt, decltype(types.reactNativeVersion) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static facebook::jsi::String interfaceIdiomToJs(facebook::jsi::Runtime& rt, decltype(types.interfaceIdiom) value); + public static facebook::jsi::String osVersionToJs(facebook::jsi::Runtime& rt, decltype(types.osVersion) value); + public static facebook::jsi::String systemNameToJs(facebook::jsi::Runtime& rt, decltype(types.systemName) value); +} + +template +struct facebook::react::NativePushNotificationManagerIOSNotificationBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static std::optional isSilentToJs(facebook::jsi::Runtime& rt, decltype(types.isSilent) value); + public static std::optional applicationIconBadgeNumberToJs(facebook::jsi::Runtime& rt, decltype(types.applicationIconBadgeNumber) value); + public static std::optional fireDateToJs(facebook::jsi::Runtime& rt, decltype(types.fireDate) value); + public static std::optional fireIntervalSecondsToJs(facebook::jsi::Runtime& rt, decltype(types.fireIntervalSeconds) value); + public static std::optional userInfoToJs(facebook::jsi::Runtime& rt, decltype(types.userInfo) value); + public static std::optional alertBodyToJs(facebook::jsi::Runtime& rt, decltype(types.alertBody) value); + public static std::optional alertTitleToJs(facebook::jsi::Runtime& rt, decltype(types.alertTitle) value); + public static std::optional categoryToJs(facebook::jsi::Runtime& rt, decltype(types.category) value); + public static std::optional soundNameToJs(facebook::jsi::Runtime& rt, decltype(types.soundName) value); +} + +template +struct facebook::react::NativePushNotificationManagerIOSPermissionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static bool alertToJs(facebook::jsi::Runtime& rt, decltype(types.alert) value); + public static bool badgeToJs(facebook::jsi::Runtime& rt, decltype(types.badge) value); + public static bool soundToJs(facebook::jsi::Runtime& rt, decltype(types.sound) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfigBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static bool recordChangeDescriptionsToJs(facebook::jsi::Runtime& rt, decltype(types.recordChangeDescriptions) value); + public static bool shouldReloadAndProfileToJs(facebook::jsi::Runtime& rt, decltype(types.shouldReloadAndProfile) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfigBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static bool recordChangeDescriptionsToJs(facebook::jsi::Runtime& rt, decltype(types.recordChangeDescriptions) value); + public static bool shouldReloadAndProfileToJs(facebook::jsi::Runtime& rt, decltype(types.shouldReloadAndProfile) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeSourceCodeSourceCodeConstantsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static facebook::jsi::String scriptURLToJs(facebook::jsi::Runtime& rt, decltype(types.scriptURL) value); +} + +template +struct facebook::react::RectangleCorners { + public T bottomLeft; + public T bottomRight; + public T topLeft; + public T topRight; + public bool isUniform() const noexcept; + public bool operator==(const facebook::react::RectangleCorners& rhs) const noexcept = default; +} + +template +struct facebook::react::RectangleEdges { + public T bottom; + public T left; + public T right; + public T top; + public bool isUniform() const noexcept; + public bool operator==(const facebook::react::RectangleEdges& rhs) const noexcept = default; + public static const facebook::react::RectangleEdges ZERO; +} + +template +class facebook::react::AsyncCallback { + public AsyncCallback(facebook::jsi::Runtime& runtime, facebook::jsi::Function function, std::shared_ptr jsInvoker); + public void call(Args... args) const noexcept; + public void call(std::function&& callImpl) const noexcept; + public void callWithPriority(facebook::react::SchedulerPriority priority, Args... args) const noexcept; + public void callWithPriority(facebook::react::SchedulerPriority priority, std::function&& callImpl) const noexcept; + public void operator()(Args... args) const noexcept; +} + +template +class facebook::react::AsyncEventEmitter : public facebook::react::IAsyncEventEmitter { + public AsyncEventEmitter(); + public AsyncEventEmitter(const facebook::react::AsyncEventEmitter&) = delete; + public AsyncEventEmitter(facebook::react::AsyncEventEmitter&&) noexcept = default; + public facebook::react::AsyncEventEmitter& operator=(const facebook::react::AsyncEventEmitter&) = delete; + public facebook::react::AsyncEventEmitter& operator=(facebook::react::AsyncEventEmitter&&) noexcept = default; + public virtual facebook::jsi::Object get(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker) const override; + public void emit(Args... value); + public void emit(std::function&& converter); + public ~AsyncEventEmitter() override = default; +} + +template +class facebook::react::SharedFunction { + public SharedFunction(const facebook::react::SharedFunction& other) = default; + public SharedFunction(facebook::react::SharedFunction&& other) noexcept = default; + public SharedFunction(std::function&& function = nullptr); + public facebook::react::SharedFunction& operator=(const facebook::react::SharedFunction& other) = default; + public facebook::react::SharedFunction& operator=(facebook::react::SharedFunction&& other) noexcept = default; + public void assign(std::function function) const; + public void operator()(ArgumentT... args) const; +} + +template +class facebook::react::AsyncPromise { + public AsyncPromise(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker); + public facebook::jsi::Object get(facebook::jsi::Runtime& rt) const; + public void reject(facebook::react::Error error); + public void resolve(T... value); +} + +template +class facebook::react::EventListenerContainerT { + public bool willDispatchEvent(TArgs... args); + public void addListener(std::shared_ptr> listener); + public void removeListener(const std::shared_ptr>& listener); +} + +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const folly::dynamic& value); + public static folly::dynamic fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); +} + +struct facebook::react::Bridging { + public static std::nullptr_t fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); + public static std::nullptr_t toJs(facebook::jsi::Runtime&, std::nullptr_t); +} + +struct facebook::react::Bridging { + public static facebook::jsi::String toJs(facebook::jsi::Runtime& rt, const std::string& value); + public static std::string fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::String& value); +} + +struct facebook::react::Bridging { + public static facebook::jsi::String toJs(facebook::jsi::Runtime& rt, std::string_view value); +} + +template +struct facebook::react::Bridging> { + public static constexpr size_t kArgumentCount; + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, facebook::react::Bridging>::Func fn, const std::shared_ptr& jsInvoker); + public using Func = std::function; + public using IndexSequence = std::index_sequence_for; +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, 2> { + public static std::pair fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, N> { + public static std::array fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::optional& value, const std::shared_ptr& jsInvoker); + public static std::optional fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value, const std::shared_ptr& jsInvoker); + template + public static std::optional fromJs(facebook::jsi::Runtime& rt, const std::optional& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { + public static std::set fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::unique_ptr& ptr, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { + public static std::vector fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::weak_ptr& weakPtr, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, sizeof...(Types)> { +} + +struct facebook::react::Bridging { + public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); + public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Value&& value); + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, std::string message); +} + +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::WeakObject& value); + public static facebook::jsi::WeakObject fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); +} + +struct facebook::react::Bridging : public facebook::react::NativeAnimatedTurboModuleEndResultBridging { +} + +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const facebook::react::Error& error); +} + +struct facebook::react::Bridging { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::EventSubscription& eventSubscription, const std::shared_ptr& jsInvoker); + public static facebook::react::EventSubscription fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); +} + +struct facebook::react::Bridging { + public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResDuration& value); + public static facebook::react::HighResDuration fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); +} + +struct facebook::react::Bridging { + public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResTimeStamp& value); + public static facebook::react::HighResTimeStamp fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); +} + +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::react::NativeFantomNativeEventCategory value); + public static facebook::react::NativeFantomNativeEventCategory fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& rawValue); +} + +struct facebook::react::Bridging : public facebook::react::NativeIntersectionObserverNativeIntersectionObserverEntryBridging { +} + +struct facebook::react::Bridging : public facebook::react::NativeIntersectionObserverNativeIntersectionObserverObserveOptionsBridging { +} + +struct facebook::react::Bridging : public facebook::react::NativeMutationObserverNativeMutationObserverObserveOptionsBridging { +} + +struct facebook::react::Bridging : public facebook::react::NativeMutationObserverNativeMutationRecordBridging { +} + +struct facebook::react::Bridging : public facebook::react::NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfigBridging { +} + +struct facebook::react::Bridging : public facebook::react::NativePerformanceRawPerformanceEntryBridging { +} + +struct facebook::react::Bridging : public facebook::react::NativePerformancePerformanceObserverInitBridging { +} + +struct facebook::react::Bridging : public facebook::react::NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfigBridging { +} + +struct facebook::react::Bridging : public facebook::react::NativeIdleCallbacksRequestIdleCallbackOptionsBridging { +} + +struct facebook::react::Bridging { + public static facebook::react::PerformanceEntryType fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); + public static int toJs(facebook::jsi::Runtime&, const facebook::react::PerformanceEntryType& value); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static std::optional consume(facebook::react::CSSValueParser& syntaxParser); +} + +struct facebook::react::CSSDataTypeParser { + public static std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSNumberPercentTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSNumberPercentTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSVariantComponentTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSVariantComponentTransformParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +template +struct facebook::react::CSSDataTypeParser> { + public static std::optional> consume(facebook::react::CSSValueParser& parser); +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::SyncCallback& value); + public static facebook::react::SyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncCallback& value); + public static facebook::react::AsyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncEventEmitter& eventEmitter, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { +} + +template +struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncPromise& promise); +} + +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::shared_ptr& value); + public static std::shared_ptr fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& jsiValue); +} + +template +struct facebook::react::Bridging, std::enable_if_t, std::function>>> : public facebook::react::Bridging> { +} + +template +struct facebook::react::Bridging, std::enable_if_t>> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::shared_ptr& ptr, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging, std::enable_if_t>> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, std::shared_ptr value); + public static std::shared_ptr fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); +} + + +bool facebook::react::HostPlatformViewTraitsInitializer::formsStackingContext(const facebook::react::ViewProps& viewProps); +bool facebook::react::HostPlatformViewTraitsInitializer::formsView(const facebook::react::ViewProps& viewProps); +bool facebook::react::HostPlatformViewTraitsInitializer::isKeyboardFocusable(const facebook::react::ViewProps& viewProps); + + +const char* facebook::react::exceptions::gUnexpectedNativeTypeExceptionClass; +template +void facebook::react::exceptions::throwIfObjectAlreadyConsumed(const T& t, const char* msg); + + +constexpr bool facebook::react::detail::isHexDigit(char c); +constexpr bool facebook::react::detail::isValidHexColor(std::string_view hex); +constexpr float facebook::react::detail::hueToRgb(float p, float q, float t); +constexpr std::optional facebook::react::detail::normalizeNumberComponent(const std::variant& component); +constexpr uint8_t facebook::react::detail::clamp255Component(float f); +constexpr uint8_t facebook::react::detail::clampAlpha(std::optional alpha); +constexpr uint8_t facebook::react::detail::hexToNumeric(std::string_view hex, facebook::react::detail::HexColorType hexType); +float facebook::react::detail::normalizeHue(float hue); +std::optional facebook::react::detail::normalizeHueComponent(const std::variant& component); +std::tuple facebook::react::detail::hslToRgb(float h, float s, float l); +std::tuple facebook::react::detail::hwbToRgb(float h, float w, float b); +template +constexpr bool facebook::react::detail::isLegacyColorFunction(facebook::react::CSSValueParser& parser); +template +constexpr std::optional facebook::react::detail::parseLegacyRgbFunction(facebook::react::CSSValueParser& parser); +template +constexpr std::optional facebook::react::detail::parseModernRgbFunction(facebook::react::CSSValueParser& parser); +template +constexpr std::optional facebook::react::detail::parseRgbFunction(facebook::react::CSSValueParser& parser); +template +std::optional facebook::react::detail::parseHslFunction(facebook::react::CSSValueParser& parser); +template +std::optional facebook::react::detail::parseHwbFunction(facebook::react::CSSValueParser& parser); +template +std::optional facebook::react::detail::parseLegacyHslFunction(facebook::react::CSSValueParser& parser); +template +std::optional facebook::react::detail::parseModernHslFunction(facebook::react::CSSValueParser& parser); +template +constexpr std::optional facebook::react::detail::normalizeComponent(const std::variant& component, float baseValue); + +enum facebook::react::detail::HexColorType { + Long, + Short, +} + +template +struct facebook::react::detail::merge_data_types { + public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; +} + +template +struct facebook::react::detail::merge_data_types { + public using type = std::variant; +} + +template +struct facebook::react::detail::merge_data_types { +} + +template +struct facebook::react::detail::PreparedTextLayoutT { + public using type = typename T::PreparedTextLayout; +} + +template +struct facebook::react::detail::CSSVariantComponentTransformParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +template +struct facebook::react::detail::CSSAngleTransformParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +template +struct facebook::react::detail::CSSFilterSimpleAmountParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +template +struct facebook::react::detail::CSSNumberPercentTransformParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +template +struct facebook::react::detail::PreparedTextLayoutT { + public using type = std::nullptr_t; +} + +template +struct facebook::react::detail::is_variant_of_data_types : public std::false_type { +} + +template +class facebook::react::detail::TextLayoutManagerExtended { + public TextLayoutManagerExtended(const TextLayoutManagerT& textLayoutManager); + public facebook::react::LinesMeasurements measureLines(const facebook::react::AttributedStringBox& attributedStringBox, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::Size& size); + public facebook::react::TextMeasurement measurePreparedLayout(const facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout& layout, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout prepareLayout(const facebook::react::AttributedString& attributedString, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public static constexpr bool supportsLineMeasurement(); + public static constexpr bool supportsPreparedTextLayout(); + public using PreparedTextLayout = typename facebook::react::detail::PreparedTextLayoutT::type; +} + +template +struct facebook::react::detail::merge_variant { +} + +template +struct facebook::react::detail::merge_data_types, RestT...> { + public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; +} + +template +struct facebook::react::detail::merge_data_types, AlllowedType2T, RestT...> { + public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; +} + +template +struct facebook::react::detail::merge_variant, RestT...> { + public using type = std::variant; +} + +template +struct facebook::react::detail::merge_data_types> { + public using type = std::variant; +} + +template +struct facebook::react::detail::is_variant_of_data_types> : public std::false_type, public std::true_type { +} + +template +struct facebook::react::detail::merge_data_types, std::variant, RestT...> { + public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; +} + + +constexpr std::string_view facebook::react::detail::css::keywords::Absolute; +constexpr std::string_view facebook::react::detail::css::keywords::At; +constexpr std::string_view facebook::react::detail::css::keywords::Auto; +constexpr std::string_view facebook::react::detail::css::keywords::Baseline; +constexpr std::string_view facebook::react::detail::css::keywords::Block; +constexpr std::string_view facebook::react::detail::css::keywords::Bottom; +constexpr std::string_view facebook::react::detail::css::keywords::Center; +constexpr std::string_view facebook::react::detail::css::keywords::Clip; +constexpr std::string_view facebook::react::detail::css::keywords::Column; +constexpr std::string_view facebook::react::detail::css::keywords::ColumnReverse; +constexpr std::string_view facebook::react::detail::css::keywords::CommonLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::Content; +constexpr std::string_view facebook::react::detail::css::keywords::Contents; +constexpr std::string_view facebook::react::detail::css::keywords::Contextual; +constexpr std::string_view facebook::react::detail::css::keywords::Dashed; +constexpr std::string_view facebook::react::detail::css::keywords::DiscretionaryLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::Dotted; +constexpr std::string_view facebook::react::detail::css::keywords::Double; +constexpr std::string_view facebook::react::detail::css::keywords::End; +constexpr std::string_view facebook::react::detail::css::keywords::Fixed; +constexpr std::string_view facebook::react::detail::css::keywords::Flex; +constexpr std::string_view facebook::react::detail::css::keywords::FlexEnd; +constexpr std::string_view facebook::react::detail::css::keywords::FlexStart; +constexpr std::string_view facebook::react::detail::css::keywords::Grid; +constexpr std::string_view facebook::react::detail::css::keywords::Groove; +constexpr std::string_view facebook::react::detail::css::keywords::Hidden; +constexpr std::string_view facebook::react::detail::css::keywords::HistoricalLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::Inherit; +constexpr std::string_view facebook::react::detail::css::keywords::Initial; +constexpr std::string_view facebook::react::detail::css::keywords::Inline; +constexpr std::string_view facebook::react::detail::css::keywords::InlineBlock; +constexpr std::string_view facebook::react::detail::css::keywords::InlineFlex; +constexpr std::string_view facebook::react::detail::css::keywords::InlineGrid; +constexpr std::string_view facebook::react::detail::css::keywords::Inset; +constexpr std::string_view facebook::react::detail::css::keywords::Left; +constexpr std::string_view facebook::react::detail::css::keywords::LiningNums; +constexpr std::string_view facebook::react::detail::css::keywords::Ltr; +constexpr std::string_view facebook::react::detail::css::keywords::MaxContent; +constexpr std::string_view facebook::react::detail::css::keywords::Medium; +constexpr std::string_view facebook::react::detail::css::keywords::MinContent; +constexpr std::string_view facebook::react::detail::css::keywords::NoCommonLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::NoContextual; +constexpr std::string_view facebook::react::detail::css::keywords::NoDiscretionaryLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::NoHistoricalLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::NoWrap; +constexpr std::string_view facebook::react::detail::css::keywords::None; +constexpr std::string_view facebook::react::detail::css::keywords::Normal; +constexpr std::string_view facebook::react::detail::css::keywords::OldstyleNums; +constexpr std::string_view facebook::react::detail::css::keywords::Outset; +constexpr std::string_view facebook::react::detail::css::keywords::ProportionalNums; +constexpr std::string_view facebook::react::detail::css::keywords::Relative; +constexpr std::string_view facebook::react::detail::css::keywords::Ridge; +constexpr std::string_view facebook::react::detail::css::keywords::Right; +constexpr std::string_view facebook::react::detail::css::keywords::Row; +constexpr std::string_view facebook::react::detail::css::keywords::RowReverse; +constexpr std::string_view facebook::react::detail::css::keywords::Rtl; +constexpr std::string_view facebook::react::detail::css::keywords::Scroll; +constexpr std::string_view facebook::react::detail::css::keywords::SmallCaps; +constexpr std::string_view facebook::react::detail::css::keywords::Solid; +constexpr std::string_view facebook::react::detail::css::keywords::SpaceAround; +constexpr std::string_view facebook::react::detail::css::keywords::SpaceBetween; +constexpr std::string_view facebook::react::detail::css::keywords::SpaceEvenly; +constexpr std::string_view facebook::react::detail::css::keywords::Start; +constexpr std::string_view facebook::react::detail::css::keywords::Static; +constexpr std::string_view facebook::react::detail::css::keywords::Sticky; +constexpr std::string_view facebook::react::detail::css::keywords::Stretch; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticEight; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticEighteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticEleven; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticFifteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticFive; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticFour; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticFourteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticNine; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticNineteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticOne; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticSeven; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticSeventeen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticSix; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticSixteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticTen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticThirteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticThree; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwelve; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwenty; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwo; +constexpr std::string_view facebook::react::detail::css::keywords::TabularNums; +constexpr std::string_view facebook::react::detail::css::keywords::Thick; +constexpr std::string_view facebook::react::detail::css::keywords::Thin; +constexpr std::string_view facebook::react::detail::css::keywords::To; +constexpr std::string_view facebook::react::detail::css::keywords::Top; +constexpr std::string_view facebook::react::detail::css::keywords::Unset; +constexpr std::string_view facebook::react::detail::css::keywords::Visible; +constexpr std::string_view facebook::react::detail::css::keywords::Wrap; +constexpr std::string_view facebook::react::detail::css::keywords::WrapReverse; +template +concept facebook::react::detail::css::keywords::hasAbsolute = (CSSKeywordSet && requires() { T::Absolute; }); +template +concept facebook::react::detail::css::keywords::hasAt = (CSSKeywordSet && requires() { T::At; }); +template +concept facebook::react::detail::css::keywords::hasAuto = (CSSKeywordSet && requires() { T::Auto; }); +template +concept facebook::react::detail::css::keywords::hasBaseline = (CSSKeywordSet && requires() { T::Baseline; }); +template +concept facebook::react::detail::css::keywords::hasBlock = (CSSKeywordSet && requires() { T::Block; }); +template +concept facebook::react::detail::css::keywords::hasBottom = (CSSKeywordSet && requires() { T::Bottom; }); +template +concept facebook::react::detail::css::keywords::hasCenter = (CSSKeywordSet && requires() { T::Center; }); +template +concept facebook::react::detail::css::keywords::hasClip = (CSSKeywordSet && requires() { T::Clip; }); +template +concept facebook::react::detail::css::keywords::hasColumn = (CSSKeywordSet && requires() { T::Column; }); +template +concept facebook::react::detail::css::keywords::hasColumnReverse = (CSSKeywordSet && requires() { T::ColumnReverse; }); +template +concept facebook::react::detail::css::keywords::hasCommonLigatures = (CSSKeywordSet && requires() { T::CommonLigatures; }); +template +concept facebook::react::detail::css::keywords::hasContent = (CSSKeywordSet && requires() { T::Content; }); +template +concept facebook::react::detail::css::keywords::hasContents = (CSSKeywordSet && requires() { T::Contents; }); +template +concept facebook::react::detail::css::keywords::hasContextual = (CSSKeywordSet && requires() { T::Contextual; }); +template +concept facebook::react::detail::css::keywords::hasDashed = (CSSKeywordSet && requires() { T::Dashed; }); +template +concept facebook::react::detail::css::keywords::hasDiscretionaryLigatures = (CSSKeywordSet && requires() { T::DiscretionaryLigatures; }); +template +concept facebook::react::detail::css::keywords::hasDotted = (CSSKeywordSet && requires() { T::Dotted; }); +template +concept facebook::react::detail::css::keywords::hasDouble = (CSSKeywordSet && requires() { T::Double; }); +template +concept facebook::react::detail::css::keywords::hasEnd = (CSSKeywordSet && requires() { T::End; }); +template +concept facebook::react::detail::css::keywords::hasFixed = (CSSKeywordSet && requires() { T::Fixed; }); +template +concept facebook::react::detail::css::keywords::hasFlex = (CSSKeywordSet && requires() { T::Flex; }); +template +concept facebook::react::detail::css::keywords::hasFlexEnd = (CSSKeywordSet && requires() { T::FlexEnd; }); +template +concept facebook::react::detail::css::keywords::hasFlexStart = (CSSKeywordSet && requires() { T::FlexStart; }); +template +concept facebook::react::detail::css::keywords::hasGrid = (CSSKeywordSet && requires() { T::Grid; }); +template +concept facebook::react::detail::css::keywords::hasGroove = (CSSKeywordSet && requires() { T::Groove; }); +template +concept facebook::react::detail::css::keywords::hasHidden = (CSSKeywordSet && requires() { T::Hidden; }); +template +concept facebook::react::detail::css::keywords::hasHistoricalLigatures = (CSSKeywordSet && requires() { T::HistoricalLigatures; }); +template +concept facebook::react::detail::css::keywords::hasInherit = (CSSKeywordSet && requires() { T::Inherit; }); +template +concept facebook::react::detail::css::keywords::hasInitial = (CSSKeywordSet && requires() { T::Initial; }); +template +concept facebook::react::detail::css::keywords::hasInline = (CSSKeywordSet && requires() { T::Inline; }); +template +concept facebook::react::detail::css::keywords::hasInlineBlock = (CSSKeywordSet && requires() { T::InlineBlock; }); +template +concept facebook::react::detail::css::keywords::hasInlineFlex = (CSSKeywordSet && requires() { T::InlineFlex; }); +template +concept facebook::react::detail::css::keywords::hasInlineGrid = (CSSKeywordSet && requires() { T::InlineGrid; }); +template +concept facebook::react::detail::css::keywords::hasInset = (CSSKeywordSet && requires() { T::Inset; }); +template +concept facebook::react::detail::css::keywords::hasLeft = (CSSKeywordSet && requires() { T::Left; }); +template +concept facebook::react::detail::css::keywords::hasLiningNums = (CSSKeywordSet && requires() { T::LiningNums; }); +template +concept facebook::react::detail::css::keywords::hasLtr = (CSSKeywordSet && requires() { T::Ltr; }); +template +concept facebook::react::detail::css::keywords::hasMaxContent = (CSSKeywordSet && requires() { T::MaxContent; }); +template +concept facebook::react::detail::css::keywords::hasMedium = (CSSKeywordSet && requires() { T::Medium; }); +template +concept facebook::react::detail::css::keywords::hasMinContent = (CSSKeywordSet && requires() { T::MinContent; }); +template +concept facebook::react::detail::css::keywords::hasNoCommonLigatures = (CSSKeywordSet && requires() { T::NoCommonLigatures; }); +template +concept facebook::react::detail::css::keywords::hasNoContextual = (CSSKeywordSet && requires() { T::NoContextual; }); +template +concept facebook::react::detail::css::keywords::hasNoDiscretionaryLigatures = (CSSKeywordSet && requires() { T::NoDiscretionaryLigatures; }); +template +concept facebook::react::detail::css::keywords::hasNoHistoricalLigatures = (CSSKeywordSet && requires() { T::NoHistoricalLigatures; }); +template +concept facebook::react::detail::css::keywords::hasNoWrap = (CSSKeywordSet && requires() { T::NoWrap; }); +template +concept facebook::react::detail::css::keywords::hasNone = (CSSKeywordSet && requires() { T::None; }); +template +concept facebook::react::detail::css::keywords::hasNormal = (CSSKeywordSet && requires() { T::Normal; }); +template +concept facebook::react::detail::css::keywords::hasOldstyleNums = (CSSKeywordSet && requires() { T::OldstyleNums; }); +template +concept facebook::react::detail::css::keywords::hasOutset = (CSSKeywordSet && requires() { T::Outset; }); +template +concept facebook::react::detail::css::keywords::hasProportionalNums = (CSSKeywordSet && requires() { T::ProportionalNums; }); +template +concept facebook::react::detail::css::keywords::hasRelative = (CSSKeywordSet && requires() { T::Relative; }); +template +concept facebook::react::detail::css::keywords::hasRidge = (CSSKeywordSet && requires() { T::Ridge; }); +template +concept facebook::react::detail::css::keywords::hasRight = (CSSKeywordSet && requires() { T::Right; }); +template +concept facebook::react::detail::css::keywords::hasRow = (CSSKeywordSet && requires() { T::Row; }); +template +concept facebook::react::detail::css::keywords::hasRowReverse = (CSSKeywordSet && requires() { T::RowReverse; }); +template +concept facebook::react::detail::css::keywords::hasRtl = (CSSKeywordSet && requires() { T::Rtl; }); +template +concept facebook::react::detail::css::keywords::hasScroll = (CSSKeywordSet && requires() { T::Scroll; }); +template +concept facebook::react::detail::css::keywords::hasSmallCaps = (CSSKeywordSet && requires() { T::SmallCaps; }); +template +concept facebook::react::detail::css::keywords::hasSolid = (CSSKeywordSet && requires() { T::Solid; }); +template +concept facebook::react::detail::css::keywords::hasSpaceAround = (CSSKeywordSet && requires() { T::SpaceAround; }); +template +concept facebook::react::detail::css::keywords::hasSpaceBetween = (CSSKeywordSet && requires() { T::SpaceBetween; }); +template +concept facebook::react::detail::css::keywords::hasSpaceEvenly = (CSSKeywordSet && requires() { T::SpaceEvenly; }); +template +concept facebook::react::detail::css::keywords::hasStart = (CSSKeywordSet && requires() { T::Start; }); +template +concept facebook::react::detail::css::keywords::hasStatic = (CSSKeywordSet && requires() { T::Static; }); +template +concept facebook::react::detail::css::keywords::hasSticky = (CSSKeywordSet && requires() { T::Sticky; }); +template +concept facebook::react::detail::css::keywords::hasStretch = (CSSKeywordSet && requires() { T::Stretch; }); +template +concept facebook::react::detail::css::keywords::hasStylisticEight = (CSSKeywordSet && requires() { T::StylisticEight; }); +template +concept facebook::react::detail::css::keywords::hasStylisticEighteen = (CSSKeywordSet && requires() { T::StylisticEighteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticEleven = (CSSKeywordSet && requires() { T::StylisticEleven; }); +template +concept facebook::react::detail::css::keywords::hasStylisticFifteen = (CSSKeywordSet && requires() { T::StylisticFifteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticFive = (CSSKeywordSet && requires() { T::StylisticFive; }); +template +concept facebook::react::detail::css::keywords::hasStylisticFour = (CSSKeywordSet && requires() { T::StylisticFour; }); +template +concept facebook::react::detail::css::keywords::hasStylisticFourteen = (CSSKeywordSet && requires() { T::StylisticFourteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticNine = (CSSKeywordSet && requires() { T::StylisticNine; }); +template +concept facebook::react::detail::css::keywords::hasStylisticNineteen = (CSSKeywordSet && requires() { T::StylisticNineteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticOne = (CSSKeywordSet && requires() { T::StylisticOne; }); +template +concept facebook::react::detail::css::keywords::hasStylisticSeven = (CSSKeywordSet && requires() { T::StylisticSeven; }); +template +concept facebook::react::detail::css::keywords::hasStylisticSeventeen = (CSSKeywordSet && requires() { T::StylisticSeventeen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticSix = (CSSKeywordSet && requires() { T::StylisticSix; }); +template +concept facebook::react::detail::css::keywords::hasStylisticSixteen = (CSSKeywordSet && requires() { T::StylisticSixteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticTen = (CSSKeywordSet && requires() { T::StylisticTen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticThirteen = (CSSKeywordSet && requires() { T::StylisticThirteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticThree = (CSSKeywordSet && requires() { T::StylisticThree; }); +template +concept facebook::react::detail::css::keywords::hasStylisticTwelve = (CSSKeywordSet && requires() { T::StylisticTwelve; }); +template +concept facebook::react::detail::css::keywords::hasStylisticTwenty = (CSSKeywordSet && requires() { T::StylisticTwenty; }); +template +concept facebook::react::detail::css::keywords::hasStylisticTwo = (CSSKeywordSet && requires() { T::StylisticTwo; }); +template +concept facebook::react::detail::css::keywords::hasTabularNums = (CSSKeywordSet && requires() { T::TabularNums; }); +template +concept facebook::react::detail::css::keywords::hasThick = (CSSKeywordSet && requires() { T::Thick; }); +template +concept facebook::react::detail::css::keywords::hasThin = (CSSKeywordSet && requires() { T::Thin; }); +template +concept facebook::react::detail::css::keywords::hasTo = (CSSKeywordSet && requires() { T::To; }); +template +concept facebook::react::detail::css::keywords::hasTop = (CSSKeywordSet && requires() { T::Top; }); +template +concept facebook::react::detail::css::keywords::hasUnset = (CSSKeywordSet && requires() { T::Unset; }); +template +concept facebook::react::detail::css::keywords::hasVisible = (CSSKeywordSet && requires() { T::Visible; }); +template +concept facebook::react::detail::css::keywords::hasWrap = (CSSKeywordSet && requires() { T::Wrap; }); +template +concept facebook::react::detail::css::keywords::hasWrapReverse = (CSSKeywordSet && requires() { T::WrapReverse; }); + + +constexpr facebook::react::Color facebook::react::HostPlatformColor::UndefinedColor; + + +constexpr size_t facebook::react::jsinspector_modern::REQUEST_BUFFER_MAX_SIZE_BYTES; +template +using facebook::react::jsinspector_modern::ScopedExecutor = std::function&& callback)>; +typedef std::function facebook::react::jsinspector_modern::FrontendChannel; +typedef std::map facebook::react::jsinspector_modern::Headers; +using facebook::react::jsinspector_modern::ExecutionContextSelectorSet = std::unordered_set; +using facebook::react::jsinspector_modern::IOReadError = const std::string; +using facebook::react::jsinspector_modern::InspectorPage = facebook::react::jsinspector_modern::InspectorPageDescription; +using facebook::react::jsinspector_modern::StreamID = const std::string; +using facebook::react::jsinspector_modern::VoidExecutor = std::function&& callback)>; +bool facebook::react::jsinspector_modern::matchesAny(const facebook::react::jsinspector_modern::ExecutionContextDescription& context, const facebook::react::jsinspector_modern::ExecutionContextSelectorSet& selectors); +facebook::react::jsinspector_modern::IInspector& facebook::react::jsinspector_modern::getInspectorInstance(); +folly::dynamic facebook::react::jsinspector_modern::createHostMetadataPayload(const facebook::react::jsinspector_modern::HostTargetMetadata& metadata); +folly::dynamic facebook::react::jsinspector_modern::targetCapabilitiesToDynamic(const facebook::react::jsinspector_modern::InspectorTargetCapabilities& capabilities); +std::string facebook::react::jsinspector_modern::httpReasonPhrase(uint16_t status); +std::string facebook::react::jsinspector_modern::mimeTypeFromHeaders(const facebook::react::jsinspector_modern::Headers& headers); +std::unique_ptr facebook::react::jsinspector_modern::makeTestInspectorInstance(); +template +void facebook::react::jsinspector_modern::emitNotificationsForTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const ChannelsRange& channels, bool isBackgroundTrace); +template +facebook::react::jsinspector_modern::ScopedExecutor facebook::react::jsinspector_modern::makeScopedExecutor(std::shared_ptr self, facebook::react::jsinspector_modern::ScopedExecutor executor); +template +facebook::react::jsinspector_modern::ScopedExecutor facebook::react::jsinspector_modern::makeScopedExecutor(std::shared_ptr self, facebook::react::jsinspector_modern::VoidExecutor executor); +template +facebook::react::jsinspector_modern::VoidExecutor facebook::react::jsinspector_modern::makeVoidExecutor(facebook::react::jsinspector_modern::ScopedExecutor executor); +void facebook::react::jsinspector_modern::emitGlobalStateObserverChange(facebook::jsi::Runtime& runtime, const char* globalName, const char* callbackName, bool value); +void facebook::react::jsinspector_modern::emitNotificationsForTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const facebook::react::jsinspector_modern::FrontendChannel& channel, bool isBackgroundTrace); +void facebook::react::jsinspector_modern::emitTracingStateObserverChange(facebook::jsi::Runtime& runtime, bool isTracing); +void facebook::react::jsinspector_modern::installGlobalStateObserver(facebook::jsi::Runtime& runtime, const char* globalName, const char* statusProperty, const char* callbackName); +void facebook::react::jsinspector_modern::installTracingStateObserver(facebook::jsi::Runtime& runtime); +void facebook::react::jsinspector_modern::truncateToValidUTF8(std::vector& buffer); + +class facebook::react::jsinspector_modern::BoundedRequestBuffer { + public bool put(const std::string& requestId, std::string_view data, bool base64Encoded) noexcept; + public std::shared_ptr get(const std::string& requestId) const; + public void clear(); +} + +struct facebook::react::jsinspector_modern::BoundedRequestBuffer::ResponseBody { + public bool base64Encoded; + public std::string data; +} + +class facebook::react::jsinspector_modern::CallbackLocalConnection : public facebook::react::jsinspector_modern::ILocalConnection { + public CallbackLocalConnection(std::function handler); + public virtual void disconnect() override; + public virtual void sendMessage(std::string message) override; +} + +class facebook::react::jsinspector_modern::CallbackRemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { + public CallbackRemoteConnection(std::function handler); + public virtual void onDisconnect() override; + public virtual void onMessage(std::string message) override; +} + +class facebook::react::jsinspector_modern::ConsoleTask { + public ConsoleTask(const facebook::react::jsinspector_modern::ConsoleTask&) = default; + public ConsoleTask(facebook::react::jsinspector_modern::ConsoleTask&&) = default; + public ConsoleTask(std::shared_ptr taskContext); + public facebook::react::jsinspector_modern::ConsoleTask& operator=(const facebook::react::jsinspector_modern::ConsoleTask&) = delete; + public facebook::react::jsinspector_modern::ConsoleTask& operator=(facebook::react::jsinspector_modern::ConsoleTask&&) = delete; + public ~ConsoleTask(); +} + +class facebook::react::jsinspector_modern::ConsoleTaskContext : public std::enable_shared_from_this { + public ConsoleTaskContext(const facebook::react::jsinspector_modern::ConsoleTaskContext&) = delete; + public ConsoleTaskContext(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::RuntimeTargetDelegate& runtimeTargetDelegate, std::string name); + public ConsoleTaskContext(facebook::react::jsinspector_modern::ConsoleTaskContext&&) = delete; + public facebook::react::jsinspector_modern::ConsoleTaskContext& operator=(const facebook::react::jsinspector_modern::ConsoleTaskContext&) = delete; + public facebook::react::jsinspector_modern::ConsoleTaskContext& operator=(facebook::react::jsinspector_modern::ConsoleTaskContext&&) = delete; + public facebook::react::jsinspector_modern::ConsoleTaskId id() const; + public std::optional getSerializedStackTrace() const; + public void schedule(); + public ~ConsoleTaskContext(); +} + +class facebook::react::jsinspector_modern::ConsoleTaskId { + public ConsoleTaskId() = default; + public ConsoleTaskId(const facebook::react::jsinspector_modern::ConsoleTaskId&) = default; + public ConsoleTaskId(facebook::react::jsinspector_modern::ConsoleTaskId&&) = default; + public bool operator==(const facebook::react::jsinspector_modern::ConsoleTaskId&) const = default; + public facebook::react::jsinspector_modern::ConsoleTaskId& operator=(const facebook::react::jsinspector_modern::ConsoleTaskId&) = default; + public facebook::react::jsinspector_modern::ConsoleTaskId& operator=(facebook::react::jsinspector_modern::ConsoleTaskId&&) = default; + public operator bool() const; + public operator void *() const; + public ~ConsoleTaskId() = default; +} + +class facebook::react::jsinspector_modern::ConsoleTaskOrchestrator { + public ConsoleTaskOrchestrator(const facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&) = delete; + public ConsoleTaskOrchestrator(facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&&) = delete; + public facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& operator=(const facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&) = delete; + public facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& operator=(facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&&) = delete; + public static facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& getInstance(); + public std::shared_ptr top() const; + public void cancelTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); + public void finishTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); + public void scheduleTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId, std::weak_ptr taskContext); + public void startTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); + public ~ConsoleTaskOrchestrator() = default; +} + +class facebook::react::jsinspector_modern::ExecutionContextManager { + public int32_t allocateExecutionContextId(); +} + +class facebook::react::jsinspector_modern::ExecutionContextSelector { + public ExecutionContextSelector() = delete; + public ExecutionContextSelector(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) = default; + public ExecutionContextSelector(facebook::react::jsinspector_modern::ExecutionContextSelector&& other) noexcept = default; + public bool matches(const facebook::react::jsinspector_modern::ExecutionContextDescription& context) const noexcept; + public bool operator==(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) const noexcept; + public facebook::react::jsinspector_modern::ExecutionContextSelector& operator=(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) = default; + public facebook::react::jsinspector_modern::ExecutionContextSelector& operator=(facebook::react::jsinspector_modern::ExecutionContextSelector&& other) noexcept = default; + public static facebook::react::jsinspector_modern::ExecutionContextSelector all(); + public static facebook::react::jsinspector_modern::ExecutionContextSelector byId(int32_t id); + public static facebook::react::jsinspector_modern::ExecutionContextSelector byName(std::string name); + public ~ExecutionContextSelector() = default; +} + +class facebook::react::jsinspector_modern::FallbackRuntimeAgentDelegate : public facebook::react::jsinspector_modern::RuntimeAgentDelegate { + public FallbackRuntimeAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, const facebook::react::jsinspector_modern::SessionState& sessionState, std::string engineDescription); + public virtual bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req) override; +} + +class facebook::react::jsinspector_modern::FallbackRuntimeTargetDelegate : public facebook::react::jsinspector_modern::RuntimeTargetDelegate { + public FallbackRuntimeTargetDelegate(std::string engineDescription); + public virtual bool supportsConsole() const override; + public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() override; + public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) override; + public virtual std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel channel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) override; + public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip) override; + public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) override; + public virtual void disableSamplingProfiler() override; + public virtual void enableSamplingProfiler() override; +} + +class facebook::react::jsinspector_modern::HermesRuntimeTargetDelegate : public facebook::react::jsinspector_modern::RuntimeTargetDelegate { + public HermesRuntimeTargetDelegate(std::shared_ptr runtime, hermes::HermesRuntime& hermesRuntime); + public std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) override; + public virtual bool supportsConsole() const override; + public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() override; + public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) override; + public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip) override; + public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) override; + public virtual void disableSamplingProfiler() override; + public virtual void enableSamplingProfiler() override; + public ~HermesRuntimeTargetDelegate() override; +} + +class facebook::react::jsinspector_modern::HostAgent { + public HostAgent(const facebook::react::jsinspector_modern::FrontendChannel& frontendChannel, facebook::react::jsinspector_modern::HostTargetController& targetController, facebook::react::jsinspector_modern::HostTargetMetadata hostMetadata, facebook::react::jsinspector_modern::SessionState& sessionState, facebook::react::jsinspector_modern::VoidExecutor executor); + public HostAgent(const facebook::react::jsinspector_modern::HostAgent&) = delete; + public HostAgent(facebook::react::jsinspector_modern::HostAgent&&) = delete; + public bool isEligibleForBackgroundTrace() const; + public facebook::react::jsinspector_modern::HostAgent& operator=(const facebook::react::jsinspector_modern::HostAgent&) = delete; + public facebook::react::jsinspector_modern::HostAgent& operator=(facebook::react::jsinspector_modern::HostAgent&&) = delete; + public void emitSystemStateChanged(bool isSingleHost); + public void handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); + public void setCurrentInstanceAgent(std::shared_ptr agent); + public ~HostAgent(); +} + +class facebook::react::jsinspector_modern::HostTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { + public HostTarget(const facebook::react::jsinspector_modern::HostTarget&) = delete; + public HostTarget(facebook::react::jsinspector_modern::HostTarget&&) = delete; + public bool startTracing(facebook::react::jsinspector_modern::tracing::Mode mode, std::set enabledCategories); + public bool stopAndMaybeEmitBackgroundTrace(); + public facebook::react::jsinspector_modern::HostTarget& operator=(const facebook::react::jsinspector_modern::HostTarget&) = delete; + public facebook::react::jsinspector_modern::HostTarget& operator=(facebook::react::jsinspector_modern::HostTarget&&) = delete; + public facebook::react::jsinspector_modern::InstanceTarget& registerInstance(facebook::react::jsinspector_modern::InstanceTargetDelegate& delegate); + public facebook::react::jsinspector_modern::tracing::HostTracingProfile stopTracing(); + public static std::shared_ptr create(facebook::react::jsinspector_modern::HostTargetDelegate& delegate, facebook::react::jsinspector_modern::VoidExecutor executor); + public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public std::unique_ptr connect(std::unique_ptr connectionToFrontend); + public void recordFrameTimings(facebook::react::jsinspector_modern::tracing::FrameTimingSequence frameTimingSequence); + public void sendCommand(facebook::react::jsinspector_modern::HostCommand command); + public void unregisterInstance(facebook::react::jsinspector_modern::InstanceTarget& instance); + public ~HostTarget(); +} + +class facebook::react::jsinspector_modern::HostTargetController { + public HostTargetController(facebook::react::jsinspector_modern::HostTarget& target); + public bool decrementPauseOverlayCounter(); + public bool hasInstance() const; + public bool maybeEmitStashedBackgroundTrace(); + public bool startTracing(facebook::react::jsinspector_modern::tracing::Mode mode, std::set enabledCategories); + public facebook::react::jsinspector_modern::HostTargetDelegate& getDelegate(); + public facebook::react::jsinspector_modern::tracing::HostTracingProfile stopTracing(); + public void incrementPauseOverlayCounter(); + public void installPerfIssuesBinding(); +} + +class facebook::react::jsinspector_modern::HostTargetDelegate : public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate { + public HostTargetDelegate() = default; + public HostTargetDelegate(const facebook::react::jsinspector_modern::HostTargetDelegate&) = delete; + public HostTargetDelegate(facebook::react::jsinspector_modern::HostTargetDelegate&&) = delete; + public facebook::react::jsinspector_modern::HostTargetDelegate& operator=(const facebook::react::jsinspector_modern::HostTargetDelegate&) = delete; + public facebook::react::jsinspector_modern::HostTargetDelegate& operator=(facebook::react::jsinspector_modern::HostTargetDelegate&&) = delete; + public virtual facebook::react::jsinspector_modern::HostTargetMetadata getMetadata() = 0; + public virtual facebook::react::jsinspector_modern::HostTargetTracingDelegate* getTracingDelegate(); + public virtual void loadNetworkResource(const facebook::react::jsinspector_modern::LoadNetworkResourceRequest&, facebook::react::jsinspector_modern::ScopedExecutor) override; + public virtual void onReload(const facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest& request) = 0; + public virtual void onSetPausedInDebuggerMessage(const facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest& request) = 0; + public virtual void unstable_onPerfIssueAdded(const facebook::react::jsinspector_modern::PerfIssuePayload&); + public virtual ~HostTargetDelegate() override; +} + +struct facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest { + public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest& rhs) const; + public std::optional message; +} + +struct facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest { + public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest& rhs) const; + public std::optional ignoreCache; + public std::optional scriptToEvaluateOnLoad; +} + +class facebook::react::jsinspector_modern::HostTargetTraceRecording { + public HostTargetTraceRecording(facebook::react::jsinspector_modern::HostTarget& hostTarget, facebook::react::jsinspector_modern::tracing::Mode tracingMode, std::set enabledCategories, std::optional windowSize = std::nullopt); + public bool isBackgroundInitiated() const; + public bool isUserInitiated() const; + public facebook::react::jsinspector_modern::tracing::HostTracingProfile stop(); + public void recordFrameTimings(facebook::react::jsinspector_modern::tracing::FrameTimingSequence frameTimingSequence); + public void setTracedInstance(facebook::react::jsinspector_modern::InstanceTarget* instanceTarget); + public void start(); +} + +class facebook::react::jsinspector_modern::HostTargetTracingDelegate { + public HostTargetTracingDelegate() = default; + public HostTargetTracingDelegate(const facebook::react::jsinspector_modern::HostTargetTracingDelegate&) = delete; + public HostTargetTracingDelegate(facebook::react::jsinspector_modern::HostTargetTracingDelegate&&) = delete; + public facebook::react::jsinspector_modern::HostTargetTracingDelegate& operator=(const facebook::react::jsinspector_modern::HostTargetTracingDelegate&) = delete; + public facebook::react::jsinspector_modern::HostTargetTracingDelegate& operator=(facebook::react::jsinspector_modern::HostTargetTracingDelegate&&) = delete; + public virtual void onTracingStarted(facebook::react::jsinspector_modern::tracing::Mode, bool); + public virtual void onTracingStopped(); + public virtual ~HostTargetTracingDelegate() = default; +} + +class facebook::react::jsinspector_modern::HostTracingAgent { + public HostTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public void setTracedInstance(facebook::react::jsinspector_modern::InstanceTarget* instanceTarget); +} + +class facebook::react::jsinspector_modern::IDestructible { + public virtual ~IDestructible() = 0; +} + +class facebook::react::jsinspector_modern::IInspector : public facebook::react::jsinspector_modern::IDestructible { + public using ConnectFunc = std::function(std::unique_ptr)>; + public virtual facebook::react::jsinspector_modern::InspectorSystemState getSystemState() const = 0; + public virtual int addPage(const std::string& description, const std::string& vm, facebook::react::jsinspector_modern::IInspector::ConnectFunc connectFunc, facebook::react::jsinspector_modern::InspectorTargetCapabilities capabilities = {}) = 0; + public virtual std::unique_ptr connect(int pageId, std::unique_ptr remote) = 0; + public virtual std::vector getPages() const = 0; + public virtual void registerPageStatusListener(std::weak_ptr listener) = 0; + public virtual void removePage(int pageId) = 0; + public virtual ~IInspector() = 0; +} + +class facebook::react::jsinspector_modern::ILocalConnection : public facebook::react::jsinspector_modern::IDestructible { + public virtual void disconnect() = 0; + public virtual void sendMessage(std::string message) = 0; + public virtual ~ILocalConnection() = 0; +} + +class facebook::react::jsinspector_modern::IPageStatusListener : public facebook::react::jsinspector_modern::IDestructible { + public virtual void onPageRemoved(int); + public virtual void unstable_onHostTargetAdded(); + public virtual ~IPageStatusListener() = 0; +} + +class facebook::react::jsinspector_modern::IRemoteConnection : public facebook::react::jsinspector_modern::IDestructible { + public virtual void onDisconnect() = 0; + public virtual void onMessage(std::string message) = 0; + public virtual ~IRemoteConnection() = 0; +} + +class facebook::react::jsinspector_modern::IWebSocket { + public virtual void send(std::string_view message) = 0; + public virtual ~IWebSocket() = default; +} + +class facebook::react::jsinspector_modern::IWebSocketDelegate { + public virtual void didClose() = 0; + public virtual void didFailWithError(std::optional posixCode, std::string error) = 0; + public virtual void didOpen() = 0; + public virtual void didReceiveMessage(std::string_view message) = 0; + public virtual ~IWebSocketDelegate() = default; +} + +class facebook::react::jsinspector_modern::InspectorFlags { + public bool getAssertSingleHostState() const; + public bool getFrameRecordingEnabled() const; + public bool getFuseboxEnabled() const; + public bool getIsProfilingBuild() const; + public bool getNetworkInspectionEnabled() const; + public bool getPerfIssuesEnabled() const; + public static facebook::react::jsinspector_modern::InspectorFlags& getInstance(); + public void dangerouslyDisableFuseboxForTest(); + public void dangerouslyResetFlags(); +} + +class facebook::react::jsinspector_modern::InspectorPackagerConnection { + public InspectorPackagerConnection(std::string url, std::string deviceName, std::string appName, std::unique_ptr delegate); + public bool isConnected() const; + public void closeQuietly(); + public void connect(); + public void sendEventToAllConnections(std::string event); +} + +class facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl : public facebook::react::jsinspector_modern::IWebSocketDelegate, public facebook::react::jsinspector_modern::IPageStatusListener, public std::enable_shared_from_this { + public bool isConnected() const; + public static std::shared_ptr create(std::string url, std::string deviceName, std::string appName, std::unique_ptr delegate); + public using SessionId = uint32_t; + public void closeQuietly(); + public void connect(); + public void scheduleSendToPackager(folly::dynamic message, facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::SessionId sourceSessionId, const std::string& sourcePageId, const std::string& sourceProxySessionId); + public void sendEventToAllConnections(const std::string& event); +} + +class facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::RemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { + public RemoteConnection(std::weak_ptr owningPackagerConnection, std::string pageId, facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::SessionId sessionId, std::string proxySessionId); + public virtual void onDisconnect() override; + public virtual void onMessage(std::string message) override; +} + +class facebook::react::jsinspector_modern::InspectorPackagerConnectionDelegate { + public virtual std::unique_ptr connectWebSocket(const std::string& url, std::weak_ptr delegate) = 0; + public virtual void scheduleCallback(std::function callback, std::chrono::milliseconds delayMs) = 0; + public virtual ~InspectorPackagerConnectionDelegate() = default; +} + +class facebook::react::jsinspector_modern::InstanceAgent { + public InstanceAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::InstanceTarget& target, facebook::react::jsinspector_modern::SessionState& sessionState); + public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); + public void sendConsoleMessage(facebook::react::jsinspector_modern::SimpleConsoleMessage message); + public void setCurrentRuntime(facebook::react::jsinspector_modern::RuntimeTarget* runtime); +} + +class facebook::react::jsinspector_modern::InstanceTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { + public InstanceTarget(const facebook::react::jsinspector_modern::InstanceTarget&) = delete; + public InstanceTarget(facebook::react::jsinspector_modern::InstanceTarget&&) = delete; + public facebook::react::jsinspector_modern::InstanceTarget& operator=(const facebook::react::jsinspector_modern::InstanceTarget&) = delete; + public facebook::react::jsinspector_modern::InstanceTarget& operator=(facebook::react::jsinspector_modern::InstanceTarget&&) = delete; + public facebook::react::jsinspector_modern::RuntimeTarget& registerRuntime(facebook::react::jsinspector_modern::RuntimeTargetDelegate& delegate, facebook::react::RuntimeExecutor executor); + public static std::shared_ptr create(std::shared_ptr executionContextManager, facebook::react::jsinspector_modern::InstanceTargetDelegate& delegate, facebook::react::jsinspector_modern::VoidExecutor executor); + public std::shared_ptr createAgent(const facebook::react::jsinspector_modern::FrontendChannel& channel, facebook::react::jsinspector_modern::SessionState& sessionState); + public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public void unregisterRuntime(facebook::react::jsinspector_modern::RuntimeTarget& runtime); + public ~InstanceTarget(); +} + +class facebook::react::jsinspector_modern::InstanceTargetDelegate { + public InstanceTargetDelegate() = default; + public InstanceTargetDelegate(const facebook::react::jsinspector_modern::InstanceTargetDelegate&) = delete; + public InstanceTargetDelegate(facebook::react::jsinspector_modern::InstanceTargetDelegate&&) = delete; + public facebook::react::jsinspector_modern::InstanceTargetDelegate& operator=(const facebook::react::jsinspector_modern::InstanceTargetDelegate&) = delete; + public facebook::react::jsinspector_modern::InstanceTargetDelegate& operator=(facebook::react::jsinspector_modern::InstanceTargetDelegate&&) = delete; + public virtual ~InstanceTargetDelegate(); +} + +class facebook::react::jsinspector_modern::InstanceTracingAgent { + public InstanceTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public void setTracedRuntime(facebook::react::jsinspector_modern::RuntimeTarget* runtimeTarget); + public ~InstanceTracingAgent(); +} + +class facebook::react::jsinspector_modern::JCxxInspectorPackagerConnection : public jni::HybridClass { + public static constexpr auto kJavaDescriptor; + public static void registerNatives(); + public void closeQuietly(); + public void connect(); + public void sendEventToAllConnections(const std::string& event); +} + +class facebook::react::jsinspector_modern::JCxxInspectorPackagerConnectionWebSocket : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; + public std::unique_ptr wrapInUniquePtr(); + public void send(std::string_view message); + public ~JCxxInspectorPackagerConnectionWebSocket(); +} + +class facebook::react::jsinspector_modern::JCxxInspectorPackagerConnectionWebSocket::RefWrapper : public facebook::react::jsinspector_modern::IWebSocket { + public RefWrapper(jni::alias_ref jWebSocket_); + public virtual void send(std::string_view message) override; +} + +class facebook::react::jsinspector_modern::JCxxInspectorPackagerConnectionWebSocketDelegate : public jni::HybridClass { + public JCxxInspectorPackagerConnectionWebSocketDelegate(std::weak_ptr cxxDelegate); + public static constexpr auto kJavaDescriptor; + public static void registerNatives(); + public void didClose(); + public void didFailWithError(jni::alias_ref posixCode, const std::string& error); + public void didOpen(); + public void didReceiveMessage(const std::string& message); +} + +class facebook::react::jsinspector_modern::JInspectorFlags : public facebook::jni::JavaClass { + public static bool getFrameRecordingEnabled(jni::alias_ref); + public static bool getFuseboxEnabled(jni::alias_ref); + public static bool getIsProfilingBuild(jni::alias_ref); + public static constexpr auto kJavaDescriptor; + public static void registerNatives(); +} + +class facebook::react::jsinspector_modern::JInspectorNetworkReporter : public jni::HybridClass { + public static constexpr auto kJavaDescriptor; + public static jboolean isDebuggingEnabled(jni::alias_ref); + public static void maybeStoreResponseBodyImpl(jni::alias_ref, jni::alias_ref requestId, jni::alias_ref body, jboolean base64Encoded); + public static void maybeStoreResponseBodyIncrementalImpl(jni::alias_ref, jni::alias_ref requestId, jni::alias_ref data); + public static void registerNatives(); + public static void reportConnectionTiming(jni::alias_ref, jni::alias_ref requestId, jni::alias_ref> headers); + public static void reportDataReceivedImpl(jni::alias_ref, jni::alias_ref requestId, jint dataLength); + public static void reportRequestFailed(jni::alias_ref, jni::alias_ref requestId, jboolean cancelled); + public static void reportRequestStart(jni::alias_ref, jni::alias_ref requestId, jni::alias_ref requestUrl, jni::alias_ref requestMethod, jni::alias_ref> requestHeaders, jni::alias_ref requestBody, jlong encodedDataLength); + public static void reportResponseEnd(jni::alias_ref, jni::alias_ref requestId, jlong encodedDataLength); + public static void reportResponseStart(jni::alias_ref, jni::alias_ref requestId, jni::alias_ref requestUrl, jint responseStatus, jni::alias_ref> responseHeaders, jlong encodedDataLength); +} + +class facebook::react::jsinspector_modern::LoadNetworkResourceDelegate { + public LoadNetworkResourceDelegate() = default; + public LoadNetworkResourceDelegate(const facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&) = delete; + public LoadNetworkResourceDelegate(facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&&) noexcept = delete; + public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& operator=(const facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&) = delete; + public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& operator=(facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&&) noexcept = delete; + public virtual void loadNetworkResource(const facebook::react::jsinspector_modern::LoadNetworkResourceRequest& params, facebook::react::jsinspector_modern::ScopedExecutor executor) = 0; + public virtual ~LoadNetworkResourceDelegate() = default; +} + +class facebook::react::jsinspector_modern::NetworkHandler { + public bool isEnabled() const; + public size_t enableAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel); + public static facebook::react::jsinspector_modern::NetworkHandler& getInstance(); + public std::optional> getResponseBody(const std::string& requestId); + public void disableAgent(size_t agentId); + public void onDataReceived(const std::string& requestId, int dataLength, int encodedDataLength); + public void onLoadingFailed(const std::string& requestId, bool cancelled); + public void onLoadingFinished(const std::string& requestId, int encodedDataLength); + public void onRequestWillBeSent(const std::string& requestId, const facebook::react::jsinspector_modern::cdp::network::Request& request, const std::optional& redirectResponse); + public void onRequestWillBeSentExtraInfo(const std::string& requestId, const facebook::react::jsinspector_modern::Headers& headers); + public void onResponseReceived(const std::string& requestId, const facebook::react::jsinspector_modern::cdp::network::Response& response); + public void recordRequestInitiatorStack(const std::string& requestId, folly::dynamic stackTrace); + public void storeResponseBody(const std::string& requestId, std::string_view body, bool base64Encoded); +} + +class facebook::react::jsinspector_modern::NetworkIOAgent { + public NetworkIOAgent(const facebook::react::jsinspector_modern::NetworkIOAgent&) = delete; + public NetworkIOAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::VoidExecutor executor); + public NetworkIOAgent(facebook::react::jsinspector_modern::NetworkIOAgent&&) = delete; + public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req, facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& delegate); + public facebook::react::jsinspector_modern::NetworkIOAgent& operator=(const facebook::react::jsinspector_modern::NetworkIOAgent&) = delete; + public facebook::react::jsinspector_modern::NetworkIOAgent& operator=(facebook::react::jsinspector_modern::NetworkIOAgent&&) = delete; + public ~NetworkIOAgent(); +} + +class facebook::react::jsinspector_modern::NetworkRequestListener { + public NetworkRequestListener() = default; + public NetworkRequestListener(const facebook::react::jsinspector_modern::NetworkRequestListener&) = delete; + public NetworkRequestListener(facebook::react::jsinspector_modern::NetworkRequestListener&&) noexcept = default; + public facebook::react::jsinspector_modern::NetworkRequestListener& operator=(const facebook::react::jsinspector_modern::NetworkRequestListener&) = delete; + public facebook::react::jsinspector_modern::NetworkRequestListener& operator=(facebook::react::jsinspector_modern::NetworkRequestListener&&) noexcept = default; + public virtual void onCompletion() = 0; + public virtual void onData(std::string_view data) = 0; + public virtual void onError(const std::string& message) = 0; + public virtual void onHeaders(uint32_t httpStatusCode, const facebook::react::jsinspector_modern::Headers& headers) = 0; + public virtual void setCancelFunction(std::function cancelFunction) = 0; + public virtual ~NetworkRequestListener() = default; +} + +class facebook::react::jsinspector_modern::NotImplementedException : public std::exception { + public NotImplementedException(std::string message); + public const char* what() const noexcept override; +} + +class facebook::react::jsinspector_modern::NullRemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { +} + +class facebook::react::jsinspector_modern::PerfMonitorUpdateHandler { + public PerfMonitorUpdateHandler(facebook::react::jsinspector_modern::HostTargetDelegate& delegate); + public void handlePerfIssueAdded(const std::string& message); +} + +class facebook::react::jsinspector_modern::RAIIRemoteConnection { + public RAIIRemoteConnection(std::unique_ptr remote); + public void onMessage(std::string message); + public ~RAIIRemoteConnection(); +} + +class facebook::react::jsinspector_modern::RuntimeAgent { + public RuntimeAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::RuntimeTargetController& targetController, facebook::react::jsinspector_modern::ExecutionContextDescription executionContextDescription, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr delegate); + public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); + public const facebook::react::jsinspector_modern::ExecutionContextDescription& getExecutionContextDescription() const; + public facebook::react::jsinspector_modern::RuntimeAgent::ExportedState getExportedState(); + public void notifyBindingCalled(const std::string& bindingName, const std::string& payload); + public ~RuntimeAgent(); +} + +struct facebook::react::jsinspector_modern::RuntimeAgent::ExportedState { + public std::unique_ptr delegateState; +} + +class facebook::react::jsinspector_modern::RuntimeAgentDelegate { + public virtual bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req) = 0; + public virtual std::unique_ptr getExportedState(); + public virtual ~RuntimeAgentDelegate() = default; +} + +class facebook::react::jsinspector_modern::RuntimeAgentDelegate::ExportedState { + public virtual ~ExportedState() = default; +} + +class facebook::react::jsinspector_modern::RuntimeTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { + public RuntimeTarget(const facebook::react::jsinspector_modern::RuntimeTarget&) = delete; + public RuntimeTarget(facebook::react::jsinspector_modern::RuntimeTarget&&) = delete; + public facebook::react::jsinspector_modern::RuntimeTarget& operator=(const facebook::react::jsinspector_modern::RuntimeTarget&) = delete; + public facebook::react::jsinspector_modern::RuntimeTarget& operator=(facebook::react::jsinspector_modern::RuntimeTarget&&) = delete; + public static std::shared_ptr create(const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::jsinspector_modern::RuntimeTargetDelegate& delegate, facebook::react::RuntimeExecutor jsExecutor, facebook::react::jsinspector_modern::VoidExecutor selfExecutor); + public std::shared_ptr createAgent(const facebook::react::jsinspector_modern::FrontendChannel& channel, facebook::react::jsinspector_modern::SessionState& sessionState); + public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public ~RuntimeTarget(); +} + +class facebook::react::jsinspector_modern::RuntimeTargetController { + public RuntimeTargetController(facebook::react::jsinspector_modern::RuntimeTarget& target); + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile(); + public void disableSamplingProfiler(); + public void emitTracingStateChange(bool isTracing); + public void enableSamplingProfiler(); + public void installBindingHandler(const std::string& bindingName); + public void notifyDomainStateChanged(facebook::react::jsinspector_modern::RuntimeTargetController::Domain domain, bool enabled, const facebook::react::jsinspector_modern::RuntimeAgent& notifyingAgent); +} + +enum facebook::react::jsinspector_modern::RuntimeTargetController::Domain { + Log, + Network, + Runtime, + kMaxValue, +} + +class facebook::react::jsinspector_modern::RuntimeTargetDelegate { + public virtual bool supportsConsole() const = 0; + public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() = 0; + public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) = 0; + public virtual std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel channel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) = 0; + public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip = 0) = 0; + public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) = 0; + public virtual void disableSamplingProfiler() = 0; + public virtual void enableSamplingProfiler() = 0; + public virtual ~RuntimeTargetDelegate() = default; +} + +class facebook::react::jsinspector_modern::RuntimeTracingAgent : public facebook::react::jsinspector_modern::tracing::TargetTracingAgent { + public RuntimeTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state, facebook::react::jsinspector_modern::RuntimeTargetController& targetController); + public ~RuntimeTracingAgent(); +} + +class facebook::react::jsinspector_modern::StackTrace { + public StackTrace() = default; + public StackTrace(const facebook::react::jsinspector_modern::StackTrace&) = delete; + public StackTrace(facebook::react::jsinspector_modern::StackTrace&&) = delete; + public facebook::react::jsinspector_modern::StackTrace& operator=(const facebook::react::jsinspector_modern::StackTrace&) = delete; + public facebook::react::jsinspector_modern::StackTrace& operator=(facebook::react::jsinspector_modern::StackTrace&&) = delete; + public static std::unique_ptr empty(); + public virtual ~StackTrace() = default; +} + +class facebook::react::jsinspector_modern::TracingAgent { + public TracingAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::SessionState& sessionState, facebook::react::jsinspector_modern::HostTargetController& hostTargetController); + public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); + public ~TracingAgent(); +} + +enum facebook::react::jsinspector_modern::ConsoleAPIType { + kAssert, + kClear, + kCount, + kDebug, + kDir, + kDirXML, + kEndGroup, + kError, + kInfo, + kLog, + kStartGroup, + kStartGroupCollapsed, + kTable, + kTimeEnd, + kTrace, + kWarning, +} + +enum facebook::react::jsinspector_modern::HostCommand { + DebuggerResume, + DebuggerStepOver, +} + +struct facebook::react::jsinspector_modern::ConsoleMessage { + public ConsoleMessage(const facebook::react::jsinspector_modern::ConsoleMessage& other) = delete; + public ConsoleMessage(double timestamp, facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args, std::unique_ptr stackTrace = facebook::react::jsinspector_modern::StackTrace::empty()); + public ConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::SimpleConsoleMessage message); + public ConsoleMessage(facebook::react::jsinspector_modern::ConsoleMessage&& other) noexcept = default; + public double timestamp; + public facebook::react::jsinspector_modern::ConsoleAPIType type; + public facebook::react::jsinspector_modern::ConsoleMessage& operator=(const facebook::react::jsinspector_modern::ConsoleMessage& other) = delete; + public facebook::react::jsinspector_modern::ConsoleMessage& operator=(facebook::react::jsinspector_modern::ConsoleMessage&& other) noexcept = default; + public std::unique_ptr stackTrace; + public std::vector args; + public ~ConsoleMessage() = default; +} + +struct facebook::react::jsinspector_modern::ExecutionContextDescription { + public int32_t id; + public std::optional uniqueId; + public std::string name; + public std::string origin; +} + +struct facebook::react::jsinspector_modern::GetResponseBodyResult { + public bool base64Encoded; + public folly::dynamic toDynamic() const; + public std::string body; +} + +struct facebook::react::jsinspector_modern::HostTargetMetadata { + public std::optional appDisplayName; + public std::optional appIdentifier; + public std::optional deviceName; + public std::optional integrationName; + public std::optional platform; + public std::optional reactNativeVersion; +} + +struct facebook::react::jsinspector_modern::IOReadResult { + public bool base64Encoded; + public bool eof; + public folly::dynamic toDynamic() const; + public std::string data; +} + +struct facebook::react::jsinspector_modern::InspectorPageDescription { + public const facebook::react::jsinspector_modern::InspectorTargetCapabilities capabilities; + public const int id; + public const std::string description; + public const std::string vm; +} + +struct facebook::react::jsinspector_modern::InspectorSystemState { + public int registeredHostsCount; +} + +struct facebook::react::jsinspector_modern::InspectorTargetCapabilities { + public bool nativePageReloads; + public bool nativeSourceCodeFetching; +} + +struct facebook::react::jsinspector_modern::JCxxInspectorPackagerConnectionDelegateImpl : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; + public std::unique_ptr connectWebSocket(const std::string& url, std::weak_ptr delegate); + public std::unique_ptr wrapInUniquePtr(); + public void scheduleCallback(std::function callback, std::chrono::milliseconds delayMs); +} + +class facebook::react::jsinspector_modern::JCxxInspectorPackagerConnectionDelegateImpl::RefWrapper : public facebook::react::jsinspector_modern::InspectorPackagerConnectionDelegate { + public RefWrapper(jni::alias_ref jDelegate); + public virtual std::unique_ptr connectWebSocket(const std::string& url, std::weak_ptr delegate) override; + public virtual void scheduleCallback(std::function callback, std::chrono::milliseconds delayMs) override; +} + +struct facebook::react::jsinspector_modern::LoadNetworkResourceRequest { + public std::string url; +} + +struct facebook::react::jsinspector_modern::NetworkResource { + public bool success; + public folly::dynamic toDynamic() const; + public std::optional headers; + public std::optional netErrorName; + public std::optional stream; + public std::optional httpStatusCode; +} + +struct facebook::react::jsinspector_modern::PerfIssuePayload { + public std::optional description; + public std::optional learnMoreUrl; + public std::optional severity; + public std::string name; +} + +struct facebook::react::jsinspector_modern::ReadStreamParams { + public facebook::react::jsinspector_modern::StreamID handle; + public std::optional offset; + public std::optional size; +} + +struct facebook::react::jsinspector_modern::SessionState { + public bool hasPendingTraceRecording; + public bool isDebuggerDomainEnabled; + public bool isLogDomainEnabled; + public bool isNetworkDomainEnabled; + public bool isReactNativeApplicationDomainEnabled; + public bool isRuntimeDomainEnabled; + public facebook::react::jsinspector_modern::RuntimeAgent::ExportedState lastRuntimeAgentExportedState; + public std::unordered_map subscribedBindings; + public std::vector pendingSimpleConsoleMessages; +} + +struct facebook::react::jsinspector_modern::SimpleConsoleMessage { + public SimpleConsoleMessage(const facebook::react::jsinspector_modern::SimpleConsoleMessage& other) = delete; + public SimpleConsoleMessage(double timestamp, facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args); + public SimpleConsoleMessage(facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args); + public SimpleConsoleMessage(facebook::react::jsinspector_modern::SimpleConsoleMessage&& other) noexcept = default; + public double timestamp; + public facebook::react::jsinspector_modern::ConsoleAPIType type; + public facebook::react::jsinspector_modern::SimpleConsoleMessage& operator=(const facebook::react::jsinspector_modern::SimpleConsoleMessage& other) = delete; + public facebook::react::jsinspector_modern::SimpleConsoleMessage& operator=(facebook::react::jsinspector_modern::SimpleConsoleMessage&& other) noexcept = default; + public std::vector args; + public ~SimpleConsoleMessage() = default; +} + +template +class facebook::react::jsinspector_modern::EnumArray { + public constexpr ValueType& operator[](IndexType i); + public constexpr const ValueType& operator[](IndexType i) const; + public constexpr int size() const; +} + +template +struct facebook::react::jsinspector_modern::UniqueMonostate { + public constexpr bool operator<(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; + public constexpr bool operator<=(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; + public constexpr bool operator==(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; + public constexpr bool operator>(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; + public constexpr bool operator>=(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; +} + +template +class facebook::react::jsinspector_modern::EnableExecutorFromThis : public std::enable_shared_from_this { + public facebook::react::jsinspector_modern::ScopedExecutor executorFromThis(); + public void setExecutor(facebook::react::jsinspector_modern::VoidExecutor executor); + template + public void setExecutor(facebook::react::jsinspector_modern::ScopedExecutor executor); +} + +template +class facebook::react::jsinspector_modern::WeakList { + public bool empty() const; + public size_t size() const; + public void insert(std::weak_ptr ptr); + template + public bool anyOf(Fn&& fn) const; + template + public bool anyOf(Fn&& fn); + template + public void forEach(Fn&& fn) const; + template + public void forEach(Fn&& fn); +} + + +constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::TRACING_TIME_ORIGIN; +constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::kCurrentBufferStartTimeUninitialized; +using facebook::react::jsinspector_modern::tracing::Categories = folly::small_vector; +using facebook::react::jsinspector_modern::tracing::ConsoleTimeStampEntry = std::variant; +using facebook::react::jsinspector_modern::tracing::FrameSequenceId = uint64_t; +using facebook::react::jsinspector_modern::tracing::Headers = std::map; +using facebook::react::jsinspector_modern::tracing::ProcessId = uint64_t; +using facebook::react::jsinspector_modern::tracing::RuntimeProfileId = uint16_t; +using facebook::react::jsinspector_modern::tracing::ThreadId = uint64_t; +int64_t facebook::react::jsinspector_modern::tracing::highResDurationToTracingClockDuration(facebook::react::HighResDuration duration); +std::optional facebook::react::jsinspector_modern::tracing::getTracingCategoryFromString(const std::string& str); +std::optional facebook::react::jsinspector_modern::tracing::getConsoleTimeStampColorFromString(const std::string& str); +std::optional facebook::react::jsinspector_modern::tracing::getConsoleTimeStampDetailFromObject(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& detailValue); +std::set facebook::react::jsinspector_modern::tracing::parseSerializedTracingCategories(const std::string& serializedCategories); +std::string facebook::react::jsinspector_modern::tracing::consoleTimeStampColorToString(facebook::react::jsinspector_modern::tracing::ConsoleTimeStampColor color); +std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const facebook::react::jsinspector_modern::tracing::Categories& categories); +std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const std::set& categories); +std::string facebook::react::jsinspector_modern::tracing::tracingCategoryToString(const facebook::react::jsinspector_modern::tracing::Category& category); +uint64_t facebook::react::jsinspector_modern::tracing::highResTimeStampToTracingClockTimeStamp(facebook::react::HighResTimeStamp timestamp); + +class facebook::react::jsinspector_modern::tracing::HermesRuntimeSamplingProfileSerializer { + public static facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile serializeToTracingSamplingProfile(hermes::sampling_profiler::Profile hermesProfile); +} + +class facebook::react::jsinspector_modern::tracing::HostTracingProfileSerializer { + public static void emitAsDataCollectedChunks(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const std::function& chunkCallback, size_t maxChunkBytes, uint16_t profileTraceEventsChunkSize); + public static void emitFrameTimings(std::vector&& frameTimings, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::HighResTimeStamp recordingStartTimestamp, const std::function& chunkCallback, size_t maxChunkBytes); + public static void emitPerformanceTraceEvents(std::vector&& events, const std::function& chunkCallback, size_t maxChunkBytes); +} + +class facebook::react::jsinspector_modern::tracing::PerformanceTracer { + public bool isTracing() const; + public bool startTracing(); + public bool startTracing(facebook::react::HighResDuration maxDuration); + public static facebook::react::jsinspector_modern::tracing::PerformanceTracer& getInstance(); + public static facebook::react::jsinspector_modern::tracing::TraceEvent constructRuntimeProfileChunkTraceEvent(facebook::react::jsinspector_modern::tracing::RuntimeProfileId profileId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ProcessId threadId, facebook::react::HighResTimeStamp chunkTimestamp, facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk&& traceEventProfileChunk); + public static facebook::react::jsinspector_modern::tracing::TraceEvent constructRuntimeProfileTraceEvent(facebook::react::jsinspector_modern::tracing::RuntimeProfileId profileId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp profileTimestamp); + public std::optional> stopTracing(); + public uint32_t subscribeToTracingStateChanges(facebook::react::jsinspector_modern::tracing::PerformanceTracer::TracingStateCallback callback); + public using TracingStateCallback = std::function; + public void reportEventLoopMicrotasks(facebook::react::HighResTimeStamp start, facebook::react::HighResTimeStamp end); + public void reportEventLoopTask(facebook::react::HighResTimeStamp start, facebook::react::HighResTimeStamp end); + public void reportMark(const std::string& name, facebook::react::HighResTimeStamp start, folly::dynamic&& detail = nullptr); + public void reportMeasure(const std::string& name, facebook::react::HighResTimeStamp start, facebook::react::HighResDuration duration, folly::dynamic&& detail = nullptr, std::optional stackTrace = nullptr); + public void reportResourceFinish(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int encodedDataLength, int decodedBodyLength); + public void reportResourceReceiveResponse(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int statusCode, const facebook::react::jsinspector_modern::tracing::Headers& headers, int encodedDataLength, folly::dynamic timingData); + public void reportResourceReceivedData(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int encodedDataLength); + public void reportResourceSendRequest(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, const std::string& url, const std::string& requestMethod, const facebook::react::jsinspector_modern::tracing::Headers& headers); + public void reportResourceWillSendRequest(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start); + public void reportTimeStamp(const std::string& name, std::optional start = std::nullopt, std::optional end = std::nullopt, std::optional trackName = std::nullopt, std::optional trackGroup = std::nullopt, std::optional color = std::nullopt, std::optional detail = std::nullopt, std::optional stackTrace = std::nullopt); + public void unsubscribeFromTracingStateChanges(uint32_t subscriptionId); +} + +class facebook::react::jsinspector_modern::tracing::ProfileTreeNode { + public ProfileTreeNode(uint32_t id, facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType codeType, facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame callFrame, uint32_t parentId = facebook::react::jsinspector_modern::tracing::ProfileTreeNode::NO_PARENT); + public bool hasParent() const; + public const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& getCallFrame() const; + public facebook::react::jsinspector_modern::tracing::ProfileTreeNode* addChild(uint32_t childId, facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType childCodeType, facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame childCallFrame); + public facebook::react::jsinspector_modern::tracing::ProfileTreeNode* getIfAlreadyExists(facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType childCodeType, const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& childCallFrame); + public facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType getCodeType() const; + public static constexpr uint32_t NO_PARENT; + public uint32_t getId() const; + public uint32_t getParentId() const; +} + +enum facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType { + JavaScript, + Other, +} + +class facebook::react::jsinspector_modern::tracing::RawHermesRuntimeProfile : public facebook::react::jsinspector_modern::tracing::RawRuntimeProfile { + public RawHermesRuntimeProfile(hermes::sampling_profiler::Profile hermesProfile); +} + +class facebook::react::jsinspector_modern::tracing::RawRuntimeProfile { + public virtual ~RawRuntimeProfile() = default; +} + +class facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfileTraceEventSerializer { + public static void serializeAndDispatch(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&& profile, facebook::react::jsinspector_modern::tracing::IdGenerator& profileIdGenerator, facebook::react::HighResTimeStamp tracingStartTime, const std::function& dispatchCallback, uint16_t traceEventChunkSize, uint16_t profileChunkSize = PROFILE_CHUNK_SIZE, uint16_t maxUniqueNodesPerChunk = MAX_UNIQUE_NODES_PER_CHUNK); + public static void serializeAndDispatch(std::vector&& profiles, facebook::react::jsinspector_modern::tracing::IdGenerator& profileIdGenerator, facebook::react::HighResTimeStamp tracingStartTime, const std::function& dispatchCallback, uint16_t traceEventChunkSize, uint16_t profileChunkSize = PROFILE_CHUNK_SIZE, uint16_t maxUniqueNodesPerChunk = MAX_UNIQUE_NODES_PER_CHUNK); +} + +class facebook::react::jsinspector_modern::tracing::TargetTracingAgent { + protected facebook::react::jsinspector_modern::tracing::TraceRecordingState& state_; + public TargetTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public bool isRunningInBackgroundMode(); +} + +class facebook::react::jsinspector_modern::tracing::TraceEventGenerator { + public static facebook::react::jsinspector_modern::tracing::TraceEvent createScreenshotEvent(facebook::react::jsinspector_modern::tracing::FrameSequenceId frameSequenceId, int sourceId, std::vector&& snapshot, facebook::react::HighResTimeStamp expectedDisplayTime, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); + public static facebook::react::jsinspector_modern::tracing::TraceEvent createSetLayerTreeIdEvent(std::string frame, int layerTreeId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp timestamp); + public static std::pair createFrameTimingsEvents(facebook::react::jsinspector_modern::tracing::FrameSequenceId sequenceId, int layerTreeId, facebook::react::HighResTimeStamp beginTimestamp, facebook::react::HighResTimeStamp endTimestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); +} + +class facebook::react::jsinspector_modern::tracing::TraceEventSerializer { + public static folly::dynamic serialize(facebook::react::jsinspector_modern::tracing::TraceEvent&& event); + public static folly::dynamic serializeProfileChunk(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk&& profileChunk); + public static folly::dynamic serializeProfileChunkCPUProfile(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile&& cpuProfile); + public static folly::dynamic serializeProfileChunkCPUProfileNode(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node&& node); + public static folly::dynamic serializeProfileChunkCPUProfileNodeCallFrame(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame&& callFrame); + public static folly::dynamic serializeProfileChunkTimeDeltas(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::TimeDeltas&& deltas); + public static size_t estimateJsonSize(const folly::dynamic& value); +} + +enum facebook::react::jsinspector_modern::tracing::Category { + Frame, + HiddenTimeline, + JavaScriptSampling, + RuntimeExecution, + Screenshot, + Timeline, + UserTiming, +} + +enum facebook::react::jsinspector_modern::tracing::ConsoleTimeStampColor { + Error, + Primary, + PrimaryDark, + PrimaryLight, + Secondary, + SecondaryDark, + SecondaryLight, + Tertiary, + TertiaryDark, + TertiaryLight, + Warning, +} + +enum facebook::react::jsinspector_modern::tracing::EventLoopPhase { + Microtasks, + Task, +} + +enum facebook::react::jsinspector_modern::tracing::Mode { + Background, + CDP, +} + +struct facebook::react::jsinspector_modern::tracing::EventLoopReporter { + public EventLoopReporter(const facebook::react::jsinspector_modern::tracing::EventLoopReporter&) = delete; + public EventLoopReporter(facebook::react::jsinspector_modern::tracing::EventLoopPhase phase); + public EventLoopReporter(facebook::react::jsinspector_modern::tracing::EventLoopReporter&&) = delete; + public facebook::react::jsinspector_modern::tracing::EventLoopReporter& operator=(const facebook::react::jsinspector_modern::tracing::EventLoopReporter&) = delete; + public facebook::react::jsinspector_modern::tracing::EventLoopReporter& operator=(facebook::react::jsinspector_modern::tracing::EventLoopReporter&&) = delete; + public ~EventLoopReporter(); +} + +struct facebook::react::jsinspector_modern::tracing::FrameTimingSequence { + public FrameTimingSequence() = delete; + public FrameTimingSequence(facebook::react::jsinspector_modern::tracing::FrameSequenceId id, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp beginTimestamp, facebook::react::HighResTimeStamp endTimestamp, std::optional> screenshot = std::nullopt); + public facebook::react::HighResTimeStamp beginTimestamp; + public facebook::react::HighResTimeStamp endTimestamp; + public facebook::react::jsinspector_modern::tracing::FrameSequenceId id; + public facebook::react::jsinspector_modern::tracing::ThreadId threadId; + public std::optional> screenshot; +} + +struct facebook::react::jsinspector_modern::tracing::HostTracingProfile { + public facebook::react::HighResTimeStamp startTime; + public facebook::react::jsinspector_modern::tracing::ProcessId processId; + public std::vector frameTimings; + public std::vector instanceTracingProfiles; + public std::vector runtimeSamplingProfiles; +} + +struct facebook::react::jsinspector_modern::tracing::IdGenerator { + public uint32_t getNext(); +} + +struct facebook::react::jsinspector_modern::tracing::InstanceTracingProfile { + public std::vector performanceTraceEvents; +} + +struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile { + public RuntimeSamplingProfile(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&) = delete; + public RuntimeSamplingProfile(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&&) = default; + public RuntimeSamplingProfile(std::string runtimeName, facebook::react::jsinspector_modern::tracing::ProcessId processId, std::vector samples, std::unique_ptr rawRuntimeProfile); + public facebook::react::jsinspector_modern::tracing::ProcessId processId; + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile& operator=(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&) = delete; + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile& operator=(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&&) = default; + public std::string runtimeName; + public std::unique_ptr rawRuntimeProfile; + public std::vector samples; + public ~RuntimeSamplingProfile() = default; +} + +struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample { + public Sample(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&) = delete; + public Sample(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&&) = default; + public Sample(uint64_t timestamp, facebook::react::jsinspector_modern::tracing::ThreadId threadId, std::vector callStack); + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample& operator=(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&) = delete; + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample& operator=(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&&) = default; + public facebook::react::jsinspector_modern::tracing::ThreadId threadId; + public std::vector callStack; + public uint64_t timestamp; + public ~Sample() = default; +} + +struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame { + public bool operator==(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& rhs) const noexcept = default; + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame::Kind kind; + public std::optional scriptURL; + public std::optional columnNumber; + public std::optional lineNumber; + public std::string_view functionName; + public uint32_t scriptId; +} + +enum facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame::Kind { + GarbageCollector, + HostFunction, + JSFunction, + NativeFunction, +} + +struct facebook::react::jsinspector_modern::tracing::TraceEvent { + public char ph; + public facebook::react::HighResTimeStamp ts; + public facebook::react::jsinspector_modern::tracing::Categories cat; + public facebook::react::jsinspector_modern::tracing::ProcessId pid; + public facebook::react::jsinspector_modern::tracing::ThreadId tid; + public folly::dynamic args; + public std::optional s; + public std::optional dur; + public std::optional id; + public std::string name; +} + +struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk { + public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile cpuProfile; + public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::TimeDeltas timeDeltas; + public using TimeDeltas = std::vector; +} + +struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile { + public std::vector nodes; + public std::vector samples; +} + +struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node { + public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame callFrame; + public std::optional parentId; + public uint32_t id; +} + +struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame { + public std::optional url; + public std::optional columnNumber; + public std::optional lineNumber; + public std::string codeType; + public std::string functionName; + public uint32_t scriptId; +} + +struct facebook::react::jsinspector_modern::tracing::TraceRecordingState { + public TraceRecordingState(facebook::react::jsinspector_modern::tracing::Mode tracingMode, std::set enabledCategories, std::optional windowSize = std::nullopt); + public facebook::react::jsinspector_modern::tracing::Mode mode; + public std::optional windowSize; + public std::set enabledCategories; + public std::vector instanceTracingProfiles; + public std::vector runtimeSamplingProfiles; +} + +template +class facebook::react::jsinspector_modern::tracing::TimeWindowedBuffer { + public TimeWindowedBuffer(); + public TimeWindowedBuffer(facebook::react::jsinspector_modern::tracing::TimeWindowedBuffer::TimestampAccessor timestampAccessor, facebook::react::HighResDuration windowSize); + public std::vector pruneExpiredAndExtract(facebook::react::HighResTimeStamp windowRightBoundary = facebook::react::HighResTimeStamp::now()); + public using TimestampAccessor = std::function; + public void clear(); + public void push(T&& element); + public void push(const T& element); +} + +template +class facebook::react::jsinspector_modern::tracing::PerformanceTracerSection { + public PerformanceTracerSection(const char* name, const char* track = nullptr, const char* trackGroup = nullptr, const char* color = nullptr, Args... args) noexcept; + public PerformanceTracerSection(const facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&) = delete; + public PerformanceTracerSection(facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&&) = delete; + public facebook::react::jsinspector_modern::tracing::PerformanceTracerSection& operator=(const facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&) = delete; + public facebook::react::jsinspector_modern::tracing::PerformanceTracerSection& operator=(facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&&) = delete; + public ~PerformanceTracerSection() noexcept; +} + + +using facebook::react::jsinspector_modern::cdp::ParseError = folly::json::parse_error; +using facebook::react::jsinspector_modern::cdp::RequestId = long long; +using facebook::react::jsinspector_modern::cdp::TypeError = folly::TypeError; +facebook::react::jsinspector_modern::cdp::PreparsedRequest facebook::react::jsinspector_modern::cdp::preparse(std::string_view message); +std::string facebook::react::jsinspector_modern::cdp::jsonError(std::optional id, facebook::react::jsinspector_modern::cdp::ErrorCode code, std::optional message = std::nullopt); +std::string facebook::react::jsinspector_modern::cdp::jsonNotification(const std::string& method, std::optional params = std::nullopt); +std::string facebook::react::jsinspector_modern::cdp::jsonRequest(facebook::react::jsinspector_modern::cdp::RequestId id, const std::string& method, std::optional params = std::nullopt); +std::string facebook::react::jsinspector_modern::cdp::jsonResult(facebook::react::jsinspector_modern::cdp::RequestId id, const folly::dynamic& result = folly::dynamic::object()); + +enum facebook::react::jsinspector_modern::cdp::ErrorCode { + InternalError, + InvalidParams, + InvalidRequest, + MethodNotFound, + ParseError, +} + +struct facebook::react::jsinspector_modern::cdp::PreparsedRequest { + public bool operator==(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& rhs) const; + public facebook::react::jsinspector_modern::cdp::RequestId id; + public folly::dynamic params; + public std::string method; + public std::string toJson() const; +} + + +using facebook::react::jsinspector_modern::cdp::network::Headers = std::map; +std::string facebook::react::jsinspector_modern::cdp::network::resourceTypeFromMimeType(const std::string& mimeType); + +struct facebook::react::jsinspector_modern::cdp::network::ConnectTiming { + public double requestTime; +} + +struct facebook::react::jsinspector_modern::cdp::network::DataReceivedParams { + public double timestamp; + public folly::dynamic toDynamic() const; + public int dataLength; + public int encodedDataLength; + public std::string requestId; +} + +struct facebook::react::jsinspector_modern::cdp::network::LoadingFailedParams { + public bool canceled; + public double timestamp; + public folly::dynamic toDynamic() const; + public std::string errorText; + public std::string requestId; + public std::string type; +} + +struct facebook::react::jsinspector_modern::cdp::network::LoadingFinishedParams { + public double timestamp; + public folly::dynamic toDynamic() const; + public int encodedDataLength; + public std::string requestId; +} + +struct facebook::react::jsinspector_modern::cdp::network::Request { + public facebook::react::jsinspector_modern::cdp::network::Headers headers; + public folly::dynamic toDynamic() const; + public std::optional postData; + public std::string method; + public std::string url; +} + +struct facebook::react::jsinspector_modern::cdp::network::RequestWillBeSentExtraInfoParams { + public facebook::react::jsinspector_modern::cdp::network::ConnectTiming connectTiming; + public facebook::react::jsinspector_modern::cdp::network::Headers headers; + public folly::dynamic toDynamic() const; + public std::string requestId; +} + +struct facebook::react::jsinspector_modern::cdp::network::RequestWillBeSentParams { + public bool redirectHasExtraInfo; + public double timestamp; + public double wallTime; + public facebook::react::jsinspector_modern::cdp::network::Request request; + public folly::dynamic initiator; + public folly::dynamic toDynamic() const; + public std::optional redirectResponse; + public std::string documentURL; + public std::string loaderId; + public std::string requestId; +} + +struct facebook::react::jsinspector_modern::cdp::network::Response { + public facebook::react::jsinspector_modern::cdp::network::Headers headers; + public folly::dynamic toDynamic() const; + public int encodedDataLength; + public static facebook::react::jsinspector_modern::cdp::network::Response fromInputParams(const std::string& url, uint16_t status, const facebook::react::jsinspector_modern::cdp::network::Headers& headers, int encodedDataLength); + public std::string mimeType; + public std::string statusText; + public std::string url; + public uint16_t status; +} + +struct facebook::react::jsinspector_modern::cdp::network::ResponseReceivedParams { + public bool hasExtraInfo; + public double timestamp; + public facebook::react::jsinspector_modern::cdp::network::Response response; + public folly::dynamic toDynamic() const; + public std::string loaderId; + public std::string requestId; + public std::string type; +} + + +constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_CONTAINED_BY; +constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_CONTAINS; +constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_DISCONNECTED; +constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_FOLLOWING; +constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_PRECEDING; +bool facebook::react::dom::isConnected(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +facebook::react::dom::DOMBorderWidthRounded facebook::react::dom::getBorderWidth(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +facebook::react::dom::DOMOffset facebook::react::dom::getOffset(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +facebook::react::dom::DOMPoint facebook::react::dom::getScrollPosition(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +facebook::react::dom::DOMRect facebook::react::dom::getBoundingClientRect(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode, bool includeTransform); +facebook::react::dom::DOMRect facebook::react::dom::measureInWindow(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +facebook::react::dom::DOMSizeRounded facebook::react::dom::getInnerSize(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +facebook::react::dom::DOMSizeRounded facebook::react::dom::getScrollSize(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +facebook::react::dom::RNMeasureRect facebook::react::dom::measure(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +std::optional facebook::react::dom::measureLayout(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode& relativeToShadowNode); +std::shared_ptr facebook::react::dom::getElementById(const std::shared_ptr& currentRevision, const std::string& id); +std::shared_ptr facebook::react::dom::getParentNode(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +std::string facebook::react::dom::getTagName(const facebook::react::ShadowNode& shadowNode); +std::string facebook::react::dom::getTextContent(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +std::vector> facebook::react::dom::getChildNodes(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +uint_fast16_t facebook::react::dom::compareDocumentPosition(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode& otherShadowNode); + +struct facebook::react::dom::DOMBorderWidthRounded { + public int bottom; + public int left; + public int right; + public int top; +} + +struct facebook::react::dom::DOMOffset { + public double left; + public double top; + public std::shared_ptr offsetParent; +} + +struct facebook::react::dom::DOMPoint { + public double x; + public double y; +} + +struct facebook::react::dom::DOMRect { + public double height; + public double width; + public double x; + public double y; +} + +struct facebook::react::dom::DOMSizeRounded { + public int height; + public int width; +} + +struct facebook::react::dom::RNMeasureRect { + public double height; + public double pageX; + public double pageY; + public double width; + public double x; + public double y; +} + + +folly::dynamic facebook::react::animationbackend::packAnimatedProps(const facebook::react::AnimatedProps& animatedProps); + + +static constexpr facebook::react::Tag facebook::react::animated::undefinedAnimatedNodeIdentifier; + + +std::shared_ptr facebook::react::CoreComponentsRegistry::sharedProviderRegistry(); +void facebook::react::CoreComponentsRegistry::addCoreComponents(std::shared_ptr registry); + + +template +constexpr bool facebook::react::bridging::supportsToJs(), std::declval(), nullptr))>>; +template +constexpr bool facebook::react::bridging::supportsToJs(), std::declval(), nullptr))>>; +template +constexpr bool facebook::react::bridging::is_optional_jsi_v; +template +constexpr bool facebook::react::bridging::supportsFromJs(std::declval(), std::declval(), nullptr))>>; +template +constexpr bool facebook::react::bridging::is_jsi_v; +template +constexpr bool facebook::react::bridging::is_optional_jsi_v>>; +template +constexpr bool facebook::react::bridging::is_optional_v; +template +constexpr bool facebook::react::bridging::supportsFromJs(std::declval(), std::declval(), nullptr))>>; +template +constexpr bool facebook::react::bridging::supportsFromJs; +template +constexpr bool facebook::react::bridging::supportsToJs; +template +using facebook::react::bridging::bridging_t = typename facebook::react::bridging::detail::bridging_wrapper::type; +template +using facebook::react::bridging::remove_cvref_t = std::remove_cv_t>; +template +constexpr size_t facebook::react::bridging::getParameterCount(ReturnT(Class::*)(ArgsT...)); +template +JSReturnT facebook::react::bridging::callFromJs(facebook::jsi::Runtime& rt, ReturnT(ClassT::*method)(facebook::jsi::Runtime&, ArgsT...), const std::shared_ptr& jsInvoker, ClassT* instance, JSArgsT &&... args); +template +decltype(facebook::react::Bridging>::fromJs(rt, facebook::react::bridging::convert(rt, std::forward(value)))) facebook::react::bridging::fromJs(facebook::jsi::Runtime& rt, JSArgT&& value, const std::shared_ptr&); +template +decltype(facebook::react::Bridging>::fromJs(rt, facebook::react::bridging::convert(rt, std::forward(value)), jsInvoker)) facebook::react::bridging::fromJs(facebook::jsi::Runtime& rt, JSArgT&& value, const std::shared_ptr& jsInvoker); +template +decltype(static_cast(std::move(facebook::react::bridging::convert(rt, std::forward(value))))) facebook::react::bridging::fromJs(facebook::jsi::Runtime& rt, JSArgT&& value, const std::shared_ptr&); +template +constexpr size_t facebook::react::bridging::getParameterCount(ReturnT(*)(ArgsT...)); +template , int> = 0> +auto facebook::react::bridging::convert(facebook::jsi::Runtime& rt, T&& value); +template ||std::is_scalar_v, int> = 0> +auto facebook::react::bridging::convert(facebook::jsi::Runtime& rt, std::optional value); +template , int> = 0> +auto facebook::react::bridging::convert(facebook::jsi::Runtime&, T&& value); +template +auto facebook::react::bridging::convert(facebook::jsi::Runtime&, facebook::react::bridging::Converter&& converter); +template +decltype(facebook::react::Bridging>::toJs(rt, std::forward(value))) facebook::react::bridging::toJs(facebook::jsi::Runtime& rt, T&& value, const std::shared_ptr& = nullptr); +template +decltype(facebook::react::Bridging>::toJs(rt, std::forward(value), jsInvoker)) facebook::react::bridging::toJs(facebook::jsi::Runtime& rt, T&& value, const std::shared_ptr& jsInvoker); +template +facebook::react::bridging::remove_cvref_t facebook::react::bridging::toJs(facebook::jsi::Runtime& rt, T&& value, const std::shared_ptr& = nullptr); + +template +struct facebook::react::bridging::Converter : public facebook::react::bridging::ConverterBase { +} + +template +struct facebook::react::bridging::ConverterBase { + protected T value_; + protected facebook::jsi::Runtime& rt_; + public ConverterBase(facebook::jsi::Runtime& rt, T&& value); + public operator facebook::react::bridging::ConverterBase::BaseT(); + public using BaseT = facebook::react::bridging::remove_cvref_t; + template && std::is_same_v, int> = 0> + public operator U() = delete; + template && std::is_convertible_v, U>, int> = 0> + public operator U(); +} + +template +struct facebook::react::bridging::is_optional : public std::false_type { +} + +template +struct facebook::react::bridging::Converter> : public facebook::react::bridging::ConverterBase, public facebook::react::bridging::ConverterBase { + public Converter(facebook::jsi::Runtime& rt, std::optional value); + public operator std::optional(); +} + +template +struct facebook::react::bridging::is_optional> : public std::false_type, public std::true_type { +} + +struct facebook::react::bridging::Converter : public facebook::react::bridging::ConverterBase { + public operator facebook::jsi::Array(); + public operator facebook::jsi::Function(); +} + +struct facebook::react::bridging::Converter : public facebook::react::bridging::ConverterBase { + public operator facebook::jsi::Array(); + public operator facebook::jsi::Function(); + public operator facebook::jsi::Object(); + public operator facebook::jsi::String(); +} + + +template +struct facebook::react::bridging::detail::function_wrapper { +} + +template +struct facebook::react::bridging::detail::bridging_wrapper { + public using type = facebook::react::bridging::remove_cvref_t; +} + +template +struct facebook::react::bridging::detail::function_wrapper { + public using type = std::function; +} + +template +struct facebook::react::bridging::detail::function_wrapper { + public using type = std::function; +} + +template +struct facebook::react::bridging::detail::bridging_wrapper::operator())>> : public facebook::react::bridging::detail::function_wrapper::operator())> { + public using type = facebook::react::bridging::remove_cvref_t; +} + + +template +struct facebook::react::array_detail::BridgingStatic { + public static facebook::jsi::Array toJs(facebook::jsi::Runtime& rt, const T& array, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::array_detail::BridgingDynamic { + public static facebook::jsi::Array toJs(facebook::jsi::Runtime& rt, const T& list, const std::shared_ptr& jsInvoker); +} + + +template +struct facebook::react::map_detail::Bridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& map, const std::shared_ptr& jsInvoker); +} + + +typedef void(*facebook::react::ReactMarker::LogTaggedMarker)(const facebook::react::ReactMarker::ReactMarkerId, const char *tag); +typedef void(*facebook::react::ReactMarker::LogTaggedMarkerBridgeless)(const facebook::react::ReactMarker::ReactMarkerId, const char *tag); +void facebook::react::ReactMarker::logMarker(facebook::react::ReactMarker::ReactMarkerId markerId); +void facebook::react::ReactMarker::logMarkerBridgeless(facebook::react::ReactMarker::ReactMarkerId markerId); +void facebook::react::ReactMarker::logMarkerDone(facebook::react::ReactMarker::ReactMarkerId markerId, double markerTime); +void facebook::react::ReactMarker::logTaggedMarker(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag); +void facebook::react::ReactMarker::logTaggedMarkerBridgeless(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag); +facebook::react::ReactMarker::LogTaggedMarker facebook::react::ReactMarker::logTaggedMarkerBridgelessImpl; +facebook::react::ReactMarker::LogTaggedMarker facebook::react::ReactMarker::logTaggedMarkerImpl; +std::shared_mutex facebook::react::ReactMarker::logTaggedMarkerImplMutex; + +class facebook::react::ReactMarker::StartupLogger { + public double getAppStartupEndTime(); + public double getAppStartupStartTime(); + public double getInitReactRuntimeEndTime(); + public double getInitReactRuntimeStartTime(); + public double getRunJSBundleEndTime(); + public double getRunJSBundleStartTime(); + public static facebook::react::ReactMarker::StartupLogger& getInstance(); + public void logStartupEvent(facebook::react::ReactMarker::ReactMarkerId markerId, double markerTime); + public void reset(); +} + +enum facebook::react::ReactMarker::ReactMarkerId { + APP_STARTUP_START, + APP_STARTUP_STOP, + CREATE_REACT_CONTEXT_STOP, + INIT_REACT_RUNTIME_START, + INIT_REACT_RUNTIME_STOP, + JS_BUNDLE_STRING_CONVERT_START, + JS_BUNDLE_STRING_CONVERT_STOP, + NATIVE_MODULE_SETUP_START, + NATIVE_MODULE_SETUP_STOP, + NATIVE_REQUIRE_START, + NATIVE_REQUIRE_STOP, + REACT_INSTANCE_INIT_START, + REACT_INSTANCE_INIT_STOP, + REGISTER_JS_SEGMENT_START, + REGISTER_JS_SEGMENT_STOP, + RUN_JS_BUNDLE_START, + RUN_JS_BUNDLE_STOP, +} + +struct facebook::react::ReactMarker::ReactMarkerEvent { + public const char* tag; + public const facebook::react::ReactMarker::ReactMarkerId markerId; + public double time; +} + + +uint64_t facebook::react::oscompat::getCurrentProcessId(); +uint64_t facebook::react::oscompat::getCurrentThreadId(); + + +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallBatchPreprocessEnd(int batchSize); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallBatchPreprocessStart(); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallDispatch(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionArgConversionEnd(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionArgConversionStart(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionEnd(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionFail(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionStart(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallFail(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallStart(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::disableLogging(); +void facebook::react::BridgeNativeModulePerfLogger::enableLogging(std::unique_ptr&& logger); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateCacheHit(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateConstructEnd(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateConstructStart(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateEnd(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateFail(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateSetUpEnd(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateSetUpStart(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateStart(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleDataCreateEnd(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleDataCreateStart(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningCacheHit(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningEnd(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningFail(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningStart(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingEnd(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingFail(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingStart(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallArgConversionStart(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallExecutionEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallExecutionStart(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallFail(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallReturnConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallReturnConversionStart(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallStart(const char* moduleName, const char* methodName); + + +void facebook::react::LegacyUIManagerConstantsProviderBinding::install(facebook::jsi::Runtime& runtime, const std::string& name, std::function&& provider); +void facebook::react::LegacyUIManagerConstantsProviderBinding::install(facebook::jsi::Runtime& runtime, const std::string& name, std::function&& provider); + + +void facebook::react::LowPriorityExecutor::execute(std::function&& workItem); + + +void facebook::react::TurboModulePerfLogger::asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::asyncMethodCallBatchPreprocessEnd(int batchSize); +void facebook::react::TurboModulePerfLogger::asyncMethodCallBatchPreprocessStart(); +void facebook::react::TurboModulePerfLogger::asyncMethodCallDispatch(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::asyncMethodCallEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::asyncMethodCallExecutionArgConversionEnd(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::TurboModulePerfLogger::asyncMethodCallExecutionArgConversionStart(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::TurboModulePerfLogger::asyncMethodCallExecutionEnd(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::TurboModulePerfLogger::asyncMethodCallExecutionFail(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::TurboModulePerfLogger::asyncMethodCallExecutionStart(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::TurboModulePerfLogger::asyncMethodCallFail(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::asyncMethodCallStart(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::disableLogging(); +void facebook::react::TurboModulePerfLogger::enableLogging(std::unique_ptr&& logger); +void facebook::react::TurboModulePerfLogger::moduleCreateCacheHit(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateConstructEnd(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateConstructStart(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateEnd(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateFail(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateSetUpEnd(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateSetUpStart(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateStart(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleDataCreateEnd(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleDataCreateStart(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleJSRequireBeginningCacheHit(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireBeginningEnd(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireBeginningFail(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireBeginningStart(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireEndingEnd(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireEndingFail(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireEndingStart(const char* moduleName); +void facebook::react::TurboModulePerfLogger::syncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallArgConversionStart(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallExecutionEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallExecutionStart(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallFail(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallReturnConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallReturnConversionStart(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallStart(const char* moduleName, const char* methodName); + + +std::unique_ptr facebook::jsc::makeJSCRuntime(); + + +using facebook::jsi::HostFunctionType = std::function; +using facebook::jsi::RuntimeFactory = std::function()>; +facebook::jsi::Value facebook::jsi::valueFromDynamic(facebook::jsi::Runtime& runtime, const folly::dynamic& dyn); +folly::dynamic facebook::jsi::dynamicFromValue(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value, const std::function& filterObjectKeys = nullptr); +std::vector facebook::jsi::runtimeGenerators(); +template +U* facebook::jsi::castInterface(T* ptr); +template +std::shared_ptr facebook::jsi::dynamicInterfaceCast(T&& ptr); + +class facebook::jsi::Array : public facebook::jsi::Object { + public Array(facebook::jsi::Array&&) = default; + public Array(facebook::jsi::Runtime& runtime, size_t length); + public facebook::jsi::Array& operator=(facebook::jsi::Array&&) = default; + public facebook::jsi::Value getValueAtIndex(facebook::jsi::Runtime& runtime, size_t i) const; + public size_t length(facebook::jsi::Runtime& runtime) const; + public size_t size(facebook::jsi::Runtime& runtime) const; + public static facebook::jsi::Array createWithElements(facebook::jsi::Runtime& runtime, std::initializer_list elements); + template + public void setValueAtIndex(facebook::jsi::Runtime& runtime, size_t i, T&& value) const; + template + public static facebook::jsi::Array createWithElements(facebook::jsi::Runtime& runtime, Args &&... args); +} + +class facebook::jsi::ArrayBuffer : public facebook::jsi::Object { + public ArrayBuffer(facebook::jsi::ArrayBuffer&&) = default; + public ArrayBuffer(facebook::jsi::Runtime& runtime, std::shared_ptr buffer); + public facebook::jsi::ArrayBuffer& operator=(facebook::jsi::ArrayBuffer&&) = default; + public size_t length(facebook::jsi::Runtime& runtime) const; + public size_t size(facebook::jsi::Runtime& runtime) const; + public uint8_t* data(facebook::jsi::Runtime& runtime) const; +} + +class facebook::jsi::BigInt : public facebook::jsi::Pointer { + public BigInt(facebook::jsi::BigInt&& other) = default; + public BigInt(facebook::jsi::Pointer&& other) noexcept; + public BigInt(facebook::jsi::Runtime::PointerValue* ptr); + public bool isInt64(facebook::jsi::Runtime& runtime) const; + public bool isUint64(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::BigInt& operator=(facebook::jsi::BigInt&& other) = default; + public facebook::jsi::String toString(facebook::jsi::Runtime& runtime, int radix = 10) const; + public int64_t asInt64(facebook::jsi::Runtime& runtime) const; + public int64_t getInt64(facebook::jsi::Runtime& runtime) const; + public static bool strictEquals(facebook::jsi::Runtime& runtime, const facebook::jsi::BigInt& a, const facebook::jsi::BigInt& b); + public static facebook::jsi::BigInt fromInt64(facebook::jsi::Runtime& runtime, int64_t value); + public static facebook::jsi::BigInt fromUint64(facebook::jsi::Runtime& runtime, uint64_t value); + public uint64_t asUint64(facebook::jsi::Runtime& runtime) const; + public uint64_t getUint64(facebook::jsi::Runtime& runtime) const; +} + +class facebook::jsi::Buffer { + public virtual const uint8_t* data() const = 0; + public virtual size_t size() const = 0; + public virtual ~Buffer(); +} + +class facebook::jsi::DecoratedHostFunction { + public DecoratedHostFunction(facebook::jsi::Runtime& drt, facebook::jsi::HostFunctionType plainHF); + public facebook::jsi::Runtime& decoratedRuntime(); + public facebook::jsi::Value operator()(facebook::jsi::Runtime&, const facebook::jsi::Value& thisVal, const facebook::jsi::Value* args, size_t count); +} + +class facebook::jsi::DecoratedHostObject : public facebook::jsi::HostObject { + public DecoratedHostObject(facebook::jsi::Runtime& drt, std::shared_ptr plainHO); + public facebook::jsi::Runtime& decoratedRuntime(); + public virtual facebook::jsi::Value get(facebook::jsi::Runtime&, const facebook::jsi::PropNameID& name) override; + public virtual std::vector getPropertyNames(facebook::jsi::Runtime&) override; + public virtual void set(facebook::jsi::Runtime&, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) override; +} + +class facebook::jsi::FileBuffer : public facebook::jsi::Buffer { + public FileBuffer(const std::string& path); + public virtual const uint8_t* data() const override; + public virtual size_t size() const override; + public ~FileBuffer() override; +} + +class facebook::jsi::Function : public facebook::jsi::Object { + public Function(facebook::jsi::Function&&) = default; + public bool isHostFunction(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Function& operator=(facebook::jsi::Function&&) = default; + public facebook::jsi::HostFunctionType& getHostFunction(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Value call(facebook::jsi::Runtime& runtime, const facebook::jsi::Value* args, size_t count) const; + public facebook::jsi::Value call(facebook::jsi::Runtime& runtime, std::initializer_list args) const; + public facebook::jsi::Value callAsConstructor(facebook::jsi::Runtime& runtime, const facebook::jsi::Value* args, size_t count) const; + public facebook::jsi::Value callAsConstructor(facebook::jsi::Runtime& runtime, std::initializer_list args) const; + public facebook::jsi::Value callWithThis(facebook::jsi::Runtime& Runtime, const facebook::jsi::Object& jsThis, const facebook::jsi::Value* args, size_t count) const; + public facebook::jsi::Value callWithThis(facebook::jsi::Runtime& runtime, const facebook::jsi::Object& jsThis, std::initializer_list args) const; + public static facebook::jsi::Function createFromHostFunction(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name, unsigned int paramCount, facebook::jsi::HostFunctionType func); + template + public facebook::jsi::Value call(facebook::jsi::Runtime& runtime, Args &&... args) const; + template + public facebook::jsi::Value callAsConstructor(facebook::jsi::Runtime& runtime, Args &&... args) const; + template + public facebook::jsi::Value callWithThis(facebook::jsi::Runtime& runtime, const facebook::jsi::Object& jsThis, Args &&... args) const; +} + +class facebook::jsi::HostObject { + public virtual facebook::jsi::Value get(facebook::jsi::Runtime&, const facebook::jsi::PropNameID& name); + public virtual std::vector getPropertyNames(facebook::jsi::Runtime& rt); + public virtual void set(facebook::jsi::Runtime&, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value); + public virtual ~HostObject(); +} + +class facebook::jsi::Instrumentation { + public using HeapStatsUpdate = std::tuple; + public virtual std::string flushAndDisableBridgeTrafficTrace() = 0; + public virtual std::string getRecordedGCStats() = 0; + public virtual std::unordered_map getHeapInfo(bool includeExpensive) = 0; + public virtual void collectGarbage(std::string cause) = 0; + public virtual void createSnapshotToFile(const std::string& path, const facebook::jsi::Instrumentation::HeapSnapshotOptions& options = {false}) = 0; + public virtual void createSnapshotToStream(std::ostream& os, const facebook::jsi::Instrumentation::HeapSnapshotOptions& options = {false}) = 0; + public virtual void dumpOpcodeStats(std::ostream& os) const = 0; + public virtual void dumpProfilerSymbolsToFile(const std::string& fileName) const = 0; + public virtual void startHeapSampling(size_t samplingInterval) = 0; + public virtual void startTrackingHeapObjectStackTraces(std::function stats)> fragmentCallback) = 0; + public virtual void stopHeapSampling(std::ostream& os) = 0; + public virtual void stopTrackingHeapObjectStackTraces() = 0; + public virtual void writeBasicBlockProfileTraceToFile(const std::string& fileName) const = 0; + public virtual ~Instrumentation() = default; +} + +struct facebook::jsi::Instrumentation::HeapSnapshotOptions { + public bool captureNumericValue; +} + +class facebook::jsi::JSError : public facebook::jsi::JSIException { + public JSError(const facebook::jsi::JSError&) = default; + public JSError(facebook::jsi::Runtime& r, facebook::jsi::Value&& value); + public JSError(facebook::jsi::Runtime& rt, const char* message); + public JSError(facebook::jsi::Runtime& rt, std::string message); + public JSError(facebook::jsi::Runtime& rt, std::string message, std::string stack); + public JSError(facebook::jsi::Value&& value, std::string message, std::string stack); + public JSError(std::string what, facebook::jsi::Runtime& rt, facebook::jsi::Value&& value); + public const facebook::jsi::Value& value() const; + public const std::string& getMessage() const; + public const std::string& getStack() const; + public virtual ~JSError(); +} + +class facebook::jsi::JSIException : public std::exception { + protected JSIException(); + protected JSIException(std::string what); + protected std::string what_; + public JSIException(const facebook::jsi::JSIException&) = default; + public virtual const char* what() const noexcept override; + public virtual ~JSIException() override; +} + +class facebook::jsi::JSINativeException : public facebook::jsi::JSIException { + public JSINativeException(const facebook::jsi::JSINativeException&) = default; + public JSINativeException(std::string what); + public virtual ~JSINativeException(); +} + +class facebook::jsi::JSITestBase : public testing::TestWithParam { + public JSITestBase(); + public bool checkValue(const facebook::jsi::Value& value, const std::string& jsValue); + public facebook::jsi::Function function(const std::string& code); + public facebook::jsi::Runtime& rt; + public facebook::jsi::RuntimeFactory factory; + public facebook::jsi::Value eval(const char* code); + public std::shared_ptr runtime; +} + +class facebook::jsi::MutableBuffer { + public virtual size_t size() const = 0; + public virtual uint8_t* data() = 0; + public virtual ~MutableBuffer(); +} + +class facebook::jsi::NativeState { + public virtual ~NativeState(); +} + +class facebook::jsi::Object : public facebook::jsi::Pointer { + protected void setPropertyValue(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) const; + protected void setPropertyValue(facebook::jsi::Runtime& runtime, const facebook::jsi::String& name, const facebook::jsi::Value& value) const; + protected void setPropertyValue(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& name, const facebook::jsi::Value& value) const; + public Object(facebook::jsi::Object&& other) = default; + public Object(facebook::jsi::Pointer&& other) noexcept; + public Object(facebook::jsi::Runtime& runtime); + public Object(facebook::jsi::Runtime::PointerValue* ptr); + public bool hasNativeState(facebook::jsi::Runtime& runtime) const; + public bool hasProperty(facebook::jsi::Runtime& runtime, const char* name) const; + public bool hasProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) const; + public bool hasProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::String& name) const; + public bool hasProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& name) const; + public bool instanceOf(facebook::jsi::Runtime& rt, const facebook::jsi::Function& ctor) const; + public bool isArray(facebook::jsi::Runtime& runtime) const; + public bool isArrayBuffer(facebook::jsi::Runtime& runtime) const; + public bool isFunction(facebook::jsi::Runtime& runtime) const; + public bool isHostObject(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Array asArray(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Array asArray(facebook::jsi::Runtime& runtime); + public facebook::jsi::Array getArray(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Array getArray(facebook::jsi::Runtime& runtime); + public facebook::jsi::Array getPropertyNames(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::ArrayBuffer getArrayBuffer(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::ArrayBuffer getArrayBuffer(facebook::jsi::Runtime& runtime); + public facebook::jsi::Function asFunction(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Function asFunction(facebook::jsi::Runtime& runtime); + public facebook::jsi::Function getFunction(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Function getFunction(facebook::jsi::Runtime& runtime); + public facebook::jsi::Function getPropertyAsFunction(facebook::jsi::Runtime& runtime, const char* name) const; + public facebook::jsi::Object getPropertyAsObject(facebook::jsi::Runtime& runtime, const char* name) const; + public facebook::jsi::Object& operator=(facebook::jsi::Object&& other) = default; + public facebook::jsi::Value getProperty(facebook::jsi::Runtime& runtime, const char* name) const; + public facebook::jsi::Value getProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) const; + public facebook::jsi::Value getProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::String& name) const; + public facebook::jsi::Value getProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& name) const; + public facebook::jsi::Value getPrototype(facebook::jsi::Runtime& runtime) const; + public static bool strictEquals(facebook::jsi::Runtime& runtime, const facebook::jsi::Object& a, const facebook::jsi::Object& b); + public static facebook::jsi::Object create(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& prototype); + public static facebook::jsi::Object createFromHostObject(facebook::jsi::Runtime& runtime, std::shared_ptr ho); + public std::shared_ptr getHostObject(facebook::jsi::Runtime& runtime) const; + public void deleteProperty(facebook::jsi::Runtime& runtime, const char* name) const; + public void deleteProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) const; + public void deleteProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::String& name) const; + public void deleteProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& name) const; + public void setExternalMemoryPressure(facebook::jsi::Runtime& runtime, size_t amt) const; + public void setNativeState(facebook::jsi::Runtime& runtime, std::shared_ptr state) const; + public void setPrototype(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& prototype) const; + template + public bool isHostObject(facebook::jsi::Runtime& runtime) const; + template + public std::shared_ptr asHostObject(facebook::jsi::Runtime& runtime) const; + template + public std::shared_ptr getHostObject(facebook::jsi::Runtime& runtime) const; + template + public bool hasNativeState(facebook::jsi::Runtime& runtime) const; + template + public std::shared_ptr getNativeState(facebook::jsi::Runtime& runtime) const; + template + public void setProperty(facebook::jsi::Runtime& runtime, const char* name, T&& value) const; + template + public void setProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name, T&& value) const; + template + public void setProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::String& name, T&& value) const; + template + public void setProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& name, T&& value) const; +} + +class facebook::jsi::Pointer { + protected Pointer(facebook::jsi::Pointer&& other) noexcept; + protected Pointer(facebook::jsi::Runtime::PointerValue* ptr); + protected facebook::jsi::Pointer& operator=(facebook::jsi::Pointer&& other) noexcept; + protected facebook::jsi::Runtime::PointerValue* ptr_; + protected ~Pointer(); +} + +class facebook::jsi::PreparedJavaScript { + protected PreparedJavaScript() = default; + public virtual ~PreparedJavaScript() = 0; +} + +class facebook::jsi::PropNameID : public facebook::jsi::Pointer { + public PropNameID(facebook::jsi::Pointer&& other) noexcept; + public PropNameID(facebook::jsi::PropNameID&& other) = default; + public PropNameID(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& other); + public PropNameID(facebook::jsi::Runtime::PointerValue* ptr); + public facebook::jsi::PropNameID& operator=(facebook::jsi::PropNameID&& other) = default; + public static bool compare(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& a, const facebook::jsi::PropNameID& b); + public static facebook::jsi::PropNameID forAscii(facebook::jsi::Runtime& runtime, const char* str); + public static facebook::jsi::PropNameID forAscii(facebook::jsi::Runtime& runtime, const char* str, size_t length); + public static facebook::jsi::PropNameID forAscii(facebook::jsi::Runtime& runtime, const std::string& str); + public static facebook::jsi::PropNameID forString(facebook::jsi::Runtime& runtime, const facebook::jsi::String& str); + public static facebook::jsi::PropNameID forSymbol(facebook::jsi::Runtime& runtime, const facebook::jsi::Symbol& sym); + public static facebook::jsi::PropNameID forUtf8(facebook::jsi::Runtime& runtime, const std::string& utf8); + public static facebook::jsi::PropNameID forUtf8(facebook::jsi::Runtime& runtime, const uint8_t* utf8, size_t length); + public static facebook::jsi::PropNameID forUtf16(facebook::jsi::Runtime& runtime, const char16_t* utf16, size_t length); + public static facebook::jsi::PropNameID forUtf16(facebook::jsi::Runtime& runtime, const std::u16string& str); + public std::string utf8(facebook::jsi::Runtime& runtime) const; + public std::u16string utf16(facebook::jsi::Runtime& runtime) const; + template + public static std::vector names(facebook::jsi::PropNameID(&&propertyNames)[N]); + template + public void getPropNameIdData(facebook::jsi::Runtime& runtime, CB& cb) const; + template + public static std::vector names(facebook::jsi::Runtime& runtime, Args &&... args); +} + +class facebook::jsi::Runtime : public facebook::jsi::ICast { + protected static const facebook::jsi::Runtime::PointerValue* getPointerValue(const facebook::jsi::Pointer& pointer); + protected static const facebook::jsi::Runtime::PointerValue* getPointerValue(const facebook::jsi::Value& value); + protected static facebook::jsi::Runtime::PointerValue* getPointerValue(facebook::jsi::Pointer& pointer); + protected virtual ScopeState* pushScope(); + protected virtual bool bigintIsInt64(const facebook::jsi::BigInt&) = 0; + protected virtual bool bigintIsUint64(const facebook::jsi::BigInt&) = 0; + protected virtual bool compare(const facebook::jsi::PropNameID&, const facebook::jsi::PropNameID&) = 0; + protected virtual bool hasNativeState(const facebook::jsi::Object&) = 0; + protected virtual bool hasProperty(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name) = 0; + protected virtual bool hasProperty(const facebook::jsi::Object&, const facebook::jsi::String& name) = 0; + protected virtual bool hasProperty(const facebook::jsi::Object&, const facebook::jsi::Value& name); + protected virtual bool instanceOf(const facebook::jsi::Object& o, const facebook::jsi::Function& f) = 0; + protected virtual bool isArray(const facebook::jsi::Object&) const = 0; + protected virtual bool isArrayBuffer(const facebook::jsi::Object&) const = 0; + protected virtual bool isFunction(const facebook::jsi::Object&) const = 0; + protected virtual bool isHostFunction(const facebook::jsi::Function&) const = 0; + protected virtual bool isHostObject(const facebook::jsi::Object&) const = 0; + protected virtual bool strictEquals(const facebook::jsi::BigInt& a, const facebook::jsi::BigInt& b) const = 0; + protected virtual bool strictEquals(const facebook::jsi::Object& a, const facebook::jsi::Object& b) const = 0; + protected virtual bool strictEquals(const facebook::jsi::String& a, const facebook::jsi::String& b) const = 0; + protected virtual bool strictEquals(const facebook::jsi::Symbol& a, const facebook::jsi::Symbol& b) const = 0; + protected virtual const void* getRuntimeDataImpl(const facebook::jsi::UUID& uuid); + protected virtual facebook::jsi::Array createArray(size_t length) = 0; + protected virtual facebook::jsi::Array getPropertyNames(const facebook::jsi::Object&) = 0; + protected virtual facebook::jsi::ArrayBuffer createArrayBuffer(std::shared_ptr buffer) = 0; + protected virtual facebook::jsi::BigInt createBigIntFromInt64(int64_t) = 0; + protected virtual facebook::jsi::BigInt createBigIntFromUint64(uint64_t) = 0; + protected virtual facebook::jsi::Function createFunctionFromHostFunction(const facebook::jsi::PropNameID& name, unsigned int paramCount, facebook::jsi::HostFunctionType func) = 0; + protected virtual facebook::jsi::HostFunctionType& getHostFunction(const facebook::jsi::Function&) = 0; + protected virtual facebook::jsi::Object createObject() = 0; + protected virtual facebook::jsi::Object createObject(std::shared_ptr ho) = 0; + protected virtual facebook::jsi::Object createObjectWithPrototype(const facebook::jsi::Value& prototype); + protected virtual facebook::jsi::PropNameID createPropNameIDFromAscii(const char* str, size_t length) = 0; + protected virtual facebook::jsi::PropNameID createPropNameIDFromString(const facebook::jsi::String& str) = 0; + protected virtual facebook::jsi::PropNameID createPropNameIDFromSymbol(const facebook::jsi::Symbol& sym) = 0; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf8(const uint8_t* utf8, size_t length) = 0; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf16(const char16_t* utf16, size_t length); + protected virtual facebook::jsi::Runtime::PointerValue* cloneBigInt(const facebook::jsi::Runtime::PointerValue* pv) = 0; + protected virtual facebook::jsi::Runtime::PointerValue* cloneObject(const facebook::jsi::Runtime::PointerValue* pv) = 0; + protected virtual facebook::jsi::Runtime::PointerValue* clonePropNameID(const facebook::jsi::Runtime::PointerValue* pv) = 0; + protected virtual facebook::jsi::Runtime::PointerValue* cloneString(const facebook::jsi::Runtime::PointerValue* pv) = 0; + protected virtual facebook::jsi::Runtime::PointerValue* cloneSymbol(const facebook::jsi::Runtime::PointerValue* pv) = 0; + protected virtual facebook::jsi::String bigintToString(const facebook::jsi::BigInt&, int) = 0; + protected virtual facebook::jsi::String createStringFromAscii(const char* str, size_t length) = 0; + protected virtual facebook::jsi::String createStringFromUtf8(const uint8_t* utf8, size_t length) = 0; + protected virtual facebook::jsi::String createStringFromUtf16(const char16_t* utf16, size_t length); + protected virtual facebook::jsi::Value call(const facebook::jsi::Function&, const facebook::jsi::Value& jsThis, const facebook::jsi::Value* args, size_t count) = 0; + protected virtual facebook::jsi::Value callAsConstructor(const facebook::jsi::Function&, const facebook::jsi::Value* args, size_t count) = 0; + protected virtual facebook::jsi::Value createValueFromJsonUtf8(const uint8_t* json, size_t length); + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name) = 0; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object&, const facebook::jsi::String& name) = 0; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object&, const facebook::jsi::Value& name); + protected virtual facebook::jsi::Value getPrototypeOf(const facebook::jsi::Object& object); + protected virtual facebook::jsi::Value getValueAtIndex(const facebook::jsi::Array&, size_t i) = 0; + protected virtual facebook::jsi::Value lockWeakObject(const facebook::jsi::WeakObject&) = 0; + protected virtual facebook::jsi::WeakObject createWeakObject(const facebook::jsi::Object&) = 0; + protected virtual size_t size(const facebook::jsi::Array&) = 0; + protected virtual size_t size(const facebook::jsi::ArrayBuffer&) = 0; + protected virtual std::shared_ptr getHostObject(const facebook::jsi::Object&) = 0; + protected virtual std::shared_ptr getNativeState(const facebook::jsi::Object&) = 0; + protected virtual std::string symbolToString(const facebook::jsi::Symbol&) = 0; + protected virtual std::string utf8(const facebook::jsi::PropNameID&) = 0; + protected virtual std::string utf8(const facebook::jsi::String&) = 0; + protected virtual std::u16string utf16(const facebook::jsi::PropNameID& sym); + protected virtual std::u16string utf16(const facebook::jsi::String& str); + protected virtual uint8_t* data(const facebook::jsi::ArrayBuffer&) = 0; + protected virtual uint64_t truncate(const facebook::jsi::BigInt&) = 0; + protected virtual void deleteProperty(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name); + protected virtual void deleteProperty(const facebook::jsi::Object&, const facebook::jsi::String& name); + protected virtual void deleteProperty(const facebook::jsi::Object&, const facebook::jsi::Value& name); + protected virtual void getPropNameIdData(const facebook::jsi::PropNameID& sym, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb); + protected virtual void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb); + protected virtual void popScope(ScopeState*); + protected virtual void setExternalMemoryPressure(const facebook::jsi::Object& obj, size_t amount) = 0; + protected virtual void setNativeState(const facebook::jsi::Object&, std::shared_ptr state) = 0; + protected virtual void setPropertyValue(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) = 0; + protected virtual void setPropertyValue(const facebook::jsi::Object&, const facebook::jsi::String& name, const facebook::jsi::Value& value) = 0; + protected virtual void setPropertyValue(const facebook::jsi::Object&, const facebook::jsi::Value& name, const facebook::jsi::Value& value); + protected virtual void setPrototypeOf(const facebook::jsi::Object& object, const facebook::jsi::Value& prototype); + protected virtual void setRuntimeDataImpl(const facebook::jsi::UUID& uuid, const void* data, void(*)(const void* data) deleter); + protected virtual void setValueAtIndexImpl(const facebook::jsi::Array&, size_t i, const facebook::jsi::Value& value) = 0; + public std::shared_ptr getRuntimeData(const facebook::jsi::UUID& uuid); + public virtual bool drainMicrotasks(int maxMicrotasksHint = -1) = 0; + public virtual bool isInspectable() = 0; + public virtual facebook::jsi::ICast* castInterface(const facebook::jsi::UUID& interfaceUUID) override; + public virtual facebook::jsi::Instrumentation& instrumentation(); + public virtual facebook::jsi::Object global() = 0; + public virtual facebook::jsi::Value evaluateJavaScript(const std::shared_ptr& buffer, const std::string& sourceURL) = 0; + public virtual facebook::jsi::Value evaluatePreparedJavaScript(const std::shared_ptr& js) = 0; + public virtual std::shared_ptr prepareJavaScript(const std::shared_ptr& buffer, std::string sourceURL) = 0; + public virtual std::string description() = 0; + public virtual void queueMicrotask(const facebook::jsi::Function& callback) = 0; + public virtual ~Runtime(); + public void setRuntimeData(const facebook::jsi::UUID& uuid, const std::shared_ptr& data); + template + protected static T make(facebook::jsi::Runtime::PointerValue* pv); +} + +struct facebook::jsi::Runtime::PointerValue { + protected virtual ~PointerValue() = default; + public virtual void invalidate() noexcept = 0; +} + +class facebook::jsi::Scope { + public Scope(const facebook::jsi::Scope&) = delete; + public Scope(facebook::jsi::Runtime& rt); + public Scope(facebook::jsi::Scope&&) = delete; + public facebook::jsi::Scope& operator=(const facebook::jsi::Scope&) = delete; + public facebook::jsi::Scope& operator=(facebook::jsi::Scope&&) = delete; + public ~Scope(); + template + public static decltype(f()) callInNewScope(facebook::jsi::Runtime& rt, F f); +} + +class facebook::jsi::SourceJavaScriptPreparation : public facebook::jsi::PreparedJavaScript, public facebook::jsi::Buffer { + public SourceJavaScriptPreparation(std::shared_ptr buf, std::string sourceURL); + public const std::string& sourceURL() const; + public virtual const uint8_t* data() const override; + public virtual size_t size() const override; +} + +class facebook::jsi::String : public facebook::jsi::Pointer { + public String(facebook::jsi::Pointer&& other) noexcept; + public String(facebook::jsi::Runtime::PointerValue* ptr); + public String(facebook::jsi::String&& other) = default; + public facebook::jsi::String& operator=(facebook::jsi::String&& other) = default; + public static bool strictEquals(facebook::jsi::Runtime& runtime, const facebook::jsi::String& a, const facebook::jsi::String& b); + public static facebook::jsi::String createFromAscii(facebook::jsi::Runtime& runtime, const char* str); + public static facebook::jsi::String createFromAscii(facebook::jsi::Runtime& runtime, const char* str, size_t length); + public static facebook::jsi::String createFromAscii(facebook::jsi::Runtime& runtime, const std::string& str); + public static facebook::jsi::String createFromUtf8(facebook::jsi::Runtime& runtime, const std::string& utf8); + public static facebook::jsi::String createFromUtf8(facebook::jsi::Runtime& runtime, const uint8_t* utf8, size_t length); + public static facebook::jsi::String createFromUtf16(facebook::jsi::Runtime& runtime, const char16_t* utf16, size_t length); + public static facebook::jsi::String createFromUtf16(facebook::jsi::Runtime& runtime, const std::u16string& utf16); + public std::string utf8(facebook::jsi::Runtime& runtime) const; + public std::u16string utf16(facebook::jsi::Runtime& runtime) const; + template + public void getStringData(facebook::jsi::Runtime& runtime, CB& cb) const; +} + +class facebook::jsi::StringBuffer : public facebook::jsi::Buffer { + public StringBuffer(std::string s); + public virtual const uint8_t* data() const override; + public virtual size_t size() const override; +} + +class facebook::jsi::Symbol : public facebook::jsi::Pointer { + public Symbol(facebook::jsi::Pointer&& other) noexcept; + public Symbol(facebook::jsi::Runtime::PointerValue* ptr); + public Symbol(facebook::jsi::Symbol&& other) = default; + public facebook::jsi::Symbol& operator=(facebook::jsi::Symbol&& other) = default; + public static bool strictEquals(facebook::jsi::Runtime& runtime, const facebook::jsi::Symbol& a, const facebook::jsi::Symbol& b); + public std::string toString(facebook::jsi::Runtime& runtime) const; +} + +class facebook::jsi::ThreadSafeRuntime : public facebook::jsi::Runtime { + public virtual facebook::jsi::Runtime& getUnsafeRuntime() = 0; + public virtual void lock() const = 0; + public virtual void unlock() const = 0; +} + +class facebook::jsi::UUID { + public constexpr UUID(); + public constexpr UUID(const facebook::jsi::UUID&) = default; + public constexpr UUID(uint32_t timeLow, uint16_t timeMid, uint16_t timeHighAndVersion, uint16_t variantAndClockSeq, uint64_t node); + public constexpr bool operator!=(const facebook::jsi::UUID& other) const; + public constexpr bool operator<(const facebook::jsi::UUID& other) const; + public constexpr bool operator==(const facebook::jsi::UUID& other) const; + public constexpr facebook::jsi::UUID& operator=(const facebook::jsi::UUID&) = default; + public constexpr uint16_t getTimeHighAndVersion() const; + public constexpr uint16_t getTimeMid() const; + public constexpr uint16_t getVariantAndClockSeq() const; + public constexpr uint32_t getTimeLow() const; + public constexpr uint64_t getNode() const; + public std::string toString() const; +} + +struct facebook::jsi::UUID::Hash { + public std::size_t operator()(const facebook::jsi::UUID& uuid) const noexcept; +} + +class facebook::jsi::Value { + public Value() noexcept; + public Value(bool b); + public Value(double d); + public Value(facebook::jsi::Runtime& runtime, const facebook::jsi::BigInt& bigint); + public Value(facebook::jsi::Runtime& runtime, const facebook::jsi::Object& obj); + public Value(facebook::jsi::Runtime& runtime, const facebook::jsi::String& str); + public Value(facebook::jsi::Runtime& runtime, const facebook::jsi::Symbol& sym); + public Value(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value); + public Value(facebook::jsi::Value&& other) noexcept; + public Value(int i); + public Value(std::nullptr_t); + public bool asBool() const; + public bool getBool() const; + public bool isBigInt() const; + public bool isBool() const; + public bool isNull() const; + public bool isNumber() const; + public bool isObject() const; + public bool isString() const; + public bool isSymbol() const; + public bool isUndefined() const; + public double asNumber() const; + public double getNumber() const; + public facebook::jsi::BigInt asBigInt(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::BigInt asBigInt(facebook::jsi::Runtime& runtime); + public facebook::jsi::BigInt getBigInt(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::BigInt getBigInt(facebook::jsi::Runtime&); + public facebook::jsi::Object asObject(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Object asObject(facebook::jsi::Runtime& runtime); + public facebook::jsi::Object getObject(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Object getObject(facebook::jsi::Runtime&); + public facebook::jsi::String asString(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::String asString(facebook::jsi::Runtime& runtime); + public facebook::jsi::String getString(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::String getString(facebook::jsi::Runtime&); + public facebook::jsi::String toString(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Symbol asSymbol(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Symbol asSymbol(facebook::jsi::Runtime& runtime); + public facebook::jsi::Symbol getSymbol(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Symbol getSymbol(facebook::jsi::Runtime&); + public facebook::jsi::Value& operator=(facebook::jsi::Value&& other) noexcept; + public static bool strictEquals(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& a, const facebook::jsi::Value& b); + public static facebook::jsi::Value createFromJsonUtf8(facebook::jsi::Runtime& runtime, const uint8_t* json, size_t length); + public static facebook::jsi::Value null(); + public static facebook::jsi::Value undefined(); + public ~Value(); + template + public Value(const char*); + template + public Value(facebook::jsi::Runtime&, const char*); + template ::value || std::is_base_of::value || std::is_base_of::value || std::is_base_of::value>> + public Value(T&& other); +} + +class facebook::jsi::WeakObject : public facebook::jsi::Pointer { + public WeakObject(facebook::jsi::Pointer&& other) noexcept; + public WeakObject(facebook::jsi::Runtime& runtime, const facebook::jsi::Object& o); + public WeakObject(facebook::jsi::Runtime::PointerValue* ptr); + public WeakObject(facebook::jsi::WeakObject&& other) = default; + public facebook::jsi::Value lock(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::WeakObject& operator=(facebook::jsi::WeakObject&& other) = default; +} + +struct facebook::jsi::ICast { + protected ~ICast() = default; + public virtual facebook::jsi::ICast* castInterface(const facebook::jsi::UUID& interfaceUUID) = 0; +} + +template +class facebook::jsi::RuntimeDecorator : public facebook::jsi::Runtime { + protected RuntimeDecorator(Plain& plain); + protected virtual Runtime::ScopeState* pushScope() override; + protected virtual bool bigintIsInt64(const facebook::jsi::BigInt& b) override; + protected virtual bool bigintIsUint64(const facebook::jsi::BigInt& b) override; + protected virtual bool compare(const facebook::jsi::PropNameID& a, const facebook::jsi::PropNameID& b) override; + protected virtual bool hasNativeState(const facebook::jsi::Object& o) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::String& name) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::Value& name) override; + protected virtual bool instanceOf(const facebook::jsi::Object& o, const facebook::jsi::Function& f) override; + protected virtual bool isArray(const facebook::jsi::Object& o) const override; + protected virtual bool isArrayBuffer(const facebook::jsi::Object& o) const override; + protected virtual bool isFunction(const facebook::jsi::Object& o) const override; + protected virtual bool isHostFunction(const facebook::jsi::Function& f) const override; + protected virtual bool isHostObject(const facebook::jsi::Object& o) const override; + protected virtual bool strictEquals(const facebook::jsi::BigInt& a, const facebook::jsi::BigInt& b) const override; + protected virtual bool strictEquals(const facebook::jsi::Object& a, const facebook::jsi::Object& b) const override; + protected virtual bool strictEquals(const facebook::jsi::String& a, const facebook::jsi::String& b) const override; + protected virtual bool strictEquals(const facebook::jsi::Symbol& a, const facebook::jsi::Symbol& b) const override; + protected virtual const void* getRuntimeDataImpl(const facebook::jsi::UUID& uuid) override; + protected virtual facebook::jsi::Array createArray(size_t length) override; + protected virtual facebook::jsi::Array getPropertyNames(const facebook::jsi::Object& o) override; + protected virtual facebook::jsi::ArrayBuffer createArrayBuffer(std::shared_ptr buffer) override; + protected virtual facebook::jsi::BigInt createBigIntFromInt64(int64_t value) override; + protected virtual facebook::jsi::BigInt createBigIntFromUint64(uint64_t value) override; + protected virtual facebook::jsi::Function createFunctionFromHostFunction(const facebook::jsi::PropNameID& name, unsigned int paramCount, facebook::jsi::HostFunctionType func) override; + protected virtual facebook::jsi::HostFunctionType& getHostFunction(const facebook::jsi::Function& f) override; + protected virtual facebook::jsi::Object createObject() override; + protected virtual facebook::jsi::Object createObject(std::shared_ptr ho) override; + protected virtual facebook::jsi::Object createObjectWithPrototype(const facebook::jsi::Value& prototype) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromAscii(const char* str, size_t length) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromString(const facebook::jsi::String& str) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromSymbol(const facebook::jsi::Symbol& sym) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf8(const uint8_t* utf8, size_t length) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf16(const char16_t* utf16, size_t length) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneBigInt(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneObject(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* clonePropNameID(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneString(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneSymbol(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::String bigintToString(const facebook::jsi::BigInt& bigint, int radix) override; + protected virtual facebook::jsi::String createStringFromAscii(const char* str, size_t length) override; + protected virtual facebook::jsi::String createStringFromUtf8(const uint8_t* utf8, size_t length) override; + protected virtual facebook::jsi::String createStringFromUtf16(const char16_t* utf16, size_t length) override; + protected virtual facebook::jsi::Value call(const facebook::jsi::Function& f, const facebook::jsi::Value& jsThis, const facebook::jsi::Value* args, size_t count) override; + protected virtual facebook::jsi::Value callAsConstructor(const facebook::jsi::Function& f, const facebook::jsi::Value* args, size_t count) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::String& name) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::Value& name) override; + protected virtual facebook::jsi::Value getPrototypeOf(const facebook::jsi::Object& object) override; + protected virtual facebook::jsi::Value getValueAtIndex(const facebook::jsi::Array& a, size_t i) override; + protected virtual facebook::jsi::Value lockWeakObject(const facebook::jsi::WeakObject& wo) override; + protected virtual facebook::jsi::WeakObject createWeakObject(const facebook::jsi::Object& o) override; + protected virtual size_t size(const facebook::jsi::Array& a) override; + protected virtual size_t size(const facebook::jsi::ArrayBuffer& ab) override; + protected virtual std::shared_ptr getHostObject(const facebook::jsi::Object& o) override; + protected virtual std::shared_ptr getNativeState(const facebook::jsi::Object& o) override; + protected virtual std::string flushAndDisableBridgeTrafficTrace() override; + protected virtual std::string getRecordedGCStats() override; + protected virtual std::string symbolToString(const facebook::jsi::Symbol& sym) override; + protected virtual std::string utf8(const facebook::jsi::PropNameID& id) override; + protected virtual std::string utf8(const facebook::jsi::String& s) override; + protected virtual std::u16string utf16(const facebook::jsi::PropNameID& sym) override; + protected virtual std::u16string utf16(const facebook::jsi::String& str) override; + protected virtual std::unordered_map getHeapInfo(bool includeExpensive) override; + protected virtual uint8_t* data(const facebook::jsi::ArrayBuffer& ab) override; + protected virtual uint64_t truncate(const facebook::jsi::BigInt& b) override; + protected virtual void collectGarbage(std::string cause) override; + protected virtual void createSnapshotToFile(const std::string& path, const facebook::jsi::Instrumentation::HeapSnapshotOptions& options) override; + protected virtual void createSnapshotToStream(std::ostream& os, const facebook::jsi::Instrumentation::HeapSnapshotOptions& options) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::PropNameID& name) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::String& name) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::Value& name) override; + protected virtual void dumpOpcodeStats(std::ostream& os) const override; + protected virtual void dumpProfilerSymbolsToFile(const std::string& fileName) const override; + protected virtual void setExternalMemoryPressure(const facebook::jsi::Object& obj, size_t amount) override; + protected virtual void setNativeState(const facebook::jsi::Object& o, std::shared_ptr state) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::String& name, const facebook::jsi::Value& value) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::Value& name, const facebook::jsi::Value& value) override; + protected virtual void setPrototypeOf(const facebook::jsi::Object& object, const facebook::jsi::Value& prototype) override; + protected virtual void setRuntimeDataImpl(const facebook::jsi::UUID& uuid, const void* data, void(*)(const void* data) deleter) override; + protected virtual void setValueAtIndexImpl(const facebook::jsi::Array& a, size_t i, const facebook::jsi::Value& value) override; + protected virtual void startHeapSampling(size_t samplingInterval) override; + protected virtual void stopHeapSampling(std::ostream& os) override; + protected virtual void stopTrackingHeapObjectStackTraces() override; + protected virtual void writeBasicBlockProfileTraceToFile(const std::string& fileName) const override; + protected void getPropNameIdData(const facebook::jsi::PropNameID& sym, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) override; + protected void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) override; + protected void popScope(Runtime::ScopeState* ss) override; + protected void startTrackingHeapObjectStackTraces(std::function)> callback) override; + public Plain& plain(); + public const Plain& plain() const; + public virtual bool drainMicrotasks(int maxMicrotasksHint) override; + public virtual bool isInspectable() override; + public virtual facebook::jsi::ICast* castInterface(const facebook::jsi::UUID& interfaceUUID) override; + public virtual facebook::jsi::Instrumentation& instrumentation() override; + public virtual facebook::jsi::Object global() override; + public virtual facebook::jsi::Value evaluateJavaScript(const std::shared_ptr& buffer, const std::string& sourceURL) override; + public virtual facebook::jsi::Value evaluatePreparedJavaScript(const std::shared_ptr& js) override; + public virtual std::shared_ptr prepareJavaScript(const std::shared_ptr& buffer, std::string sourceURL) override; + public virtual std::string description() override; + public virtual void queueMicrotask(const facebook::jsi::Function& callback) override; +} + +template +class facebook::jsi::WithRuntimeDecorator : public facebook::jsi::RuntimeDecorator { + protected virtual Runtime::ScopeState* pushScope() override; + protected virtual bool bigintIsInt64(const facebook::jsi::BigInt& bi) override; + protected virtual bool bigintIsUint64(const facebook::jsi::BigInt& bi) override; + protected virtual bool compare(const facebook::jsi::PropNameID& a, const facebook::jsi::PropNameID& b) override; + protected virtual bool hasNativeState(const facebook::jsi::Object& o) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::String& name) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::Value& name) override; + protected virtual bool instanceOf(const facebook::jsi::Object& o, const facebook::jsi::Function& f) override; + protected virtual bool isArray(const facebook::jsi::Object& o) const override; + protected virtual bool isArrayBuffer(const facebook::jsi::Object& o) const override; + protected virtual bool isFunction(const facebook::jsi::Object& o) const override; + protected virtual bool isHostFunction(const facebook::jsi::Function& f) const override; + protected virtual bool isHostObject(const facebook::jsi::Object& o) const override; + protected virtual bool strictEquals(const facebook::jsi::BigInt& a, const facebook::jsi::BigInt& b) const override; + protected virtual bool strictEquals(const facebook::jsi::Object& a, const facebook::jsi::Object& b) const override; + protected virtual bool strictEquals(const facebook::jsi::String& a, const facebook::jsi::String& b) const override; + protected virtual bool strictEquals(const facebook::jsi::Symbol& a, const facebook::jsi::Symbol& b) const override; + protected virtual const void* getRuntimeDataImpl(const facebook::jsi::UUID& uuid) override; + protected virtual facebook::jsi::Array createArray(size_t length) override; + protected virtual facebook::jsi::Array getPropertyNames(const facebook::jsi::Object& o) override; + protected virtual facebook::jsi::ArrayBuffer createArrayBuffer(std::shared_ptr buffer) override; + protected virtual facebook::jsi::BigInt createBigIntFromInt64(int64_t i) override; + protected virtual facebook::jsi::BigInt createBigIntFromUint64(uint64_t i) override; + protected virtual facebook::jsi::Function createFunctionFromHostFunction(const facebook::jsi::PropNameID& name, unsigned int paramCount, facebook::jsi::HostFunctionType func) override; + protected virtual facebook::jsi::HostFunctionType& getHostFunction(const facebook::jsi::Function& f) override; + protected virtual facebook::jsi::Object createObject() override; + protected virtual facebook::jsi::Object createObject(std::shared_ptr ho) override; + protected virtual facebook::jsi::Object createObjectWithPrototype(const facebook::jsi::Value& prototype) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromAscii(const char* str, size_t length) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromString(const facebook::jsi::String& str) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromSymbol(const facebook::jsi::Symbol& sym) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf8(const uint8_t* utf8, size_t length) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf16(const char16_t* utf16, size_t length) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneBigInt(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneObject(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* clonePropNameID(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneString(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneSymbol(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::String bigintToString(const facebook::jsi::BigInt& bi, int i) override; + protected virtual facebook::jsi::String createStringFromAscii(const char* str, size_t length) override; + protected virtual facebook::jsi::String createStringFromUtf8(const uint8_t* utf8, size_t length) override; + protected virtual facebook::jsi::String createStringFromUtf16(const char16_t* utf16, size_t length) override; + protected virtual facebook::jsi::Value call(const facebook::jsi::Function& f, const facebook::jsi::Value& jsThis, const facebook::jsi::Value* args, size_t count) override; + protected virtual facebook::jsi::Value callAsConstructor(const facebook::jsi::Function& f, const facebook::jsi::Value* args, size_t count) override; + protected virtual facebook::jsi::Value createValueFromJsonUtf8(const uint8_t* json, size_t length) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::String& name) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::Value& name) override; + protected virtual facebook::jsi::Value getPrototypeOf(const facebook::jsi::Object& object) override; + protected virtual facebook::jsi::Value getValueAtIndex(const facebook::jsi::Array& a, size_t i) override; + protected virtual facebook::jsi::Value lockWeakObject(const facebook::jsi::WeakObject& wo) override; + protected virtual facebook::jsi::WeakObject createWeakObject(const facebook::jsi::Object& o) override; + protected virtual size_t size(const facebook::jsi::Array& a) override; + protected virtual size_t size(const facebook::jsi::ArrayBuffer& ab) override; + protected virtual std::shared_ptr getHostObject(const facebook::jsi::Object& o) override; + protected virtual std::shared_ptr getNativeState(const facebook::jsi::Object& o) override; + protected virtual std::string symbolToString(const facebook::jsi::Symbol& sym) override; + protected virtual std::string utf8(const facebook::jsi::PropNameID& id) override; + protected virtual std::string utf8(const facebook::jsi::String& s) override; + protected virtual std::u16string utf16(const facebook::jsi::PropNameID& sym) override; + protected virtual std::u16string utf16(const facebook::jsi::String& str) override; + protected virtual uint8_t* data(const facebook::jsi::ArrayBuffer& ab) override; + protected virtual uint64_t truncate(const facebook::jsi::BigInt& bi) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::PropNameID& name) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::String& name) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::Value& name) override; + protected virtual void setExternalMemoryPressure(const facebook::jsi::Object& obj, size_t amt) override; + protected virtual void setNativeState(const facebook::jsi::Object& o, std::shared_ptr state) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::String& name, const facebook::jsi::Value& value) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::Value& name, const facebook::jsi::Value& value) override; + protected virtual void setPrototypeOf(const facebook::jsi::Object& object, const facebook::jsi::Value& prototype) override; + protected virtual void setRuntimeDataImpl(const facebook::jsi::UUID& uuid, const void* data, void(*)(const void* data) deleter) override; + protected virtual void setValueAtIndexImpl(const facebook::jsi::Array& a, size_t i, const facebook::jsi::Value& value) override; + protected void getPropNameIdData(const facebook::jsi::PropNameID& sym, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) override; + protected void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) override; + protected void popScope(Runtime::ScopeState* ss) override; + public WithRuntimeDecorator(Plain& plain, With& with); + public using RD = facebook::jsi::RuntimeDecorator; + public virtual bool drainMicrotasks(int maxMicrotasksHint) override; + public virtual bool isInspectable() override; + public virtual facebook::jsi::ICast* castInterface(const facebook::jsi::UUID& interfaceUUID) override; + public virtual facebook::jsi::Instrumentation& instrumentation() override; + public virtual facebook::jsi::Object global() override; + public virtual facebook::jsi::Value evaluateJavaScript(const std::shared_ptr& buffer, const std::string& sourceURL) override; + public virtual facebook::jsi::Value evaluatePreparedJavaScript(const std::shared_ptr& js) override; + public virtual std::shared_ptr prepareJavaScript(const std::shared_ptr& buffer, std::string sourceURL) override; + public virtual std::string description() override; + public virtual void queueMicrotask(const facebook::jsi::Function& callback) override; +} + + +class facebook::jsi::jni::HermesMemoryDumper : public jni::JavaClass { + public bool shouldSaveSnapshot(); + public static constexpr auto kJavaDescriptor; + public std::string getId(); + public std::string getInternalStorage(); + public void setMetaData(std::string crashId); +} + +class facebook::jsi::jni::HermesSamplingProfiler : public jni::JavaClass { + public static constexpr auto kJavaDescriptor; + public static void disable(jni::alias_ref); + public static void dumpSampledTraceToFile(jni::alias_ref, const std::string& filename); + public static void enable(jni::alias_ref); + public static void registerNatives(); +} + + +facebook::jsi::PropNameID facebook::jsi::detail::toPropNameID(facebook::jsi::Runtime& runtime, const char* name); +facebook::jsi::PropNameID facebook::jsi::detail::toPropNameID(facebook::jsi::Runtime& runtime, const std::string& name); +facebook::jsi::PropNameID&& facebook::jsi::detail::toPropNameID(facebook::jsi::Runtime&, facebook::jsi::PropNameID&& name); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime& runtime, const char* str); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime& runtime, const std::string& str); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime&, bool b); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime&, double d); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime&, float f); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime&, int i); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime&, std::nullptr_t); +facebook::jsi::Value&& facebook::jsi::detail::toValue(facebook::jsi::Runtime&, facebook::jsi::Value&& value); +template +void facebook::jsi::detail::throwOrDie(Args &&... args); +template +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime& runtime, const T& other); + +template +class facebook::jsi::detail::ThreadSafeRuntimeImpl : public facebook::jsi::WithRuntimeDecorator, R, facebook::jsi::ThreadSafeRuntime> { + public virtual R& getUnsafeRuntime() override; + public virtual void lock() const override; + public virtual void unlock() const override; + template + public ThreadSafeRuntimeImpl(Args &&... args); +} + +template +struct facebook::jsi::detail::WithLock { + public L lock; + public WithLock(R& r); + public void after(); + public void before(); +} + +template +struct facebook::jsi::detail::AfterCaller { + public static void after(T&); +} + +template +struct facebook::jsi::detail::BeforeCaller { + public static void before(T&); +} + +template +struct facebook::jsi::detail::AfterCaller { + public static void after(T& t); +} + +template +struct facebook::jsi::detail::BeforeCaller { + public static void before(T& t); +} + +template +struct facebook::jsi::detail::AfterCaller> { + public static void after(std::tuple& tuple); +} + +template +struct facebook::jsi::detail::BeforeCaller> { + public static void before(std::tuple& tuple); +} + + +using facebook::yoga::ExperimentalFeatureSet = std::bitset()>; +using facebook::yoga::GridTrackList = std::vector; +template +concept facebook::yoga::Enumeration = std::is_enum_v; +template +concept facebook::yoga::HasOrdinality = (facebook::yoga::ordinalCount()> 0); +YGLogger facebook::yoga::getDefaultLogger(); +bool facebook::yoga::calculateLayoutInternal(facebook::yoga::Node* node, float availableWidth, float availableHeight, facebook::yoga::Direction ownerDirection, facebook::yoga::SizingMode widthSizingMode, facebook::yoga::SizingMode heightSizingMode, float ownerWidth, float ownerHeight, bool performLayout, facebook::yoga::LayoutPassReason reason, facebook::yoga::LayoutData& layoutMarkerData, uint32_t depth, uint32_t generationCount); +bool facebook::yoga::canUseCachedMeasurement(facebook::yoga::SizingMode widthMode, float availableWidth, facebook::yoga::SizingMode heightMode, float availableHeight, facebook::yoga::SizingMode lastWidthMode, float lastAvailableWidth, facebook::yoga::SizingMode lastHeightMode, float lastAvailableHeight, float lastComputedWidth, float lastComputedHeight, float marginRow, float marginColumn, const facebook::yoga::Config* config); +bool facebook::yoga::configUpdateInvalidatesLayout(const facebook::yoga::Config& oldConfig, const facebook::yoga::Config& newConfig); +bool facebook::yoga::inexactEquals(const facebook::yoga::StyleLength& a, const facebook::yoga::StyleLength& b); +bool facebook::yoga::inexactEquals(const facebook::yoga::StyleSizeLength& a, const facebook::yoga::StyleSizeLength& b); +bool facebook::yoga::inexactEquals(double a, double b); +bool facebook::yoga::inexactEquals(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +bool facebook::yoga::inexactEquals(float a, float b); +bool facebook::yoga::isBaselineLayout(const facebook::yoga::Node* node); +bool facebook::yoga::isColumn(const facebook::yoga::FlexDirection flexDirection); +bool facebook::yoga::isRow(const facebook::yoga::FlexDirection flexDirection); +bool facebook::yoga::layoutAbsoluteDescendants(facebook::yoga::Node* containingNode, facebook::yoga::Node* currentNode, facebook::yoga::SizingMode widthSizingMode, facebook::yoga::Direction currentNodeDirection, facebook::yoga::LayoutData& layoutMarkerData, uint32_t currentDepth, uint32_t generationCount, float currentNodeMainOffsetFromContainingBlock, float currentNodeCrossOffsetFromContainingBlock, float containingNodeAvailableInnerWidth, float containingNodeAvailableInnerHeight); +bool facebook::yoga::needsTrailingPosition(const facebook::yoga::FlexDirection axis); +const char* facebook::yoga::LayoutPassReasonToString(facebook::yoga::LayoutPassReason value); +const char* facebook::yoga::toString(facebook::yoga::Align e); +const char* facebook::yoga::toString(facebook::yoga::BoxSizing e); +const char* facebook::yoga::toString(facebook::yoga::Dimension e); +const char* facebook::yoga::toString(facebook::yoga::Direction e); +const char* facebook::yoga::toString(facebook::yoga::Display e); +const char* facebook::yoga::toString(facebook::yoga::Edge e); +const char* facebook::yoga::toString(facebook::yoga::Errata e); +const char* facebook::yoga::toString(facebook::yoga::ExperimentalFeature e); +const char* facebook::yoga::toString(facebook::yoga::FlexDirection e); +const char* facebook::yoga::toString(facebook::yoga::GridTrackType e); +const char* facebook::yoga::toString(facebook::yoga::Gutter e); +const char* facebook::yoga::toString(facebook::yoga::Justify e); +const char* facebook::yoga::toString(facebook::yoga::LogLevel e); +const char* facebook::yoga::toString(facebook::yoga::MeasureMode e); +const char* facebook::yoga::toString(facebook::yoga::NodeType e); +const char* facebook::yoga::toString(facebook::yoga::Overflow e); +const char* facebook::yoga::toString(facebook::yoga::PositionType e); +const char* facebook::yoga::toString(facebook::yoga::Unit e); +const char* facebook::yoga::toString(facebook::yoga::Wrap e); +const facebook::yoga::Node* facebook::yoga::resolveRef(const YGNodeConstRef ref); +constexpr YGAlign facebook::yoga::unscopedEnum(facebook::yoga::Align scoped); +constexpr YGBoxSizing facebook::yoga::unscopedEnum(facebook::yoga::BoxSizing scoped); +constexpr YGDimension facebook::yoga::unscopedEnum(facebook::yoga::Dimension scoped); +constexpr YGDirection facebook::yoga::unscopedEnum(facebook::yoga::Direction scoped); +constexpr YGDisplay facebook::yoga::unscopedEnum(facebook::yoga::Display scoped); +constexpr YGEdge facebook::yoga::unscopedEnum(facebook::yoga::Edge scoped); +constexpr YGErrata facebook::yoga::unscopedEnum(facebook::yoga::Errata scoped); +constexpr YGExperimentalFeature facebook::yoga::unscopedEnum(facebook::yoga::ExperimentalFeature scoped); +constexpr YGFlexDirection facebook::yoga::unscopedEnum(facebook::yoga::FlexDirection scoped); +constexpr YGGridTrackType facebook::yoga::unscopedEnum(facebook::yoga::GridTrackType scoped); +constexpr YGGutter facebook::yoga::unscopedEnum(facebook::yoga::Gutter scoped); +constexpr YGJustify facebook::yoga::unscopedEnum(facebook::yoga::Justify scoped); +constexpr YGLogLevel facebook::yoga::unscopedEnum(facebook::yoga::LogLevel scoped); +constexpr YGMeasureMode facebook::yoga::unscopedEnum(facebook::yoga::MeasureMode scoped); +constexpr YGNodeType facebook::yoga::unscopedEnum(facebook::yoga::NodeType scoped); +constexpr YGOverflow facebook::yoga::unscopedEnum(facebook::yoga::Overflow scoped); +constexpr YGPositionType facebook::yoga::unscopedEnum(facebook::yoga::PositionType scoped); +constexpr YGUnit facebook::yoga::unscopedEnum(facebook::yoga::Unit scoped); +constexpr YGWrap facebook::yoga::unscopedEnum(facebook::yoga::Wrap scoped); +constexpr auto facebook::yoga::maxOrDefined(std::floating_point auto a, std::floating_point auto b); +constexpr auto facebook::yoga::minOrDefined(std::floating_point auto a, std::floating_point auto b); +constexpr auto facebook::yoga::to_underlying(Enumeration auto e) noexcept; +constexpr bool facebook::yoga::isDefined(std::floating_point auto value); +constexpr bool facebook::yoga::isUndefined(std::floating_point auto value); +constexpr bool facebook::yoga::isinf(auto value); +constexpr facebook::yoga::Align facebook::yoga::fallbackAlignment(facebook::yoga::Align align); +constexpr facebook::yoga::Align facebook::yoga::scopedEnum(YGAlign unscoped); +constexpr facebook::yoga::BoxSizing facebook::yoga::scopedEnum(YGBoxSizing unscoped); +constexpr facebook::yoga::Dimension facebook::yoga::scopedEnum(YGDimension unscoped); +constexpr facebook::yoga::Direction facebook::yoga::scopedEnum(YGDirection unscoped); +constexpr facebook::yoga::Display facebook::yoga::scopedEnum(YGDisplay unscoped); +constexpr facebook::yoga::Edge facebook::yoga::scopedEnum(YGEdge unscoped); +constexpr facebook::yoga::Errata facebook::yoga::scopedEnum(YGErrata unscoped); +constexpr facebook::yoga::ExperimentalFeature facebook::yoga::scopedEnum(YGExperimentalFeature unscoped); +constexpr facebook::yoga::FlexDirection facebook::yoga::scopedEnum(YGFlexDirection unscoped); +constexpr facebook::yoga::FloatOptional facebook::yoga::maxOrDefined(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr facebook::yoga::GridTrackType facebook::yoga::scopedEnum(YGGridTrackType unscoped); +constexpr facebook::yoga::Gutter facebook::yoga::scopedEnum(YGGutter unscoped); +constexpr facebook::yoga::Justify facebook::yoga::fallbackAlignment(facebook::yoga::Justify align); +constexpr facebook::yoga::Justify facebook::yoga::scopedEnum(YGJustify unscoped); +constexpr facebook::yoga::LogLevel facebook::yoga::scopedEnum(YGLogLevel unscoped); +constexpr facebook::yoga::MeasureMode facebook::yoga::scopedEnum(YGMeasureMode unscoped); +constexpr facebook::yoga::NodeType facebook::yoga::scopedEnum(YGNodeType unscoped); +constexpr facebook::yoga::Overflow facebook::yoga::scopedEnum(YGOverflow unscoped); +constexpr facebook::yoga::PositionType facebook::yoga::scopedEnum(YGPositionType unscoped); +constexpr facebook::yoga::Unit facebook::yoga::scopedEnum(YGUnit unscoped); +constexpr facebook::yoga::Wrap facebook::yoga::scopedEnum(YGWrap unscoped); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +facebook::yoga::Align facebook::yoga::resolveChildAlignment(const facebook::yoga::Node* node, const facebook::yoga::Node* child); +facebook::yoga::Config* facebook::yoga::resolveRef(const YGConfigRef ref); +facebook::yoga::Dimension facebook::yoga::dimension(facebook::yoga::FlexDirection flexDirection); +facebook::yoga::FlexDirection facebook::yoga::resolveCrossDirection(const facebook::yoga::FlexDirection flexDirection, const facebook::yoga::Direction direction); +facebook::yoga::FlexDirection facebook::yoga::resolveDirection(const facebook::yoga::FlexDirection flexDirection, const facebook::yoga::Direction direction); +facebook::yoga::FlexLine facebook::yoga::calculateFlexLine(facebook::yoga::Node* node, facebook::yoga::Direction ownerDirection, float ownerWidth, float mainAxisOwnerSize, float availableInnerWidth, float availableInnerMainDim, facebook::yoga::Node::LayoutableChildren::Iterator& iterator, size_t lineCount); +facebook::yoga::FloatOptional facebook::yoga::boundAxisWithinMinAndMax(const facebook::yoga::Node *const node, const facebook::yoga::Direction direction, const facebook::yoga::FlexDirection axis, const facebook::yoga::FloatOptional value, const float axisSize, const float widthSize); +facebook::yoga::Justify facebook::yoga::resolveChildJustification(const facebook::yoga::Node* node, const facebook::yoga::Node* child); +facebook::yoga::MeasureMode facebook::yoga::measureMode(facebook::yoga::SizingMode mode); +facebook::yoga::Node* facebook::yoga::resolveRef(const YGNodeRef ref); +facebook::yoga::PhysicalEdge facebook::yoga::flexEndEdge(facebook::yoga::FlexDirection flexDirection); +facebook::yoga::PhysicalEdge facebook::yoga::flexStartEdge(facebook::yoga::FlexDirection flexDirection); +facebook::yoga::PhysicalEdge facebook::yoga::inlineEndEdge(facebook::yoga::FlexDirection flexDirection, facebook::yoga::Direction direction); +facebook::yoga::PhysicalEdge facebook::yoga::inlineStartEdge(facebook::yoga::FlexDirection flexDirection, facebook::yoga::Direction direction); +facebook::yoga::SizingMode facebook::yoga::sizingMode(facebook::yoga::MeasureMode mode); +float facebook::yoga::boundAxis(const facebook::yoga::Node *const node, const facebook::yoga::FlexDirection axis, const facebook::yoga::Direction direction, const float value, const float axisSize, const float widthSize); +float facebook::yoga::calculateAvailableInnerDimension(const facebook::yoga::Node *const node, const facebook::yoga::Direction direction, const facebook::yoga::Dimension dimension, const float availableDim, float paddingAndBorder, const float ownerDim, const float ownerWidth); +float facebook::yoga::calculateBaseline(const facebook::yoga::Node* node); +float facebook::yoga::getPositionOfOppositeEdge(float position, facebook::yoga::FlexDirection axis, const facebook::yoga::Node *const containingNode, const facebook::yoga::Node *const node); +float facebook::yoga::paddingAndBorderForAxis(const facebook::yoga::Node *const node, const facebook::yoga::FlexDirection axis, const facebook::yoga::Direction direction, const float widthSize); +float facebook::yoga::roundValueToPixelGrid(double value, double pointScaleFactor, bool forceCeil, bool forceFloor); +template +constexpr int32_t facebook::yoga::ordinalCount(); +template +auto facebook::yoga::ordinals(); +template +constexpr int32_t facebook::yoga::bitCount(); +template +bool facebook::yoga::inexactEquals(const std::array& val1, const std::array& val2); +void facebook::yoga::assertFatal(bool condition, const char* message); +void facebook::yoga::assertFatalWithConfig(const facebook::yoga::Config* config, bool condition, const char* message); +void facebook::yoga::assertFatalWithNode(const facebook::yoga::Node* node, bool condition, const char* message); +void facebook::yoga::calculateLayout(facebook::yoga::Node* node, float ownerWidth, float ownerHeight, facebook::yoga::Direction ownerDirection); +void facebook::yoga::cleanupContentsNodesRecursively(facebook::yoga::Node *const node); +void facebook::yoga::constrainMaxSizeForMode(const facebook::yoga::Node* node, facebook::yoga::Direction direction, facebook::yoga::FlexDirection axis, float ownerAxisSize, float ownerWidth, facebook::yoga::SizingMode* mode, float* size); +void facebook::yoga::fatalWithMessage(const char* message); +void facebook::yoga::layoutAbsoluteChild(const facebook::yoga::Node* containingNode, const facebook::yoga::Node* node, facebook::yoga::Node* child, float containingBlockWidth, float containingBlockHeight, facebook::yoga::SizingMode widthMode, facebook::yoga::Direction direction, facebook::yoga::LayoutData& layoutMarkerData, uint32_t depth, uint32_t generationCount); +void facebook::yoga::log(const facebook::yoga::Config* config, facebook::yoga::LogLevel level, const char* format, ...) noexcept; +void facebook::yoga::log(const facebook::yoga::Node* node, facebook::yoga::LogLevel level, const char* format, ...) noexcept; +void facebook::yoga::log(facebook::yoga::LogLevel level, const char* format, ...) noexcept; +void facebook::yoga::roundLayoutResultsToPixelGrid(facebook::yoga::Node* node, double absoluteLeft, double absoluteTop); +void facebook::yoga::setChildTrailingPosition(const facebook::yoga::Node *const node, facebook::yoga::Node *const child, const facebook::yoga::FlexDirection axis); +void facebook::yoga::zeroOutLayoutRecursively(facebook::yoga::Node *const node); +constexpr bool facebook::yoga::operator<(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr bool facebook::yoga::operator<=(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr bool facebook::yoga::operator==(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr bool facebook::yoga::operator==(facebook::yoga::FloatOptional lhs, float rhs); +constexpr bool facebook::yoga::operator==(float lhs, facebook::yoga::FloatOptional rhs); +constexpr bool facebook::yoga::operator>(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr bool facebook::yoga::operator>=(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr facebook::yoga::FloatOptional facebook::yoga::operator+(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); + +class facebook::yoga::Config : public YGConfig { + public Config(YGLogger logger); + public YGNodeRef cloneNode(YGNodeConstRef node, YGNodeConstRef owner, size_t childIndex) const; + public bool hasErrata(facebook::yoga::Errata errata) const; + public bool isExperimentalFeatureEnabled(facebook::yoga::ExperimentalFeature feature) const; + public bool useWebDefaults() const; + public facebook::yoga::Errata getErrata() const; + public facebook::yoga::ExperimentalFeatureSet getEnabledExperiments() const; + public float getPointScaleFactor() const; + public static const facebook::yoga::Config& getDefault(); + public uint32_t getVersion() const noexcept; + public void addErrata(facebook::yoga::Errata errata); + public void log(const facebook::yoga::Node* node, facebook::yoga::LogLevel logLevel, const char* format, va_list args) const; + public void removeErrata(facebook::yoga::Errata errata); + public void setCloneNodeCallback(YGCloneNodeFunc cloneNode); + public void setContext(void* context); + public void setErrata(facebook::yoga::Errata errata); + public void setExperimentalFeatureEnabled(facebook::yoga::ExperimentalFeature feature, bool enabled); + public void setLogger(YGLogger logger); + public void setPointScaleFactor(float pointScaleFactor); + public void setUseWebDefaults(bool useWebDefaults); + public void* getContext() const; +} + +class facebook::yoga::Node : public YGNode { + public Node(); + public Node(const facebook::yoga::Config* config); + public Node(const facebook::yoga::Node& node) = default; + public Node(facebook::yoga::Node&& node) noexcept; + public YGDirtiedFunc getDirtiedFunc() const; + public YGSize measure(float availableWidth, facebook::yoga::MeasureMode widthMode, float availableHeight, facebook::yoga::MeasureMode heightMode); + public bool alwaysFormsContainingBlock() const; + public bool getHasNewLayout() const; + public bool hasBaselineFunc() const noexcept; + public bool hasContentsChildren() const; + public bool hasDefiniteLength(facebook::yoga::Dimension dimension, float ownerSize); + public bool hasErrata(facebook::yoga::Errata errata) const; + public bool hasMeasureFunc() const noexcept; + public bool isDirty() const; + public bool isLayoutDimensionDefined(facebook::yoga::FlexDirection axis); + public bool isNodeFlexible(); + public bool isReferenceBaseline() const; + public bool removeChild(facebook::yoga::Node* child); + public const facebook::yoga::Config* getConfig() const; + public const facebook::yoga::LayoutResults& getLayout() const; + public const facebook::yoga::Style& style() const; + public const std::vector& getChildren() const; + public facebook::yoga::Direction resolveDirection(facebook::yoga::Direction ownerDirection); + public facebook::yoga::FloatOptional getResolvedDimension(facebook::yoga::Direction direction, facebook::yoga::Dimension dimension, float referenceLength, float ownerWidth) const; + public facebook::yoga::FloatOptional resolveFlexBasis(facebook::yoga::Direction direction, facebook::yoga::FlexDirection flexDirection, float referenceLength, float ownerWidth) const; + public facebook::yoga::LayoutResults& getLayout(); + public facebook::yoga::Node& operator=(const facebook::yoga::Node&) = delete; + public facebook::yoga::Node* getChild(size_t index) const; + public facebook::yoga::Node* getOwner() const; + public facebook::yoga::Node::LayoutableChildren getLayoutChildren() const; + public facebook::yoga::NodeType getNodeType() const; + public facebook::yoga::Style& style(); + public facebook::yoga::Style::SizeLength getProcessedDimension(facebook::yoga::Dimension dimension) const; + public facebook::yoga::Style::SizeLength processFlexBasis() const; + public float baseline(float width, float height) const; + public float dimensionWithMargin(facebook::yoga::FlexDirection axis, float widthSize); + public float relativePosition(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float axisSize) const; + public float resolveFlexGrow() const; + public float resolveFlexShrink() const; + public size_t getChildCount() const; + public size_t getLayoutChildCount() const; + public size_t getLineIndex() const; + public using LayoutableChildren = facebook::yoga::LayoutableChildren; + public void clearChildren(); + public void cloneChildrenIfNeeded(); + public void cloneContentsChildrenIfNeeded(); + public void insertChild(facebook::yoga::Node* child, size_t index); + public void markDirtyAndPropagate(); + public void processDimensions(); + public void removeChild(size_t index); + public void replaceChild(facebook::yoga::Node* child, size_t index); + public void replaceChild(facebook::yoga::Node* oldChild, facebook::yoga::Node* newChild); + public void reset(); + public void setAlwaysFormsContainingBlock(bool alwaysFormsContainingBlock); + public void setBaselineFunc(YGBaselineFunc baseLineFunc); + public void setChildren(const std::vector& children); + public void setConfig(facebook::yoga::Config* config); + public void setContext(void* context); + public void setDirtiedFunc(YGDirtiedFunc dirtiedFunc); + public void setDirty(bool isDirty); + public void setHasNewLayout(bool hasNewLayout); + public void setIsReferenceBaseline(bool isReferenceBaseline); + public void setLayout(const facebook::yoga::LayoutResults& layout); + public void setLayoutBorder(float border, facebook::yoga::PhysicalEdge edge); + public void setLayoutComputedFlexBasis(facebook::yoga::FloatOptional computedFlexBasis); + public void setLayoutComputedFlexBasisGeneration(uint32_t computedFlexBasisGeneration); + public void setLayoutDimension(float lengthValue, facebook::yoga::Dimension dimension); + public void setLayoutDirection(facebook::yoga::Direction direction); + public void setLayoutHadOverflow(bool hadOverflow); + public void setLayoutLastOwnerDirection(facebook::yoga::Direction direction); + public void setLayoutMargin(float margin, facebook::yoga::PhysicalEdge edge); + public void setLayoutMeasuredDimension(float measuredDimension, facebook::yoga::Dimension dimension); + public void setLayoutPadding(float padding, facebook::yoga::PhysicalEdge edge); + public void setLayoutPosition(float position, facebook::yoga::PhysicalEdge edge); + public void setLineIndex(size_t lineIndex); + public void setMeasureFunc(YGMeasureFunc measureFunc); + public void setNodeType(facebook::yoga::NodeType nodeType); + public void setOwner(facebook::yoga::Node* owner); + public void setPosition(facebook::yoga::Direction direction, float ownerWidth, float ownerHeight); + public void setStyle(const facebook::yoga::Style& style); + public void* getContext() const; +} + +class facebook::yoga::Style { + public bool flexEndMarginIsAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool flexStartMarginIsAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool horizontalInsetsDefined() const; + public bool inlineEndMarginIsAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool inlineStartMarginIsAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isFlexEndPositionAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isFlexEndPositionDefined(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isFlexStartPositionAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isFlexStartPositionDefined(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isInlineEndPositionAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isInlineEndPositionDefined(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isInlineStartPositionAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isInlineStartPositionDefined(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool operator==(const facebook::yoga::Style& other) const; + public bool verticalInsetsDefined() const; + public const facebook::yoga::GridLine& gridColumnEnd() const; + public const facebook::yoga::GridLine& gridColumnStart() const; + public const facebook::yoga::GridLine& gridRowEnd() const; + public const facebook::yoga::GridLine& gridRowStart() const; + public const facebook::yoga::GridTrackList& gridAutoColumns() const; + public const facebook::yoga::GridTrackList& gridAutoRows() const; + public const facebook::yoga::GridTrackList& gridTemplateColumns() const; + public const facebook::yoga::GridTrackList& gridTemplateRows() const; + public facebook::yoga::Align alignContent() const; + public facebook::yoga::Align alignItems() const; + public facebook::yoga::Align alignSelf() const; + public facebook::yoga::BoxSizing boxSizing() const; + public facebook::yoga::Direction direction() const; + public facebook::yoga::Display display() const; + public facebook::yoga::FlexDirection flexDirection() const; + public facebook::yoga::FloatOptional aspectRatio() const; + public facebook::yoga::FloatOptional flex() const; + public facebook::yoga::FloatOptional flexGrow() const; + public facebook::yoga::FloatOptional flexShrink() const; + public facebook::yoga::FloatOptional resolvedMaxDimension(facebook::yoga::Direction direction, facebook::yoga::Dimension axis, float referenceLength, float ownerWidth) const; + public facebook::yoga::FloatOptional resolvedMinDimension(facebook::yoga::Direction direction, facebook::yoga::Dimension axis, float referenceLength, float ownerWidth) const; + public facebook::yoga::Justify justifyContent() const; + public facebook::yoga::Justify justifyItems() const; + public facebook::yoga::Justify justifySelf() const; + public facebook::yoga::Overflow overflow() const; + public facebook::yoga::PositionType positionType() const; + public facebook::yoga::Style::Length border(facebook::yoga::Edge edge) const; + public facebook::yoga::Style::Length gap(facebook::yoga::Gutter gutter) const; + public facebook::yoga::Style::Length margin(facebook::yoga::Edge edge) const; + public facebook::yoga::Style::Length padding(facebook::yoga::Edge edge) const; + public facebook::yoga::Style::Length position(facebook::yoga::Edge edge) const; + public facebook::yoga::Style::SizeLength dimension(facebook::yoga::Dimension axis) const; + public facebook::yoga::Style::SizeLength flexBasis() const; + public facebook::yoga::Style::SizeLength maxDimension(facebook::yoga::Dimension axis) const; + public facebook::yoga::Style::SizeLength minDimension(facebook::yoga::Dimension axis) const; + public facebook::yoga::Wrap flexWrap() const; + public float computeBorderForAxis(facebook::yoga::FlexDirection axis) const; + public float computeFlexEndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public float computeFlexEndMargin(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexEndPadding(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexEndPaddingAndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexEndPosition(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float axisSize) const; + public float computeFlexStartBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public float computeFlexStartMargin(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexStartPadding(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexStartPaddingAndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexStartPosition(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float axisSize) const; + public float computeGapForAxis(facebook::yoga::FlexDirection axis, float ownerSize) const; + public float computeGapForDimension(facebook::yoga::Dimension dimension, float ownerSize) const; + public float computeInlineEndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public float computeInlineEndMargin(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineEndPadding(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineEndPaddingAndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineEndPosition(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float axisSize) const; + public float computeInlineStartBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public float computeInlineStartMargin(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineStartPadding(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineStartPaddingAndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineStartPosition(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float axisSize) const; + public float computeMarginForAxis(facebook::yoga::FlexDirection axis, float widthSize) const; + public float computePaddingAndBorderForDimension(facebook::yoga::Direction direction, facebook::yoga::Dimension dimension, float widthSize) const; + public static constexpr float DefaultFlexGrow; + public static constexpr float DefaultFlexShrink; + public static constexpr float WebDefaultFlexShrink; + public using Length = facebook::yoga::StyleLength; + public using SizeLength = facebook::yoga::StyleSizeLength; + public void resizeGridAutoColumns(size_t count); + public void resizeGridAutoRows(size_t count); + public void resizeGridTemplateColumns(size_t count); + public void resizeGridTemplateRows(size_t count); + public void setAlignContent(facebook::yoga::Align value); + public void setAlignItems(facebook::yoga::Align value); + public void setAlignSelf(facebook::yoga::Align value); + public void setAspectRatio(facebook::yoga::FloatOptional value); + public void setBorder(facebook::yoga::Edge edge, facebook::yoga::Style::Length value); + public void setBoxSizing(facebook::yoga::BoxSizing value); + public void setDimension(facebook::yoga::Dimension axis, facebook::yoga::Style::SizeLength value); + public void setDirection(facebook::yoga::Direction value); + public void setDisplay(facebook::yoga::Display value); + public void setFlex(facebook::yoga::FloatOptional value); + public void setFlexBasis(facebook::yoga::Style::SizeLength value); + public void setFlexDirection(facebook::yoga::FlexDirection value); + public void setFlexGrow(facebook::yoga::FloatOptional value); + public void setFlexShrink(facebook::yoga::FloatOptional value); + public void setFlexWrap(facebook::yoga::Wrap value); + public void setGap(facebook::yoga::Gutter gutter, facebook::yoga::Style::Length value); + public void setGridAutoColumnAt(size_t index, facebook::yoga::GridTrackSize value); + public void setGridAutoColumns(facebook::yoga::GridTrackList value); + public void setGridAutoRowAt(size_t index, facebook::yoga::GridTrackSize value); + public void setGridAutoRows(facebook::yoga::GridTrackList value); + public void setGridColumnEnd(facebook::yoga::GridLine value); + public void setGridColumnStart(facebook::yoga::GridLine value); + public void setGridRowEnd(facebook::yoga::GridLine value); + public void setGridRowStart(facebook::yoga::GridLine value); + public void setGridTemplateColumnAt(size_t index, facebook::yoga::GridTrackSize value); + public void setGridTemplateColumns(facebook::yoga::GridTrackList value); + public void setGridTemplateRowAt(size_t index, facebook::yoga::GridTrackSize value); + public void setGridTemplateRows(facebook::yoga::GridTrackList value); + public void setJustifyContent(facebook::yoga::Justify value); + public void setJustifyItems(facebook::yoga::Justify value); + public void setJustifySelf(facebook::yoga::Justify value); + public void setMargin(facebook::yoga::Edge edge, facebook::yoga::Style::Length value); + public void setMaxDimension(facebook::yoga::Dimension axis, facebook::yoga::Style::SizeLength value); + public void setMinDimension(facebook::yoga::Dimension axis, facebook::yoga::Style::SizeLength value); + public void setOverflow(facebook::yoga::Overflow value); + public void setPadding(facebook::yoga::Edge edge, facebook::yoga::Style::Length value); + public void setPosition(facebook::yoga::Edge edge, facebook::yoga::Style::Length value); + public void setPositionType(facebook::yoga::PositionType value); +} + +class facebook::yoga::StyleLength { + public constexpr StyleLength() = default; + public constexpr bool inexactEquals(const facebook::yoga::StyleLength& other) const; + public constexpr bool isAuto() const; + public constexpr bool isDefined() const; + public constexpr bool isPercent() const; + public constexpr bool isPoints() const; + public constexpr bool isUndefined() const; + public constexpr bool operator==(const facebook::yoga::StyleLength& rhs) const; + public constexpr facebook::yoga::FloatOptional resolve(float referenceLength); + public constexpr facebook::yoga::FloatOptional value() const; + public constexpr operator YGValue() const; + public static constexpr facebook::yoga::StyleLength ofAuto(); + public static constexpr facebook::yoga::StyleLength percent(float value); + public static constexpr facebook::yoga::StyleLength points(float value); + public static constexpr facebook::yoga::StyleLength undefined(); +} + +class facebook::yoga::StyleSizeLength { + public constexpr StyleSizeLength() = default; + public constexpr bool inexactEquals(const facebook::yoga::StyleSizeLength& other) const; + public constexpr bool isAuto() const; + public constexpr bool isDefined() const; + public constexpr bool isFitContent() const; + public constexpr bool isMaxContent() const; + public constexpr bool isPercent() const; + public constexpr bool isPoints() const; + public constexpr bool isStretch() const; + public constexpr bool isUndefined() const; + public constexpr bool operator==(const facebook::yoga::StyleSizeLength& rhs) const; + public constexpr facebook::yoga::FloatOptional resolve(float referenceLength) const; + public constexpr facebook::yoga::FloatOptional value() const; + public constexpr operator YGValue() const; + public static constexpr facebook::yoga::StyleSizeLength ofAuto(); + public static constexpr facebook::yoga::StyleSizeLength ofFitContent(); + public static constexpr facebook::yoga::StyleSizeLength ofMaxContent(); + public static constexpr facebook::yoga::StyleSizeLength ofStretch(); + public static constexpr facebook::yoga::StyleSizeLength percent(float value); + public static constexpr facebook::yoga::StyleSizeLength points(float value); + public static constexpr facebook::yoga::StyleSizeLength stretch(float fraction); + public static constexpr facebook::yoga::StyleSizeLength undefined(); +} + +class facebook::yoga::StyleValueHandle { + public constexpr bool isAuto() const; + public constexpr bool isDefined() const; + public constexpr bool isUndefined() const; + public static constexpr facebook::yoga::StyleValueHandle ofAuto(); +} + +class facebook::yoga::StyleValuePool { + public facebook::yoga::FloatOptional getNumber(facebook::yoga::StyleValueHandle handle) const; + public facebook::yoga::StyleLength getLength(facebook::yoga::StyleValueHandle handle) const; + public facebook::yoga::StyleSizeLength getSize(facebook::yoga::StyleValueHandle handle) const; + public void store(facebook::yoga::StyleValueHandle& handle, facebook::yoga::FloatOptional number); + public void store(facebook::yoga::StyleValueHandle& handle, facebook::yoga::StyleLength length); + public void store(facebook::yoga::StyleValueHandle& handle, facebook::yoga::StyleSizeLength sizeValue); +} + +enum facebook::yoga::Align : uint8_t { + Auto, + Baseline, + Center, + End, + FlexEnd, + FlexStart, + SpaceAround, + SpaceBetween, + SpaceEvenly, + Start, + Stretch, +} + +enum facebook::yoga::BoxSizing : uint8_t { + BorderBox, + ContentBox, +} + +enum facebook::yoga::Dimension : uint8_t { + Height, + Width, +} + +enum facebook::yoga::Direction : uint8_t { + Inherit, + LTR, + RTL, +} + +enum facebook::yoga::Display : uint8_t { + Contents, + Flex, + Grid, + None, +} + +enum facebook::yoga::Edge : uint8_t { + All, + Bottom, + End, + Horizontal, + Left, + Right, + Start, + Top, + Vertical, +} + +enum facebook::yoga::Errata : uint32_t { + AbsolutePercentAgainstInnerSize, + AbsolutePositionWithoutInsetsExcludesPadding, + All, + Classic, + None, + StretchFlexBasis, +} + +enum facebook::yoga::ExperimentalFeature : uint8_t { + FixFlexBasisFitContent, + WebFlexBasis, +} + +enum facebook::yoga::FlexDirection : uint8_t { + Column, + ColumnReverse, + Row, + RowReverse, +} + +enum facebook::yoga::GridLineType : uint8_t { + Auto, + Integer, + Span, +} + +enum facebook::yoga::GridTrackType : uint8_t { + Auto, + Fr, + Minmax, + Percent, + Points, +} + +enum facebook::yoga::Gutter : uint8_t { + All, + Column, + Row, +} + +enum facebook::yoga::Justify : uint8_t { + Auto, + Center, + End, + FlexEnd, + FlexStart, + SpaceAround, + SpaceBetween, + SpaceEvenly, + Start, + Stretch, +} + +enum facebook::yoga::LayoutPassReason : int { + COUNT, + kAbsLayout, + kAbsMeasureChild, + kFlexLayout, + kFlexMeasure, + kGridLayout, + kInitial, + kMeasureChild, + kMultilineStretch, + kStretch, +} + +enum facebook::yoga::LayoutType : int { + kCachedLayout, + kCachedMeasure, + kLayout, + kMeasure, +} + +enum facebook::yoga::LogLevel : uint8_t { + Debug, + Error, + Fatal, + Info, + Verbose, + Warn, +} + +enum facebook::yoga::MeasureMode : uint8_t { + AtMost, + Exactly, + Undefined, +} + +enum facebook::yoga::NodeType : uint8_t { + Default, + Text, +} + +enum facebook::yoga::Overflow : uint8_t { + Hidden, + Scroll, + Visible, +} + +enum facebook::yoga::PhysicalEdge : uint32_t { + Bottom, + Left, + Right, + Top, +} + +enum facebook::yoga::PositionType : uint8_t { + Absolute, + Relative, + Static, +} + +enum facebook::yoga::SizingMode { + FitContent, + MaxContent, + StretchFit, +} + +enum facebook::yoga::Unit : uint8_t { + Auto, + FitContent, + MaxContent, + Percent, + Point, + Stretch, + Undefined, +} + +enum facebook::yoga::Wrap : uint8_t { + NoWrap, + Wrap, + WrapReverse, +} + +struct facebook::yoga::CachedMeasurement { + public bool operator==(facebook::yoga::CachedMeasurement measurement) const; + public facebook::yoga::SizingMode heightSizingMode; + public facebook::yoga::SizingMode widthSizingMode; + public float availableHeight; + public float availableWidth; + public float computedHeight; + public float computedWidth; +} + +struct facebook::yoga::Event { + public static void reset(); + public static void subscribe(std::function&& subscriber); + public using Subscriber = void(YGNodeConstRef, facebook::yoga::Event::Type, facebook::yoga::Event::Data); + public using Subscribers = std::vector>; + template + public static void publish(YGNodeConstRef node, const facebook::yoga::Event::TypedData& eventData = {}); +} + +class facebook::yoga::Event::Data { + template + public Data(const facebook::yoga::Event::TypedData& data); + template + public const facebook::yoga::Event::TypedData& get() const; +} + +enum facebook::yoga::Event::Type { + LayoutPassEnd, + LayoutPassStart, + MeasureCallbackEnd, + MeasureCallbackStart, + NodeAllocation, + NodeBaselineEnd, + NodeBaselineStart, + NodeDeallocation, + NodeLayout, +} + +template +struct facebook::yoga::Event::TypedData { +} + +struct facebook::yoga::Event::TypedData { + public facebook::yoga::LayoutData* layoutData; +} + +struct facebook::yoga::Event::TypedData { + public YGMeasureMode heightMeasureMode; + public YGMeasureMode widthMeasureMode; + public const facebook::yoga::LayoutPassReason reason; + public float height; + public float measuredHeight; + public float measuredWidth; + public float width; +} + +struct facebook::yoga::Event::TypedData { + public YGConfigConstRef config; +} + +struct facebook::yoga::Event::TypedData { + public YGConfigConstRef config; +} + +struct facebook::yoga::Event::TypedData { + public facebook::yoga::LayoutType layoutType; +} + +struct facebook::yoga::FlexLine { + public const float sizeConsumed; + public const size_t numberOfAutoMargins; + public const std::vector itemsInFlow; + public facebook::yoga::FlexLineRunningLayout layout; +} + +struct facebook::yoga::FlexLineRunningLayout { + public float crossDim; + public float mainDim; + public float remainingFreeSpace; + public float totalFlexGrowFactors; + public float totalFlexShrinkScaledFactors; +} + +struct facebook::yoga::FloatOptional { + public constexpr FloatOptional() = default; + public constexpr FloatOptional(float value); + public constexpr bool isDefined() const; + public constexpr bool isUndefined() const; + public constexpr float unwrap() const; + public constexpr float unwrapOrDefault(float defaultValue) const; +} + +struct facebook::yoga::GridLine { + public bool operator==(const facebook::yoga::GridLine& other) const = default; + public constexpr bool isAuto() const; + public constexpr bool isInteger() const; + public constexpr bool isSpan() const; + public facebook::yoga::GridLineType type; + public int32_t integer; + public static constexpr facebook::yoga::GridLine auto_(); + public static constexpr facebook::yoga::GridLine fromInteger(int32_t value); + public static constexpr facebook::yoga::GridLine span(int32_t value); +} + +struct facebook::yoga::GridTrackSize { + public bool infinitelyGrowable; + public bool operator==(const facebook::yoga::GridTrackSize& other) const = default; + public facebook::yoga::StyleSizeLength maxSizingFunction; + public facebook::yoga::StyleSizeLength minSizingFunction; + public float baseSize; + public float growthLimit; + public static constexpr facebook::yoga::GridTrackSize auto_(); + public static constexpr facebook::yoga::GridTrackSize fr(float fraction); + public static constexpr facebook::yoga::GridTrackSize length(float points); + public static constexpr facebook::yoga::GridTrackSize minmax(facebook::yoga::StyleSizeLength min, facebook::yoga::StyleSizeLength max); + public static constexpr facebook::yoga::GridTrackSize percent(float percentage); +} + +struct facebook::yoga::LayoutData { + public int cachedLayouts; + public int cachedMeasures; + public int layouts; + public int measureCallbacks; + public int measures; + public std::array(facebook::yoga::LayoutPassReason::COUNT)> measureCallbackReasonsCount; + public uint32_t maxMeasureCache; +} + +struct facebook::yoga::LayoutResults { + public bool hadOverflow() const; + public bool operator==(facebook::yoga::LayoutResults layout) const; + public facebook::yoga::CachedMeasurement cachedLayout; + public facebook::yoga::Direction direction() const; + public facebook::yoga::Direction lastOwnerDirection; + public facebook::yoga::FloatOptional computedFlexBasis; + public float border(facebook::yoga::PhysicalEdge physicalEdge) const; + public float dimension(facebook::yoga::Dimension axis) const; + public float margin(facebook::yoga::PhysicalEdge physicalEdge) const; + public float measuredDimension(facebook::yoga::Dimension axis) const; + public float padding(facebook::yoga::PhysicalEdge physicalEdge) const; + public float position(facebook::yoga::PhysicalEdge physicalEdge) const; + public float rawDimension(facebook::yoga::Dimension axis) const; + public static constexpr int32_t MaxCachedMeasurements; + public std::array cachedMeasurements; + public uint32_t computedFlexBasisGeneration; + public uint32_t configVersion; + public uint32_t generationCount; + public uint32_t nextCachedMeasurementsIndex; + public void setBorder(facebook::yoga::PhysicalEdge physicalEdge, float dimension); + public void setDimension(facebook::yoga::Dimension axis, float dimension); + public void setDirection(facebook::yoga::Direction direction); + public void setHadOverflow(bool hadOverflow); + public void setMargin(facebook::yoga::PhysicalEdge physicalEdge, float dimension); + public void setMeasuredDimension(facebook::yoga::Dimension axis, float dimension); + public void setPadding(facebook::yoga::PhysicalEdge physicalEdge, float dimension); + public void setPosition(facebook::yoga::PhysicalEdge physicalEdge, float dimension); + public void setRawDimension(facebook::yoga::Dimension axis, float dimension); +} + +template +class facebook::yoga::SmallValueBuffer { + public SmallValueBuffer() = default; + public SmallValueBuffer(const facebook::yoga::SmallValueBuffer& other); + public SmallValueBuffer(facebook::yoga::SmallValueBuffer&& other) noexcept = default; + public facebook::yoga::SmallValueBuffer& operator=(const facebook::yoga::SmallValueBuffer& other); + public facebook::yoga::SmallValueBuffer& operator=(facebook::yoga::SmallValueBuffer&& other) noexcept = default; + public uint16_t push(uint32_t value); + public uint16_t push(uint64_t value); + public uint16_t replace(uint16_t index, uint32_t value); + public uint16_t replace(uint16_t index, uint64_t value); + public uint32_t get32(uint16_t index) const; + public uint64_t get64(uint16_t index) const; +} + +template +class facebook::yoga::LayoutableChildren { + public LayoutableChildren(const T* node); + public facebook::yoga::LayoutableChildren::Iterator begin() const; + public facebook::yoga::LayoutableChildren::Iterator end() const; +} + +struct facebook::yoga::LayoutableChildren::Iterator { + public Iterator() = default; + public Iterator(const T* node, size_t childIndex); + public T* operator*() const; + public facebook::yoga::LayoutableChildren::Iterator operator++(int); + public facebook::yoga::LayoutableChildren::Iterator& operator++(); + public using difference_type = std::ptrdiff_t; + public using iterator_category = std::input_iterator_tag; + public using pointer = T*; + public using reference = T*; + public using value_type = T*; +} + + +JNIEnv* facebook::yoga::vanillajni::getCurrentEnv(); +facebook::yoga::vanillajni::ScopedGlobalRef facebook::yoga::vanillajni::newGlobalRef(JNIEnv* env, jobject obj); +facebook::yoga::vanillajni::ScopedLocalRef facebook::yoga::vanillajni::callStaticObjectMethod(JNIEnv* env, jclass clazz, jmethodID methodId, ...); +jfieldID facebook::yoga::vanillajni::getFieldId(JNIEnv* env, jclass clazz, const char* fieldName, const char* fieldSignature); +jfloat facebook::yoga::vanillajni::callFloatMethod(JNIEnv* env, jobject obj, jmethodID methodId, ...); +jint facebook::yoga::vanillajni::ensureInitialized(JNIEnv** env, JavaVM* vm); +jlong facebook::yoga::vanillajni::callLongMethod(JNIEnv* env, jobject obj, jmethodID methodId, ...); +jmethodID facebook::yoga::vanillajni::getMethodId(JNIEnv* env, jclass clazz, const char* methodName, const char* methodDescriptor); +jmethodID facebook::yoga::vanillajni::getStaticMethodId(JNIEnv* env, jclass clazz, const char* methodName, const char* methodDescriptor); +template +facebook::yoga::vanillajni::ScopedGlobalRef facebook::yoga::vanillajni::make_global_ref(T globalRef); +template +facebook::yoga::vanillajni::ScopedLocalRef facebook::yoga::vanillajni::make_local_ref(JNIEnv* env, T localRef); +void facebook::yoga::vanillajni::assertNoPendingJniException(JNIEnv* env); +void facebook::yoga::vanillajni::assertNoPendingJniExceptionIf(JNIEnv* env, bool condition); +void facebook::yoga::vanillajni::callVoidMethod(JNIEnv* env, jobject obj, jmethodID methodId, ...); +void facebook::yoga::vanillajni::logErrorMessageAndDie(const char* message); +void facebook::yoga::vanillajni::registerNatives(JNIEnv* env, const char* className, const JNINativeMethod methods[], size_t numMethods); + +class facebook::yoga::vanillajni::LayoutContext { + public static PtrJNodeMapVanilla* getNodeMap(); +} + +struct facebook::yoga::vanillajni::LayoutContext::Provider { + public Provider(PtrJNodeMapVanilla* data); + public ~Provider(); +} + +class facebook::yoga::vanillajni::YogaJniException : public std::exception { + public YogaJniException(); + public YogaJniException(const facebook::yoga::vanillajni::YogaJniException& rhs); + public YogaJniException(facebook::yoga::vanillajni::YogaJniException&& rhs) noexcept; + public YogaJniException(jthrowable throwable); + public facebook::yoga::vanillajni::ScopedLocalRef getThrowable() const noexcept; + public ~YogaJniException() override; +} + +template +class facebook::yoga::vanillajni::ScopedGlobalRef { + public ScopedGlobalRef(); + public ScopedGlobalRef(T globalRef); + public ScopedGlobalRef(const facebook::yoga::vanillajni::ScopedGlobalRef& ref) = delete; + public ScopedGlobalRef(facebook::yoga::vanillajni::ScopedGlobalRef&& s) noexcept; + public T get() const; + public T release(); + public facebook::yoga::vanillajni::ScopedGlobalRef& operator=(const facebook::yoga::vanillajni::ScopedGlobalRef& other) = delete; + public facebook::yoga::vanillajni::ScopedGlobalRef& operator=(facebook::yoga::vanillajni::ScopedGlobalRef&& s) noexcept; + public operator bool() const; + public void reset(T ptr = NULL); + public ~ScopedGlobalRef(); +} + +template +class facebook::yoga::vanillajni::ScopedLocalRef { + public ScopedLocalRef(JNIEnv* env); + public ScopedLocalRef(JNIEnv* env, T localRef); + public ScopedLocalRef(const facebook::yoga::vanillajni::ScopedLocalRef& ref) = delete; + public ScopedLocalRef(facebook::yoga::vanillajni::ScopedLocalRef&& s) noexcept; + public T get() const; + public T release(); + public facebook::yoga::vanillajni::ScopedLocalRef& operator=(const facebook::yoga::vanillajni::ScopedLocalRef& other) = delete; + public facebook::yoga::vanillajni::ScopedLocalRef& operator=(facebook::yoga::vanillajni::ScopedLocalRef&& s) noexcept; + public operator bool() const; + public void reset(T ptr = NULL); + public ~ScopedLocalRef(); +} + + +void facebook::gloginit::initialize(const char* tag = "ReactNativeJNI"); + + +struct std::hash { + public size_t operator()(const facebook::react::AttributedString& attributedString) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::AttributedStringBox& attributedStringBox) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::EventAnimationDriverKey& key) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::LayoutConstraints& constraints) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::LayoutMetrics& layoutMetrics) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::LineMeasureCacheKey& key) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::ParagraphAttributes& attributes) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::Point& point) const noexcept; +} + +struct std::hash { + public size_t operator()(const facebook::react::PreparedTextCacheKey& key) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::Rect& rect) const noexcept; +} + +struct std::hash { + public size_t operator()(const facebook::react::ShadowView& shadowView) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::SharedColor& color) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::Size& size) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::TextAttributes& textAttributes) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::TextMeasureCacheKey& key) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::Transform& transform) const; +} + +template +struct std::hash> { + public size_t operator()(const facebook::react::RectangleCorners& corners) const noexcept; +} + +template +struct std::hash> { + public size_t operator()(const facebook::react::RectangleEdges& edges) const noexcept; +} + +struct std::hash { + public size_t operator()(const facebook::react::AttributedString::Fragment& fragment) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::jsinspector_modern::ConsoleTaskId& id) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::jsinspector_modern::ExecutionContextSelector& selector) const; +} + +template +struct std::hash> { + public size_t operator()(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; +} + + +void YGJNIVanilla::registerNatives(JNIEnv* env); \ No newline at end of file diff --git a/scripts/cxx-api/api-snapshots/ReactAndroidReleaseCxx.api b/scripts/cxx-api/api-snapshots/ReactAndroidReleaseCxx.api new file mode 100644 index 00000000000..0f4bbc733fa --- /dev/null +++ b/scripts/cxx-api/api-snapshots/ReactAndroidReleaseCxx.api @@ -0,0 +1,14376 @@ +// @generated by scripts/cxx-api + +class PtrJNodeMapVanilla { + public PtrJNodeMapVanilla() = default; + public PtrJNodeMapVanilla(jlongArray javaNativePointers, jobjectArray javaNodes); + public facebook::yoga::vanillajni::ScopedLocalRef ref(YGNodeConstRef node); +} + +struct JNIInvokeInterface { + public jint(*AttachCurrentThread)(JavaVM *, JNIEnv **, void *); + public jint(*AttachCurrentThreadAsDaemon)(JavaVM *, JNIEnv **, void *); + public jint(*DestroyJavaVM)(JavaVM *); + public jint(*DetachCurrentThread)(JavaVM *); + public jint(*GetEnv)(JavaVM *, void **, jint); + public void* reserved0; + public void* reserved1; + public void* reserved2; +} + +struct JNINativeInterface { + public const char*(*GetStringUTFChars)(JNIEnv *, jstring, jboolean *); + public const jchar*(*GetStringChars)(JNIEnv *, jstring, jboolean *); + public const jchar*(*GetStringCritical)(JNIEnv *, jstring, jboolean *); + public jboolean(*CallBooleanMethod)(JNIEnv *, jobject, jmethodID, ...); + public jboolean(*CallBooleanMethodA)(JNIEnv *, jobject, jmethodID, jvalue*); + public jboolean(*CallBooleanMethodV)(JNIEnv *, jobject, jmethodID, va_list); + public jboolean(*CallNonvirtualBooleanMethod)(JNIEnv *, jobject, jclass, jmethodID, ...); + public jboolean(*CallNonvirtualBooleanMethodA)(JNIEnv *, jobject, jclass, jmethodID, jvalue*); + public jboolean(*CallNonvirtualBooleanMethodV)(JNIEnv *, jobject, jclass, jmethodID, va_list); + public jboolean(*CallStaticBooleanMethod)(JNIEnv *, jclass, jmethodID, ...); + public jboolean(*CallStaticBooleanMethodA)(JNIEnv *, jclass, jmethodID, jvalue*); + public jboolean(*CallStaticBooleanMethodV)(JNIEnv *, jclass, jmethodID, va_list); + public jboolean(*ExceptionCheck)(JNIEnv *); + public jboolean(*GetBooleanField)(JNIEnv *, jobject, jfieldID); + public jboolean(*GetStaticBooleanField)(JNIEnv *, jclass, jfieldID); + public jboolean(*IsAssignableFrom)(JNIEnv *, jclass, jclass); + public jboolean(*IsInstanceOf)(JNIEnv *, jobject, jclass); + public jboolean(*IsSameObject)(JNIEnv *, jobject, jobject); + public jboolean*(*GetBooleanArrayElements)(JNIEnv *, jbooleanArray, jboolean *); + public jbooleanArray(*NewBooleanArray)(JNIEnv *, jsize); + public jbyte(*CallByteMethod)(JNIEnv *, jobject, jmethodID, ...); + public jbyte(*CallByteMethodA)(JNIEnv *, jobject, jmethodID, jvalue*); + public jbyte(*CallByteMethodV)(JNIEnv *, jobject, jmethodID, va_list); + public jbyte(*CallNonvirtualByteMethod)(JNIEnv *, jobject, jclass, jmethodID, ...); + public jbyte(*CallNonvirtualByteMethodA)(JNIEnv *, jobject, jclass, jmethodID, jvalue*); + public jbyte(*CallNonvirtualByteMethodV)(JNIEnv *, jobject, jclass, jmethodID, va_list); + public jbyte(*CallStaticByteMethod)(JNIEnv *, jclass, jmethodID, ...); + public jbyte(*CallStaticByteMethodA)(JNIEnv *, jclass, jmethodID, jvalue*); + public jbyte(*CallStaticByteMethodV)(JNIEnv *, jclass, jmethodID, va_list); + public jbyte(*GetByteField)(JNIEnv *, jobject, jfieldID); + public jbyte(*GetStaticByteField)(JNIEnv *, jclass, jfieldID); + public jbyte*(*GetByteArrayElements)(JNIEnv *, jbyteArray, jboolean *); + public jbyteArray(*NewByteArray)(JNIEnv *, jsize); + public jchar(*CallCharMethod)(JNIEnv *, jobject, jmethodID, ...); + public jchar(*CallCharMethodA)(JNIEnv *, jobject, jmethodID, jvalue*); + public jchar(*CallCharMethodV)(JNIEnv *, jobject, jmethodID, va_list); + public jchar(*CallNonvirtualCharMethod)(JNIEnv *, jobject, jclass, jmethodID, ...); + public jchar(*CallNonvirtualCharMethodA)(JNIEnv *, jobject, jclass, jmethodID, jvalue*); + public jchar(*CallNonvirtualCharMethodV)(JNIEnv *, jobject, jclass, jmethodID, va_list); + public jchar(*CallStaticCharMethod)(JNIEnv *, jclass, jmethodID, ...); + public jchar(*CallStaticCharMethodA)(JNIEnv *, jclass, jmethodID, jvalue*); + public jchar(*CallStaticCharMethodV)(JNIEnv *, jclass, jmethodID, va_list); + public jchar(*GetCharField)(JNIEnv *, jobject, jfieldID); + public jchar(*GetStaticCharField)(JNIEnv *, jclass, jfieldID); + public jchar*(*GetCharArrayElements)(JNIEnv *, jcharArray, jboolean *); + public jcharArray(*NewCharArray)(JNIEnv *, jsize); + public jclass(*DefineClass)(JNIEnv *, const char *, jobject, const jbyte *, jsize); + public jclass(*FindClass)(JNIEnv *, const char *); + public jclass(*GetObjectClass)(JNIEnv *, jobject); + public jclass(*GetSuperclass)(JNIEnv *, jclass); + public jdouble(*CallDoubleMethod)(JNIEnv *, jobject, jmethodID, ...); + public jdouble(*CallDoubleMethodA)(JNIEnv *, jobject, jmethodID, jvalue*); + public jdouble(*CallDoubleMethodV)(JNIEnv *, jobject, jmethodID, va_list); + public jdouble(*CallNonvirtualDoubleMethod)(JNIEnv *, jobject, jclass, jmethodID, ...); + public jdouble(*CallNonvirtualDoubleMethodA)(JNIEnv *, jobject, jclass, jmethodID, jvalue*); + public jdouble(*CallNonvirtualDoubleMethodV)(JNIEnv *, jobject, jclass, jmethodID, va_list); + public jdouble(*CallStaticDoubleMethod)(JNIEnv *, jclass, jmethodID, ...); + public jdouble(*CallStaticDoubleMethodA)(JNIEnv *, jclass, jmethodID, jvalue*); + public jdouble(*CallStaticDoubleMethodV)(JNIEnv *, jclass, jmethodID, va_list); + public jdouble(*GetDoubleField)(JNIEnv *, jobject, jfieldID); + public jdouble(*GetStaticDoubleField)(JNIEnv *, jclass, jfieldID); + public jdouble*(*GetDoubleArrayElements)(JNIEnv *, jdoubleArray, jboolean *); + public jdoubleArray(*NewDoubleArray)(JNIEnv *, jsize); + public jfieldID(*FromReflectedField)(JNIEnv *, jobject); + public jfieldID(*GetFieldID)(JNIEnv *, jclass, const char *, const char *); + public jfieldID(*GetStaticFieldID)(JNIEnv *, jclass, const char *, const char *); + public jfloat(*CallFloatMethod)(JNIEnv *, jobject, jmethodID, ...); + public jfloat(*CallFloatMethodA)(JNIEnv *, jobject, jmethodID, jvalue*); + public jfloat(*CallFloatMethodV)(JNIEnv *, jobject, jmethodID, va_list); + public jfloat(*CallNonvirtualFloatMethod)(JNIEnv *, jobject, jclass, jmethodID, ...); + public jfloat(*CallNonvirtualFloatMethodA)(JNIEnv *, jobject, jclass, jmethodID, jvalue*); + public jfloat(*CallNonvirtualFloatMethodV)(JNIEnv *, jobject, jclass, jmethodID, va_list); + public jfloat(*CallStaticFloatMethod)(JNIEnv *, jclass, jmethodID, ...); + public jfloat(*CallStaticFloatMethodA)(JNIEnv *, jclass, jmethodID, jvalue*); + public jfloat(*CallStaticFloatMethodV)(JNIEnv *, jclass, jmethodID, va_list); + public jfloat(*GetFloatField)(JNIEnv *, jobject, jfieldID); + public jfloat(*GetStaticFloatField)(JNIEnv *, jclass, jfieldID); + public jfloat*(*GetFloatArrayElements)(JNIEnv *, jfloatArray, jboolean *); + public jfloatArray(*NewFloatArray)(JNIEnv *, jsize); + public jint(*CallIntMethod)(JNIEnv *, jobject, jmethodID, ...); + public jint(*CallIntMethodA)(JNIEnv *, jobject, jmethodID, jvalue*); + public jint(*CallIntMethodV)(JNIEnv *, jobject, jmethodID, va_list); + public jint(*CallNonvirtualIntMethod)(JNIEnv *, jobject, jclass, jmethodID, ...); + public jint(*CallNonvirtualIntMethodA)(JNIEnv *, jobject, jclass, jmethodID, jvalue*); + public jint(*CallNonvirtualIntMethodV)(JNIEnv *, jobject, jclass, jmethodID, va_list); + public jint(*CallStaticIntMethod)(JNIEnv *, jclass, jmethodID, ...); + public jint(*CallStaticIntMethodA)(JNIEnv *, jclass, jmethodID, jvalue*); + public jint(*CallStaticIntMethodV)(JNIEnv *, jclass, jmethodID, va_list); + public jint(*EnsureLocalCapacity)(JNIEnv *, jint); + public jint(*GetIntField)(JNIEnv *, jobject, jfieldID); + public jint(*GetJavaVM)(JNIEnv *, JavaVM **); + public jint(*GetStaticIntField)(JNIEnv *, jclass, jfieldID); + public jint(*GetVersion)(JNIEnv *); + public jint(*MonitorEnter)(JNIEnv *, jobject); + public jint(*MonitorExit)(JNIEnv *, jobject); + public jint(*PushLocalFrame)(JNIEnv *, jint); + public jint(*RegisterNatives)(JNIEnv *, jclass, const JNINativeMethod*, jint); + public jint(*Throw)(JNIEnv *, jthrowable); + public jint(*ThrowNew)(JNIEnv *, jclass, const char *); + public jint(*UnregisterNatives)(JNIEnv *, jclass); + public jint*(*GetIntArrayElements)(JNIEnv *, jintArray, jboolean *); + public jintArray(*NewIntArray)(JNIEnv *, jsize); + public jlong(*CallLongMethod)(JNIEnv *, jobject, jmethodID, ...); + public jlong(*CallLongMethodA)(JNIEnv *, jobject, jmethodID, jvalue*); + public jlong(*CallLongMethodV)(JNIEnv *, jobject, jmethodID, va_list); + public jlong(*CallNonvirtualLongMethod)(JNIEnv *, jobject, jclass, jmethodID, ...); + public jlong(*CallNonvirtualLongMethodA)(JNIEnv *, jobject, jclass, jmethodID, jvalue*); + public jlong(*CallNonvirtualLongMethodV)(JNIEnv *, jobject, jclass, jmethodID, va_list); + public jlong(*CallStaticLongMethod)(JNIEnv *, jclass, jmethodID, ...); + public jlong(*CallStaticLongMethodA)(JNIEnv *, jclass, jmethodID, jvalue*); + public jlong(*CallStaticLongMethodV)(JNIEnv *, jclass, jmethodID, va_list); + public jlong(*GetDirectBufferCapacity)(JNIEnv *, jobject); + public jlong(*GetLongField)(JNIEnv *, jobject, jfieldID); + public jlong(*GetStaticLongField)(JNIEnv *, jclass, jfieldID); + public jlong*(*GetLongArrayElements)(JNIEnv *, jlongArray, jboolean *); + public jlongArray(*NewLongArray)(JNIEnv *, jsize); + public jmethodID(*FromReflectedMethod)(JNIEnv *, jobject); + public jmethodID(*GetMethodID)(JNIEnv *, jclass, const char *, const char *); + public jmethodID(*GetStaticMethodID)(JNIEnv *, jclass, const char *, const char *); + public jobject(*AllocObject)(JNIEnv *, jclass); + public jobject(*CallNonvirtualObjectMethod)(JNIEnv *, jobject, jclass, jmethodID, ...); + public jobject(*CallNonvirtualObjectMethodA)(JNIEnv *, jobject, jclass, jmethodID, jvalue*); + public jobject(*CallNonvirtualObjectMethodV)(JNIEnv *, jobject, jclass, jmethodID, va_list); + public jobject(*CallObjectMethod)(JNIEnv *, jobject, jmethodID, ...); + public jobject(*CallObjectMethodA)(JNIEnv *, jobject, jmethodID, jvalue*); + public jobject(*CallObjectMethodV)(JNIEnv *, jobject, jmethodID, va_list); + public jobject(*CallStaticObjectMethod)(JNIEnv *, jclass, jmethodID, ...); + public jobject(*CallStaticObjectMethodA)(JNIEnv *, jclass, jmethodID, jvalue*); + public jobject(*CallStaticObjectMethodV)(JNIEnv *, jclass, jmethodID, va_list); + public jobject(*GetObjectArrayElement)(JNIEnv *, jobjectArray, jsize); + public jobject(*GetObjectField)(JNIEnv *, jobject, jfieldID); + public jobject(*GetStaticObjectField)(JNIEnv *, jclass, jfieldID); + public jobject(*NewDirectByteBuffer)(JNIEnv *, void *, jlong); + public jobject(*NewGlobalRef)(JNIEnv *, jobject); + public jobject(*NewLocalRef)(JNIEnv *, jobject); + public jobject(*NewObject)(JNIEnv *, jclass, jmethodID, ...); + public jobject(*NewObjectA)(JNIEnv *, jclass, jmethodID, jvalue*); + public jobject(*NewObjectV)(JNIEnv *, jclass, jmethodID, va_list); + public jobject(*PopLocalFrame)(JNIEnv *, jobject); + public jobject(*ToReflectedField)(JNIEnv *, jclass, jfieldID, jboolean); + public jobject(*ToReflectedMethod)(JNIEnv *, jclass, jmethodID, jboolean); + public jobjectArray(*NewObjectArray)(JNIEnv *, jsize, jclass, jobject); + public jobjectRefType(*GetObjectRefType)(JNIEnv *, jobject); + public jshort(*CallNonvirtualShortMethod)(JNIEnv *, jobject, jclass, jmethodID, ...); + public jshort(*CallNonvirtualShortMethodA)(JNIEnv *, jobject, jclass, jmethodID, jvalue*); + public jshort(*CallNonvirtualShortMethodV)(JNIEnv *, jobject, jclass, jmethodID, va_list); + public jshort(*CallShortMethod)(JNIEnv *, jobject, jmethodID, ...); + public jshort(*CallShortMethodA)(JNIEnv *, jobject, jmethodID, jvalue*); + public jshort(*CallShortMethodV)(JNIEnv *, jobject, jmethodID, va_list); + public jshort(*CallStaticShortMethod)(JNIEnv *, jclass, jmethodID, ...); + public jshort(*CallStaticShortMethodA)(JNIEnv *, jclass, jmethodID, jvalue*); + public jshort(*CallStaticShortMethodV)(JNIEnv *, jclass, jmethodID, va_list); + public jshort(*GetShortField)(JNIEnv *, jobject, jfieldID); + public jshort(*GetStaticShortField)(JNIEnv *, jclass, jfieldID); + public jshort*(*GetShortArrayElements)(JNIEnv *, jshortArray, jboolean *); + public jshortArray(*NewShortArray)(JNIEnv *, jsize); + public jsize(*GetArrayLength)(JNIEnv *, jarray); + public jsize(*GetStringLength)(JNIEnv *, jstring); + public jsize(*GetStringUTFLength)(JNIEnv *, jstring); + public jstring(*NewString)(JNIEnv *, const jchar *, jsize); + public jstring(*NewStringUTF)(JNIEnv *, const char *); + public jthrowable(*ExceptionOccurred)(JNIEnv *); + public jweak(*NewWeakGlobalRef)(JNIEnv *, jobject); + public void(*CallNonvirtualVoidMethod)(JNIEnv *, jobject, jclass, jmethodID, ...); + public void(*CallNonvirtualVoidMethodA)(JNIEnv *, jobject, jclass, jmethodID, jvalue*); + public void(*CallNonvirtualVoidMethodV)(JNIEnv *, jobject, jclass, jmethodID, va_list); + public void(*CallStaticVoidMethod)(JNIEnv *, jclass, jmethodID, ...); + public void(*CallStaticVoidMethodA)(JNIEnv *, jclass, jmethodID, jvalue*); + public void(*CallStaticVoidMethodV)(JNIEnv *, jclass, jmethodID, va_list); + public void(*CallVoidMethod)(JNIEnv *, jobject, jmethodID, ...); + public void(*CallVoidMethodA)(JNIEnv *, jobject, jmethodID, jvalue*); + public void(*CallVoidMethodV)(JNIEnv *, jobject, jmethodID, va_list); + public void(*DeleteGlobalRef)(JNIEnv *, jobject); + public void(*DeleteLocalRef)(JNIEnv *, jobject); + public void(*DeleteWeakGlobalRef)(JNIEnv *, jweak); + public void(*ExceptionClear)(JNIEnv *); + public void(*ExceptionDescribe)(JNIEnv *); + public void(*FatalError)(JNIEnv *, const char *); + public void(*GetBooleanArrayRegion)(JNIEnv *, jbooleanArray, jsize, jsize, jboolean *); + public void(*GetByteArrayRegion)(JNIEnv *, jbyteArray, jsize, jsize, jbyte *); + public void(*GetCharArrayRegion)(JNIEnv *, jcharArray, jsize, jsize, jchar *); + public void(*GetDoubleArrayRegion)(JNIEnv *, jdoubleArray, jsize, jsize, jdouble *); + public void(*GetFloatArrayRegion)(JNIEnv *, jfloatArray, jsize, jsize, jfloat *); + public void(*GetIntArrayRegion)(JNIEnv *, jintArray, jsize, jsize, jint *); + public void(*GetLongArrayRegion)(JNIEnv *, jlongArray, jsize, jsize, jlong *); + public void(*GetShortArrayRegion)(JNIEnv *, jshortArray, jsize, jsize, jshort *); + public void(*GetStringRegion)(JNIEnv *, jstring, jsize, jsize, jchar *); + public void(*GetStringUTFRegion)(JNIEnv *, jstring, jsize, jsize, char *); + public void(*ReleaseBooleanArrayElements)(JNIEnv *, jbooleanArray, jboolean *, jint); + public void(*ReleaseByteArrayElements)(JNIEnv *, jbyteArray, jbyte *, jint); + public void(*ReleaseCharArrayElements)(JNIEnv *, jcharArray, jchar *, jint); + public void(*ReleaseDoubleArrayElements)(JNIEnv *, jdoubleArray, jdouble *, jint); + public void(*ReleaseFloatArrayElements)(JNIEnv *, jfloatArray, jfloat *, jint); + public void(*ReleaseIntArrayElements)(JNIEnv *, jintArray, jint *, jint); + public void(*ReleaseLongArrayElements)(JNIEnv *, jlongArray, jlong *, jint); + public void(*ReleasePrimitiveArrayCritical)(JNIEnv *, jarray, void *, jint); + public void(*ReleaseShortArrayElements)(JNIEnv *, jshortArray, jshort *, jint); + public void(*ReleaseStringChars)(JNIEnv *, jstring, const jchar *); + public void(*ReleaseStringCritical)(JNIEnv *, jstring, const jchar *); + public void(*ReleaseStringUTFChars)(JNIEnv *, jstring, const char *); + public void(*SetBooleanArrayRegion)(JNIEnv *, jbooleanArray, jsize, jsize, const jboolean *); + public void(*SetBooleanField)(JNIEnv *, jobject, jfieldID, jboolean); + public void(*SetByteArrayRegion)(JNIEnv *, jbyteArray, jsize, jsize, const jbyte *); + public void(*SetByteField)(JNIEnv *, jobject, jfieldID, jbyte); + public void(*SetCharArrayRegion)(JNIEnv *, jcharArray, jsize, jsize, const jchar *); + public void(*SetCharField)(JNIEnv *, jobject, jfieldID, jchar); + public void(*SetDoubleArrayRegion)(JNIEnv *, jdoubleArray, jsize, jsize, const jdouble *); + public void(*SetDoubleField)(JNIEnv *, jobject, jfieldID, jdouble); + public void(*SetFloatArrayRegion)(JNIEnv *, jfloatArray, jsize, jsize, const jfloat *); + public void(*SetFloatField)(JNIEnv *, jobject, jfieldID, jfloat); + public void(*SetIntArrayRegion)(JNIEnv *, jintArray, jsize, jsize, const jint *); + public void(*SetIntField)(JNIEnv *, jobject, jfieldID, jint); + public void(*SetLongArrayRegion)(JNIEnv *, jlongArray, jsize, jsize, const jlong *); + public void(*SetLongField)(JNIEnv *, jobject, jfieldID, jlong); + public void(*SetObjectArrayElement)(JNIEnv *, jobjectArray, jsize, jobject); + public void(*SetObjectField)(JNIEnv *, jobject, jfieldID, jobject); + public void(*SetShortArrayRegion)(JNIEnv *, jshortArray, jsize, jsize, const jshort *); + public void(*SetShortField)(JNIEnv *, jobject, jfieldID, jshort); + public void(*SetStaticBooleanField)(JNIEnv *, jclass, jfieldID, jboolean); + public void(*SetStaticByteField)(JNIEnv *, jclass, jfieldID, jbyte); + public void(*SetStaticCharField)(JNIEnv *, jclass, jfieldID, jchar); + public void(*SetStaticDoubleField)(JNIEnv *, jclass, jfieldID, jdouble); + public void(*SetStaticFloatField)(JNIEnv *, jclass, jfieldID, jfloat); + public void(*SetStaticIntField)(JNIEnv *, jclass, jfieldID, jint); + public void(*SetStaticLongField)(JNIEnv *, jclass, jfieldID, jlong); + public void(*SetStaticObjectField)(JNIEnv *, jclass, jfieldID, jobject); + public void(*SetStaticShortField)(JNIEnv *, jclass, jfieldID, jshort); + public void* reserved0; + public void* reserved1; + public void* reserved2; + public void* reserved3; + public void*(*GetDirectBufferAddress)(JNIEnv *, jobject); + public void*(*GetPrimitiveArrayCritical)(JNIEnv *, jarray, jboolean *); +} + +struct JNINativeMethod { + public const char* name; + public const char* signature; + public void* fnPtr; +} + +struct JavaVMAttachArgs { + public const char* name; + public jint version; + public jobject group; +} + +struct JavaVMInitArgs { + public JavaVMOption* options; + public jboolean ignoreUnrecognized; + public jint nOptions; + public jint version; +} + +struct JavaVMOption { + public const char* optionString; + public void* extraInfo; +} + +struct YGConfig { +} + +struct YGNode { +} + +struct YGSize { + public float height; + public float width; +} + +struct YGValue { + public YGUnit unit; + public float value; +} + +struct _JNIEnv { + public const struct JNINativeInterface* functions; +} + +struct _JavaVM { + public const struct JNIInvokeInterface* functions; +} + +struct pre_merge_jni_library { + public const char* name; + public int(*onload_func)(JNIEnv *, jclass); +} + +template +class TinyMap { + public TinyMap::Iterator begin(); + public TinyMap::Iterator end(); + public TinyMap::Iterator find(KeyT key); + public using Iterator = TinyMap::Pair*; + public using Pair = std::pair; + public void erase(TinyMap::Iterator iterator); + public void insert(TinyMap::Pair pair); +} + +union jvalue { + public jboolean z; + public jbyte b; + public jchar c; + public jdouble d; + public jfloat f; + public jint i; + public jlong j; + public jobject l; + public jshort s; +} + + +bool facebook::xplat::jsArgAsBool(const folly::dynamic& args, size_t n); +double facebook::xplat::jsArgAsDouble(const folly::dynamic& args, size_t n); +int64_t facebook::xplat::jsArgAsInt(const folly::dynamic& args, size_t n); +std::string facebook::xplat::jsArgAsString(const folly::dynamic& args, size_t n); +template +R facebook::xplat::jsArg(const folly::dynamic& arg, R(folly::dynamic::*asFoo)() const &, const T &... desc); +template +R facebook::xplat::jsArg(const folly::dynamic& arg, R(folly::dynamic::*asFoo)() const, const T &... desc); +template +R facebook::xplat::jsArgN(const folly::dynamic& args, size_t n, R(folly::dynamic::*asFoo)() const &); +template +R facebook::xplat::jsArgN(const folly::dynamic& args, size_t n, R(folly::dynamic::*asFoo)() const); +template +facebook::xplat::detail::is_dynamic::type& facebook::xplat::jsArgAsArray(T&& args, size_t n); +template +facebook::xplat::detail::is_dynamic::type& facebook::xplat::jsArgAsDynamic(T&& args, size_t n); +template +facebook::xplat::detail::is_dynamic::type& facebook::xplat::jsArgAsObject(T&& args, size_t n); + +class facebook::xplat::JsArgumentException : public std::logic_error { + public JsArgumentException(const std::string& msg); +} + + +class facebook::xplat::module::CxxModule { + public static constexpr AsyncTagType AsyncTag; + public static constexpr SyncTagType SyncTag; + public std::weak_ptr getInstance(); + public using Callback = std::function)>; + public using Provider = std::function()>; + public virtual std::map getConstants(); + public virtual std::string getName() = 0; + public virtual std::vector getMethods() = 0; + public virtual ~CxxModule() = default; + public void setInstance(std::weak_ptr instance); +} + +struct facebook::xplat::module::CxxModule::Method { + public Method(std::string aname, std::function&& afunc, SyncTagType); + public Method(std::string aname, std::function&& afunc, SyncTagType); + public Method(std::string aname, std::function&& afunc); + public Method(std::string aname, std::function&& afunc); + public Method(std::string aname, std::function&& afunc); + public Method(std::string aname, std::function&& afunc); + public Method(std::string aname, std::function&& afunc, AsyncTagType); + public bool isPromise; + public const char* getType(); + public size_t callbacks; + public std::function syncFunc; + public std::function func; + public std::string name; + template + public Method(std::string aname, T* t, void(T::*method)()); + template + public Method(std::string aname, T* t, void(T::*method)(folly::dynamic)); + template + public Method(std::string aname, T* t, void(T::*method)(folly::dynamic, facebook::xplat::module::CxxModule::Callback)); + template + public Method(std::string aname, T* t, void(T::*method)(folly::dynamic, facebook::xplat::module::CxxModule::Callback, facebook::xplat::module::CxxModule::Callback)); + template + public Method(std::string aname, T* t, void(T::*method)(folly::dynamic, facebook::xplat::module::CxxModule::Callback, facebook::xplat::module::CxxModule::Callback), AsyncTagType); +} + + +std::string facebook::xplat::detail::toStringHelper(); +template +R facebook::xplat::detail::jsArg1(const folly::dynamic& arg, M asFoo, const T &... desc); +template +std::string facebook::xplat::detail::toStringHelper(const T& value, const Rest &... rest); +template +facebook::xplat::detail::is_dynamic::type& facebook::xplat::detail::jsArgAsType(T&& args, size_t n, const char* required, bool(folly::dynamic::*isFoo)() const); +template +std::string facebook::xplat::detail::toStringHelper(const char* value, const Rest &... rest); + +template +struct facebook::xplat::detail::is_dynamic { + public using type = typename std::enable_if::value, T>::type; +} + + +class facebook::hermes::IHermes : public facebook::jsi::ICast { + protected ~IHermes() = default; + public static constexpr facebook::jsi::UUID uuid; + public virtual ICast* getHermesRootAPI() = 0; + public virtual SHRuntime* getSHRuntime() noexcept = 0; + public virtual const hermes::vm::GCExecTrace& getGCExecTrace() const = 0; + public virtual debugger::Debugger& getDebugger() = 0; + public virtual facebook::jsi::Value evaluateJavaScriptWithSourceMap(const std::shared_ptr& buffer, const std::shared_ptr& sourceMapBuf, const std::string& sourceURL) = 0; + public virtual facebook::jsi::Value evaluateSHUnit(SHUnitCreator shUnitCreator) = 0; + public virtual facebook::jsi::Value getObjectForID(uint64_t id) = 0; + public virtual sampling_profiler::Profile dumpSampledTraceToProfile() = 0; + public virtual std::string getIOTrackingInfoJSON() = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::BigInt& s) const = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::Object& o) const = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::PropNameID& pni) const = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::String& s) const = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::Symbol& sym) const = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::Value& val) const = 0; + public virtual void asyncTriggerTimeout() = 0; + public virtual void debugJavaScript(const std::string& src, const std::string& sourceURL, const facebook::hermes::IHermes::DebugFlags& debugFlags) = 0; + public virtual void loadSegment(std::unique_ptr buffer, const facebook::jsi::Value& context) = 0; + public virtual void registerForProfiling() = 0; + public virtual void resetTimezoneCache() = 0; + public virtual void sampledTraceToStreamInDevToolsFormat(std::ostream& stream) = 0; + public virtual void unregisterForProfiling() = 0; + public virtual void unwatchTimeLimit() = 0; + public virtual void watchTimeLimit(uint32_t timeoutInMs) = 0; + public virtual void* getVMRuntimeUnsafe() const = 0; +} + +struct facebook::hermes::IHermes::DebugFlags { +} + +class facebook::hermes::IHermesSHUnit : public facebook::jsi::ICast { + protected ~IHermesSHUnit() = default; + public static constexpr facebook::jsi::UUID uuid; + public virtual SHUnitCreator getSHUnitCreator() const = 0; +} + + +const char facebook::react::AndroidHorizontalScrollContentViewShadowNodeComponentName[]; +const char facebook::react::AndroidProgressBarComponentName[]; +const char facebook::react::AndroidSwitchComponentName[]; +const char facebook::react::AndroidTextInputComponentName[]; +const char facebook::react::AppleSwitchComponentName[]; +const char facebook::react::ImageComponentName[]; +const char facebook::react::ImageFetcherKey[]; +const char facebook::react::ImageManagerKey[]; +const char facebook::react::InputAccessoryComponentName[]; +const char facebook::react::LegacyViewManagerAndroidInteropComponentName[]; +const char facebook::react::LegacyViewManagerInteropComponentName[]; +const char facebook::react::ModalHostViewComponentName[]; +const char facebook::react::ParagraphComponentName[]; +const char facebook::react::RawTextComponentName[]; +const char facebook::react::RootComponentName[]; +const char facebook::react::RuntimeSchedulerKey[]; +const char facebook::react::SafeAreaViewComponentName[]; +const char facebook::react::ScrollViewComponentName[]; +const char facebook::react::TextComponentName[]; +const char facebook::react::UnimplementedViewComponentName[]; +const char facebook::react::ViewComponentName[]; +const facebook::react::EventTag facebook::react::EMPTY_EVENT_TAG; +constexpr auto facebook::react::kSimpleThreadSafeCacheSizeCap; +constexpr auto facebook::react::rncore_ModuleProvider; +constexpr char facebook::react::LayoutConformanceShadowNodeComponentName[]; +constexpr char facebook::react::VirtualViewComponentName[]; +constexpr char* const facebook::react::TextLayoutManagerKey; +constexpr facebook::react::HighResDuration facebook::react::DEFAULT_DURATION_THRESHOLD; +constexpr facebook::react::HighResDuration facebook::react::LONG_TASK_DURATION_THRESHOLD; +constexpr facebook::react::ReactNativeVersionType facebook::react::ReactNativeVersion; +constexpr float facebook::react::kDefaultEpsilon; +constexpr size_t facebook::react::EVENT_BUFFER_SIZE; +constexpr size_t facebook::react::LONG_TASK_BUFFER_SIZE; +constexpr size_t facebook::react::RESOURCE_TIMING_BUFFER_SIZE; +constexpr uint32_t facebook::react::INITIAL_BUCKETS_SIZE; +static const facebook::react::LayoutMetrics facebook::react::EmptyLayoutMetrics; +static const facebook::react::TelemetryTimePoint facebook::react::kTelemetryUndefinedTimePoint; +static const int facebook::react::NO_VIEW_TAG; +static constexpr auto facebook::react::kPropNameLengthHardCap; +static constexpr double facebook::react::SingleFrameIntervalMs; +static constexpr double facebook::react::TicksPerMs; +static constexpr facebook::react::MapBuffer::Key facebook::react::AS_KEY_BASE_ATTRIBUTES; +static constexpr facebook::react::MapBuffer::Key facebook::react::AS_KEY_CACHE_ID; +static constexpr facebook::react::MapBuffer::Key facebook::react::AS_KEY_FRAGMENTS; +static constexpr facebook::react::MapBuffer::Key facebook::react::AS_KEY_HASH; +static constexpr facebook::react::MapBuffer::Key facebook::react::AS_KEY_STRING; +static constexpr facebook::react::MapBuffer::Key facebook::react::FR_KEY_HEIGHT; +static constexpr facebook::react::MapBuffer::Key facebook::react::FR_KEY_IS_ATTACHMENT; +static constexpr facebook::react::MapBuffer::Key facebook::react::FR_KEY_REACT_TAG; +static constexpr facebook::react::MapBuffer::Key facebook::react::FR_KEY_STRING; +static constexpr facebook::react::MapBuffer::Key facebook::react::FR_KEY_TEXT_ATTRIBUTES; +static constexpr facebook::react::MapBuffer::Key facebook::react::FR_KEY_WIDTH; +static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_ADJUST_FONT_SIZE_TO_FIT; +static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_ELLIPSIZE_MODE; +static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_HYPHENATION_FREQUENCY; +static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_INCLUDE_FONT_PADDING; +static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_MAXIMUM_FONT_SIZE; +static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_MAX_NUMBER_OF_LINES; +static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_MINIMUM_FONT_SIZE; +static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_TEXT_ALIGN_VERTICAL; +static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_TEXT_BREAK_STRATEGY; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_ACCESSIBILITY_ROLE; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_ALIGNMENT; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_ALIGNMENT_VERTICAL; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_ALLOW_FONT_SCALING; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_BACKGROUND_COLOR; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_BEST_WRITING_DIRECTION; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_FONT_FAMILY; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_FONT_SIZE; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_FONT_SIZE_MULTIPLIER; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_FONT_STYLE; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_FONT_VARIANT; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_FONT_WEIGHT; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_FOREGROUND_COLOR; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_IS_HIGHLIGHTED; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_LAYOUT_DIRECTION; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_LETTER_SPACING; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_LINE_BREAK_STRATEGY; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_LINE_HEIGHT; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_MAX_FONT_SIZE_MULTIPLIER; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_OPACITY; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_ROLE; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_DECORATION_COLOR; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_DECORATION_LINE; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_DECORATION_STYLE; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_SHADOW_COLOR; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_SHADOW_OFFSET_DX; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_SHADOW_OFFSET_DY; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_SHADOW_RADIUS; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_TRANSFORM; +static constexpr facebook::react::MapBuffer::Key facebook::react::TX_STATE_KEY_ATTRIBUTED_STRING; +static constexpr facebook::react::MapBuffer::Key facebook::react::TX_STATE_KEY_HASH; +static constexpr facebook::react::MapBuffer::Key facebook::react::TX_STATE_KEY_MOST_RECENT_EVENT_COUNT; +static constexpr facebook::react::MapBuffer::Key facebook::react::TX_STATE_KEY_PARAGRAPH_ATTRIBUTES; +static constexpr facebook::react::RawPropsValueIndex facebook::react::kRawPropsValueIndexEmpty; +static constexpr std::string_view facebook::react::ExtrapolateTypeClamp; +static constexpr std::string_view facebook::react::ExtrapolateTypeExtend; +static constexpr std::string_view facebook::react::ExtrapolateTypeIdentity; +template +using facebook::react::CSSCompoundDataType = std::variant; +template +using facebook::react::CSSCommaSeparatedList = facebook::react::CSSList; +template +using facebook::react::CSSWhitespaceSeparatedList = facebook::react::CSSList; +template +using facebook::react::CSSMergedDataTypes = typename facebook::react::detail::merge_data_types::type; +template +using facebook::react::CSSVariantWithTypes = typename facebook::react::detail::merge_variant::type; +template +using facebook::react::EventListenerT = std::function; +typedef std::function facebook::react::ValueListenerCallback; +typedef void(*facebook::react::WarnOnUsageLogger)(std::string message); +using facebook::react::ActivePointerRegistry = std::unordered_map; +using facebook::react::ActivityIndicatorViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::ActivityIndicatorViewShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::ActivityIndicatorViewState = facebook::react::StateData; +using facebook::react::AndroidDrawerLayoutComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::AndroidDrawerLayoutShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::AndroidDrawerLayoutState = facebook::react::StateData; +using facebook::react::AndroidHorizontalScrollContentViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::AndroidSwipeRefreshLayoutComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::AndroidSwipeRefreshLayoutShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::AndroidSwipeRefreshLayoutState = facebook::react::StateData; +using facebook::react::AnimationEndCallback = facebook::react::AsyncCallback; +using facebook::react::AnimationTimestamp = std::chrono::duration; +using facebook::react::BackgroundExecutor = std::function&& callback)>; +using facebook::react::BackgroundImage = std::variant; +using facebook::react::BackgroundSize = std::variant; +using facebook::react::BorderColors = facebook::react::RectangleEdges; +using facebook::react::BorderCurves = facebook::react::RectangleCorners; +using facebook::react::BorderRadii = facebook::react::RectangleCorners; +using facebook::react::BorderStyles = facebook::react::RectangleEdges; +using facebook::react::BorderWidths = facebook::react::RectangleEdges; +using facebook::react::CSSBackgroundImage = facebook::react::CSSCompoundDataType; +using facebook::react::CSSBackgroundImageList = facebook::react::CSSCommaSeparatedList; +using facebook::react::CSSFilterFunction = facebook::react::CSSCompoundDataType; +using facebook::react::CSSFilterList = facebook::react::CSSWhitespaceSeparatedList; +using facebook::react::CSSFontVariantList = facebook::react::CSSWhitespaceSeparatedList; +using facebook::react::CSSLengthPercentage = facebook::react::CSSCompoundDataType; +using facebook::react::CSSPreservedToken = facebook::react::CSSToken; +using facebook::react::CSSRadialGradientSize = std::variant; +using facebook::react::CSSShadowList = facebook::react::CSSCommaSeparatedList; +using facebook::react::CSSTransformFunction = facebook::react::CSSCompoundDataType; +using facebook::react::CSSTransformList = facebook::react::CSSWhitespaceSeparatedList; +using facebook::react::CallFunc = std::function; +using facebook::react::Callback = std::function; +using facebook::react::CallbackHandle = facebook::jsi::Object; +using facebook::react::CallbackId = uint64_t; +using facebook::react::CaptureTargetOverrideRegistry = std::unordered_map>; +using facebook::react::CascadedBorderColors = facebook::react::CascadedRectangleEdges; +using facebook::react::CascadedBorderCurves = facebook::react::CascadedRectangleCorners; +using facebook::react::CascadedBorderRadii = facebook::react::CascadedRectangleCorners; +using facebook::react::CascadedBorderStyles = facebook::react::CascadedRectangleEdges; +using facebook::react::CascadedBorderWidths = facebook::react::CascadedRectangleEdges; +using facebook::react::Color = int32_t; +using facebook::react::ComponentDescriptorConstructor = facebook::react::ComponentDescriptor::Unique(const facebook::react::ComponentDescriptorParameters& parameters); +using facebook::react::ComponentDescriptorProviderRequest = std::function; +using facebook::react::ComponentHandle = int64_t; +using facebook::react::ComponentName = const char*; +using facebook::react::ComponentRegistryFactory = std::function& contextContainer)>; +using facebook::react::CornerInsets = facebook::react::RectangleCorners; +using facebook::react::DebuggingOverlayComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::DebuggingOverlayShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::DebuggingOverlayState = facebook::react::StateData; +using facebook::react::DispatchEvent = std::function; +using facebook::react::EdgeInsets = facebook::react::RectangleEdges; +using facebook::react::EndResult = facebook::react::NativeAnimatedTurboModuleEndResult, std::optional>; +using facebook::react::EventEmitterListener = facebook::react::EventListenerT; +using facebook::react::EventEmitterListenerContainer = facebook::react::EventListenerContainerT; +using facebook::react::EventListener = std::function; +using facebook::react::EventPipe = std::function; +using facebook::react::EventPipeConclusion = std::function; +using facebook::react::EventTag = unsigned int; +using facebook::react::Float = float; +using facebook::react::GarbageCollectionTrigger = std::function; +using facebook::react::GradientDirection = std::variant; +using facebook::react::HasComponentProviderFunctionType = std::function; +using facebook::react::Headers = std::map; +using facebook::react::HostPlatformTouch = facebook::react::BaseTouch; +using facebook::react::HostPlatformViewEventEmitter = facebook::react::BaseViewEventEmitter; +using facebook::react::ImageSources = std::vector; +using facebook::react::InteractionTypesMap = std::unordered_map; +using facebook::react::IntersectionObserverObserverId = int32_t; +using facebook::react::JSIScopedTimeoutInvoker = std::function& invokee, std::function errorMessageProducer)>; +using facebook::react::LayoutConformanceComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::LegacyViewManagerAndroidInteropShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::LegacyViewManagerInteropShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::LineMeasureCache = facebook::react::SimpleThreadSafeCache; +using facebook::react::LinesMeasurements = std::vector; +using facebook::react::Logger = std::function; +using facebook::react::MeasureInWindowOnSuccessCallback = facebook::react::SyncCallback; +using facebook::react::MeasureLayoutOnSuccessCallback = facebook::react::SyncCallback; +using facebook::react::MeasureOnSuccessCallback = facebook::react::SyncCallback; +using facebook::react::MethodCallResult = std::optional; +using facebook::react::ModalHostViewSupportedOrientationsMask = uint32_t; +using facebook::react::MountingTransactionCallback = std::function; +using facebook::react::MutationObserverId = int32_t; +using facebook::react::NativeIntersectionObserverEntry = facebook::react::NativeIntersectionObserverNativeIntersectionObserverEntry; +using facebook::react::NativeIntersectionObserverIntersectionObserverId = int32_t; +using facebook::react::NativeIntersectionObserverObserveOptions = facebook::react::NativeIntersectionObserverNativeIntersectionObserverObserveOptions>, std::shared_ptr, std::vector, std::optional>, std::optional>; +using facebook::react::NativeMethodCallFunc = std::function; +using facebook::react::NativeMutationObserverObserveOptions = facebook::react::NativeMutationObserverNativeMutationObserverObserveOptions, bool>; +using facebook::react::NativeMutationRecord = facebook::react::NativeMutationObserverNativeMutationRecord, std::vector>; +using facebook::react::NativePartialReloadAndProfileConfig = facebook::react::NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfig, std::optional>; +using facebook::react::NativePerformancePerformanceObserverCallback = facebook::react::AsyncCallback<>; +using facebook::react::NativePerformancePerformanceObserverObserveOptions = facebook::react::NativePerformancePerformanceObserverInit>, std::optional, std::optional, std::optional>; +using facebook::react::NativeReloadAndProfileConfig = facebook::react::NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfig; +using facebook::react::NativeRequestIdleCallbackOptions = facebook::react::NativeIdleCallbacksRequestIdleCallbackOptions>; +using facebook::react::OnMutations = std::function&)>; +using facebook::react::ParagraphProps = facebook::react::HostPlatformParagraphProps; +using facebook::react::PerformanceEntry = std::variant; +using facebook::react::PerformanceEntryInteractionId = uint32_t; +using facebook::react::PerformanceObserverCallback = std::function; +using facebook::react::PerformanceObserverEntryTypeFilter = std::unordered_set; +using facebook::react::PointerHoverTrackerRegistry = std::unordered_map; +using facebook::react::PointerIdentifier = int32_t; +using facebook::react::PromiseSetupFunctionType = std::function)>; +using facebook::react::PullToRefreshViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::PullToRefreshViewShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::PullToRefreshViewState = facebook::react::StateData; +using facebook::react::RawCallback = std::function; +using facebook::react::RawPropsPropNameHash = uint32_t; +using facebook::react::RawPropsPropNameLength = uint16_t; +using facebook::react::RawPropsValueIndex = uint16_t; +using facebook::react::RawTextComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::RectAsTuple = std::tuple; +using facebook::react::RootComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::RuntimeExecutor = std::function&& callback)>; +using facebook::react::RuntimeSchedulerRenderingUpdate = std::function; +using facebook::react::RuntimeSchedulerTaskErrorHandler = std::function; +using facebook::react::ScrollViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::ScrollViewProps = facebook::react::HostPlatformScrollViewProps; +using facebook::react::ShadowTreeCommitTransaction = std::function; +using facebook::react::ShadowViewMutationList = std::vector; +using facebook::react::SharedComponentDescriptor = std::shared_ptr; +using facebook::react::SharedComponentDescriptorRegistry = std::shared_ptr; +using facebook::react::SharedEventEmitter = std::shared_ptr; +using facebook::react::SharedEventPayload = std::shared_ptr; +using facebook::react::SharedEventTarget = std::shared_ptr; +using facebook::react::SharedParagraphAttributes = std::shared_ptr; +using facebook::react::SharedRawTextProps = std::shared_ptr; +using facebook::react::SharedScrollViewProps = std::shared_ptr; +using facebook::react::SharedShadowNodeFamily = std::shared_ptr; +using facebook::react::SharedTextAttributes = std::shared_ptr; +using facebook::react::SharedTouchEventEmitter = std::shared_ptr; +using facebook::react::SharedViewEventEmitter = std::shared_ptr; +using facebook::react::SharedViewProps = std::shared_ptr; +using facebook::react::SnapshotMap = std::unordered_map>; +using facebook::react::StatePipe = std::function; +using facebook::react::SurfaceId = int32_t; +using facebook::react::Tag = int32_t; +using facebook::react::TelemetryClock = std::chrono::steady_clock; +using facebook::react::TelemetryDuration = std::chrono::nanoseconds; +using facebook::react::TelemetryTimePoint = facebook::react::TelemetryClock::time_point; +using facebook::react::TextComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::TextEventEmitter = facebook::react::TouchEventEmitter; +using facebook::react::TextLayoutManagerExtended = facebook::react::detail::TextLayoutManagerExtended; +using facebook::react::TextMeasureCache = facebook::react::SimpleThreadSafeCache; +using facebook::react::TimePointFunction = std::chrono::steady_clock::time_point(*)(); +using facebook::react::TimerHandle = int; +using facebook::react::TimerManagerDelegate = facebook::react::PlatformTimerRegistry; +using facebook::react::Touch = facebook::react::HostPlatformTouch; +using facebook::react::Touches = std::unordered_set; +using facebook::react::TraceSectionUnwrapped = facebook::react::DummyTraceSection; +using facebook::react::TracingStateListener = std::function; +using facebook::react::TurboModuleProviderFunctionTypeWithRuntime = std::function(facebook::jsi::Runtime& runtime, const std::string& name)>; +using facebook::react::UiTask = std::function; +using facebook::react::UnimplementedNativeViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::UnimplementedNativeViewShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::UnimplementedNativeViewState = facebook::react::StateData; +using facebook::react::UnimplementedViewShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::UserTimingDetailProvider = std::function; +using facebook::react::ValueFactory = std::function; +using facebook::react::ViewEventEmitter = facebook::react::HostPlatformViewEventEmitter; +using facebook::react::ViewNodePairScope = std::deque; +using facebook::react::ViewProps = facebook::react::HostPlatformViewProps; +using facebook::react::VirtualViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::parsePlatformColorFn = facebook::react::SharedColor(*)(const facebook::react::ContextContainer&, int32_t, const facebook::react::RawValue&); +template +concept facebook::react::CacheGeneratorFunction = std::invocable && std::same_as, ValueT>; +template +concept facebook::react::CSSUniqueComponentValueVisitors = CSSSyntaxVisitorReturn&& (CSSComponentValueVisitor && ...) && + ((CSSFunctionVisitor ? 1 : 0) + ... + 0) <= 1&& + ((CSSPreservedTokenVisitor ? 1 : 0) + ... + 0) <= 1&& + ((CSSSimpleBlockVisitor ? 1 : 0) + ... + 0) <= 1; +template +concept facebook::react::StateDataWithJNIReference = requires(StateDataT stateData) { + { stateData.getJNIReference() } -> std::same_as>; +}; +template +concept facebook::react::StateDataWithMapBuffer = requires(StateDataT stateData) { + { stateData.getMapBuffer() } -> std::same_as; +}; +template +concept facebook::react::CSSFunctionBlockSink = requires(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser) { + { T::consumeFunctionBlock(func, parser) } -> std::convertible_to; +}; +template +concept facebook::react::CSSParserSink = requires(facebook::react::CSSValueParser& parser) { + { T::consume(parser) } -> std::convertible_to; +}; +template +concept facebook::react::CSSPreservedTokenSink = requires(const facebook::react::CSSPreservedToken& token) { + { T::consumePreservedToken(token) } -> std::convertible_to; +}; +template +concept facebook::react::CSSSimpleBlockSink = requires(const facebook::react::CSSSimpleBlock& block, facebook::react::CSSValueParser& parser) { + { T::consumeSimpleBlock(block, parser) } -> std::convertible_to; +}; +template +concept facebook::react::CSSValidDataTypeParser = ((CSSFunctionBlockSink || CSSSimpleBlockSink || CSSPreservedTokenSink) && + !CSSParserSink) || +CSSParserSink; +template +concept facebook::react::CSSComponentValueVisitor = CSSSyntaxVisitorReturn&& + (CSSFunctionVisitor || CSSPreservedTokenVisitor || CSSSimpleBlockVisitor); +template +concept facebook::react::CSSFunctionVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSFunctionBlock func, facebook::react::CSSSyntaxParser& blockParser) { + { visitor(func, blockParser) } -> std::convertible_to; +}; +template +concept facebook::react::CSSPreservedTokenVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSPreservedToken token) { + { visitor(token) } -> std::convertible_to; +}; +template +concept facebook::react::CSSSimpleBlockVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSSimpleBlock block, facebook::react::CSSSyntaxParser& blockParser) { + { visitor(block, blockParser) } -> std::convertible_to; +}; +template +concept facebook::react::CSSDataType = CSSValidDataTypeParser, std::optional> && std::equality_comparable; +template +concept facebook::react::CSSKeywordSet = std::is_enum_v && std::is_same_v, std::underlying_type_t>; +template +concept facebook::react::CSSMaybeCompoundDataType = CSSDataType || CSSValidCompoundDataType; +template +concept facebook::react::CSSSyntaxVisitorReturn = std::is_default_constructible_v && std::equality_comparable; +template +concept facebook::react::CSSValidCompoundDataType = facebook::react::detail::is_variant_of_data_types::value; +template +concept facebook::react::Hashable = !std::is_same_v&& (requires(T a) { + { std::hash{}(a) } -> std::convertible_to; +}); +template +concept facebook::react::RawPropsFilterable = requires(facebook::react::RawProps& rawProps) { + { T::filterRawProps(rawProps) } -> std::same_as; +}; +template +concept facebook::react::TextLayoutManagerWithPreparedTextLayout = requires( + TextLayoutManagerT textLayoutManager, + facebook::react::AttributedString attributedString, + facebook::react::ParagraphAttributes paragraphAttributes, + facebook::react::TextLayoutContext layoutContext, + facebook::react::LayoutConstraints layoutConstraints, + typename TextLayoutManagerT::PreparedTextLayout preparedTextLayout) { + sizeof(typename TextLayoutManagerT::PreparedTextLayout); + { + textLayoutManager.prepareLayout(attributedString, paragraphAttributes, layoutContext, layoutConstraints) + } -> std::same_as; + { + textLayoutManager.measurePreparedLayout(preparedTextLayout, layoutContext, layoutConstraints) + } -> std::same_as; +}; +AAssetManager* facebook::react::extractAssetManager(jni::alias_ref assetManager); +JSI_EXPORT std::shared_ptr facebook::react::FBReactNativeSpec_ModuleProvider(const std::string& moduleName, const facebook::react::JavaTurboModule::InitParams& params); +YGDirection facebook::react::yogaDirectionFromLayoutDirection(facebook::react::LayoutDirection direction); +bool facebook::react::areAttributedStringFragmentsEquivalentDisplayWise(const facebook::react::AttributedString::Fragment& lhs, const facebook::react::AttributedString::Fragment& rhs); +bool facebook::react::areAttributedStringFragmentsEquivalentLayoutWise(const facebook::react::AttributedString::Fragment& lhs, const facebook::react::AttributedString::Fragment& rhs); +bool facebook::react::areAttributedStringsEquivalentDisplayWise(const facebook::react::AttributedString& lhs, const facebook::react::AttributedString& rhs); +bool facebook::react::areAttributedStringsEquivalentLayoutWise(const facebook::react::AttributedString& lhs, const facebook::react::AttributedString& rhs); +bool facebook::react::areTextAttributesEquivalentLayoutWise(const facebook::react::TextAttributes& lhs, const facebook::react::TextAttributes& rhs); +bool facebook::react::hasAccurateCPUTimeNanosForBenchmarks(); +bool facebook::react::hostPlatformColorIsColorMeaningful(facebook::react::Color color) noexcept; +bool facebook::react::isColorMeaningful(const facebook::react::SharedColor& color) noexcept; +bool facebook::react::isHermesBytecodeBundle(const facebook::react::BundleHeader& header); +bool facebook::react::isZero(facebook::react::Float n); +const char* facebook::react::stringForScriptTag(const facebook::react::ScriptTag& tag); +const facebook::react::InteractionTypesMap& facebook::react::getInteractionTypes(); +const std::unordered_set& facebook::react::getDirectManipulationAllowlist(); +constexpr auto facebook::react::to_underlying(auto e) noexcept; +constexpr bool facebook::react::iequals(std::string_view a, std::string_view b); +constexpr char facebook::react::toLower(char c); +constexpr float facebook::react::canonicalize(float value, facebook::react::CSSAngleUnit unit); +constexpr std::optional facebook::react::parseCSSAngleUnit(std::string_view unit); +constexpr std::optional facebook::react::parseCSSLengthUnit(std::string_view unit); +constexpr uint32_t facebook::react::fnv1aLowercase(std::string_view string); +double facebook::react::ceil(double value) noexcept; +double facebook::react::floor(double value) noexcept; +double facebook::react::getCPUTimeNanos(); +double facebook::react::interpolate(double inputValue, double inputMin, double inputMax, double outputMin, double outputMax, std::string_view extrapolateLeft, std::string_view extrapolateRight); +double facebook::react::round(double value) noexcept; +facebook::jsi::Value facebook::react::createPromiseAsJSIValue(facebook::jsi::Runtime& rt, facebook::react::PromiseSetupFunctionType&& func); +facebook::react::AttributedString facebook::react::ensurePlaceholderIfEmpty_DO_NOT_USE(const facebook::react::AttributedString& attributedString); +facebook::react::Color facebook::react::hostPlatformColorFromComponents(facebook::react::ColorComponents components); +facebook::react::Color facebook::react::hostPlatformColorFromRGBA(uint8_t r, uint8_t g, uint8_t b, uint8_t a); +facebook::react::ColorComponents facebook::react::colorComponentsFromColor(facebook::react::SharedColor color); +facebook::react::ColorComponents facebook::react::colorComponentsFromHostPlatformColor(facebook::react::Color color); +facebook::react::ColorSpace facebook::react::getDefaultColorSpace(); +facebook::react::ComponentBuilder facebook::react::simpleComponentBuilder(std::shared_ptr contextContainer = nullptr); +facebook::react::ComponentRegistryFactory facebook::react::getDefaultComponentRegistryFactory(); +facebook::react::DisplayType facebook::react::displayTypeFromYGDisplay(YGDisplay display); +facebook::react::FilterType facebook::react::filterTypeFromVariant(const facebook::react::CSSFilterFunction& filter); +facebook::react::Float facebook::react::floatFromYogaFloat(float value); +facebook::react::Float facebook::react::floatFromYogaOptionalFloat(facebook::yoga::FloatOptional value); +facebook::react::LayoutMetrics facebook::react::layoutMetricsFromYogaNode(facebook::yoga::Node& yogaNode); +facebook::react::MapBuffer facebook::react::serializeImageRequests(const std::vector& items); +facebook::react::MapBuffer facebook::react::toMapBuffer(const facebook::react::AttributedString& attributedString); +facebook::react::MapBuffer facebook::react::toMapBuffer(const facebook::react::AttributedString::Fragment& fragment); +facebook::react::MapBuffer facebook::react::toMapBuffer(const facebook::react::FontVariant& fontVariant); +facebook::react::MapBuffer facebook::react::toMapBuffer(const facebook::react::ParagraphAttributes& paragraphAttributes); +facebook::react::MapBuffer facebook::react::toMapBuffer(const facebook::react::ParagraphState& paragraphState); +facebook::react::MapBuffer facebook::react::toMapBuffer(const facebook::react::TextAttributes& textAttributes); +facebook::react::ParagraphAttributes facebook::react::convertRawProp(const facebook::react::PropsParserContext& context, const facebook::react::RawProps& rawProps, const facebook::react::ParagraphAttributes& sourceParagraphAttributes, const facebook::react::ParagraphAttributes& defaultParagraphAttributes); +facebook::react::Rect facebook::react::insetBy(const facebook::react::Rect& rect, const facebook::react::EdgeInsets& insets) noexcept; +facebook::react::Rect facebook::react::outsetBy(const facebook::react::Rect& rect, const facebook::react::EdgeInsets& outsets) noexcept; +facebook::react::ScriptTag facebook::react::parseTypeFromHeader(const facebook::react::BundleHeader& header); +facebook::react::ShadowView facebook::react::shadowViewFromShadowNode(const facebook::react::ShadowNode& shadowNode); +facebook::react::ShadowViewMutation::List facebook::react::calculateShadowViewMutations(const facebook::react::ShadowNode& oldRootShadowNode, const facebook::react::ShadowNode& newRootShadowNode); +facebook::react::SharedColor facebook::react::blackColor(); +facebook::react::SharedColor facebook::react::clearColor(); +facebook::react::SharedColor facebook::react::coerceColor(const facebook::react::RawValue& value, const facebook::react::PropsParserContext& context); +facebook::react::SharedColor facebook::react::colorFromComponents(facebook::react::ColorComponents components); +facebook::react::SharedColor facebook::react::colorFromRGBA(uint8_t r, uint8_t g, uint8_t b, uint8_t a); +facebook::react::SharedColor facebook::react::fromCSSColor(const facebook::react::CSSColor& cssColor); +facebook::react::SharedColor facebook::react::parsePlatformColor(const facebook::react::ContextContainer& contextContainer, int32_t surfaceId, const facebook::react::RawValue& value); +facebook::react::SharedColor facebook::react::whiteColor(); +facebook::react::Size facebook::react::ModalHostViewScreenSize(void); +facebook::react::Size facebook::react::yogaMeassureToSize(int64_t value); +facebook::react::StubViewTree facebook::react::buildStubViewTreeUsingDifferentiator(const facebook::react::ShadowNode& rootShadowNode); +facebook::react::StubViewTree facebook::react::buildStubViewTreeWithoutUsingDifferentiator(const facebook::react::ShadowNode& rootShadowNode); +facebook::react::SurfaceId facebook::react::getNextRootViewTag() noexcept; +facebook::react::TurboModuleMethodValueKind facebook::react::getTurboModuleMethodValueKind(facebook::jsi::Runtime& rt, const facebook::jsi::Value* value); +facebook::react::ValueUnit facebook::react::cssLengthPercentageToValueUnit(const std::variant& value); +facebook::react::ValueUnit facebook::react::toValueUnit(const facebook::react::RawValue& value); +facebook::yoga::FloatOptional facebook::react::convertAspectRatio(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value); +facebook::yoga::FloatOptional facebook::react::yogaOptionalFloatFromFloat(facebook::react::Float value); +float facebook::react::alphaFromHostPlatformColor(facebook::react::Color color); +float facebook::react::blueFromHostPlatformColor(facebook::react::Color color); +float facebook::react::ceil(float value) noexcept; +float facebook::react::floor(float value) noexcept; +float facebook::react::greenFromHostPlatformColor(facebook::react::Color color); +float facebook::react::redFromHostPlatformColor(facebook::react::Color color); +float facebook::react::round(float value) noexcept; +float facebook::react::yogaFloatFromFloat(facebook::react::Float value); +folly::dynamic facebook::react::diffDynamicProps(const folly::dynamic& oldProps, const folly::dynamic& newProps); +folly::dynamic facebook::react::mergeDynamicProps(const folly::dynamic& source, const folly::dynamic& patch, facebook::react::NullValueStrategy nullValueStrategy); +folly::dynamic facebook::react::toDynamic(const YGValue& dimension); +folly::dynamic facebook::react::toDynamic(const facebook::react::AndroidProgressBarProps& props); +folly::dynamic facebook::react::toDynamic(const facebook::react::AndroidTextInputTextShadowOffsetStruct& value); +folly::dynamic facebook::react::toDynamic(const facebook::react::BackgroundImage& backgroundImage); +folly::dynamic facebook::react::toDynamic(const facebook::react::BoxShadow& boxShadow); +folly::dynamic facebook::react::toDynamic(const facebook::react::EdgeInsets& edgeInsets); +folly::dynamic facebook::react::toDynamic(const facebook::react::FilterFunction& filterFunction); +folly::dynamic facebook::react::toDynamic(const facebook::react::ImageSource& imageSource); +folly::dynamic facebook::react::toDynamic(const facebook::react::Point& point); +folly::dynamic facebook::react::toDynamic(const facebook::react::SharedColor& sharedColor); +folly::dynamic facebook::react::toDynamic(const facebook::react::SubmitBehavior& value); +folly::dynamic facebook::react::toDynamic(const std::vector& arrayValue); +folly::dynamic facebook::react::toDynamic(const std::vector& arrayValue); +folly::dynamic facebook::react::toDynamic(const std::vector& arrayValue); +folly::dynamic facebook::react::toDynamic(const std::vector& arrayValue); +folly::dynamic facebook::react::toDynamic(const std::vector& arrayValue); +folly::dynamic facebook::react::toDynamic(const std::vector& arrayValue); +int facebook::react::toAndroidRepr(const facebook::react::SharedColor& color); +int facebook::react::toInt(const facebook::react::DisplayType& displayType); +int facebook::react::toInt(const facebook::react::LayoutDirection& layoutDirection); +long double facebook::react::ceil(long double value) noexcept; +long double facebook::react::floor(long double value) noexcept; +long double facebook::react::round(long double value) noexcept; +size_t facebook::react::attributedStringFragmentHashDisplayWise(const facebook::react::AttributedString::Fragment& fragment); +size_t facebook::react::attributedStringFragmentHashLayoutWise(const facebook::react::AttributedString::Fragment& fragment); +size_t facebook::react::attributedStringHashDisplayWise(const facebook::react::AttributedString& attributedString); +size_t facebook::react::attributedStringHashLayoutWise(const facebook::react::AttributedString& attributedString); +size_t facebook::react::hashGetColourArguments(int32_t surfaceId, const std::vector& resourcePaths); +size_t facebook::react::textAttributesHashLayoutWise(const facebook::react::TextAttributes& textAttributes); +std::function facebook::react::makeCallback(std::weak_ptr instance, const folly::dynamic& callbackId); +std::optional facebook::react::blendModeFromString(std::string_view blendModeName); +std::optional facebook::react::fromCSSShadow(const facebook::react::CSSShadow& cssShadow); +std::optional facebook::react::parseBoxShadowRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value); +std::optional facebook::react::fromCSSFilter(const facebook::react::CSSFilterFunction& cssFilter); +std::optional facebook::react::parseDropShadow(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value); +std::optional facebook::react::parseFilterRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value); +std::optional facebook::react::filterTypeFromString(std::string_view filterName); +std::optional facebook::react::coerceAmount(const facebook::react::RawValue& value); +std::optional facebook::react::coerceAngle(const facebook::react::RawValue& value); +std::optional facebook::react::coerceLength(const facebook::react::RawValue& value); +std::optional facebook::react::optionalFloatFromYogaValue(const facebook::yoga::Style::Length& length, std::optional base = {}); +std::optional facebook::react::toRadians(const facebook::react::RawValue& value); +std::optional facebook::react::fontVariantFromCSSFontVariant(facebook::react::CSSFontVariant cssVariant); +std::optional facebook::react::isolationFromString(std::string_view isolationSetting); +std::optional facebook::react::fromCSSTransformFunction(const facebook::react::CSSTransformFunction& cssTransform); +std::pair facebook::react::calculateAnimationProgress(uint64_t now, const facebook::react::LayoutAnimation& animation, const facebook::react::AnimationConfig& mutationConfig); +std::string facebook::react::base64Encode(const std::string_view s); +std::string facebook::react::componentNameByReactViewName(std::string viewName); +std::string facebook::react::generateRandomUuidString(); +std::string facebook::react::toString(const facebook::react::AccessibilityRole& accessibilityRole); +std::string facebook::react::toString(const facebook::react::AttributedString::Range& range); +std::string facebook::react::toString(const facebook::react::BlendMode& blendMode); +std::string facebook::react::toString(const facebook::react::DataDetectorType& value); +std::string facebook::react::toString(const facebook::react::DisplayType& displayType); +std::string facebook::react::toString(const facebook::react::DynamicTypeRamp& dynamicTypeRamp); +std::string facebook::react::toString(const facebook::react::EllipsizeMode& ellipsisMode); +std::string facebook::react::toString(const facebook::react::FilterType& filterType); +std::string facebook::react::toString(const facebook::react::FontStyle& fontStyle); +std::string facebook::react::toString(const facebook::react::FontVariant& fontVariant); +std::string facebook::react::toString(const facebook::react::FontWeight& fontWeight); +std::string facebook::react::toString(const facebook::react::HyphenationFrequency& hyphenationFrequency); +std::string facebook::react::toString(const facebook::react::ImageResizeMode& value); +std::string facebook::react::toString(const facebook::react::ImageSource& value); +std::string facebook::react::toString(const facebook::react::ImportantForAccessibility& importantForAccessibility); +std::string facebook::react::toString(const facebook::react::LayoutDirection& layoutDirection); +std::string facebook::react::toString(const facebook::react::LineBreakMode& lineBreakMode); +std::string facebook::react::toString(const facebook::react::LineBreakStrategy& lineBreakStrategy); +std::string facebook::react::toString(const facebook::react::Role& role); +std::string facebook::react::toString(const facebook::react::ScrollViewSnapToAlignment& value); +std::string facebook::react::toString(const facebook::react::SharedColor& value); +std::string facebook::react::toString(const facebook::react::TextAlignment& textAlignment); +std::string facebook::react::toString(const facebook::react::TextAlignmentVertical& textAlignment); +std::string facebook::react::toString(const facebook::react::TextBreakStrategy& textBreakStrategy); +std::string facebook::react::toString(const facebook::react::TextDecorationLineType& textDecorationLineType); +std::string facebook::react::toString(const facebook::react::TextDecorationStyle& textDecorationStyle); +std::string facebook::react::toString(const facebook::react::TextTransform& textTransform); +std::string facebook::react::toString(const facebook::react::WritingDirection& writingDirection); +std::string facebook::react::toString(double doubleValue, char suffix); +std::string facebook::react::toString(facebook::react::AccessibilityLiveRegion accessibilityLiveRegion); +std::string facebook::react::toString(facebook::react::PointerEventsMode value); +std::string_view facebook::react::getInteractionTypeForEvent(std::string_view eventName); +std::unique_ptr facebook::react::loadScriptFromAssets(AAssetManager* assetManager, const std::string& assetName); +std::unordered_map(std::shared_ptr jsInvoker)>>& facebook::react::globalExportedCxxTurboModuleMap(); +std::vector facebook::react::longestIncreasingSubsequence(const std::vector& values, const std::vector& include); +std::vector facebook::react::parseNormalizedRootMargin(const std::string& marginStr); +std::vector facebook::react::parseMethodCalls(folly::dynamic&& jsonData); +std::vector facebook::react::sliceChildShadowNodeViewPairs(const facebook::react::ShadowViewNodePair& shadowNodePair, facebook::react::ViewNodePairScope& viewNodePairScope, bool allowFlattened, facebook::react::Point layoutOffset, const facebook::react::CullingContext& cullingContext); +std::vector> facebook::react::buildNativeModuleList(std::weak_ptr winstance, jni::alias_ref::javaobject> javaModules, std::shared_ptr moduleMessageQueue); +template +constexpr std::optional facebook::react::parseCSSKeyword(std::string_view ident); +template +constexpr facebook::react::CSSVariantWithTypes, std::monostate> facebook::react::parseCSSProperty(std::string_view css); +template +facebook::react::Float facebook::react::roundToPixel(facebook::react::Float value, facebook::react::Float scaleFactor); +template +facebook::react::Point facebook::react::roundToPixel(facebook::react::Point value, facebook::react::Float scaleFactor); +template +facebook::react::Rect facebook::react::roundToPixel(facebook::react::Rect value, facebook::react::Float scaleFactor); +template +facebook::react::Size facebook::react::roundToPixel(facebook::react::Size value, facebook::react::Float scaleFactor); +template +std::size_t facebook::react::hash_combine(const T& v, const Args &... args); +template +void facebook::react::hash_combine(std::size_t& seed, const T& v, const Rest &... rest); +template ::type> +facebook::react::MoveWrapper facebook::react::makeMoveWrapper(T&& t); +template +constexpr std::optional facebook::react::parseCSSColorFunction(std::string_view colorFunction, facebook::react::CSSValueParser& parser); +template +constexpr std::optional facebook::react::parseCSSHexColor(std::string_view hexColorValue); +template +constexpr std::optional facebook::react::parseCSSNamedColor(std::string_view name); +template +constexpr uint32_t facebook::react::fnv1a(std::string_view string) noexcept; +template +facebook::react::ComponentDescriptor::Unique facebook::react::concreteComponentDescriptorConstructor(const facebook::react::ComponentDescriptorParameters& parameters); +template +facebook::react::ComponentDescriptorProvider facebook::react::concreteComponentDescriptorProvider(); +template +DestinationTimePointT facebook::react::clockCast(SourceTimePointT timePoint); +template +T facebook::react::convertRawProp(const facebook::react::PropsParserContext& context, const facebook::react::RawProps& rawProps, const char* name, const T& sourceValue, const U& defaultValue, const char* namePrefix = nullptr, const char* nameSuffix = nullptr); +template +T facebook::react::get(const facebook::react::AnimatedPropBase& animatedProp); +template +T facebook::react::get(const std::unique_ptr& animatedProp); +template +bool facebook::react::floatEquality(T a, T b, T epsilon = static_cast(facebook::react::kDefaultEpsilon)); +template +folly::dynamic facebook::react::toDynamic(const std::vector& arrayValue); +template +jni::local_ref> facebook::react::makeJWeakReference(jni::alias_ref ref); +template +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, T& result); +template +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, T& result, T defaultValue); +template +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, std::optional& result); +template +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, std::vector& result); +template +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, std::vector>& result); +template +std::shared_ptr facebook::react::getManagerByName(std::shared_ptr& contextContainer, const char name[]); +uint8_t facebook::react::alphaFromColor(facebook::react::SharedColor color) noexcept; +uint8_t facebook::react::blueFromColor(facebook::react::SharedColor color) noexcept; +uint8_t facebook::react::greenFromColor(facebook::react::SharedColor color) noexcept; +uint8_t facebook::react::redFromColor(facebook::react::SharedColor color) noexcept; +void facebook::react::FBReactNativeSpec_registerComponentDescriptorsFromCodegen(std::shared_ptr registry); +void facebook::react::addDynamicToJArray(jni::local_ref> jarray, jint index, const folly::dynamic& dyn); +void facebook::react::bindHasComponentProvider(facebook::jsi::Runtime& runtime, facebook::react::HasComponentProviderFunctionType&& provider); +void facebook::react::bindNativeLogger(facebook::jsi::Runtime& runtime, facebook::react::Logger logger); +void facebook::react::bindNativePerformanceNow(facebook::jsi::Runtime& runtime); +void facebook::react::cloneProp(facebook::react::BaseViewProps& viewProps, const facebook::react::AnimatedPropBase& animatedProp); +void facebook::react::configurePlatformColorCacheInvalidationHook(std::function&& hook); +void facebook::react::defineReadOnlyGlobal(facebook::jsi::Runtime& runtime, const std::string& propName, facebook::jsi::Value&& value); +void facebook::react::ensureThreadDurationJNIEnvAttached(); +void facebook::react::fromRawValue(const facebook::react::ContextContainer& contextContainer, int32_t surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, YGValue& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityAction& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityLabelledBy& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityLiveRegion& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityRole& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityState& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityTraits& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AttributedString::Range& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BackfaceVisibility& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BorderCurve& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BorderStyle& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ContentInsetAdjustmentBehavior& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::CornerInsets& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Cursor& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::DynamicTypeRamp& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::EdgeInsets& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::EllipsizeMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontStyle& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontVariant& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontWeight& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::HyphenationFrequency& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ImageResizeMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ImageSource& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ImportantForAccessibility& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::LineBreakStrategy& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::OutlineStyle& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Point& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::PointerEventsMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Role& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewIndicatorStyle& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewKeyboardDismissMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewMaintainVisibleContentPosition& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewSnapToAlignment& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::SharedColor& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Size& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextAlignment& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextBreakStrategy& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextDecorationLineType& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextDecorationStyle& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextTransform& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Transform& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TransformOrigin& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::WritingDirection& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Align& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Direction& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Display& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::FlexDirection& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::FloatOptional& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Justify& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Overflow& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::PositionType& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Style::Length& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Wrap& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::AccessibilityValue& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::BlendMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::DataDetectorType& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Isolation& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::LayoutConformance& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::LineBreakMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::SubmitBehavior& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::TextAlignmentVertical& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::ValueUnit& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::yoga::BoxSizing& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::yoga::Style::SizeLength& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::fromRawValueShared(const facebook::react::ContextContainer& contextContainer, int32_t surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result, facebook::react::parsePlatformColorFn parsePlatformColor); +void facebook::react::fromString(const std::string& string, facebook::react::AccessibilityTraits& result); +void facebook::react::g_setNativeAnimatedNowTimestampFunction(facebook::react::TimePointFunction nowFunction); +void facebook::react::parseProcessedBackgroundImage(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::parseProcessedBoxShadow(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::parseProcessedFilter(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::parseProcessedFontVariant(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::FontVariant& result); +void facebook::react::parseProcessedTransform(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Transform& result); +void facebook::react::parseProcessedTransformOrigin(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::TransformOrigin& result); +void facebook::react::parseUnprocessedBackgroundImageList(const facebook::react::PropsParserContext& context, const std::vector& value, std::vector& result); +void facebook::react::parseUnprocessedBackgroundImageString(const std::string& value, std::vector& result); +void facebook::react::parseUnprocessedBoxShadow(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::parseUnprocessedBoxShadowList(const facebook::react::PropsParserContext& context, std::vector&& value, std::vector& result); +void facebook::react::parseUnprocessedBoxShadowString(std::string&& value, std::vector& result); +void facebook::react::parseUnprocessedFilter(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::parseUnprocessedFilterList(const facebook::react::PropsParserContext& context, std::vector&& value, std::vector& result); +void facebook::react::parseUnprocessedFilterString(std::string&& value, std::vector& result); +void facebook::react::parseUnprocessedFontVariant(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontVariant& result); +void facebook::react::parseUnprocessedFontVariantString(const std::string& value, facebook::react::FontVariant& result); +void facebook::react::parseUnprocessedTransform(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Transform& result); +void facebook::react::parseUnprocessedTransformOrigin(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TransformOrigin& result); +void facebook::react::parseUnprocessedTransformOriginString(const std::string& value, facebook::react::TransformOrigin& result); +void facebook::react::parseUnprocessedTransformString(const std::string& value, facebook::react::Transform& result); +void facebook::react::reactAndroidLoggingHook(const std::string& message, unsigned int logLevel); +void facebook::react::registerCxxModuleToGlobalModuleMap(std::string name, std::function(std::shared_ptr jsInvoker)> moduleProviderFunc); +void facebook::react::serializeTransformAxis(const facebook::react::TransformOperation& operation, const std::string& operationName, float defaultValue, folly::dynamic& resultTranslateArray); +void facebook::react::serializeTransformOperationValue(const std::string& operationName, const facebook::react::ValueUnit& valueUnit, folly::dynamic& resultArray); +void facebook::react::setDefaultColorSpace(facebook::react::ColorSpace newColorSpace); +void facebook::react::setTouchPayloadOnObject(facebook::jsi::Object& object, facebook::jsi::Runtime& runtime, const facebook::react::BaseTouch& touch); +void facebook::react::updateMountedFlag(const std::vector>& oldChildren, const std::vector>& newChildren, facebook::react::ShadowTreeCommitSource commitSource); +void facebook::react::updateProp(const facebook::react::PropName propName, facebook::react::BaseViewProps& viewProps, const facebook::react::PropsSnapshot& snapshot); +void facebook::react::updateTransformProps(const facebook::react::Transform& transform, const facebook::react::TransformOperation& operation, folly::dynamic& resultTranslateArray); +bool facebook::react::operator==(const facebook::react::AttributedStringBox& lhs, const facebook::react::AttributedStringBox& rhs); +bool facebook::react::operator==(const facebook::react::LayoutConstraints& lhs, const facebook::react::LayoutConstraints& rhs); +bool facebook::react::operator==(const facebook::react::LayoutContext& lhs, const facebook::react::LayoutContext& rhs); +bool facebook::react::operator==(const facebook::react::LineMeasureCacheKey& lhs, const facebook::react::LineMeasureCacheKey& rhs); +bool facebook::react::operator==(const facebook::react::PerformanceObserver& lhs, const facebook::react::PerformanceObserver& rhs); +bool facebook::react::operator==(const facebook::react::PreparedTextCacheKey& lhs, const facebook::react::PreparedTextCacheKey& rhs); +bool facebook::react::operator==(const facebook::react::RawPropsKey& lhs, const facebook::react::RawPropsKey& rhs) noexcept; +bool facebook::react::operator==(const facebook::react::Size& rhs, const facebook::react::Size& lhs) noexcept; +bool facebook::react::operator==(const facebook::react::StubView& lhs, const facebook::react::StubView& rhs); +bool facebook::react::operator==(const facebook::react::StubViewTree& lhs, const facebook::react::StubViewTree& rhs); +bool facebook::react::operator==(const facebook::react::TextMeasureCacheKey& lhs, const facebook::react::TextMeasureCacheKey& rhs); +constexpr bool facebook::react::operator&(facebook::react::ModalHostViewSupportedOrientationsMask const lhs, enum facebook::react::ModalHostViewSupportedOrientations const rhs); +constexpr bool facebook::react::operator==(const facebook::react::AccessibilityState& lhs, const facebook::react::AccessibilityState& rhs); +constexpr bool facebook::react::operator==(const facebook::react::AccessibilityValue& lhs, const facebook::react::AccessibilityValue& rhs); +constexpr enum facebook::react::AccessibilityTraits facebook::react::operator&(const enum facebook::react::AccessibilityTraits lhs, const enum facebook::react::AccessibilityTraits rhs); +constexpr enum facebook::react::AccessibilityTraits facebook::react::operator|(const enum facebook::react::AccessibilityTraits lhs, const enum facebook::react::AccessibilityTraits rhs); +constexpr facebook::react::HighResDuration facebook::react::operator-(const facebook::react::HighResTimeStamp& lhs, const facebook::react::HighResTimeStamp& rhs); +constexpr facebook::react::HighResTimeStamp facebook::react::operator+(const facebook::react::HighResTimeStamp& lhs, const facebook::react::HighResDuration& rhs); +constexpr facebook::react::HighResTimeStamp facebook::react::operator-(const facebook::react::HighResTimeStamp& lhs, const facebook::react::HighResDuration& rhs); +constexpr facebook::react::ModalHostViewSupportedOrientationsMask facebook::react::operator|(facebook::react::ModalHostViewSupportedOrientationsMask const lhs, enum facebook::react::ModalHostViewSupportedOrientations const rhs); +constexpr void facebook::react::operator|=(facebook::react::ModalHostViewSupportedOrientationsMask& lhs, enum facebook::react::ModalHostViewSupportedOrientations const rhs); +facebook::react::EdgeInsets facebook::react::operator*(const facebook::react::EdgeInsets& edgeInsets, const facebook::react::Transform& transform); +facebook::react::Point facebook::react::operator*(const facebook::react::Point& point, const facebook::react::Transform& transform); +facebook::react::Rect facebook::react::operator*(const facebook::react::Rect& rect, const facebook::react::Transform& transform); +facebook::react::Size facebook::react::operator*(const facebook::react::Size& size, const facebook::react::Transform& transform); +facebook::react::Vector facebook::react::operator*(const facebook::react::Transform& transform, const facebook::react::Vector& vector); +template +facebook::react::RectangleEdges facebook::react::operator+(const facebook::react::RectangleEdges& lhs, const facebook::react::RectangleEdges& rhs) noexcept; +template +facebook::react::RectangleEdges facebook::react::operator-(const facebook::react::RectangleEdges& lhs, const facebook::react::RectangleEdges& rhs) noexcept; +JSI_EXPORT const char facebook::react::ActivityIndicatorViewComponentName[]; +JSI_EXPORT const char facebook::react::AndroidDrawerLayoutComponentName[]; +JSI_EXPORT const char facebook::react::AndroidSwipeRefreshLayoutComponentName[]; +JSI_EXPORT const char facebook::react::DebuggingOverlayComponentName[]; +JSI_EXPORT const char facebook::react::PullToRefreshViewComponentName[]; +JSI_EXPORT const char facebook::react::UnimplementedNativeViewComponentName[]; + +class facebook::react::AccessibilityProps { + public AccessibilityProps() = default; + public AccessibilityProps(const facebook::react::PropsParserContext& context, const facebook::react::AccessibilityProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool accessibilityElementsHidden; + public bool accessibilityIgnoresInvertColors; + public bool accessibilityRespondsToUserInteraction; + public bool accessibilityShowsLargeContentViewer; + public bool accessibilityViewIsModal; + public bool accessible; + public bool onAccessibilityAction; + public bool onAccessibilityEscape; + public bool onAccessibilityMagicTap; + public bool onAccessibilityTap; + public facebook::react::AccessibilityLabelledBy accessibilityLabelledBy; + public facebook::react::AccessibilityLiveRegion accessibilityLiveRegion; + public facebook::react::AccessibilityTraits accessibilityTraits; + public facebook::react::AccessibilityValue accessibilityValue; + public facebook::react::ImportantForAccessibility importantForAccessibility; + public facebook::react::Role role; + public std::optional accessibilityState; + public std::string accessibilityHint; + public std::string accessibilityLabel; + public std::string accessibilityLanguage; + public std::string accessibilityLargeContentTitle; + public std::string accessibilityRole; + public std::string testId; + public std::vector accessibilityActions; + public std::vector accessibilityOrder; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::ActivityIndicatorViewEventEmitter : public facebook::react::BaseViewEventEmitter { +} + +class facebook::react::ActivityIndicatorViewProps : public facebook::react::HostPlatformViewProps { + public ActivityIndicatorViewProps() = default; + public ActivityIndicatorViewProps(const facebook::react::PropsParserContext& context, const facebook::react::ActivityIndicatorViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool animating; + public bool hidesWhenStopped; + public facebook::react::ActivityIndicatorViewSize size; + public facebook::react::SharedColor color; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::AdditionAnimatedNode : public facebook::react::OperatorAnimatedNode { + public AdditionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::AndroidAnimationChoreographer : public facebook::react::AnimationChoreographer { + public AndroidAnimationChoreographer(jni::alias_ref jChoreographer); + public virtual void pause() override; + public virtual void resume() override; +} + +class facebook::react::AndroidDrawerLayoutEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onDrawerClose(facebook::react::AndroidDrawerLayoutEventEmitter::OnDrawerClose value) const; + public void onDrawerOpen(facebook::react::AndroidDrawerLayoutEventEmitter::OnDrawerOpen value) const; + public void onDrawerSlide(facebook::react::AndroidDrawerLayoutEventEmitter::OnDrawerSlide value) const; + public void onDrawerStateChanged(facebook::react::AndroidDrawerLayoutEventEmitter::OnDrawerStateChanged value) const; +} + +struct facebook::react::AndroidDrawerLayoutEventEmitter::OnDrawerClose { +} + +struct facebook::react::AndroidDrawerLayoutEventEmitter::OnDrawerOpen { +} + +struct facebook::react::AndroidDrawerLayoutEventEmitter::OnDrawerSlide { + public facebook::react::Float offset; +} + +struct facebook::react::AndroidDrawerLayoutEventEmitter::OnDrawerStateChanged { + public int drawerState; +} + +class facebook::react::AndroidDrawerLayoutProps : public facebook::react::HostPlatformViewProps { + public AndroidDrawerLayoutProps() = default; + public AndroidDrawerLayoutProps(const facebook::react::PropsParserContext& context, const facebook::react::AndroidDrawerLayoutProps& sourceProps, const facebook::react::RawProps& rawProps); + public facebook::react::AndroidDrawerLayoutDrawerLockMode drawerLockMode; + public facebook::react::AndroidDrawerLayoutDrawerPosition drawerPosition; + public facebook::react::AndroidDrawerLayoutKeyboardDismissMode keyboardDismissMode; + public facebook::react::Float drawerWidth; + public facebook::react::SharedColor drawerBackgroundColor; + public facebook::react::SharedColor statusBarBackgroundColor; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::AndroidEventBeat : public facebook::react::EventBeat, public facebook::react::EventBeatManagerObserver { + public AndroidEventBeat(std::shared_ptr ownerBox, facebook::react::EventBeatManager* eventBeatManager, facebook::react::RuntimeScheduler& runtimeScheduler, jni::global_ref javaUIManager); + public virtual void request() const override; + public virtual void tick() const override; + public ~AndroidEventBeat() override; +} + +class facebook::react::AndroidHorizontalScrollContentViewEventEmitter : public facebook::react::BaseViewEventEmitter { +} + +class facebook::react::AndroidHorizontalScrollContentViewProps : public facebook::react::HostPlatformViewProps { + public AndroidHorizontalScrollContentViewProps() = default; + public AndroidHorizontalScrollContentViewProps(const facebook::react::PropsParserContext& context, const facebook::react::AndroidHorizontalScrollContentViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool removeClippedSubviews; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::AndroidHorizontalScrollContentViewShadowNode : public facebook::react::ConcreteViewShadowNode { + public AndroidHorizontalScrollContentViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public AndroidHorizontalScrollContentViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public virtual void layout(facebook::react::LayoutContext layoutContext) override; +} + +class facebook::react::AndroidProgressBarComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public AndroidProgressBarComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); + public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; +} + +class facebook::react::AndroidProgressBarEventEmitter : public facebook::react::BaseViewEventEmitter { +} + +class facebook::react::AndroidProgressBarMeasurementsManager { + public AndroidProgressBarMeasurementsManager(const std::shared_ptr& contextContainer); + public facebook::react::Size measure(facebook::react::SurfaceId surfaceId, const facebook::react::AndroidProgressBarProps& props, facebook::react::LayoutConstraints layoutConstraints) const; +} + +class facebook::react::AndroidProgressBarProps : public facebook::react::HostPlatformViewProps { + public AndroidProgressBarProps() = default; + public AndroidProgressBarProps(const facebook::react::PropsParserContext& context, const facebook::react::AndroidProgressBarProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool animating; + public bool indeterminate; + public double progress; + public facebook::react::SharedColor color; + public std::string styleAttr; + public std::string testID; + public std::string typeAttr; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::AndroidProgressBarShadowNode : public facebook::react::ConcreteViewShadowNode { + public AndroidProgressBarShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public AndroidProgressBarShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; + public void setAndroidProgressBarMeasurementsManager(const std::shared_ptr& measurementsManager); +} + +class facebook::react::AndroidSwipeRefreshLayoutEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onRefresh(facebook::react::AndroidSwipeRefreshLayoutEventEmitter::OnRefresh value) const; +} + +struct facebook::react::AndroidSwipeRefreshLayoutEventEmitter::OnRefresh { +} + +class facebook::react::AndroidSwipeRefreshLayoutProps : public facebook::react::HostPlatformViewProps { + public AndroidSwipeRefreshLayoutProps() = default; + public AndroidSwipeRefreshLayoutProps(const facebook::react::PropsParserContext& context, const facebook::react::AndroidSwipeRefreshLayoutProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool enabled; + public bool refreshing; + public facebook::react::AndroidSwipeRefreshLayoutSize size; + public facebook::react::Float progressViewOffset; + public facebook::react::SharedColor progressBackgroundColor; + public std::vector colors; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::AndroidSwitchComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public AndroidSwitchComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); + public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; +} + +class facebook::react::AndroidSwitchEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onChange(facebook::react::AndroidSwitchEventEmitter::OnChange value) const; +} + +struct facebook::react::AndroidSwitchEventEmitter::OnChange { + public bool value; + public int target; +} + +class facebook::react::AndroidSwitchMeasurementsManager { + public AndroidSwitchMeasurementsManager(const std::shared_ptr& contextContainer); + public facebook::react::Size measure(facebook::react::SurfaceId surfaceId, facebook::react::LayoutConstraints layoutConstraints) const; +} + +class facebook::react::AndroidSwitchProps : public facebook::react::HostPlatformViewProps { + public AndroidSwitchProps() = default; + public AndroidSwitchProps(const facebook::react::PropsParserContext& context, const facebook::react::AndroidSwitchProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool disabled; + public bool enabled; + public bool on; + public bool value; + public facebook::react::SharedColor thumbColor; + public facebook::react::SharedColor thumbTintColor; + public facebook::react::SharedColor trackColorForFalse; + public facebook::react::SharedColor trackColorForTrue; + public facebook::react::SharedColor trackTintColor; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::AndroidSwitchShadowNode : public facebook::react::ConcreteViewShadowNode { + public AndroidSwitchShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public AndroidSwitchShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; + public void setAndroidSwitchMeasurementsManager(const std::shared_ptr& measurementsManager); +} + +class facebook::react::AndroidTextInputComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; + public AndroidTextInputComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); + public virtual facebook::react::State::Shared createInitialState(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family) const override; +} + +class facebook::react::AndroidTextInputEventEmitter : public facebook::react::BaseViewEventEmitter { +} + +class facebook::react::AndroidTextInputProps : public facebook::react::BaseTextInputProps { + public AndroidTextInputProps() = default; + public AndroidTextInputProps(const facebook::react::PropsParserContext& context, const facebook::react::AndroidTextInputProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool allowFontScaling; + public bool autoCorrect; + public bool caretHidden; + public bool contextMenuHidden; + public bool disableFullscreenUI; + public bool hasPadding; + public bool hasPaddingBottom; + public bool hasPaddingEnd; + public bool hasPaddingHorizontal; + public bool hasPaddingLeft; + public bool hasPaddingRight; + public bool hasPaddingStart; + public bool hasPaddingTop; + public bool hasPaddingVertical; + public bool includeFontPadding; + public bool secureTextEntry; + public bool selectTextOnFocus; + public bool showSoftInputOnFocus; + public facebook::react::AndroidTextInputTextShadowOffsetStruct textShadowOffset; + public facebook::react::Float fontSize; + public facebook::react::Float letterSpacing; + public facebook::react::Float lineHeight; + public facebook::react::Float maxFontSizeMultiplier; + public facebook::react::Float textShadowRadius; + public facebook::react::SharedColor color; + public facebook::react::SharedColor textShadowColor; + public folly::dynamic getDynamic() const; + public int inlineImagePadding; + public int numberOfLines; + public std::string autoComplete; + public std::string fontFamily; + public std::string fontStyle; + public std::string fontWeight; + public std::string importantForAutofill; + public std::string inlineImageLeft; + public std::string keyboardType; + public std::string returnKeyLabel; + public std::string returnKeyType; + public std::string textAlign; + public std::string textBreakStrategy; + public std::string textDecorationLine; + public std::string textTransform; + public std::string value; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::AndroidTextInputShadowNode : public facebook::react::ConcreteViewShadowNode { + protected facebook::react::LayoutConstraints getTextConstraints(const facebook::react::LayoutConstraints& layoutConstraints) const; + protected std::shared_ptr textLayoutManager_; + protected virtual facebook::react::Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const override; + protected virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; + protected virtual void layout(facebook::react::LayoutContext layoutContext) override; + public AndroidTextInputShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public AndroidTextInputShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public void setTextLayoutManager(std::shared_ptr textLayoutManager); +} + +class facebook::react::AndroidTextInputState { + public AndroidTextInputState() = default; + public AndroidTextInputState(const facebook::react::AndroidTextInputState& previousState, const folly::dynamic& data); + public AndroidTextInputState(facebook::react::AttributedStringBox attributedStringBox, facebook::react::AttributedString reactTreeAttributedString, facebook::react::ParagraphAttributes paragraphAttributes, int64_t mostRecentEventCount); + public facebook::react::AttributedString reactTreeAttributedString; + public facebook::react::AttributedStringBox attributedStringBox; + public facebook::react::MapBuffer getMapBuffer() const; + public facebook::react::ParagraphAttributes paragraphAttributes; + public folly::dynamic getDynamic() const; + public int64_t cachedAttributedStringId; + public int64_t mostRecentEventCount; +} + +class facebook::react::AnimatedModule : public facebook::react::NativeAnimatedModuleCxxSpec, public facebook::react::TurboModuleWithJSIBindings { + public AnimatedModule(std::shared_ptr jsInvoker, std::shared_ptr nodesManagerProvider); + public void addAnimatedEventToView(facebook::jsi::Runtime& rt, facebook::react::Tag viewTag, std::string eventName, facebook::jsi::Object eventMapping); + public void addListener(facebook::jsi::Runtime& rt, const std::string& eventName); + public void connectAnimatedNodeToShadowNodeFamily(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::jsi::Object shadowNode); + public void connectAnimatedNodeToView(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::react::Tag viewTag); + public void connectAnimatedNodes(facebook::jsi::Runtime& rt, facebook::react::Tag parentTag, facebook::react::Tag childTag); + public void createAnimatedNode(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::jsi::Object config); + public void disconnectAnimatedNodeFromView(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::react::Tag viewTag); + public void disconnectAnimatedNodes(facebook::jsi::Runtime& rt, facebook::react::Tag parentTag, facebook::react::Tag childTag); + public void dropAnimatedNode(facebook::jsi::Runtime& rt, facebook::react::Tag tag); + public void extractAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); + public void finishOperationBatch(facebook::jsi::Runtime& rt); + public void flattenAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); + public void getValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::react::AsyncCallback saveValueCallback); + public void queueAndExecuteBatchedOperations(facebook::jsi::Runtime& rt, facebook::jsi::Array operationsAndArgs); + public void removeAnimatedEventFromView(facebook::jsi::Runtime& rt, facebook::react::Tag viewTag, std::string eventName, facebook::react::Tag animatedNodeTag); + public void removeListeners(facebook::jsi::Runtime& rt, int count); + public void restoreDefaultValues(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); + public void setAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, double offset); + public void setAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, double value); + public void startAnimatingNode(facebook::jsi::Runtime& rt, int animationId, facebook::react::Tag nodeTag, facebook::jsi::Object config, facebook::react::AnimationEndCallback endCallback); + public void startListeningToAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag); + public void startOperationBatch(facebook::jsi::Runtime& rt); + public void stopAnimation(facebook::jsi::Runtime& rt, int animationId); + public void stopListeningToAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag); + public void updateAnimatedNodeConfig(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::jsi::Object config); +} + +class facebook::react::AnimatedMountingOverrideDelegate : public facebook::react::MountingOverrideDelegate { + public AnimatedMountingOverrideDelegate(facebook::react::NativeAnimatedNodesManager& animatedManager, const facebook::react::Scheduler& scheduler); + public virtual bool shouldOverridePullTransaction() const override; + public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const override; +} + +class facebook::react::AnimatedNode { + protected facebook::react::AnimatedNode* getChildNode(facebook::react::Tag tag); + protected facebook::react::AnimatedNodeType type_; + protected facebook::react::NativeAnimatedNodesManager* manager_; + protected facebook::react::Tag tag_; + protected std::unordered_set children_; + public AnimatedNode(const facebook::react::AnimatedNode&) = default; + public AnimatedNode(facebook::react::AnimatedNode&&) noexcept = default; + public AnimatedNode(facebook::react::Tag tag, folly::dynamic config, facebook::react::NativeAnimatedNodesManager& manager, facebook::react::AnimatedNodeType type); + public const folly::dynamic& getConfig() const noexcept; + public const std::unordered_set& getChildren() const noexcept; + public facebook::react::AnimatedNode& operator=(const facebook::react::AnimatedNode&) = default; + public facebook::react::AnimatedNode& operator=(facebook::react::AnimatedNode&&) noexcept = default; + public facebook::react::AnimatedNodeType type() const noexcept; + public facebook::react::Tag tag() const noexcept; + public int activeIncomingNodes; + public int bfsColor; + public static constexpr int INITIAL_BFS_COLOR; + public static std::optional getNodeTypeByName(const std::string& nodeTypeName); + public virtual void onAttachToNode(facebook::react::Tag); + public virtual void onDetachedFromNode(facebook::react::Tag); + public virtual void update(); + public virtual ~AnimatedNode() = default; + public void addChild(facebook::react::Tag tag); + public void removeChild(facebook::react::Tag tag); +} + +class facebook::react::AnimatedPropsRegistry { + public std::pair>&, facebook::react::SnapshotMap&> getMap(facebook::react::SurfaceId surfaceId); + public void clear(facebook::react::SurfaceId surfaceId); + public void update(const std::unordered_map& surfaceUpdates); +} + +class facebook::react::AnimationBackend : public facebook::react::UIManagerAnimationBackend { + public AnimationBackend(std::shared_ptr animationChoreographer, std::shared_ptr uiManager); + public using PauseCallback = std::function; + public using ResumeCallback = std::function; + public virtual facebook::react::CallbackId start(const facebook::react::UIManagerAnimationBackend::Callback& callback) override; + public virtual void clearRegistry(facebook::react::SurfaceId surfaceId) override; + public virtual void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) override; + public virtual void registerJSInvoker(std::shared_ptr jsInvoker) override; + public virtual void stop(facebook::react::CallbackId callbackId) override; + public virtual void trigger() override; + public void commitUpdates(facebook::react::SurfaceId surfaceId, facebook::react::SurfaceUpdates& surfaceUpdates); + public void requestAsyncFlushForSurfaces(const std::set& surfaces); + public void synchronouslyUpdateProps(const std::unordered_map& updates); +} + +class facebook::react::AnimationBackendCommitHook : public facebook::react::UIManagerCommitHook { + public AnimationBackendCommitHook(facebook::react::UIManager& uiManager, std::shared_ptr animatedPropsRegistry); + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions& commitOptions) noexcept override; + public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept override; + public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept override; +} + +class facebook::react::AnimationChoreographer { + public virtual void pause() = 0; + public virtual void resume() = 0; + public virtual ~AnimationChoreographer() = default; + public void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) const; + public void setAnimationBackend(std::weak_ptr animationBackend); +} + +class facebook::react::AnimationDriver { + protected bool ignoreCompletedHandlers_; + protected bool isComplete_; + protected bool isStarted_; + protected double startFrameTimeMs_; + protected facebook::react::NativeAnimatedNodesManager* manager_; + protected facebook::react::Tag animatedValueTag_; + protected folly::dynamic config_; + protected int currentIteration_; + protected int id_; + protected int iterations_; + protected std::optional endCallback_; + protected virtual bool update(double, bool); + protected void markNodeUpdated(facebook::react::Tag tag); + public AnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); + public bool getIsComplete() const noexcept; + public facebook::react::Tag getAnimatedValueTag() const noexcept; + public int getId() const noexcept; + public static std::optional getDriverTypeByName(const std::string& driverTypeName); + public virtual void updateConfig(folly::dynamic config); + public virtual ~AnimationDriver() = default; + public void runAnimationStep(double renderingTime); + public void startAnimation(); + public void stopAnimation(bool ignoreCompletedHandlers = false); +} + +class facebook::react::AppRegistryBinding { + public AppRegistryBinding() = delete; + public static void setSurfaceProps(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& initialProps, facebook::react::DisplayMode displayMode); + public static void startSurface(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& initialProps, facebook::react::DisplayMode displayMode); + public static void stopSurface(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId); +} + +class facebook::react::AttributedString : public facebook::react::Sealable, public facebook::react::DebugStringConvertible { + public bool compareTextAttributesWithoutFrame(const facebook::react::AttributedString& rhs) const; + public bool isContentEqual(const facebook::react::AttributedString& rhs) const; + public bool isEmpty() const; + public bool operator==(const facebook::react::AttributedString& rhs) const; + public const facebook::react::AttributedString::Fragments& getFragments() const; + public const facebook::react::TextAttributes& getBaseTextAttributes() const; + public facebook::react::AttributedString::Fragments& getFragments(); + public std::string getString() const; + public using Fragments = std::vector; + public void appendFragment(facebook::react::AttributedString::Fragment&& fragment); + public void prependFragment(facebook::react::AttributedString::Fragment&& fragment); + public void setBaseTextAttributes(const facebook::react::TextAttributes& defaultAttributes); +} + +class facebook::react::AttributedString::Fragment { + public bool isAttachment() const; + public bool isContentEqual(const facebook::react::AttributedString::Fragment& rhs) const; + public bool operator==(const facebook::react::AttributedString::Fragment& rhs) const; + public facebook::react::ShadowView parentShadowView; + public facebook::react::TextAttributes textAttributes; + public static std::string AttachmentCharacter(); + public std::string string; +} + +class facebook::react::AttributedString::Range { + public int length; + public int location; +} + +class facebook::react::AttributedStringBox { + public AttributedStringBox(); + public AttributedStringBox(const facebook::react::AttributedString& value); + public AttributedStringBox(const facebook::react::AttributedStringBox& other) = default; + public AttributedStringBox(facebook::react::AttributedStringBox&& other) noexcept; + public AttributedStringBox(std::shared_ptr opaquePointer); + public const facebook::react::AttributedString& getValue() const; + public facebook::react::AttributedStringBox& operator=(const facebook::react::AttributedStringBox& other) = default; + public facebook::react::AttributedStringBox& operator=(facebook::react::AttributedStringBox&& other) noexcept; + public facebook::react::AttributedStringBox::Mode getMode() const; + public std::shared_ptr getOpaquePointer() const; +} + +enum facebook::react::AttributedStringBox::Mode { + OpaquePointer, + Value, +} + +class facebook::react::BaseParagraphProps : public facebook::react::HostPlatformViewProps, public facebook::react::BaseTextProps { + public BaseParagraphProps() = default; + public BaseParagraphProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseParagraphProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool isSelectable; + public bool onTextLayout; + public facebook::react::ParagraphAttributes paragraphAttributes; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::BaseScrollViewProps : public facebook::react::HostPlatformViewProps { + public BaseScrollViewProps() = default; + public BaseScrollViewProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseScrollViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool alwaysBounceHorizontal; + public bool alwaysBounceVertical; + public bool automaticallyAdjustContentInsets; + public bool automaticallyAdjustKeyboardInsets; + public bool automaticallyAdjustsScrollIndicatorInsets; + public bool bounces; + public bool bouncesZoom; + public bool canCancelContentTouches; + public bool centerContent; + public bool directionalLockEnabled; + public bool disableIntervalMomentum; + public bool horizontal; + public bool isInvertedVirtualizedList; + public bool pagingEnabled; + public bool persistentScrollbar; + public bool pinchGestureEnabled; + public bool scrollEnabled; + public bool scrollToOverflowEnabled; + public bool scrollsToTop; + public bool showsHorizontalScrollIndicator; + public bool showsVerticalScrollIndicator; + public bool snapToEnd; + public bool snapToStart; + public facebook::react::ContentInsetAdjustmentBehavior contentInsetAdjustmentBehavior; + public facebook::react::EdgeInsets contentInset; + public facebook::react::EdgeInsets scrollIndicatorInsets; + public facebook::react::Float decelerationRate; + public facebook::react::Float endDraggingSensitivityMultiplier; + public facebook::react::Float maximumZoomScale; + public facebook::react::Float minimumZoomScale; + public facebook::react::Float scrollEventThrottle; + public facebook::react::Float snapToInterval; + public facebook::react::Float zoomScale; + public facebook::react::Point contentOffset; + public facebook::react::ScrollViewIndicatorStyle indicatorStyle; + public facebook::react::ScrollViewKeyboardDismissMode keyboardDismissMode; + public facebook::react::ScrollViewSnapToAlignment snapToAlignment; + public std::optional maintainVisibleContentPosition; + public std::vector snapToOffsets; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::BaseTextInputProps : public facebook::react::HostPlatformViewProps, public facebook::react::BaseTextProps { + public BaseTextInputProps() = default; + public BaseTextInputProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseTextInputProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool autoFocus; + public bool disableKeyboardShortcuts; + public bool editable; + public bool multiline; + public bool readOnly; + public facebook::react::ParagraphAttributes paragraphAttributes; + public facebook::react::SharedColor cursorColor; + public facebook::react::SharedColor placeholderTextColor; + public facebook::react::SharedColor selectionColor; + public facebook::react::SharedColor selectionHandleColor; + public facebook::react::SharedColor underlineColorAndroid; + public facebook::react::SubmitBehavior getNonDefaultSubmitBehavior() const; + public facebook::react::SubmitBehavior submitBehavior; + public facebook::react::TextAttributes getEffectiveTextAttributes(facebook::react::Float fontSizeMultiplier) const; + public int maxLength; + public int mostRecentEventCount; + public std::optional> acceptDragAndDropTypes; + public std::string autoCapitalize; + public std::string defaultValue; + public std::string placeholder; + public std::string text; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::BaseTextProps { + public BaseTextProps() = default; + public BaseTextProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseTextProps& sourceProps, const facebook::react::RawProps& rawProps); + public facebook::react::TextAttributes textAttributes; + public void appendTextAttributesProps(folly::dynamic& result, const facebook::react::BaseTextProps* prevProps) const; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::BaseTextShadowNode { + public static void buildAttributedString(const facebook::react::TextAttributes& baseTextAttributes, const facebook::react::ShadowNode& parentNode, facebook::react::AttributedString& outAttributedString, facebook::react::BaseTextShadowNode::Attachments& outAttachments); + public using Attachments = std::vector; +} + +class facebook::react::BaseTextShadowNode::Attachment { + public const facebook::react::ShadowNode* shadowNode; + public size_t fragmentIndex; +} + +class facebook::react::BaseViewEventEmitter : public facebook::react::TouchEventEmitter { + public void onAccessibilityAction(const std::string& name) const; + public void onAccessibilityEscape() const; + public void onAccessibilityMagicTap() const; + public void onAccessibilityTap() const; + public void onBlur() const; + public void onFocus() const; + public void onLayout(const facebook::react::LayoutMetrics& layoutMetrics) const; +} + +class facebook::react::BaseViewProps : public facebook::react::YogaStylableProps, public facebook::react::AccessibilityProps { + public BaseViewProps() = default; + public BaseViewProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseViewProps& sourceProps, const facebook::react::RawProps& rawProps, const std::function& filterObjectKeys = nullptr); + public bool collapsable; + public bool collapsableChildren; + public bool getClipsContentToBounds() const; + public bool onLayout; + public bool removeClippedSubviews; + public bool shouldRasterize; + public facebook::react::BackfaceVisibility backfaceVisibility; + public facebook::react::BlendMode mixBlendMode; + public facebook::react::BorderMetrics resolveBorderMetrics(const facebook::react::LayoutMetrics& layoutMetrics) const; + public facebook::react::CascadedBorderColors borderColors; + public facebook::react::CascadedBorderCurves borderCurves; + public facebook::react::CascadedBorderRadii borderRadii; + public facebook::react::CascadedBorderStyles borderStyles; + public facebook::react::CascadedBorderWidths getBorderWidths() const; + public facebook::react::Cursor cursor; + public facebook::react::EdgeInsets hitSlop; + public facebook::react::Float opacity; + public facebook::react::Float outlineOffset; + public facebook::react::Float outlineWidth; + public facebook::react::Float shadowOpacity; + public facebook::react::Float shadowRadius; + public facebook::react::Isolation isolation; + public facebook::react::OutlineStyle outlineStyle; + public facebook::react::PointerEventsMode pointerEvents; + public facebook::react::SharedColor backgroundColor; + public facebook::react::SharedColor outlineColor; + public facebook::react::SharedColor shadowColor; + public facebook::react::Size shadowOffset; + public facebook::react::Transform resolveTransform(const facebook::react::LayoutMetrics& layoutMetrics) const; + public facebook::react::Transform transform; + public facebook::react::TransformOrigin transformOrigin; + public facebook::react::ViewEvents events; + public static facebook::react::Transform resolveTransform(const facebook::react::Size& frameSize, const facebook::react::Transform& transform, const facebook::react::TransformOrigin& transformOrigin); + public std::optional zIndex; + public std::vector backgroundImage; + public std::vector backgroundPosition; + public std::vector backgroundRepeat; + public std::vector backgroundSize; + public std::vector boxShadow; + public std::vector filter; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::BigStringBuffer : public facebook::jsi::Buffer { + public BigStringBuffer(std::unique_ptr script); + public virtual const uint8_t* data() const override; + public virtual size_t size() const override; +} + +class facebook::react::BindingsInstaller { + public virtual facebook::react::ReactInstance::BindingsInstallFunc getBindingsInstallFunc(); +} + +class facebook::react::BindingsInstallerHolder : public jni::HybridClass { + public static constexpr auto kJavaDescriptor; + public using BindingsInstallFunc = std::function& callInvoker)>; + public void installBindings(facebook::jsi::Runtime& runtime, const std::shared_ptr& callInvoker); +} + +class facebook::react::BlobCollector : public jni::HybridClass, public facebook::jsi::HostObject { + public BlobCollector(jni::global_ref blobModule, std::string blobId); + public size_t getBlobLength(); + public static constexpr auto kJavaDescriptor; + public static void nativeInstall(jni::alias_ref, jni::alias_ref blobModule, jlong jsContextNativePointer); + public static void registerNatives(); + public ~BlobCollector(); +} + +class facebook::react::BridgelessNativeMethodCallInvoker : public facebook::react::NativeMethodCallInvoker { + public BridgelessNativeMethodCallInvoker(std::shared_ptr messageQueueThread); + public virtual void invokeAsync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) noexcept override; + public virtual void invokeSync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) override; +} + +class facebook::react::BufferedRuntimeExecutor { + public BufferedRuntimeExecutor(facebook::react::RuntimeExecutor runtimeExecutor); + public using Work = std::function; + public void execute(facebook::react::BufferedRuntimeExecutor::Work&& callback); + public void flush(); +} + +struct facebook::react::BufferedRuntimeExecutor::BufferedWork { + public bool operator<(const facebook::react::BufferedRuntimeExecutor::BufferedWork& rhs) const; + public facebook::react::BufferedRuntimeExecutor::Work work_; + public uint64_t index_; +} + +class facebook::react::CSSSyntaxParser { + public constexpr CSSSyntaxParser(const facebook::react::CSSSyntaxParser&) = default; + public constexpr CSSSyntaxParser(facebook::react::CSSSyntaxParser&&) = default; + public constexpr CSSSyntaxParser(std::string_view css); + public constexpr bool consumeDelimiter(facebook::react::CSSDelimiter delimiter); + public constexpr bool isFinished() const; + public constexpr const facebook::react::CSSToken& peek() const; + public constexpr facebook::react::CSSSyntaxParser& operator=(const facebook::react::CSSSyntaxParser&) = default; + public constexpr facebook::react::CSSSyntaxParser& operator=(facebook::react::CSSSyntaxParser&&) = default; + public constexpr void consumeWhitespace(); + template + public constexpr ReturnT consumeComponentValue(const facebook::react::CSSComponentValueVisitor auto &... visitors); + template + public constexpr ReturnT consumeComponentValue(facebook::react::CSSDelimiter delimiter, const facebook::react::CSSComponentValueVisitor auto &... visitors); +} + +class facebook::react::CSSToken { + public constexpr CSSToken(const facebook::react::CSSToken& other) = default; + public constexpr CSSToken(facebook::react::CSSToken&& other) = default; + public constexpr CSSToken(facebook::react::CSSTokenType type); + public constexpr CSSToken(facebook::react::CSSTokenType type, float value); + public constexpr CSSToken(facebook::react::CSSTokenType type, float value, std::string_view unit); + public constexpr CSSToken(facebook::react::CSSTokenType type, std::string_view value); + public constexpr bool operator==(const facebook::react::CSSToken& other) const = default; + public constexpr facebook::react::CSSToken& operator=(const facebook::react::CSSToken& other) = default; + public constexpr facebook::react::CSSToken& operator=(facebook::react::CSSToken&& other) = default; + public constexpr facebook::react::CSSTokenType type() const; + public constexpr float numericValue() const; + public constexpr std::string_view stringValue() const; + public constexpr std::string_view unit() const; +} + +class facebook::react::CSSTokenizer { + public constexpr CSSTokenizer(std::string_view characters); + public constexpr facebook::react::CSSToken next(); +} + +class facebook::react::CSSValueParser { + public constexpr CSSValueParser(const facebook::react::CSSValueParser&) = default; + public constexpr CSSValueParser(facebook::react::CSSSyntaxParser& parser); + public constexpr const facebook::react::CSSSyntaxParser& syntaxParser() const; + public constexpr facebook::react::CSSSyntaxParser& syntaxParser(); + public constexpr facebook::react::CSSValueParser& operator=(const facebook::react::CSSValueParser&) = default; + template + public constexpr facebook::react::CSSVariantWithTypes, std::monostate> parseNextValue(facebook::react::CSSDelimiter delimiter = facebook::react::CSSDelimiter::None); + template + public constexpr facebook::react::CSSVariantWithTypes, std::monostate> peekNextValue(facebook::react::CSSDelimiter delimiter = facebook::react::CSSDelimiter::None); +} + +class facebook::react::CallInvoker { + public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept = 0; + public virtual void invokeAsync(facebook::react::SchedulerPriority, facebook::react::CallFunc&& func) noexcept; + public virtual void invokeAsync(std::function&& func) noexcept; + public virtual void invokeSync(facebook::react::CallFunc&& func) = 0; + public virtual void invokeSync(std::function&& func); + public virtual ~CallInvoker() = default; +} + +class facebook::react::CallInvokerHolder : public jni::HybridClass { + public static constexpr auto kJavaDescriptor; + public std::shared_ptr getCallInvoker(); +} + +class facebook::react::CallbackWrapper : public facebook::react::LongLivedObject { + public facebook::jsi::Function& callback() noexcept; + public facebook::jsi::Runtime& runtime() noexcept; + public facebook::react::CallInvoker& jsInvoker() noexcept; + public static std::weak_ptr createWeak(facebook::jsi::Function&& callback, facebook::jsi::Runtime& runtime, std::shared_ptr jsInvoker); + public std::shared_ptr jsInvokerPtr() noexcept; + public void destroy(); +} + +class facebook::react::CdpMetricsReporter : public facebook::react::PerformanceEntryReporterEventListener { + public CdpMetricsReporter(facebook::react::RuntimeExecutor runtimeExecutor); + public virtual void onEventTimingEntry(const facebook::react::PerformanceEventTiming& entry) override; +} + +class facebook::react::CdpPerfIssuesReporter : public facebook::react::PerformanceEntryReporterEventListener { + public CdpPerfIssuesReporter(facebook::react::RuntimeExecutor runtimeExecutor); + public virtual void onMeasureEntry(const facebook::react::PerformanceMeasure& entry, const std::optional& detailProvider) override; +} + +class facebook::react::ColorAnimatedNode : public facebook::react::AnimatedNode { + public ColorAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public facebook::react::Color getColor(); + public virtual void update() override; +} + +class facebook::react::ComponentBuilder { + public ComponentBuilder(const facebook::react::ComponentBuilder& componentBuilder) = default; + public ComponentBuilder(facebook::react::ComponentBuilder&& componentBuilder) noexcept = default; + public ComponentBuilder(facebook::react::ComponentDescriptorRegistry::Shared componentDescriptorRegistry); + public facebook::react::ComponentBuilder& operator=(const facebook::react::ComponentBuilder& other) = default; + public facebook::react::ComponentBuilder& operator=(facebook::react::ComponentBuilder&& other) = default; + template + public std::shared_ptr build(facebook::react::Element element) const; +} + +class facebook::react::ComponentDescriptor { + protected facebook::react::ComponentDescriptor::Flavor flavor_; + protected facebook::react::EventDispatcher::Weak eventDispatcher_; + protected facebook::react::RawPropsParser rawPropsParser_; + protected friend ShadowNode; + protected std::shared_ptr contextContainer_; + protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const = 0; + public ComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public const std::shared_ptr& getContextContainer() const; + public using Flavor = std::shared_ptr; + public using Shared = std::shared_ptr; + public using Unique = std::unique_ptr; + public virtual facebook::react::ComponentHandle getComponentHandle() const = 0; + public virtual facebook::react::ComponentName getComponentName() const = 0; + public virtual facebook::react::Props::Shared cloneProps(const facebook::react::PropsParserContext& context, const facebook::react::Props::Shared& props, facebook::react::RawProps rawProps) const = 0; + public virtual facebook::react::ShadowNodeFamily::Shared createFamily(const facebook::react::ShadowNodeFamilyFragment& fragment) const = 0; + public virtual facebook::react::ShadowNodeTraits getTraits() const = 0; + public virtual facebook::react::State::Shared createInitialState(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family) const = 0; + public virtual facebook::react::State::Shared createState(const facebook::react::ShadowNodeFamily& family, const facebook::react::StateData::Shared& data) const = 0; + public virtual std::shared_ptr cloneShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) const = 0; + public virtual std::shared_ptr createShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family) const = 0; + public virtual void appendChild(const std::shared_ptr& parentShadowNode, const std::shared_ptr& childShadowNode) const = 0; + public virtual ~ComponentDescriptor() = default; +} + +class facebook::react::ComponentDescriptorParameters { + public facebook::react::ComponentDescriptor::Flavor flavor; + public facebook::react::EventDispatcher::Weak eventDispatcher; + public std::shared_ptr contextContainer; +} + +class facebook::react::ComponentDescriptorProvider { + public facebook::react::ComponentDescriptor::Flavor flavor; + public facebook::react::ComponentDescriptorConstructor* constructor; + public facebook::react::ComponentHandle handle; + public facebook::react::ComponentName name; +} + +class facebook::react::ComponentDescriptorProviderRegistry { + public facebook::react::ComponentDescriptorRegistry::Shared createComponentDescriptorRegistry(const facebook::react::ComponentDescriptorParameters& parameters) const; + public void add(const facebook::react::ComponentDescriptorProvider& provider) const; + public void setComponentDescriptorProviderRequest(facebook::react::ComponentDescriptorProviderRequest request) const; +} + +class facebook::react::ComponentDescriptorRegistry { + public ComponentDescriptorRegistry(facebook::react::ComponentDescriptorParameters parameters, const facebook::react::ComponentDescriptorProviderRegistry& providerRegistry, std::shared_ptr contextContainer); + public bool hasComponentDescriptorAt(facebook::react::ComponentHandle componentHandle) const; + public const facebook::react::ComponentDescriptor& at(const std::string& componentName) const; + public const facebook::react::ComponentDescriptor& at(facebook::react::ComponentHandle componentHandle) const; + public const facebook::react::ComponentDescriptor* findComponentDescriptorByHandle_DO_NOT_USE_THIS_IS_BROKEN(facebook::react::ComponentHandle componentHandle) const; + public facebook::react::ComponentDescriptor::Shared getFallbackComponentDescriptor() const; + public using Shared = std::shared_ptr; + public void setFallbackComponentDescriptor(const facebook::react::SharedComponentDescriptor& descriptor); +} + +class facebook::react::ComponentFactory : public jni::HybridClass { + public facebook::react::ComponentRegistryFactory buildRegistryFunction; + public static constexpr char* const kJavaDescriptor; + public static void registerNatives(); +} + +class facebook::react::ComponentNameResolverBinding : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; + public static void install(jni::alias_ref, jni::alias_ref runtimeExecutor, jni::alias_ref componentNameResolver); + public static void registerNatives(); +} + +class facebook::react::ConstantsForViewManagerProvider : public facebook::jni::JavaClass { + public folly::dynamic getConstantsForViewManager(const std::string& viewManagerName) const; + public static constexpr char* kJavaDescriptor; +} + +class facebook::react::ConstantsProvider : public facebook::jni::JavaClass { + public folly::dynamic getConstants() const; + public static constexpr char* kJavaDescriptor; +} + +class facebook::react::ContextContainer { + public void erase(const std::string& key) const; + public void update(const facebook::react::ContextContainer& contextContainer) const; + template + public T at(const std::string& key) const; + template + public std::optional find(const std::string& key) const; + template + public void insert(const std::string& key, const T& instance) const; +} + +class facebook::react::CxxNativeModule : public facebook::react::NativeModule { + public CxxNativeModule(std::weak_ptr instance, std::string name, facebook::xplat::module::CxxModule::Provider provider, std::shared_ptr messageQueueThread); + public static void setShouldWarnOnUse(bool value); + public virtual facebook::react::MethodCallResult callSerializableNativeHook(unsigned int hookId, folly::dynamic&& args) override; + public virtual folly::dynamic getConstants() override; + public virtual std::string getName() override; + public virtual std::string getSyncMethodName(unsigned int methodId) override; + public virtual std::vector getMethods() override; + public virtual void invoke(unsigned int reactMethodId, folly::dynamic&& params, int callId) override; +} + +class facebook::react::CxxReactPackage : public jni::HybridClass { + public static constexpr auto kJavaDescriptor; + public virtual std::shared_ptr getModule(const std::string& name, const std::shared_ptr& jsInvoker) = 0; +} + +class facebook::react::DebugStringConvertible { +} + +class facebook::react::DebuggingOverlayEventEmitter : public facebook::react::BaseViewEventEmitter { +} + +class facebook::react::DebuggingOverlayProps : public facebook::react::HostPlatformViewProps { + public DebuggingOverlayProps() = default; + public DebuggingOverlayProps(const facebook::react::PropsParserContext& context, const facebook::react::DebuggingOverlayProps& sourceProps, const facebook::react::RawProps& rawProps); + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::DecayAnimationDriver : public facebook::react::AnimationDriver { + protected virtual bool update(double timeDeltaMs, bool restarting) override; + public DecayAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); +} + +class facebook::react::DefaultComponentsRegistry : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; + public static std::function)> registerCodegenComponentDescriptorsFromEntryPoint; + public static std::function)> registerComponentDescriptorsFromEntryPoint; + public static void registerNatives(); +} + +class facebook::react::DefaultEventTypesProvider : public facebook::jni::JavaClass { + public folly::dynamic getDefaultEventTypes() const; + public static constexpr char* kJavaDescriptor; +} + +class facebook::react::DefaultTurboModuleManagerDelegate : public jni::HybridClass { + public static constexpr auto kJavaDescriptor; + public static jni::local_ref initHybrid(jni::alias_ref, jni::alias_ref::javaobject>); + public static std::function(const std::string&, const facebook::react::JavaTurboModule::InitParams&)> javaModuleProvider; + public static std::function(const std::string&, const std::shared_ptr&)> cxxModuleProvider; + public static void registerNatives(); + public std::shared_ptr getTurboModule(const std::string& name, const facebook::react::JavaTurboModule::InitParams& params) override; + public std::shared_ptr getTurboModule(const std::string& name, const std::shared_ptr& jsInvoker) override; +} + +class facebook::react::DevToolsRuntimeSettings { + public DevToolsRuntimeSettings(const facebook::react::DevToolsRuntimeSettings&) = delete; + public DevToolsRuntimeSettings(facebook::react::DevToolsRuntimeSettings&&) = delete; + public facebook::react::NativeReloadAndProfileConfig getReloadAndProfileConfig() const; + public static facebook::react::DevToolsRuntimeSettings& getInstance(); + public void operator=(const facebook::react::DevToolsRuntimeSettings&) = delete; + public void operator=(facebook::react::DevToolsRuntimeSettings&&) = delete; + public void setReloadAndProfileConfig(facebook::react::NativePartialReloadAndProfileConfig config); + public ~DevToolsRuntimeSettings() = default; +} + +class facebook::react::DevToolsRuntimeSettingsModule : public facebook::react::NativeReactDevToolsRuntimeSettingsModuleCxxSpec { + public DevToolsRuntimeSettingsModule(std::shared_ptr jsInvoker); + public facebook::react::NativeReloadAndProfileConfig getReloadAndProfileConfig(facebook::jsi::Runtime& rt); + public void setReloadAndProfileConfig(facebook::jsi::Runtime& rt, facebook::react::NativePartialReloadAndProfileConfig config); +} + +class facebook::react::DiffClampAnimatedNode : public facebook::react::ValueAnimatedNode { + public DiffClampAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::DivisionAnimatedNode : public facebook::react::OperatorAnimatedNode { + public DivisionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::ElementFragment { + public facebook::react::ComponentHandle componentHandle; + public facebook::react::ComponentName componentName; + public facebook::react::ElementFragment::FinalizeCallback finalizeCallback; + public facebook::react::ElementFragment::List children; + public facebook::react::ElementFragment::ReferenceCallback referenceCallback; + public facebook::react::ElementFragment::StateCallback stateCallback; + public facebook::react::Props::Shared props; + public facebook::react::SurfaceId surfaceId; + public facebook::react::Tag tag; + public using FinalizeCallback = std::function; + public using List = std::vector; + public using ListOfShared = std::vector; + public using ReferenceCallback = std::function& shadowNode)>; + public using Shared = std::shared_ptr; + public using StateCallback = std::function; +} + +class facebook::react::Error { + public Error(const char* message); + public Error(std::string message); + public const std::string& message() const; +} + +class facebook::react::EventAnimationDriver { + protected const facebook::react::Tag animatedValueTag_; + protected std::vector eventPath_; + public EventAnimationDriver(const std::vector& eventPath, facebook::react::Tag animatedValueTag); + public facebook::react::Tag getAnimatedNodeTag() const; + public std::optional getValueFromPayload(const facebook::react::EventPayload& eventPayload); + public ~EventAnimationDriver() = default; +} + +class facebook::react::EventBeat { + protected facebook::react::EventBeat::BeatCallback beatCallback_; + protected mutable std::atomic isEventBeatRequested_; + protected std::function induceCallback_; + protected std::shared_ptr ownerBox_; + protected void induce() const; + public EventBeat(const facebook::react::EventBeat& other) = delete; + public EventBeat(std::shared_ptr ownerBox, facebook::react::RuntimeScheduler& runtimeScheduler); + public facebook::react::EventBeat& operator=(const facebook::react::EventBeat& other) = delete; + public using BeatCallback = std::function; + public using Factory = std::function(std::shared_ptr ownerBox)>; + public virtual void request() const; + public virtual void requestSynchronous() const; + public virtual ~EventBeat() = default; + public void setBeatCallback(facebook::react::EventBeat::BeatCallback beatCallback); + public void unstable_setInduceCallback(std::function callback); +} + +struct facebook::react::EventBeat::OwnerBox { + public std::weak_ptr owner; +} + +class facebook::react::EventBeatManager : public jni::HybridClass { + public static constexpr char* const kJavaDescriptor; + public static void registerNatives(); + public void addObserver(const facebook::react::EventBeatManagerObserver& observer) const; + public void removeObserver(const facebook::react::EventBeatManagerObserver& observer) const; +} + +class facebook::react::EventBeatManagerObserver { + public virtual void tick() const = 0; + public virtual ~EventBeatManagerObserver() noexcept = default; +} + +class facebook::react::EventDispatcher { + public EventDispatcher(const facebook::react::EventQueueProcessor& eventProcessor, std::unique_ptr eventBeat, facebook::react::StatePipe statePipe, std::weak_ptr eventLogger); + public using Shared = std::shared_ptr; + public using Weak = std::weak_ptr; + public void addListener(std::shared_ptr listener) const; + public void dispatchEvent(facebook::react::RawEvent&& rawEvent) const; + public void dispatchStateUpdate(facebook::react::StateUpdate&& stateUpdate, facebook::react::EventQueue::UpdateMode updateMode) const; + public void dispatchUniqueEvent(facebook::react::RawEvent&& rawEvent) const; + public void experimental_flushSync() const; + public void removeListener(const std::shared_ptr& listener) const; +} + +class facebook::react::EventEmitter { + public EventEmitter(facebook::react::SharedEventTarget eventTarget, facebook::react::EventDispatcher::Weak eventDispatcher); + public const facebook::react::SharedEventTarget& getEventTarget() const; + public static facebook::react::ValueFactory defaultPayloadFactory(); + public static std::mutex& DispatchMutex(); + public static std::string normalizeEventType(std::string type); + public using Shared = std::shared_ptr; + public virtual ~EventEmitter() = default; + public void dispatchEvent(std::string type, const facebook::react::ValueFactory& payloadFactory = facebook::react::EventEmitter::defaultPayloadFactory(), facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified) const; + public void dispatchEvent(std::string type, const facebook::react::ValueFactory& payloadFactory, facebook::react::RawEvent::Category category, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified) const; + public void dispatchEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::RawEvent::Category category, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchEvent(std::string type, folly::dynamic&& payload, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified) const; + public void dispatchEvent(std::string type, folly::dynamic&& payload, facebook::react::RawEvent::Category category, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, const facebook::react::ValueFactory& payloadFactory = facebook::react::EventEmitter::defaultPayloadFactory()) const; + public void dispatchUniqueEvent(std::string type, const facebook::react::ValueFactory& payloadFactory, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload) const; + public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload) const; + public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void setEnabled(bool enabled); + public void setShadowNodeFamily(std::weak_ptr shadowNodeFamily); + template + public void experimental_flushSync(Lambda syncFunc) const; +} + +class facebook::react::EventEmitterWrapper : public jni::HybridClass { + public EventEmitterWrapper(facebook::react::SharedEventEmitter eventEmitter); + public facebook::react::SharedEventEmitter eventEmitter; + public static constexpr char* const kJavaDescriptor; + public static void registerNatives(); + public void dispatchEvent(std::string eventName, facebook::react::NativeMap* payload, int category, jlong eventTimestamp); + public void dispatchEventSynchronously(std::string eventName, facebook::react::NativeMap* params, jlong eventTimestamp); + public void dispatchUniqueEvent(std::string eventName, facebook::react::NativeMap* payload, jlong eventTimestamp); +} + +class facebook::react::EventListenerContainer { + public bool willDispatchEvent(const facebook::react::RawEvent& event); + public void addListener(std::shared_ptr listener); + public void removeListener(const std::shared_ptr& listener); +} + +class facebook::react::EventLogger { + public virtual facebook::react::EventTag onEventStart(std::string_view name, facebook::react::SharedEventTarget target, std::optional eventStartTimeStamp = std::nullopt) = 0; + public virtual void onEventProcessingEnd(facebook::react::EventTag tag) = 0; + public virtual void onEventProcessingStart(facebook::react::EventTag tag) = 0; + public virtual ~EventLogger() = default; +} + +class facebook::react::EventPerformanceLogger : public facebook::react::EventLogger, public facebook::react::RuntimeSchedulerEventTimingDelegate, public facebook::react::UIManagerMountHook { + public EventPerformanceLogger(std::weak_ptr performanceEntryReporter); + public virtual facebook::react::EventTag onEventStart(std::string_view name, facebook::react::SharedEventTarget target, std::optional eventStartTimeStamp = std::nullopt) override; + public virtual void dispatchPendingEventTimingEntries(facebook::react::HighResTimeStamp taskEndTime, const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) override; + public virtual void onEventProcessingEnd(facebook::react::EventTag tag) override; + public virtual void onEventProcessingStart(facebook::react::EventTag tag) override; + public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp mountTime) noexcept override; +} + +class facebook::react::EventQueue { + protected const std::unique_ptr eventBeat_; + protected facebook::react::EventQueueProcessor eventProcessor_; + protected mutable std::mutex queueMutex_; + protected mutable std::vector eventQueue_; + protected mutable std::vector stateUpdateQueue_; + protected void flushEvents(facebook::jsi::Runtime& runtime) const; + protected void flushStateUpdates() const; + protected void onBeat(facebook::jsi::Runtime& runtime) const; + protected void onEnqueue() const; + public EventQueue(facebook::react::EventQueueProcessor eventProcessor, std::unique_ptr eventBeat); + public void enqueueEvent(facebook::react::RawEvent&& rawEvent) const; + public void enqueueStateUpdate(facebook::react::StateUpdate&& stateUpdate, facebook::react::EventQueue::UpdateMode updateMode = facebook::react::EventQueue::UpdateMode::Asynchronous) const; + public void enqueueUniqueEvent(facebook::react::RawEvent&& rawEvent) const; + public void experimental_flushSync() const; +} + +enum facebook::react::EventQueue::UpdateMode { + Asynchronous, + unstable_Immediate, +} + +class facebook::react::EventQueueProcessor { + public EventQueueProcessor(facebook::react::EventPipe eventPipe, facebook::react::EventPipeConclusion eventPipeConclusion, facebook::react::StatePipe statePipe, std::weak_ptr eventLogger); + public void flushEvents(facebook::jsi::Runtime& runtime, std::vector&& events) const; + public void flushStateUpdates(std::vector&& states) const; +} + +class facebook::react::EventSubscription { + public EventSubscription(const facebook::react::EventSubscription&) = delete; + public EventSubscription(facebook::react::EventSubscription&&) noexcept = default; + public EventSubscription(std::function remove); + public facebook::react::EventSubscription& operator=(const facebook::react::EventSubscription&) = delete; + public facebook::react::EventSubscription& operator=(facebook::react::EventSubscription&&) noexcept = default; + public void remove(); + public ~EventSubscription() = default; +} + +class facebook::react::EventTarget { + public EventTarget(facebook::react::InstanceHandle::Shared instanceHandle, facebook::react::SurfaceId surfaceId); + public facebook::jsi::Value getInstanceHandle(facebook::jsi::Runtime& runtime) const; + public facebook::react::EventTarget::Tag getTag() const; + public facebook::react::SurfaceId getSurfaceId() const; + public using Tag = int32_t; + public void release(facebook::jsi::Runtime& runtime); + public void retain(facebook::jsi::Runtime& runtime); + public void setEnabled(bool enabled); +} + +class facebook::react::ExecutorDelegate { + public virtual facebook::react::MethodCallResult callSerializableNativeHook(facebook::react::JSExecutor& executor, unsigned int moduleId, unsigned int methodId, folly::dynamic&& args) = 0; + public virtual std::shared_ptr getModuleRegistry() = 0; + public virtual void callNativeModules(facebook::react::JSExecutor& executor, folly::dynamic&& calls, bool isEndOfBatch) = 0; + public virtual ~ExecutorDelegate() = default; +} + +class facebook::react::FabricMountingManager { + public FabricMountingManager(const facebook::react::FabricMountingManager&) = delete; + public FabricMountingManager(jni::global_ref& javaUIManager); + public void destroyUnmountedShadowNode(const facebook::react::ShadowNodeFamily& family); + public void dispatchCommand(const facebook::react::ShadowView& shadowView, const std::string& commandName, const folly::dynamic& args); + public void drainPreallocateViewsQueue(); + public void executeMount(const facebook::react::MountingTransaction& transaction); + public void maybePreallocateShadowNode(const facebook::react::ShadowNode& shadowNode); + public void onAllAnimationsComplete(); + public void onAnimationStarted(); + public void onSurfaceStart(facebook::react::SurfaceId surfaceId); + public void onSurfaceStop(facebook::react::SurfaceId surfaceId); + public void scheduleReactRevisionMerge(facebook::react::SurfaceId surfaceId); + public void sendAccessibilityEvent(const facebook::react::ShadowView& shadowView, const std::string& eventType); + public void setIsJSResponder(const facebook::react::ShadowView& shadowView, bool isJSResponder, bool blockNativeResponder); + public void synchronouslyUpdateViewOnUIThread(facebook::react::Tag viewTag, const folly::dynamic& props); + public ~FabricMountingManager(); +} + +class facebook::react::FabricUIManagerBinding : public jni::HybridClass, public facebook::react::SchedulerDelegate, public facebook::react::LayoutAnimationStatusDelegate { + public static constexpr char* const kJavaDescriptor; + public static void registerNatives(); + public std::shared_ptr getScheduler(); +} + +class facebook::react::FocusOrderingHelper { + public static std::optional resolveFocusDirection(int direction); + public static std::shared_ptr findShadowNodeByTagRecursively(const std::shared_ptr& parentShadowNode, facebook::react::Tag tag); + public static void traverseAndUpdateNextFocusableElement(const std::shared_ptr& parentShadowNode, const std::shared_ptr& focusedShadowNode, const std::shared_ptr& currNode, facebook::react::FocusDirection focusDirection, const facebook::react::UIManager& uimanager, facebook::react::Rect sourceRect, std::optional& nextRect, std::shared_ptr& nextNode); +} + +class facebook::react::FrameAnimationDriver : public facebook::react::AnimationDriver { + protected virtual bool update(double timeDeltaMs, bool restarting) override; + protected virtual void updateConfig(folly::dynamic config) override; + public FrameAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); +} + +class facebook::react::FuseboxTracer { + public FuseboxTracer(const facebook::react::FuseboxTracer&) = delete; + public bool isTracing(); + public bool startTracing(); + public bool stopTracing(const std::function& resultCallback); + public bool stopTracingAndWriteToFile(const std::string& path); + public static facebook::react::FuseboxTracer& getFuseboxTracer(); + public void addEvent(const std::string_view& name, uint64_t start, uint64_t end, const std::optional& track); +} + +class facebook::react::HermesExecutor : public facebook::react::JSIExecutor { + public HermesExecutor(std::shared_ptr runtime, std::shared_ptr delegate, std::shared_ptr jsQueue, const facebook::react::JSIScopedTimeoutInvoker& timeoutInvoker, facebook::react::JSIExecutor::RuntimeInstaller runtimeInstaller, hermes::HermesRuntime& hermesRuntime); + public virtual facebook::react::jsinspector_modern::RuntimeTargetDelegate& getRuntimeTargetDelegate() override; +} + +class facebook::react::HermesExecutorFactory : public facebook::react::JSExecutorFactory { + public HermesExecutorFactory(facebook::react::JSIExecutor::RuntimeInstaller runtimeInstaller, const facebook::react::JSIScopedTimeoutInvoker& timeoutInvoker = facebook::react::JSIExecutor::defaultTimeoutInvoker, hermes::vm::RuntimeConfig runtimeConfig = defaultRuntimeConfig()); + public virtual std::unique_ptr createJSExecutor(std::shared_ptr delegate, std::shared_ptr jsQueue) override; + public void setDebuggerName(const std::string& debuggerName); + public void setEnableDebugger(bool enableDebugger); +} + +class facebook::react::HermesInstance { + public static std::unique_ptr createJSRuntime(std::shared_ptr crashManager, std::shared_ptr msgQueueThread, bool allocInOldGenBeforeTTI) noexcept; +} + +class facebook::react::HighResDuration { + public constexpr HighResDuration(); + public constexpr bool operator!=(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator!=(const std::chrono::steady_clock::duration& rhs) const; + public constexpr bool operator<(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator<(const std::chrono::steady_clock::duration& rhs) const; + public constexpr bool operator<=(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator<=(const std::chrono::steady_clock::duration& rhs) const; + public constexpr bool operator==(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator==(const std::chrono::steady_clock::duration& rhs) const; + public constexpr bool operator>(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator>(const std::chrono::steady_clock::duration& rhs) const; + public constexpr bool operator>=(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator>=(const std::chrono::steady_clock::duration& rhs) const; + public constexpr double toDOMHighResTimeStamp() const; + public constexpr facebook::react::HighResDuration operator+(const facebook::react::HighResDuration& rhs) const; + public constexpr facebook::react::HighResDuration operator+(const std::chrono::steady_clock::duration& rhs) const; + public constexpr facebook::react::HighResDuration operator-(const facebook::react::HighResDuration& rhs) const; + public constexpr facebook::react::HighResDuration operator-(const std::chrono::steady_clock::duration& rhs) const; + public constexpr facebook::react::HighResDuration& operator+=(const facebook::react::HighResDuration& rhs); + public constexpr facebook::react::HighResDuration& operator+=(const std::chrono::steady_clock::duration& rhs); + public constexpr facebook::react::HighResDuration& operator-=(const facebook::react::HighResDuration& rhs); + public constexpr facebook::react::HighResDuration& operator-=(const std::chrono::steady_clock::duration& rhs); + public constexpr int64_t toNanoseconds() const; + public constexpr operator std::chrono::steady_clock::duration() const; + public static constexpr facebook::react::HighResDuration fromChrono(std::chrono::steady_clock::duration chronoDuration); + public static constexpr facebook::react::HighResDuration fromDOMHighResTimeStamp(double units); + public static constexpr facebook::react::HighResDuration fromMilliseconds(int64_t units); + public static constexpr facebook::react::HighResDuration fromNanoseconds(int64_t units); + public static constexpr facebook::react::HighResDuration zero(); +} + +class facebook::react::HighResTimeStamp { + public HighResTimeStamp() noexcept; + public constexpr bool operator!=(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr bool operator<(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr bool operator<=(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr bool operator==(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr bool operator>(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr bool operator>=(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr double toDOMHighResTimeStamp() const; + public constexpr facebook::react::HighResTimeStamp& operator+=(const facebook::react::HighResDuration& rhs); + public constexpr facebook::react::HighResTimeStamp& operator-=(const facebook::react::HighResDuration& rhs); + public constexpr std::chrono::steady_clock::time_point toChronoSteadyClockTimePoint() const; + public static constexpr facebook::react::HighResTimeStamp fromChronoSteadyClockTimePoint(std::chrono::steady_clock::time_point chronoTimePoint); + public static constexpr facebook::react::HighResTimeStamp fromDOMHighResTimeStamp(double units); + public static constexpr facebook::react::HighResTimeStamp max() noexcept; + public static constexpr facebook::react::HighResTimeStamp min() noexcept; + public static facebook::react::HighResDuration unsafeOriginFromUnixTimeStamp() noexcept; + public static facebook::react::HighResTimeStamp now() noexcept; +} + +class facebook::react::HostPlatformParagraphProps : public facebook::react::BaseParagraphProps { + public HostPlatformParagraphProps() = default; + public HostPlatformParagraphProps(const facebook::react::PropsParserContext& context, const facebook::react::HostPlatformParagraphProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool disabled; + public std::optional dataDetectorType; + public std::optional selectionColor; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::HostPlatformScrollViewProps : public facebook::react::BaseScrollViewProps { + public HostPlatformScrollViewProps() = default; + public HostPlatformScrollViewProps(const facebook::react::PropsParserContext& context, const facebook::react::HostPlatformScrollViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool nestedScrollEnabled; + public bool sendMomentumEvents; + public facebook::react::SharedColor endFillColor; + public folly::dynamic fadingEdgeLength; + public std::string overScrollMode; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::HostPlatformViewProps : public facebook::react::BaseViewProps { + public HostPlatformViewProps() = default; + public HostPlatformViewProps(const facebook::react::PropsParserContext& context, const facebook::react::HostPlatformViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public HostPlatformViewProps(const facebook::react::PropsParserContext& context, const facebook::react::HostPlatformViewProps& sourceProps, const facebook::react::RawProps& rawProps, const std::function& filterObjectKeys = nullptr); + public bool focusable; + public bool getProbablyMoreHorizontalThanVertical_DEPRECATED() const; + public bool hasTVPreferredFocus; + public bool needsOffscreenAlphaCompositing; + public bool renderToHardwareTextureAndroid; + public bool screenReaderFocusable; + public facebook::react::Float elevation; + public std::optional nativeBackground; + public std::optional nativeForeground; + public std::optional nextFocusDown; + public std::optional nextFocusForward; + public std::optional nextFocusLeft; + public std::optional nextFocusRight; + public std::optional nextFocusUp; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::IAsyncEventEmitter { + public IAsyncEventEmitter() noexcept = default; + public IAsyncEventEmitter(const facebook::react::IAsyncEventEmitter&) = delete; + public IAsyncEventEmitter(facebook::react::IAsyncEventEmitter&&) noexcept = default; + public facebook::react::IAsyncEventEmitter& operator=(const facebook::react::IAsyncEventEmitter&) = delete; + public facebook::react::IAsyncEventEmitter& operator=(facebook::react::IAsyncEventEmitter&&) noexcept = default; + public virtual facebook::jsi::Object get(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker) const = 0; + public virtual ~IAsyncEventEmitter() noexcept = default; +} + +class facebook::react::ImageComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public ImageComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); + public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; +} + +class facebook::react::ImageErrorInfo { + public int responseCode; + public std::string error; + public std::vector> httpResponseHeaders; +} + +class facebook::react::ImageEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onError(const facebook::react::ImageErrorInfo& error) const; + public void onLoad(const facebook::react::ImageSource& source) const; + public void onLoadEnd() const; + public void onLoadStart() const; + public void onPartialLoad() const; + public void onProgress(double progress, int64_t loaded, int64_t total) const; +} + +class facebook::react::ImageFetcher { + public ImageFetcher(const facebook::react::ImageFetcher&) = delete; + public ImageFetcher(facebook::react::ImageFetcher&&) = delete; + public ImageFetcher(std::shared_ptr contextContainer); + public facebook::react::ImageFetcher& operator=(const facebook::react::ImageFetcher&) = delete; + public facebook::react::ImageFetcher& operator=(facebook::react::ImageFetcher&&) = delete; + public void flushImageRequests(); + public ~ImageFetcher() = default; +} + +class facebook::react::ImageLoadError { + public ImageLoadError(std::shared_ptr error); + public std::shared_ptr getError() const; +} + +class facebook::react::ImageManager { + public ImageManager(const std::shared_ptr& contextContainer); + public virtual facebook::react::ImageRequest requestImage(const facebook::react::ImageSource& imageSource, facebook::react::SurfaceId surfaceId, const facebook::react::ImageRequestParams& imageRequestParams = {}, facebook::react::Tag tag = {}) const; + public virtual ~ImageManager(); +} + +class facebook::react::ImageProps : public facebook::react::HostPlatformViewProps { + public ImageProps() = default; + public ImageProps(const facebook::react::PropsParserContext& context, const facebook::react::ImageProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool progressiveRenderingEnabled; + public bool shouldNotifyLoadEvents; + public facebook::react::EdgeInsets capInsets; + public facebook::react::Float blurRadius; + public facebook::react::Float fadeDuration; + public facebook::react::Float resizeMultiplier; + public facebook::react::ImageResizeMode resizeMode; + public facebook::react::ImageSource defaultSource; + public facebook::react::ImageSource loadingIndicatorSource; + public facebook::react::ImageSources sources; + public facebook::react::SharedColor overlayColor; + public facebook::react::SharedColor tintColor; + public std::string internal_analyticTag; + public std::string resizeMethod; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::ImageRequest { + public ImageRequest(const facebook::react::ImageRequest& other) = delete; + public ImageRequest(facebook::react::ImageRequest&& other) noexcept = default; + public ImageRequest(facebook::react::ImageSource imageSource, std::shared_ptr telemetry, facebook::react::SharedFunction<> resumeFunction = {}, facebook::react::SharedFunction<> cancelationFunction = {}); + public const facebook::react::ImageResponseObserverCoordinator& getObserverCoordinator() const; + public const facebook::react::ImageSource& getImageSource() const; + public const std::shared_ptr& getSharedObserverCoordinator() const; + public const std::shared_ptr& getSharedTelemetry() const; + public facebook::react::ImageRequest& operator=(const facebook::react::ImageRequest& other) = delete; + public facebook::react::ImageRequest& operator=(facebook::react::ImageRequest&& other) noexcept = default; + public ~ImageRequest() = default; +} + +class facebook::react::ImageRequestParams { + public ImageRequestParams() = default; + public ImageRequestParams(facebook::react::Float blurRadius, facebook::react::ImageSource defaultSource, facebook::react::ImageResizeMode resizeMode, std::string resizeMethod, facebook::react::Float resizeMultiplier, bool shouldNotifyLoadEvents, facebook::react::SharedColor overlayColor, facebook::react::SharedColor tintColor, facebook::react::Float fadeDuration, bool progressiveRenderingEnabled, facebook::react::ImageSource loadingIndicatorSource, std::string analyticTag, facebook::react::Size size); + public bool operator==(const facebook::react::ImageRequestParams& rhs) const = default; + public bool progressiveRenderingEnabled; + public bool shouldNotifyLoadEvents; + public facebook::react::Float blurRadius; + public facebook::react::Float fadeDuration; + public facebook::react::Float resizeMultiplier; + public facebook::react::ImageResizeMode resizeMode; + public facebook::react::ImageSource defaultSource; + public facebook::react::ImageSource loadingIndicatorSource; + public facebook::react::SharedColor overlayColor; + public facebook::react::SharedColor tintColor; + public facebook::react::Size size; + public std::string analyticTag; + public std::string resizeMethod; +} + +class facebook::react::ImageResponse { + public ImageResponse(std::shared_ptr image, std::shared_ptr metadata); + public std::shared_ptr getImage() const; + public std::shared_ptr getMetadata() const; +} + +enum facebook::react::ImageResponse::Status { + Cancelled, + Completed, + Consumed, + Failed, + Loading, +} + +class facebook::react::ImageResponseObserver { + public virtual void didReceiveFailure(const facebook::react::ImageLoadError& error) const = 0; + public virtual void didReceiveImage(const facebook::react::ImageResponse& imageResponse) const = 0; + public virtual void didReceiveProgress(float progress, int64_t loaded, int64_t total) const = 0; + public virtual ~ImageResponseObserver() noexcept = default; +} + +class facebook::react::ImageResponseObserverCoordinator { + public ImageResponseObserverCoordinator(facebook::react::SharedFunction<> resumeFunction, facebook::react::SharedFunction<> cancelationFunction); + public void addObserver(std::shared_ptr observer) const; + public void nativeImageResponseComplete(const facebook::react::ImageResponse& imageResponse) const; + public void nativeImageResponseFailed(const facebook::react::ImageLoadError& loadError) const; + public void nativeImageResponseProgress(float progress, int64_t loaded, int64_t total) const; + public void removeObserver(const std::shared_ptr& observer) const; +} + +class facebook::react::ImageShadowNode : public facebook::react::ConcreteViewShadowNode { + public ImageShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ImageShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ImageState initialStateData(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared&, const facebook::react::ComponentDescriptor& componentDescriptor); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public virtual void layout(facebook::react::LayoutContext layoutContext) override; + public void setImageManager(const std::shared_ptr& imageManager); +} + +class facebook::react::ImageSource { + public bool operator==(const facebook::react::ImageSource& rhs) const; + public facebook::react::Float scale; + public facebook::react::ImageSource::CacheStategy cache; + public facebook::react::ImageSource::Type type; + public facebook::react::Size size; + public folly::dynamic toDynamic() const; + public std::string body; + public std::string bundle; + public std::string method; + public std::string uri; + public std::vector> headers; +} + +enum facebook::react::ImageSource::CacheStategy { + Default, + ForceCache, + OnlyIfCached, + Reload, +} + +enum facebook::react::ImageSource::Type { + Invalid, + Local, + Remote, +} + +class facebook::react::ImageState { + public ImageState(const facebook::react::ImageSource& imageSource, facebook::react::ImageRequest imageRequest, const facebook::react::ImageRequestParams& imageRequestParams); + public ImageState(const facebook::react::ImageState& previousState, folly::dynamic data); + public const facebook::react::ImageRequest& getImageRequest() const; + public const facebook::react::ImageRequestParams& getImageRequestParams() const; + public facebook::react::ImageSource getImageSource() const; + public folly::dynamic getDynamic() const; +} + +class facebook::react::ImageTelemetry { + public ImageTelemetry(const facebook::react::SurfaceId surfaceId); + public facebook::react::SurfaceId getSurfaceId() const; + public facebook::react::TelemetryTimePoint getWillRequestUrlTime() const; +} + +class facebook::react::InputAccessoryComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public InputAccessoryComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; +} + +class facebook::react::InputAccessoryEventEmitter : public facebook::react::BaseViewEventEmitter { +} + +class facebook::react::InputAccessoryProps : public facebook::react::HostPlatformViewProps { + public InputAccessoryProps() = default; + public InputAccessoryProps(const facebook::react::PropsParserContext& context, const facebook::react::InputAccessoryProps& sourceProps, const facebook::react::RawProps& rawProps); + public facebook::react::SharedColor backgroundColor; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::InputAccessoryShadowNode : public facebook::react::ConcreteViewShadowNode { + public InputAccessoryShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public InputAccessoryShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); +} + +class facebook::react::InputAccessoryState { + public InputAccessoryState(); + public InputAccessoryState(facebook::react::Size viewportSize_); + public const facebook::react::Size viewportSize; +} + +class facebook::react::InspectorNetworkRequestListener : public jni::HybridClass { + public static constexpr auto kJavaDescriptor; + public static void registerNatives(); + public void onCompletion(); + public void onData(jni::alias_ref data); + public void onError(jni::alias_ref message); + public void onHeaders(jint httpStatusCode, jni::alias_ref> headers); +} + +class facebook::react::Instance { + public bool isBatchActive(); + public bool isInspectable(); + public bool supportsProfiling(); + public const facebook::react::ModuleRegistry& getModuleRegistry() const; + public facebook::react::ModuleRegistry& getModuleRegistry(); + public facebook::react::RuntimeExecutor getRuntimeExecutor(); + public std::shared_ptr getJSCallInvoker(); + public std::shared_ptr getDecoratedNativeMethodCallInvoker(std::shared_ptr nativeMethodCallInvoker); + public void callJSCallback(uint64_t callbackId, folly::dynamic&& params); + public void callJSFunction(std::string&& module, std::string&& method, folly::dynamic&& params); + public void handleMemoryPressure(int pressureLevel); + public void initializeBridge(std::unique_ptr callback, std::shared_ptr jsef, std::shared_ptr jsQueue, std::shared_ptr moduleRegistry, facebook::react::jsinspector_modern::HostTarget* inspectorTarget = nullptr); + public void initializeRuntime(); + public void loadRAMBundle(std::unique_ptr bundleRegistry, std::unique_ptr startupScript, std::string startupScriptSourceURL, bool loadSynchronously); + public void loadRAMBundleFromFile(const std::string& sourcePath, const std::string& sourceURL, bool loadSynchronously); + public void loadRAMBundleFromString(std::unique_ptr script, const std::string& sourceURL); + public void loadScriptFromString(std::unique_ptr string, std::string sourceURL, bool loadSynchronously); + public void registerBundle(uint32_t bundleId, const std::string& bundlePath); + public void setGlobalVariable(std::string propName, std::unique_ptr jsonValue); + public void setSourceURL(std::string sourceURL); + public void unregisterFromInspector(); + public void* getJavaScriptContext(); + public ~Instance() override; +} + +class facebook::react::InstanceHandle { + public InstanceHandle(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& instanceHandle, facebook::react::Tag tag); + public facebook::jsi::Value getInstanceHandle(facebook::jsi::Runtime& runtime) const; + public facebook::react::Tag getTag() const; + public using Shared = std::shared_ptr; +} + +class facebook::react::InterpolationAnimatedNode : public facebook::react::ValueAnimatedNode { + public InterpolationAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void onAttachToNode(facebook::react::Tag animatedNodeTag) override; + public virtual void onDetachedFromNode(facebook::react::Tag animatedNodeTag) override; + public virtual void update() override; +} + +class facebook::react::IntersectionObserver { + public IntersectionObserver(facebook::react::IntersectionObserverObserverId intersectionObserverId, std::optional observationRootShadowNodeFamily, facebook::react::ShadowNodeFamily::Shared targetShadowNodeFamily, std::vector thresholds, std::optional> rootThresholds, std::vector rootMargins); + public facebook::react::IntersectionObserverObserverId getIntersectionObserverId() const; + public facebook::react::ShadowNodeFamily::Shared getTargetShadowNodeFamily() const; + public std::optional updateIntersectionObservation(const facebook::react::RootShadowNode& rootShadowNode, facebook::react::HighResTimeStamp time); + public std::optional updateIntersectionObservationForSurfaceUnmount(facebook::react::HighResTimeStamp time); + public std::vector getThresholds() const; +} + +class facebook::react::IntersectionObserverManager : public facebook::react::UIManagerMountHook, public facebook::react::RuntimeSchedulerIntersectionObserverDelegate { + public IntersectionObserverManager(); + public std::vector takeRecords(); + public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp time) noexcept override; + public virtual void shadowTreeDidUnmount(facebook::react::SurfaceId surfaceId, facebook::react::HighResTimeStamp time) noexcept override; + public virtual void updateIntersectionObservations(const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) override; + public void connect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager, std::function notifyIntersectionObserversCallback); + public void disconnect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager); + public void observe(facebook::react::IntersectionObserverObserverId intersectionObserverId, const std::optional& observationRootShadowNode, const facebook::react::ShadowNodeFamily::Shared& shadowNode, std::vector thresholds, std::optional> rootThresholds, std::optional rootMargin, const facebook::react::UIManager& uiManager); + public void unobserve(facebook::react::IntersectionObserverObserverId intersectionObserverId, const facebook::react::ShadowNodeFamily::Shared& shadowNode); +} + +class facebook::react::IntersectionObserverState { + public bool isIntersecting() const; + public bool operator==(const facebook::react::IntersectionObserverState& other) const; + public static facebook::react::IntersectionObserverState Initial(); + public static facebook::react::IntersectionObserverState Intersecting(facebook::react::Float threshold); + public static facebook::react::IntersectionObserverState Intersecting(facebook::react::Float threshold, facebook::react::Float rootThreshold); + public static facebook::react::IntersectionObserverState NotIntersecting(); +} + +class facebook::react::JAnimationBackendChoreographer : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; + public void pause() const; + public void resume() const; +} + +class facebook::react::JBindingsInstaller : public jni::HybridClass, public facebook::react::BindingsInstaller { + public static constexpr auto kJavaDescriptor; + public ~JBindingsInstaller(); +} + +class facebook::react::JCxxCallbackImpl : public jni::HybridClass { + public static constexpr auto kJavaDescriptor; + public static void registerNatives(); +} + +class facebook::react::JDynamicNative : public jni::HybridClass { + public JDynamicNative(folly::dynamic payload); + public static constexpr auto kJavaDescriptor; + public static void registerNatives(); +} + +class facebook::react::JFabricUIManager : public facebook::jni::JavaClass { + public facebook::react::FabricUIManagerBinding* getBinding(); + public static constexpr auto kJavaDescriptor; +} + +class facebook::react::JHermesInstance : public jni::HybridClass { + public JHermesInstance(bool allocInOldGenBeforeTTI); + public static constexpr auto kJavaDescriptor; + public static jni::local_ref initHybrid(jni::alias_ref, bool allocInOldGenBeforeTTI); + public static void registerNatives(); + public std::unique_ptr createJSRuntime(std::shared_ptr msgQueueThread) noexcept; + public ~JHermesInstance(); +} + +class facebook::react::JJSRuntimeFactory : public jni::HybridClass, public JSRuntimeFactory { + public static constexpr auto kJavaDescriptor; +} + +class facebook::react::JJSTimerExecutor : public jni::HybridClass { + public static constexpr auto kJavaDescriptor; + public static void initHybrid(jni::alias_ref jobj); + public static void registerNatives(); + public void callTimers(facebook::react::WritableNativeArray* timerIDs); + public void setTimerManager(std::weak_ptr timerManager); +} + +class facebook::react::JMessageQueueThread : public facebook::react::MessageQueueThread { + public JMessageQueueThread(jni::alias_ref jobj); + public virtual void quitSynchronous() override; + public virtual void runOnQueue(std::function&& runnable) override; + public virtual void runOnQueueSync(std::function&& runnable) override; +} + +class facebook::react::JNativeModulePerfLogger : public jni::HybridClass { + public static constexpr auto kJavaDescriptor; + public virtual std::unique_ptr get() = 0; +} + +class facebook::react::JPreparedLayout : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; +} + +class facebook::react::JReactExceptionManager : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; + public void reportJsException(facebook::jsi::Runtime& runtime, const facebook::react::JsErrorHandler::ProcessedError& error); +} + +class facebook::react::JReactHostInspectorTarget : public jni::HybridClass, public facebook::react::jsinspector_modern::HostTargetDelegate { + public bool startBackgroundTrace(); + public facebook::react::jsinspector_modern::HostTarget* getInspectorTarget(); + public jboolean stopAndMaybeEmitBackgroundTrace(); + public jlong registerTracingStateListener(jni::alias_ref listener); + public jni::local_ref getTracingState(); + public static constexpr auto kJavaDescriptor; + public static jni::local_ref initHybrid(jni::alias_ref jobj, jni::alias_ref reactHost, jni::alias_ref javaExecutor); + public static void registerNatives(); + public virtual facebook::react::jsinspector_modern::HostTargetMetadata getMetadata() override; + public virtual facebook::react::jsinspector_modern::HostTargetTracingDelegate* getTracingDelegate() override; + public virtual void onReload(const facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest& request) override; + public virtual void onSetPausedInDebuggerMessage(const facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest& request) override; + public virtual void unstable_onPerfIssueAdded(const facebook::react::jsinspector_modern::PerfIssuePayload&) override; + public void loadNetworkResource(const facebook::react::jsinspector_modern::LoadNetworkResourceRequest& params, facebook::react::jsinspector_modern::ScopedExecutor executor) override; + public void recordFrameTimings(jni::alias_ref frameTimingSequence); + public void sendDebuggerResumeCommand(); + public void stopTracing(); + public void unregisterTracingStateListener(jlong subscriptionId); + public ~JReactHostInspectorTarget() override; +} + +class facebook::react::JReactInstance : public jni::HybridClass { + public jni::alias_ref getBufferedRuntimeExecutor() noexcept; + public jni::alias_ref getUnbufferedRuntimeExecutor() noexcept; + public jni::alias_ref getRuntimeScheduler() noexcept; + public static constexpr auto kJavaDescriptor; + public static jni::local_ref initHybrid(jni::alias_ref, jni::alias_ref jsRuntimeFactory, jni::alias_ref jsMessageQueueThread, jni::alias_ref nativeMessageQueueThread, jni::alias_ref javaTimerManager, jni::alias_ref jsTimerExecutor, jni::alias_ref jReactExceptionManager, jni::alias_ref jBindingsInstaller, bool isProfiling, jni::alias_ref jReactHostInspectorTarget); + public static void registerNatives(); + public void callFunctionOnModule(const std::string& moduleName, const std::string& methodName, facebook::react::NativeArray* args); + public void handleMemoryPressureJs(jint level); + public void loadJSBundleFromAssets(jni::alias_ref assetManager, const std::string& assetURL); + public void loadJSBundleFromFile(const std::string& fileName, const std::string& sourceURL); + public void registerSegment(int segmentId, const std::string& segmentPath) noexcept; + public void unregisterFromInspector(); +} + +class facebook::react::JReactMarker : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; + public static void registerNatives(); + public static void setLogPerfMarkerIfNeeded(); +} + +class facebook::react::JReactNativeFeatureFlagsCxxInterop : public facebook::jni::JavaClass { + public static bool cdpInteractionMetricsEnabled(facebook::jni::alias_ref); + public static bool commonTestFlag(facebook::jni::alias_ref); + public static bool cxxNativeAnimatedEnabled(facebook::jni::alias_ref); + public static bool defaultTextToOverflowHidden(facebook::jni::alias_ref); + public static bool disableEarlyViewCommandExecution(facebook::jni::alias_ref); + public static bool disableImageViewPreallocationAndroid(facebook::jni::alias_ref); + public static bool disableMountItemReorderingAndroid(facebook::jni::alias_ref); + public static bool disableSubviewClippingAndroid(facebook::jni::alias_ref); + public static bool disableTextLayoutManagerCacheAndroid(facebook::jni::alias_ref); + public static bool disableViewPreallocationAndroid(facebook::jni::alias_ref); + public static bool enableAccessibilityOrder(facebook::jni::alias_ref); + public static bool enableAccumulatedUpdatesInRawPropsAndroid(facebook::jni::alias_ref); + public static bool enableAndroidAntialiasedBorderRadiusClipping(facebook::jni::alias_ref); + public static bool enableAndroidLinearText(facebook::jni::alias_ref); + public static bool enableAndroidTextMeasurementOptimizations(facebook::jni::alias_ref); + public static bool enableBridgelessArchitecture(facebook::jni::alias_ref); + public static bool enableCppPropsIteratorSetter(facebook::jni::alias_ref); + public static bool enableCustomFocusSearchOnClippedElementsAndroid(facebook::jni::alias_ref); + public static bool enableDestroyShadowTreeRevisionAsync(facebook::jni::alias_ref); + public static bool enableDifferentiatorMutationVectorPreallocation(facebook::jni::alias_ref); + public static bool enableDoubleMeasurementFixAndroid(facebook::jni::alias_ref); + public static bool enableEagerMainQueueModulesOnIOS(facebook::jni::alias_ref); + public static bool enableEagerRootViewAttachment(facebook::jni::alias_ref); + public static bool enableExclusivePropsUpdateAndroid(facebook::jni::alias_ref); + public static bool enableFabricCommitBranching(facebook::jni::alias_ref); + public static bool enableFabricLogs(facebook::jni::alias_ref); + public static bool enableFabricRenderer(facebook::jni::alias_ref); + public static bool enableFontScaleChangesUpdatingLayout(facebook::jni::alias_ref); + public static bool enableIOSTextBaselineOffsetPerLine(facebook::jni::alias_ref); + public static bool enableIOSViewClipToPaddingBox(facebook::jni::alias_ref); + public static bool enableImagePrefetchingAndroid(facebook::jni::alias_ref); + public static bool enableImagePrefetchingJNIBatchingAndroid(facebook::jni::alias_ref); + public static bool enableImagePrefetchingOnUiThreadAndroid(facebook::jni::alias_ref); + public static bool enableImmediateUpdateModeForContentOffsetChanges(facebook::jni::alias_ref); + public static bool enableImperativeFocus(facebook::jni::alias_ref); + public static bool enableInteropViewManagerClassLookUpOptimizationIOS(facebook::jni::alias_ref); + public static bool enableIntersectionObserverByDefault(facebook::jni::alias_ref); + public static bool enableKeyEvents(facebook::jni::alias_ref); + public static bool enableLayoutAnimationsOnAndroid(facebook::jni::alias_ref); + public static bool enableLayoutAnimationsOnIOS(facebook::jni::alias_ref); + public static bool enableMainQueueCoordinatorOnIOS(facebook::jni::alias_ref); + public static bool enableModuleArgumentNSNullConversionIOS(facebook::jni::alias_ref); + public static bool enableMutationObserverByDefault(facebook::jni::alias_ref); + public static bool enableNativeCSSParsing(facebook::jni::alias_ref); + public static bool enableNativeViewPropTransformations(facebook::jni::alias_ref); + public static bool enableNetworkEventReporting(facebook::jni::alias_ref); + public static bool enablePreparedTextLayout(facebook::jni::alias_ref); + public static bool enablePropsUpdateReconciliationAndroid(facebook::jni::alias_ref); + public static bool enableSwiftUIBasedFilters(facebook::jni::alias_ref); + public static bool enableViewCulling(facebook::jni::alias_ref); + public static bool enableViewRecycling(facebook::jni::alias_ref); + public static bool enableViewRecyclingForImage(facebook::jni::alias_ref); + public static bool enableViewRecyclingForScrollView(facebook::jni::alias_ref); + public static bool enableViewRecyclingForText(facebook::jni::alias_ref); + public static bool enableViewRecyclingForView(facebook::jni::alias_ref); + public static bool enableVirtualViewContainerStateExperimental(facebook::jni::alias_ref); + public static bool enableVirtualViewDebugFeatures(facebook::jni::alias_ref); + public static bool fixFindShadowNodeByTagRaceCondition(facebook::jni::alias_ref); + public static bool fixMappingOfEventPrioritiesBetweenFabricAndReact(facebook::jni::alias_ref); + public static bool fixTextClippingAndroid15useBoundsForWidth(facebook::jni::alias_ref); + public static bool fixYogaFlexBasisFitContentInMainAxis(facebook::jni::alias_ref); + public static bool fuseboxAssertSingleHostState(facebook::jni::alias_ref); + public static bool fuseboxEnabledRelease(facebook::jni::alias_ref); + public static bool fuseboxFrameRecordingEnabled(facebook::jni::alias_ref); + public static bool fuseboxNetworkInspectionEnabled(facebook::jni::alias_ref); + public static bool hideOffscreenVirtualViewsOnIOS(facebook::jni::alias_ref); + public static bool overrideBySynchronousMountPropsAtMountingAndroid(facebook::jni::alias_ref); + public static bool perfIssuesEnabled(facebook::jni::alias_ref); + public static bool perfMonitorV2Enabled(facebook::jni::alias_ref); + public static bool preventShadowTreeCommitExhaustion(facebook::jni::alias_ref); + public static bool shouldPressibilityUseW3CPointerEventsForHover(facebook::jni::alias_ref); + public static bool shouldTriggerResponderTransferOnScrollAndroid(facebook::jni::alias_ref); + public static bool skipActivityIdentityAssertionOnHostPause(facebook::jni::alias_ref); + public static bool syncAndroidClipToPaddingWithOverflow(facebook::jni::alias_ref); + public static bool traceTurboModulePromiseRejectionsOnAndroid(facebook::jni::alias_ref); + public static bool updateRuntimeShadowNodeReferencesOnCommit(facebook::jni::alias_ref); + public static bool updateRuntimeShadowNodeReferencesOnCommitThread(facebook::jni::alias_ref); + public static bool useAlwaysAvailableJSErrorHandling(facebook::jni::alias_ref); + public static bool useFabricInterop(facebook::jni::alias_ref); + public static bool useLISAlgorithmInDifferentiator(facebook::jni::alias_ref); + public static bool useNativeViewConfigsInBridgelessMode(facebook::jni::alias_ref); + public static bool useNestedScrollViewAndroid(facebook::jni::alias_ref); + public static bool useSharedAnimatedBackend(facebook::jni::alias_ref); + public static bool useTraitHiddenOnAndroid(facebook::jni::alias_ref); + public static bool useTurboModuleInterop(facebook::jni::alias_ref); + public static bool useTurboModules(facebook::jni::alias_ref); + public static bool useUnorderedMapInDifferentiator(facebook::jni::alias_ref); + public static bool viewTransitionEnabled(facebook::jni::alias_ref); + public static constexpr auto kJavaDescriptor; + public static double preparedTextCacheSize(facebook::jni::alias_ref); + public static double viewCullingOutsetRatio(facebook::jni::alias_ref); + public static double virtualViewPrerenderRatio(facebook::jni::alias_ref); + public static jni::local_ref dangerouslyForceOverride(facebook::jni::alias_ref, jni::alias_ref provider); + public static void dangerouslyReset(facebook::jni::alias_ref); + public static void override(facebook::jni::alias_ref, jni::alias_ref provider); + public static void registerNatives(); +} + +class facebook::react::JReactSoftExceptionLogger : public facebook::jni::JavaClass { + public static constexpr char* kJavaDescriptor; + public static void logNoThrowSoftExceptionWithMessage(std::string tag, std::string message); +} + +class facebook::react::JReadableMapBuffer : public jni::HybridClass { + public JReadableMapBuffer(facebook::react::MapBuffer&& map); + public static constexpr auto kJavaDescriptor; + public static jni::local_ref createWithContents(facebook::react::MapBuffer&& map); + public std::vector data() const; +} + +class facebook::react::JRuntimeExecutor : public jni::HybridClass { + public facebook::react::RuntimeExecutor get(); + public static constexpr auto kJavaDescriptor; +} + +class facebook::react::JRuntimeScheduler : public jni::HybridClass { + public static constexpr auto kJavaDescriptor; + public std::weak_ptr get(); +} + +class facebook::react::JSBigBufferString : public facebook::react::JSBigString { + public JSBigBufferString(size_t size); + public char* mutableData(); + public virtual bool isAscii() const override; + public virtual const char* c_str() const override; + public virtual size_t size() const override; + public ~JSBigBufferString() override; +} + +class facebook::react::JSBigFileString : public facebook::react::JSBigString { + public JSBigFileString(int fd, size_t size, off_t offset = 0); + public int fd() const; + public static std::unique_ptr fromPath(const std::string& sourceURL); + public virtual bool isAscii() const override; + public virtual const char* c_str() const override; + public virtual size_t size() const override; + public ~JSBigFileString() override; +} + +class facebook::react::JSBigStdString : public facebook::react::JSBigString { + public JSBigStdString(std::string str, bool isAscii = false); + public virtual bool isAscii() const override; + public virtual const char* c_str() const override; + public virtual size_t size() const override; +} + +class facebook::react::JSBigString : public facebook::jsi::Buffer { + public JSBigString() = default; + public JSBigString(const facebook::react::JSBigString&) = delete; + public JSBigString(facebook::react::JSBigString&&) = delete; + public facebook::react::JSBigString& operator=(const facebook::react::JSBigString&) = delete; + public facebook::react::JSBigString& operator=(facebook::react::JSBigString&&) = delete; + public virtual bool isAscii() const = 0; + public virtual const char* c_str() const = 0; + public virtual const uint8_t* data() const final; + public virtual size_t size() const override = 0; + public ~JSBigString() override = default; +} + +class facebook::react::JSExecutor { + public static std::string getSyntheticBundlePath(uint32_t bundleId, const std::string& bundlePath); + public virtual bool isInspectable(); + public virtual facebook::react::jsinspector_modern::RuntimeTargetDelegate& getRuntimeTargetDelegate(); + public virtual std::string getDescription() = 0; + public virtual void callFunction(const std::string& moduleId, const std::string& methodId, const folly::dynamic& arguments) = 0; + public virtual void destroy(); + public virtual void flush(); + public virtual void handleMemoryPressure(int pressureLevel); + public virtual void initializeRuntime() = 0; + public virtual void invokeCallback(double callbackId, const folly::dynamic& arguments) = 0; + public virtual void loadBundle(std::unique_ptr script, std::string sourceURL) = 0; + public virtual void registerBundle(uint32_t bundleId, const std::string& bundlePath) = 0; + public virtual void setBundleRegistry(std::unique_ptr bundleRegistry) = 0; + public virtual void setGlobalVariable(std::string propName, std::unique_ptr jsonValue) = 0; + public virtual void* getJavaScriptContext(); + public virtual ~JSExecutor() = default; +} + +class facebook::react::JSExecutorFactory { + public virtual std::unique_ptr createJSExecutor(std::shared_ptr delegate, std::shared_ptr jsQueue) = 0; + public virtual ~JSExecutorFactory() = default; +} + +class facebook::react::JSIExecutor : public facebook::react::JSExecutor { + public JSIExecutor(std::shared_ptr runtime, std::shared_ptr delegate, const facebook::react::JSIScopedTimeoutInvoker& timeoutInvoker, facebook::react::JSIExecutor::RuntimeInstaller runtimeInstaller); + public static void defaultTimeoutInvoker(const std::function& invokee, std::function errorMessageProducer); + public using RuntimeInstaller = std::function; + public virtual bool isInspectable() override; + public virtual std::string getDescription() override; + public virtual void callFunction(const std::string& moduleId, const std::string& methodId, const folly::dynamic& arguments) override; + public virtual void flush() override; + public virtual void handleMemoryPressure(int pressureLevel) override; + public virtual void initializeRuntime() override; + public virtual void invokeCallback(double callbackId, const folly::dynamic& arguments) override; + public virtual void loadBundle(std::unique_ptr script, std::string sourceURL) override; + public virtual void registerBundle(uint32_t bundleId, const std::string& bundlePath) override; + public virtual void setBundleRegistry(std::unique_ptr bundleRegistry) override; + public virtual void setGlobalVariable(std::string propName, std::unique_ptr jsonValue) override; + public virtual void* getJavaScriptContext() override; +} + +class facebook::react::JSINativeModules { + public JSINativeModules(std::shared_ptr moduleRegistry); + public facebook::jsi::Value getModule(facebook::jsi::Runtime& rt, const facebook::jsi::PropNameID& name); + public void reset(); +} + +class facebook::react::JSIndexedRAMBundle : public facebook::react::JSModulesUnbundle { + public JSIndexedRAMBundle(const char* sourcePath); + public JSIndexedRAMBundle(std::unique_ptr script); + public static std::function(std::string)> buildFactory(); + public std::unique_ptr getStartupCode(); + public virtual facebook::react::JSModulesUnbundle::Module getModule(uint32_t moduleId) const override; +} + +class facebook::react::JSModulesUnbundle { + public JSModulesUnbundle(); + public virtual facebook::react::JSModulesUnbundle::Module getModule(uint32_t moduleId) const = 0; + public virtual ~JSModulesUnbundle() = default; +} + +class facebook::react::JSModulesUnbundle::ModuleNotFound : public std::out_of_range { + public ModuleNotFound(uint32_t moduleId); +} + +struct facebook::react::JSModulesUnbundle::Module { + public std::string code; + public std::string name; +} + +class facebook::react::JWritableMapBuffer : public facebook::jni::JavaClass { + public facebook::react::MapBuffer getMapBuffer(); + public static constexpr auto kJavaDescriptor; +} + +class facebook::react::JavaInteropTurboModule : public facebook::react::JavaTurboModule { + protected virtual facebook::jsi::Value create(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& propName) override; + public JavaInteropTurboModule(const facebook::react::JavaTurboModule::InitParams& params, const std::vector& methodDescriptors); + public virtual std::vector getPropertyNames(facebook::jsi::Runtime& runtime) override; +} + +struct facebook::react::JavaInteropTurboModule::MethodDescriptor { + public facebook::react::TurboModuleMethodValueKind jsiReturnKind; + public int jsArgCount; + public std::string jniSignature; + public std::string methodName; +} + +class facebook::react::JavaMessageQueueThread : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; +} + +class facebook::react::JavaNativeModule : public facebook::react::NativeModule { + public JavaNativeModule(std::weak_ptr instance, jni::alias_ref wrapper, std::shared_ptr messageQueueThread); + public virtual facebook::react::MethodCallResult callSerializableNativeHook(unsigned int reactMethodId, folly::dynamic&& params) override; + public virtual folly::dynamic getConstants() override; + public virtual std::string getName() override; + public virtual std::string getSyncMethodName(unsigned int reactMethodId) override; + public virtual std::vector getMethods() override; + public virtual void invoke(unsigned int reactMethodId, folly::dynamic&& params, int callId) override; +} + +class facebook::react::JavaScriptExecutorHolder : public jni::HybridClass { + protected JavaScriptExecutorHolder(std::shared_ptr factory); + public static constexpr auto kJavaDescriptor; + public std::shared_ptr getExecutorFactory(); +} + +class facebook::react::JavaTimerRegistry : public facebook::react::PlatformTimerRegistry { + public JavaTimerRegistry(jni::global_ref javaTimerManager); + public virtual void createRecurringTimer(uint32_t timerID, double delayMS) override; + public virtual void createTimer(uint32_t timerID, double delayMS) override; + public virtual void deleteTimer(uint32_t timerID) override; +} + +class facebook::react::JavaTurboModule : public facebook::react::TurboModule { + protected void configureEventEmitterCallback(); + protected void setEventEmitterCallback(jni::alias_ref); + public JavaTurboModule(const facebook::react::JavaTurboModule::InitParams& params); + public facebook::jsi::Value invokeJavaMethod(facebook::jsi::Runtime& runtime, facebook::react::TurboModuleMethodValueKind valueKind, const std::string& methodName, const std::string& methodSignature, const facebook::jsi::Value* args, size_t argCount, jmethodID& cachedMethodID); + public virtual ~JavaTurboModule(); +} + +struct facebook::react::JavaTurboModule::InitParams { + public jni::alias_ref instance; + public std::shared_ptr jsInvoker; + public std::shared_ptr nativeMethodCallInvoker; + public std::string moduleName; +} + +class facebook::react::JniJSModulesUnbundle : public facebook::react::JSModulesUnbundle { + public JniJSModulesUnbundle() = default; + public JniJSModulesUnbundle(AAssetManager* assetManager, std::string moduleDirectory); + public JniJSModulesUnbundle(facebook::react::JniJSModulesUnbundle&& other) = delete; + public facebook::react::JniJSModulesUnbundle& operator=(facebook::react::JSModulesUnbundle&& other) = delete; + public static bool isUnbundle(AAssetManager* assetManager, const std::string& assetName); + public static std::unique_ptr fromEntryFile(AAssetManager* assetManager, const std::string& entryFile); + public virtual facebook::react::JSModulesUnbundle::Module getModule(uint32_t moduleId) const override; +} + +class facebook::react::JsErrorHandler { + public JsErrorHandler(facebook::react::JsErrorHandler::OnJsError onJsError); + public bool hasHandledFatalError(); + public bool inErrorHandler(); + public bool isRuntimeReady(); + public using OnJsError = std::function; + public void handleError(facebook::jsi::Runtime& runtime, facebook::jsi::JSError& error, bool isFatal, bool logToConsole = true); + public void notifyOfFatalError(); + public void registerErrorListener(const std::function& listener); + public void setRuntimeReady(); + public ~JsErrorHandler(); +} + +struct facebook::react::JsErrorHandler::ProcessedError { + public bool isFatal; + public facebook::jsi::Object extraData; + public int id; + public std::optional componentStack; + public std::optional name; + public std::optional originalMessage; + public std::string message; + public std::vector stack; +} + +struct facebook::react::JsErrorHandler::ProcessedError::StackFrame { + public std::optional column; + public std::optional lineNumber; + public std::optional file; + public std::string methodName; +} + +class facebook::react::LayoutAnimationCallbackWrapper { + public LayoutAnimationCallbackWrapper(); + public LayoutAnimationCallbackWrapper(facebook::jsi::Function&& callback); + public void call(facebook::jsi::Runtime& runtime) const; +} + +class facebook::react::LayoutAnimationDriver : public facebook::react::LayoutAnimationKeyFrameManager { + protected virtual void animationMutationsForFrame(facebook::react::SurfaceId surfaceId, facebook::react::ShadowViewMutation::List& mutationsList, uint64_t now) const override; + public LayoutAnimationDriver(facebook::react::RuntimeExecutor runtimeExecutor, std::shared_ptr& contextContainer, facebook::react::LayoutAnimationStatusDelegate* delegate); +} + +class facebook::react::LayoutAnimationKeyFrameManager : public facebook::react::UIManagerAnimationDelegate, public facebook::react::MountingOverrideDelegate { + protected bool hasComponentDescriptorForShadowView(const facebook::react::ShadowView& shadowView) const; + protected const facebook::react::ComponentDescriptor& getComponentDescriptorForShadowView(const facebook::react::ShadowView& shadowView) const; + protected facebook::react::ShadowView createInterpolatedShadowView(facebook::react::Float progress, const facebook::react::ShadowView& startingView, const facebook::react::ShadowView& finalView) const; + protected facebook::react::SharedComponentDescriptorRegistry componentDescriptorRegistry_; + protected mutable std::mutex currentAnimationMutex_; + protected mutable std::optional currentAnimation_; + protected mutable std::vector inflightAnimations_; + protected virtual void animationMutationsForFrame(facebook::react::SurfaceId surfaceId, facebook::react::ShadowViewMutation::List& mutationsList, uint64_t now) const = 0; + protected void callCallback(const facebook::react::LayoutAnimationCallbackWrapper& callback) const; + protected void queueFinalMutationsForCompletedKeyFrame(const facebook::react::AnimationKeyFrame& keyframe, facebook::react::ShadowViewMutation::List& mutationsList, bool interrupted, const std::string& logPrefix) const; + public LayoutAnimationKeyFrameManager(facebook::react::RuntimeExecutor runtimeExecutor, std::shared_ptr& contextContainer, facebook::react::LayoutAnimationStatusDelegate* delegate); + public virtual bool shouldAnimateFrame() const override; + public virtual bool shouldOverridePullTransaction() const override; + public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const override; + public virtual void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry) override; + public virtual void stopSurface(facebook::react::SurfaceId surfaceId) override; + public virtual void uiManagerDidConfigureNextLayoutAnimation(facebook::jsi::Runtime& runtime, const facebook::react::RawValue& config, const facebook::jsi::Value& successCallbackValue, const facebook::jsi::Value& failureCallbackValue) const override; + public void setClockNow(std::function now); + public void setLayoutAnimationStatusDelegate(facebook::react::LayoutAnimationStatusDelegate* delegate) const; + public void uiManagerDidConfigureNextLayoutAnimation(facebook::react::LayoutAnimation layoutAnimation) const; +} + +class facebook::react::LayoutAnimationStatusDelegate { + public virtual void onAllAnimationsComplete() = 0; + public virtual void onAnimationStarted() = 0; + public virtual ~LayoutAnimationStatusDelegate() = default; +} + +class facebook::react::LayoutConformanceShadowNode : public facebook::react::ConcreteShadowNode { +} + +class facebook::react::LayoutableShadowNode : public facebook::react::ShadowNode { + public LayoutableShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public LayoutableShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public facebook::react::LayoutMetrics getLayoutMetrics() const; + public facebook::react::LayoutMetrics layoutMetrics_; + public facebook::react::LayoutableShadowNode::UnsharedList getLayoutableChildNodes() const; + public static facebook::react::LayoutMetrics computeLayoutMetricsFromRoot(const facebook::react::ShadowNodeFamily& descendantNodeFamily, const facebook::react::LayoutableShadowNode& rootNode, facebook::react::LayoutableShadowNode::LayoutInspectingPolicy policy); + public static facebook::react::LayoutMetrics computeRelativeLayoutMetrics(const facebook::react::ShadowNode::AncestorList& ancestors, facebook::react::LayoutableShadowNode::LayoutInspectingPolicy policy); + public static facebook::react::LayoutMetrics computeRelativeLayoutMetrics(const facebook::react::ShadowNodeFamily& descendantNodeFamily, const facebook::react::LayoutableShadowNode& ancestorNode, facebook::react::LayoutableShadowNode::LayoutInspectingPolicy policy); + public static std::shared_ptr findNodeAtPoint(const std::shared_ptr& node, facebook::react::Point point); + public using UnsharedList = std::vector; + public virtual bool canBeTouchTarget() const; + public virtual bool canChildrenBeTouchTarget() const; + public virtual bool getIsLayoutClean() const = 0; + public virtual facebook::react::Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const; + public virtual facebook::react::Point getContentOriginOffset(bool includeTransform) const; + public virtual facebook::react::Size measure(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public virtual facebook::react::Transform getTransform() const; + public virtual void dirtyLayout() = 0; + public virtual void layout(facebook::react::LayoutContext layoutContext) = 0; + public virtual void layoutTree(facebook::react::LayoutContext layoutContext, facebook::react::LayoutConstraints layoutConstraints) = 0; + public void setLayoutMetrics(facebook::react::LayoutMetrics layoutMetrics); +} + +struct facebook::react::LayoutableShadowNode::LayoutInspectingPolicy { + public bool enableOverflowClipping; + public bool includeTransform; + public bool includeViewportOffset; +} + +class facebook::react::LazyShadowTreeRevisionConsistencyManager : public facebook::react::ShadowTreeRevisionConsistencyManager, public facebook::react::ShadowTreeRevisionProvider { + public LazyShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRegistry& shadowTreeRegistry); + public std::shared_ptr updateCurrentRevision(facebook::react::SurfaceId surfaceId); + public virtual std::shared_ptr getCurrentRevision(facebook::react::SurfaceId surfaceId) override; + public virtual void lockRevisions() override; + public virtual void unlockRevisions() override; +} + +class facebook::react::LeakChecker { + public LeakChecker(facebook::react::RuntimeExecutor runtimeExecutor); + public void stopSurface(facebook::react::SurfaceId surfaceId); + public void uiManagerDidCreateShadowNodeFamily(const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily) const; +} + +class facebook::react::LegacyViewManagerInteropState { + public std::shared_ptr coordinator; +} + +class facebook::react::LegacyViewManagerInteropViewProps : public facebook::react::HostPlatformViewProps { + public LegacyViewManagerInteropViewProps() = default; + public LegacyViewManagerInteropViewProps(const facebook::react::PropsParserContext& context, const facebook::react::LegacyViewManagerInteropViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public const folly::dynamic otherProps; +} + +class facebook::react::LineMeasureCacheKey { + public facebook::react::AttributedString attributedString; + public facebook::react::ParagraphAttributes paragraphAttributes; + public facebook::react::Size size; +} + +class facebook::react::LongLivedObject { + protected LongLivedObject(facebook::jsi::Runtime& runtime); + protected facebook::jsi::Runtime& runtime_; + protected virtual ~LongLivedObject() = default; + public virtual void allowRelease(); +} + +class facebook::react::LongLivedObjectCollection { + public LongLivedObjectCollection() = default; + public LongLivedObjectCollection(const facebook::react::LongLivedObjectCollection&) = delete; + public size_t size() const; + public static facebook::react::LongLivedObjectCollection& get(facebook::jsi::Runtime& runtime); + public void add(std::shared_ptr o); + public void clear(); + public void operator=(const facebook::react::LongLivedObjectCollection&) = delete; + public void remove(const facebook::react::LongLivedObject* o); +} + +class facebook::react::MapBuffer { + public MapBuffer(const facebook::react::MapBuffer& buffer) = delete; + public MapBuffer(facebook::react::MapBuffer&& buffer) = default; + public MapBuffer(std::vector data); + public bool getBool(facebook::react::MapBuffer::Key key) const; + public const uint8_t* data() const; + public double getDouble(facebook::react::MapBuffer::Key key) const; + public facebook::react::MapBuffer getMapBuffer(facebook::react::MapBuffer::Key key) const; + public facebook::react::MapBuffer& operator=(const facebook::react::MapBuffer& other) = delete; + public facebook::react::MapBuffer& operator=(facebook::react::MapBuffer&& other) = default; + public int32_t getInt(facebook::react::MapBuffer::Key key) const; + public int64_t getLong(facebook::react::MapBuffer::Key key) const; + public size_t size() const; + public static constexpr uint16_t HEADER_ALIGNMENT; + public std::string getString(facebook::react::MapBuffer::Key key) const; + public std::vector getMapBufferList(facebook::react::MapBuffer::Key key) const; + public uint16_t count() const; + public using Key = uint16_t; +} + +enum facebook::react::MapBuffer::DataType : uint16_t { + Boolean, + Double, + Int, + Long, + Map, + String, +} + +struct facebook::react::MapBuffer::Bucket { + public Bucket(facebook::react::MapBuffer::Key key, uint16_t type, uint64_t data); + public facebook::react::MapBuffer::Key key; + public uint16_t type; + public uint64_t data; +} + +struct facebook::react::MapBuffer::Header { + public uint16_t alignment; + public uint16_t count; + public uint32_t bufferSize; +} + +class facebook::react::MapBufferBuilder { + public MapBufferBuilder(uint32_t initialSize = facebook::react::INITIAL_BUCKETS_SIZE); + public facebook::react::MapBuffer build(); + public static facebook::react::MapBuffer EMPTY(); + public void putBool(facebook::react::MapBuffer::Key key, bool value); + public void putDouble(facebook::react::MapBuffer::Key key, double value); + public void putInt(facebook::react::MapBuffer::Key key, int32_t value); + public void putLong(facebook::react::MapBuffer::Key key, int64_t value); + public void putMapBuffer(facebook::react::MapBuffer::Key key, const facebook::react::MapBuffer& map); + public void putMapBufferList(facebook::react::MapBuffer::Key key, const std::vector& mapBufferList); + public void putString(facebook::react::MapBuffer::Key key, const std::string& value); +} + +class facebook::react::MergedValueDispatcher { + public MergedValueDispatcher(facebook::react::MergedValueDispatcher::DispatchFunction dispatchFunction, facebook::react::MergedValueDispatcher::MergedValueFunction mergedValueFunction); + public using DispatchFunction = std::function&&)>; + public using MergedValueFunction = std::function&& tagToProps)>; + public void dispatch(const std::unordered_map& value); +} + +class facebook::react::MessageQueueThread { + public virtual void quitSynchronous() = 0; + public virtual void runOnQueue(std::function&&) = 0; + public virtual void runOnQueueSync(std::function&&) = 0; + public virtual ~MessageQueueThread() = default; +} + +class facebook::react::MethodInvoker { + public MethodInvoker(jni::alias_ref method, std::string methodName, std::string signature, std::string traceName, bool isSync); + public bool isSyncHook() const; + public facebook::react::MethodCallResult invoke(std::weak_ptr& instance, jni::alias_ref module, const folly::dynamic& params); + public std::string getMethodName() const; +} + +class facebook::react::ModalHostViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public ModalHostViewComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public virtual facebook::react::State::Shared createInitialState(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family) const override; + public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; +} + +class facebook::react::ModalHostViewEventEmitter : public facebook::react::BaseViewEventEmitter { + public static char const* toString(const facebook::react::ModalHostViewEventEmitter::OnOrientationChangeOrientation value); + public void onDismiss(facebook::react::ModalHostViewEventEmitter::OnDismiss value) const; + public void onOrientationChange(facebook::react::ModalHostViewEventEmitter::OnOrientationChange value) const; + public void onRequestClose(facebook::react::ModalHostViewEventEmitter::OnRequestClose value) const; + public void onShow(facebook::react::ModalHostViewEventEmitter::OnShow value) const; +} + +enum facebook::react::ModalHostViewEventEmitter::OnOrientationChangeOrientation { + Landscape, + Portrait, +} + +struct facebook::react::ModalHostViewEventEmitter::OnDismiss { +} + +struct facebook::react::ModalHostViewEventEmitter::OnOrientationChange { + public facebook::react::ModalHostViewEventEmitter::OnOrientationChangeOrientation orientation; +} + +struct facebook::react::ModalHostViewEventEmitter::OnRequestClose { +} + +struct facebook::react::ModalHostViewEventEmitter::OnShow { +} + +class facebook::react::ModalHostViewProps : public facebook::react::HostPlatformViewProps { + public ModalHostViewProps() = default; + public ModalHostViewProps(const facebook::react::PropsParserContext& context, const facebook::react::ModalHostViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool allowSwipeDismissal; + public bool animated; + public bool hardwareAccelerated; + public bool navigationBarTranslucent; + public bool statusBarTranslucent; + public bool transparent; + public bool visible; + public facebook::react::ModalHostViewAnimationType animationType; + public facebook::react::ModalHostViewPresentationStyle presentationStyle; + public facebook::react::ModalHostViewSupportedOrientationsMask supportedOrientations; + public int identifier; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::ModalHostViewShadowNode : public facebook::react::ConcreteViewShadowNode { + public ModalHostViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ModalHostViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); +} + +class facebook::react::ModalHostViewState { + public ModalHostViewState(); + public ModalHostViewState(const facebook::react::ModalHostViewState& previousState, folly::dynamic data); + public ModalHostViewState(facebook::react::Size screenSize_); + public const facebook::react::Size screenSize; + public folly::dynamic getDynamic() const; + public using Shared = std::shared_ptr; +} + +class facebook::react::ModuleHolder : public facebook::jni::JavaClass { + public facebook::xplat::module::CxxModule::Provider getProvider(const std::string& moduleName) const; + public static constexpr auto kJavaDescriptor; + public std::string getName() const; +} + +class facebook::react::ModuleRegistry { + public ModuleRegistry(std::vector> modules, facebook::react::ModuleRegistry::ModuleNotFoundCallback callback = nullptr); + public facebook::react::MethodCallResult callSerializableNativeHook(unsigned int moduleId, unsigned int methodId, folly::dynamic&& params); + public std::optional getConfig(const std::string& name); + public std::string getModuleName(unsigned int moduleId); + public std::string getModuleSyncMethodName(unsigned int moduleId, unsigned int methodId); + public std::vector moduleNames(); + public using ModuleNotFoundCallback = std::function; + public void callNativeMethod(unsigned int moduleId, unsigned int methodId, folly::dynamic&& params, int callId); + public void registerModules(std::vector> modules); +} + +class facebook::react::ModulusAnimatedNode : public facebook::react::ValueAnimatedNode { + public ModulusAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::MountingCoordinator { + public MountingCoordinator(const facebook::react::ShadowTreeRevision& baseRevision); + public bool hasPendingTransactions() const; + public bool waitForTransaction(std::chrono::duration timeout) const; + public const facebook::react::TelemetryController& getTelemetryController() const; + public facebook::react::ShadowTreeRevision getBaseRevision() const; + public facebook::react::SurfaceId getSurfaceId() const; + public std::optional pullTransaction(bool willPerformAsynchronously = false) const; + public void didPerformAsyncTransactions() const; + public void setMountingOverrideDelegate(std::weak_ptr delegate) const; +} + +class facebook::react::MountingOverrideDelegate { + public virtual bool shouldOverridePullTransaction() const = 0; + public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const = 0; + public virtual ~MountingOverrideDelegate() = default; +} + +class facebook::react::MountingTransaction { + public MountingTransaction(const facebook::react::MountingTransaction& mountingTransaction) = default; + public MountingTransaction(facebook::react::MountingTransaction&& mountingTransaction) noexcept = default; + public MountingTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, facebook::react::ShadowViewMutationList&& mutations, facebook::react::TransactionTelemetry telemetry); + public const facebook::react::ShadowViewMutationList& getMutations() const; + public facebook::react::MountingTransaction& operator=(const facebook::react::MountingTransaction& other) = delete; + public facebook::react::MountingTransaction& operator=(facebook::react::MountingTransaction&& other) = default; + public facebook::react::MountingTransaction::Number getNumber() const; + public facebook::react::ShadowViewMutationList getMutations(); + public facebook::react::SurfaceId getSurfaceId() const; + public facebook::react::TransactionTelemetry& getTelemetry() const; + public using Number = int64_t; + public void mergeWith(facebook::react::MountingTransaction&& transaction); +} + +class facebook::react::MultiplicationAnimatedNode : public facebook::react::OperatorAnimatedNode { + public MultiplicationAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::MutationObserver { + public MutationObserver(const facebook::react::MutationObserver&) = delete; + public MutationObserver(facebook::react::MutationObserver&&) = default; + public MutationObserver(facebook::react::MutationObserverId mutationObserverId); + public facebook::react::MutationObserver& operator=(const facebook::react::MutationObserver&) = delete; + public facebook::react::MutationObserver& operator=(facebook::react::MutationObserver&&) = default; + public void observe(std::shared_ptr targetShadowNodeFamily, bool observeSubtree); + public void recordMutations(const facebook::react::RootShadowNode& oldRootShadowNode, const facebook::react::RootShadowNode& newRootShadowNode, std::vector& recordedMutations) const; +} + +class facebook::react::MutationObserverManager : public facebook::react::UIManagerCommitHook { + public MutationObserverManager(); + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTree::CommitOptions& commitOptions) noexcept override; + public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept override; + public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept override; + public void connect(facebook::react::UIManager& uiManager, facebook::react::OnMutations&& onMutations); + public void disconnect(facebook::react::UIManager& uiManager); + public void observe(facebook::react::MutationObserverId mutationObserverId, std::shared_ptr shadowNode, bool observeSubtree, const facebook::react::UIManager& uiManager); + public void unobserveAll(facebook::react::MutationObserverId mutationObserverId); +} + +class facebook::react::NativeAccessibilityInfoSpecJSI : public facebook::react::JavaTurboModule { + public NativeAccessibilityInfoSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeAccessibilityManagerSpecJSI : public facebook::react::JavaTurboModule { + public NativeAccessibilityManagerSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeActionSheetManagerSpecJSI : public facebook::react::JavaTurboModule { + public NativeActionSheetManagerSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeAlertManagerSpecJSI : public facebook::react::JavaTurboModule { + public NativeAlertManagerSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeAnimatedModuleSpecJSI : public facebook::react::JavaTurboModule { + public NativeAnimatedModuleSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeAnimatedNodesManager : public std::enable_shared_from_this { + public NativeAnimatedNodesManager(const facebook::react::NativeAnimatedNodesManager&) = delete; + public NativeAnimatedNodesManager(facebook::react::NativeAnimatedNodesManager&&) = delete; + public NativeAnimatedNodesManager(facebook::react::NativeAnimatedNodesManager::DirectManipulationCallback&& directManipulationCallback, facebook::react::NativeAnimatedNodesManager::FabricCommitCallback&& fabricCommitCallback, facebook::react::NativeAnimatedNodesManager::ResolvePlatformColor&& resolvePlatformColor, facebook::react::NativeAnimatedNodesManager::StartOnRenderCallback&& startOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::StopOnRenderCallback&& stopOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::FrameRateListenerCallback&& frameRateListenerCallback = nullptr) noexcept; + public NativeAnimatedNodesManager(std::shared_ptr animationBackend) noexcept; + public bool commitProps(); + public bool hasManagedProps() const noexcept; + public bool isOnRenderThread() const noexcept; + public facebook::react::AnimationMutations onAnimationFrameForBackend(facebook::react::AnimatedPropsBuilder& propsBuilder, facebook::react::AnimationTimestamp timestamp); + public facebook::react::AnimationMutations pullAnimationMutations(facebook::react::AnimationTimestamp timestamp); + public facebook::react::NativeAnimatedNodesManager& operator=(const facebook::react::NativeAnimatedNodesManager&) = delete; + public facebook::react::NativeAnimatedNodesManager& operator=(facebook::react::NativeAnimatedNodesManager&&) = delete; + public folly::dynamic getManagedProps(facebook::react::Tag tag) const noexcept; + public std::optional getValue(facebook::react::Tag tag) noexcept; + public std::shared_ptr getEventEmitterListener() noexcept; + public using DirectManipulationCallback = std::function; + public using FabricCommitCallback = std::function&)>; + public using FrameRateListenerCallback = std::function; + public using ResolvePlatformColor = std::function; + public using StartOnRenderCallback = std::function&&, bool isAsync)>; + public using StopOnRenderCallback = std::function; + public void addAnimatedEventToView(facebook::react::Tag viewTag, const std::string& eventName, const folly::dynamic& eventMapping) noexcept; + public void connectAnimatedNodeToShadowNodeFamily(facebook::react::Tag propsNodeTag, std::shared_ptr family) noexcept; + public void connectAnimatedNodeToView(facebook::react::Tag propsNodeTag, facebook::react::Tag viewTag) noexcept; + public void connectAnimatedNodes(facebook::react::Tag parentTag, facebook::react::Tag childTag) noexcept; + public void createAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config) noexcept; + public void createAnimatedNodeAsync(facebook::react::Tag tag, const folly::dynamic& config) noexcept; + public void disconnectAnimatedNodeFromView(facebook::react::Tag propsNodeTag, facebook::react::Tag viewTag) noexcept; + public void disconnectAnimatedNodes(facebook::react::Tag parentTag, facebook::react::Tag childTag) noexcept; + public void dropAnimatedNode(facebook::react::Tag tag) noexcept; + public void extractAnimatedNodeOffsetOp(facebook::react::Tag tag); + public void flattenAnimatedNodeOffset(facebook::react::Tag tag); + public void insertMutations(std::unordered_map>& updates, facebook::react::AnimationMutations& mutations, facebook::react::AnimatedPropsBuilder& propsBuilder, bool hasLayoutUpdates = false); + public void onManagedPropsRemoved(facebook::react::Tag tag) noexcept; + public void onRender(); + public void removeAnimatedEventFromView(facebook::react::Tag viewTag, const std::string& eventName, facebook::react::Tag animatedValueTag) noexcept; + public void resolvePlatformColor(facebook::react::SurfaceId surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result) const; + public void restoreDefaultValues(facebook::react::Tag tag) noexcept; + public void scheduleOnUI(facebook::react::UiTask&& task); + public void schedulePropsCommit(facebook::react::Tag viewTag, const folly::dynamic& props, bool layoutStyleUpdated, bool forceFabricCommit, facebook::react::ShadowNodeFamily::Weak shadowNodeFamily = {}) noexcept; + public void setAnimatedNodeOffset(facebook::react::Tag tag, double offset); + public void setAnimatedNodeValue(facebook::react::Tag tag, double value); + public void startAnimatingNode(int animationId, facebook::react::Tag animatedNodeTag, folly::dynamic config, std::optional endCallback) noexcept; + public void startListeningToAnimatedNodeValue(facebook::react::Tag tag, facebook::react::ValueListenerCallback&& callback) noexcept; + public void startRenderCallbackIfNeeded(bool isAsync); + public void stopAnimation(int animationId, bool isTrackingAnimation = false) noexcept; + public void stopListeningToAnimatedNodeValue(facebook::react::Tag tag) noexcept; + public void updateNodes(const std::set& finishedAnimationValueNodes = {}) noexcept; + public ~NativeAnimatedNodesManager() noexcept; + template >> + public T* getAnimatedNode(facebook::react::Tag tag) const; +} + +class facebook::react::NativeAnimatedNodesManagerProvider { + public NativeAnimatedNodesManagerProvider(facebook::react::NativeAnimatedNodesManager::StartOnRenderCallback startOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::StopOnRenderCallback stopOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::FrameRateListenerCallback frameRateListenerCallback = nullptr); + public std::shared_ptr getEventEmitterListener(); + public std::shared_ptr getOrCreate(facebook::jsi::Runtime& runtime, std::shared_ptr jsInvoker); + public void addEventEmitterListener(const std::shared_ptr& listener); +} + +class facebook::react::NativeAnimatedTurboModuleSpecJSI : public facebook::react::JavaTurboModule { + public NativeAnimatedTurboModuleSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeAppStateSpecJSI : public facebook::react::JavaTurboModule { + public NativeAppStateSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeAppearanceSpecJSI : public facebook::react::JavaTurboModule { + public NativeAppearanceSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeArray : public jni::HybridClass { + protected NativeArray(const facebook::react::NativeArray&) = delete; + protected facebook::react::NativeArray& operator=(const facebook::react::NativeArray&) = delete; + protected folly::dynamic array_; + protected friend HybridBase; + protected void assertInternalType(); + protected void throwIfConsumed(); + public bool isConsumed; + public const folly::dynamic& getArray() const; + public folly::dynamic consume(); + public jni::local_ref toString(); + public static constexpr auto * kJavaDescriptor; + public static void registerNatives(); + template + protected NativeArray(Dyn&& array); +} + +class facebook::react::NativeBlobModuleSpecJSI : public facebook::react::JavaTurboModule { + public NativeBlobModuleSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeCPUTime : public facebook::react::NativeCPUTimeCxxSpec { + public NativeCPUTime(std::shared_ptr jsInvoker); + public bool hasAccurateCPUTimeNanosForBenchmarks(facebook::jsi::Runtime& runtime); + public double getCPUTimeNanos(facebook::jsi::Runtime& runtime); +} + +class facebook::react::NativeClipboardSpecJSI : public facebook::react::JavaTurboModule { + public NativeClipboardSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeDOM : public facebook::react::NativeDOMCxxSpec { + public NativeDOM(std::shared_ptr jsInvoker); + public bool hasPointerCapture(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, double pointerId); + public bool isConnected(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference); + public double compareDocumentPosition(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference, facebook::jsi::Value otherNativeNodeReference); + public facebook::jsi::Value getElementById(facebook::jsi::Runtime& rt, facebook::react::SurfaceId surfaceId, const std::string& id); + public facebook::jsi::Value getParentNode(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference); + public facebook::jsi::Value linkRootNode(facebook::jsi::Runtime& rt, facebook::react::SurfaceId surfaceId, facebook::jsi::Value instanceHandle); + public std::string getTagName(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); + public std::string getTextContent(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); + public std::tuple getBoundingClientRect(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, bool includeTransform); + public std::tuple getScrollPosition(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); + public std::tuple getOffset(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); + public std::tuple getBorderWidth(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); + public std::tuple getInnerSize(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); + public std::tuple getScrollSize(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); + public std::vector getChildNodes(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference); + public void measure(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, const facebook::react::MeasureOnSuccessCallback& callback); + public void measureInWindow(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, const facebook::react::MeasureInWindowOnSuccessCallback& callback); + public void measureLayout(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, std::shared_ptr relativeToShadowNode, facebook::jsi::Function onFail, const facebook::react::MeasureLayoutOnSuccessCallback& onSuccess); + public void releasePointerCapture(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, double pointerId); + public void setNativeProps(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, facebook::jsi::Value updatePayload); + public void setPointerCapture(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, double pointerId); +} + +class facebook::react::NativeDevLoadingViewSpecJSI : public facebook::react::JavaTurboModule { + public NativeDevLoadingViewSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeDevMenuSpecJSI : public facebook::react::JavaTurboModule { + public NativeDevMenuSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeDevSettingsSpecJSI : public facebook::react::JavaTurboModule { + public NativeDevSettingsSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeDeviceEventManagerSpecJSI : public facebook::react::JavaTurboModule { + public NativeDeviceEventManagerSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeDeviceInfoSpecJSI : public facebook::react::JavaTurboModule { + public NativeDeviceInfoSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeDialogManagerAndroidSpecJSI : public facebook::react::JavaTurboModule { + public NativeDialogManagerAndroidSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeExceptionsManagerSpecJSI : public facebook::react::JavaTurboModule { + public NativeExceptionsManagerSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeFantomTestSpecificMethods : public facebook::react::NativeFantomTestSpecificMethodsCxxSpec { + public NativeFantomTestSpecificMethods(std::shared_ptr jsInvoker); + public void registerForcedCloneCommitHook(facebook::jsi::Runtime& runtime); + public void setRootNodeSize(facebook::jsi::Runtime& runtime, int surfaceId, float width, float height); + public void takeFunctionAndNoop(facebook::jsi::Runtime& runtime, facebook::jsi::Function callback); +} + +class facebook::react::NativeFileReaderModuleSpecJSI : public facebook::react::JavaTurboModule { + public NativeFileReaderModuleSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeFrameRateLoggerSpecJSI : public facebook::react::JavaTurboModule { + public NativeFrameRateLoggerSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeHeadlessJsTaskSupportSpecJSI : public facebook::react::JavaTurboModule { + public NativeHeadlessJsTaskSupportSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeI18nManagerSpecJSI : public facebook::react::JavaTurboModule { + public NativeI18nManagerSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeIdleCallbacks : public facebook::react::NativeIdleCallbacksCxxSpec { + public NativeIdleCallbacks(std::shared_ptr jsInvoker); + public facebook::react::CallbackHandle requestIdleCallback(facebook::jsi::Runtime& runtime, facebook::react::SyncCallback&& callback, std::optional options); + public void cancelIdleCallback(facebook::jsi::Runtime& runtime, facebook::jsi::Object handle); +} + +class facebook::react::NativeImageEditorSpecJSI : public facebook::react::JavaTurboModule { + public NativeImageEditorSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeImageLoaderAndroidSpecJSI : public facebook::react::JavaTurboModule { + public NativeImageLoaderAndroidSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeImageStoreAndroidSpecJSI : public facebook::react::JavaTurboModule { + public NativeImageStoreAndroidSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeIntentAndroidSpecJSI : public facebook::react::JavaTurboModule { + public NativeIntentAndroidSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeIntersectionObserver : public facebook::react::NativeIntersectionObserverCxxSpec { + public NativeIntersectionObserver(std::shared_ptr jsInvoker); + public facebook::jsi::Object observeV2(facebook::jsi::Runtime& runtime, facebook::react::NativeIntersectionObserverObserveOptions options); + public std::vector takeRecords(facebook::jsi::Runtime& runtime); + public void connect(facebook::jsi::Runtime& runtime, facebook::react::AsyncCallback<> notifyIntersectionObserversCallback); + public void disconnect(facebook::jsi::Runtime& runtime); + public void unobserveV2(facebook::jsi::Runtime& runtime, facebook::react::IntersectionObserverObserverId intersectionObserverId, facebook::jsi::Object targetToken); +} + +class facebook::react::NativeJSCHeapCaptureSpecJSI : public facebook::react::JavaTurboModule { + public NativeJSCHeapCaptureSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeKeyboardObserverSpecJSI : public facebook::react::JavaTurboModule { + public NativeKeyboardObserverSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeLinkingManagerSpecJSI : public facebook::react::JavaTurboModule { + public NativeLinkingManagerSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeLogBoxSpecJSI : public facebook::react::JavaTurboModule { + public NativeLogBoxSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeMap : public jni::HybridClass { + protected NativeMap(const facebook::react::NativeMap&) = delete; + protected facebook::react::NativeMap& operator=(const facebook::react::NativeMap&) = delete; + protected folly::dynamic map_; + protected friend HybridBase; + protected void throwIfConsumed(); + public bool isConsumed; + public folly::dynamic consume(); + public jni::local_ref toString(); + public static constexpr auto kJavaDescriptor; + public static void registerNatives(); + template + protected NativeMap(Dyn&& map); +} + +class facebook::react::NativeMethodCallInvoker { + public virtual void invokeAsync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) noexcept = 0; + public virtual void invokeSync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) = 0; + public virtual ~NativeMethodCallInvoker() = default; +} + +class facebook::react::NativeMethodCallInvokerHolder : public jni::HybridClass { + public static constexpr auto kJavaDescriptor; + public std::shared_ptr getNativeMethodCallInvoker(); +} + +class facebook::react::NativeMicrotasks : public facebook::react::NativeMicrotasksCxxSpec { + public NativeMicrotasks(std::shared_ptr jsInvoker); + public void queueMicrotask(facebook::jsi::Runtime& runtime, facebook::jsi::Function callback); +} + +class facebook::react::NativeModalManagerSpecJSI : public facebook::react::JavaTurboModule { + public NativeModalManagerSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeModule { + public virtual facebook::react::MethodCallResult callSerializableNativeHook(unsigned int reactMethodId, folly::dynamic&& args) = 0; + public virtual folly::dynamic getConstants() = 0; + public virtual std::string getName() = 0; + public virtual std::string getSyncMethodName(unsigned int methodId) = 0; + public virtual std::vector getMethods() = 0; + public virtual void invoke(unsigned int reactMethodId, folly::dynamic&& params, int callId) = 0; + public virtual ~NativeModule() = default; +} + +class facebook::react::NativeModulePerfLogger { + public virtual void asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName) = 0; + public virtual void asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName) = 0; + public virtual void asyncMethodCallBatchPreprocessEnd(int batchSize) = 0; + public virtual void asyncMethodCallBatchPreprocessStart() = 0; + public virtual void asyncMethodCallDispatch(const char* moduleName, const char* methodName) = 0; + public virtual void asyncMethodCallEnd(const char* moduleName, const char* methodName) = 0; + public virtual void asyncMethodCallExecutionArgConversionEnd(const char* moduleName, const char* methodName, int32_t id) = 0; + public virtual void asyncMethodCallExecutionArgConversionStart(const char* moduleName, const char* methodName, int32_t id) = 0; + public virtual void asyncMethodCallExecutionEnd(const char* moduleName, const char* methodName, int32_t id) = 0; + public virtual void asyncMethodCallExecutionFail(const char* moduleName, const char* methodName, int32_t id) = 0; + public virtual void asyncMethodCallExecutionStart(const char* moduleName, const char* methodName, int32_t id) = 0; + public virtual void asyncMethodCallFail(const char* moduleName, const char* methodName) = 0; + public virtual void asyncMethodCallStart(const char* moduleName, const char* methodName) = 0; + public virtual void moduleCreateCacheHit(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateConstructEnd(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateConstructStart(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateEnd(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateFail(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateSetUpEnd(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateSetUpStart(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateStart(const char* moduleName, int32_t id) = 0; + public virtual void moduleDataCreateEnd(const char* moduleName, int32_t id) = 0; + public virtual void moduleDataCreateStart(const char* moduleName, int32_t id) = 0; + public virtual void moduleJSRequireBeginningCacheHit(const char* moduleName) = 0; + public virtual void moduleJSRequireBeginningEnd(const char* moduleName) = 0; + public virtual void moduleJSRequireBeginningFail(const char* moduleName) = 0; + public virtual void moduleJSRequireBeginningStart(const char* moduleName) = 0; + public virtual void moduleJSRequireEndingEnd(const char* moduleName) = 0; + public virtual void moduleJSRequireEndingFail(const char* moduleName) = 0; + public virtual void moduleJSRequireEndingStart(const char* moduleName) = 0; + public virtual void syncMethodCallArgConversionEnd(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallArgConversionStart(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallEnd(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallExecutionEnd(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallExecutionStart(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallFail(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallReturnConversionEnd(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallReturnConversionStart(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallStart(const char* moduleName, const char* methodName) = 0; + public virtual ~NativeModulePerfLogger() = default; +} + +class facebook::react::NativeMutationObserver : public facebook::react::NativeMutationObserverCxxSpec { + public NativeMutationObserver(std::shared_ptr jsInvoker); + public std::vector takeRecords(facebook::jsi::Runtime& runtime); + public void connect(facebook::jsi::Runtime& runtime, facebook::jsi::Function notifyMutationObservers, facebook::react::SyncCallback getPublicInstanceFromInstanceHandle); + public void disconnect(facebook::jsi::Runtime& runtime); + public void observe(facebook::jsi::Runtime& runtime, const facebook::react::NativeMutationObserverObserveOptions& options); + public void unobserveAll(facebook::jsi::Runtime& runtime, facebook::react::MutationObserverId mutationObserverId); +} + +class facebook::react::NativeNetworkingAndroidSpecJSI : public facebook::react::JavaTurboModule { + public NativeNetworkingAndroidSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativePerformance : public facebook::react::NativePerformanceCxxSpec { + public NativePerformance(std::shared_ptr jsInvoker); + public double getDroppedEntriesCount(facebook::jsi::Runtime& rt, facebook::jsi::Object observerObj); + public facebook::jsi::Object createObserver(facebook::jsi::Runtime& rt, facebook::react::NativePerformancePerformanceObserverCallback callback); + public facebook::react::HighResDuration timeOrigin(facebook::jsi::Runtime& rt); + public facebook::react::HighResTimeStamp now(facebook::jsi::Runtime& rt); + public std::optional getMarkTime(facebook::jsi::Runtime& rt, const std::string& name); + public std::unordered_map getReactNativeStartupTiming(facebook::jsi::Runtime& rt); + public std::unordered_map getSimpleMemoryInfo(facebook::jsi::Runtime& rt); + public std::vector getEntries(facebook::jsi::Runtime& rt); + public std::vector getEntriesByName(facebook::jsi::Runtime& rt, const std::string& entryName, std::optional entryType = std::nullopt); + public std::vector getEntriesByType(facebook::jsi::Runtime& rt, facebook::react::PerformanceEntryType entryType); + public std::vector takeRecords(facebook::jsi::Runtime& rt, facebook::jsi::Object observerObj, bool sort); + public std::vector getSupportedPerformanceEntryTypes(facebook::jsi::Runtime& rt); + public std::vector> getEventCounts(facebook::jsi::Runtime& rt); + public void clearEventCountsForTesting(facebook::jsi::Runtime& rt); + public void clearMarks(facebook::jsi::Runtime& rt, std::optional entryName = std::nullopt); + public void clearMeasures(facebook::jsi::Runtime& rt, std::optional entryName = std::nullopt); + public void disconnect(facebook::jsi::Runtime& rt, facebook::jsi::Object observer); + public void observe(facebook::jsi::Runtime& rt, facebook::jsi::Object observer, facebook::react::NativePerformancePerformanceObserverObserveOptions options); + public void reportMark(facebook::jsi::Runtime& rt, const std::string& name, facebook::react::HighResTimeStamp time, facebook::jsi::Value entry); + public void reportMeasure(facebook::jsi::Runtime& rt, const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration, facebook::jsi::Value entry); +} + +class facebook::react::NativePermissionsAndroidSpecJSI : public facebook::react::JavaTurboModule { + public NativePermissionsAndroidSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativePlatformConstantsAndroidSpecJSI : public facebook::react::JavaTurboModule { + public NativePlatformConstantsAndroidSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeReactDevToolsRuntimeSettingsModuleSpecJSI : public facebook::react::JavaTurboModule { + public NativeReactDevToolsRuntimeSettingsModuleSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeReactDevToolsSettingsManagerSpecJSI : public facebook::react::JavaTurboModule { + public NativeReactDevToolsSettingsManagerSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeReactNativeFeatureFlags : public facebook::react::NativeReactNativeFeatureFlagsCxxSpec { + public NativeReactNativeFeatureFlags(std::shared_ptr jsInvoker); + public bool cdpInteractionMetricsEnabled(facebook::jsi::Runtime& runtime); + public bool commonTestFlag(facebook::jsi::Runtime& runtime); + public bool commonTestFlagWithoutNativeImplementation(facebook::jsi::Runtime& runtime); + public bool cxxNativeAnimatedEnabled(facebook::jsi::Runtime& runtime); + public bool defaultTextToOverflowHidden(facebook::jsi::Runtime& runtime); + public bool disableEarlyViewCommandExecution(facebook::jsi::Runtime& runtime); + public bool disableImageViewPreallocationAndroid(facebook::jsi::Runtime& runtime); + public bool disableMountItemReorderingAndroid(facebook::jsi::Runtime& runtime); + public bool disableSubviewClippingAndroid(facebook::jsi::Runtime& runtime); + public bool disableTextLayoutManagerCacheAndroid(facebook::jsi::Runtime& runtime); + public bool disableViewPreallocationAndroid(facebook::jsi::Runtime& runtime); + public bool enableAccessibilityOrder(facebook::jsi::Runtime& runtime); + public bool enableAccumulatedUpdatesInRawPropsAndroid(facebook::jsi::Runtime& runtime); + public bool enableAndroidAntialiasedBorderRadiusClipping(facebook::jsi::Runtime& runtime); + public bool enableAndroidLinearText(facebook::jsi::Runtime& runtime); + public bool enableAndroidTextMeasurementOptimizations(facebook::jsi::Runtime& runtime); + public bool enableBridgelessArchitecture(facebook::jsi::Runtime& runtime); + public bool enableCppPropsIteratorSetter(facebook::jsi::Runtime& runtime); + public bool enableCustomFocusSearchOnClippedElementsAndroid(facebook::jsi::Runtime& runtime); + public bool enableDestroyShadowTreeRevisionAsync(facebook::jsi::Runtime& runtime); + public bool enableDifferentiatorMutationVectorPreallocation(facebook::jsi::Runtime& runtime); + public bool enableDoubleMeasurementFixAndroid(facebook::jsi::Runtime& runtime); + public bool enableEagerMainQueueModulesOnIOS(facebook::jsi::Runtime& runtime); + public bool enableEagerRootViewAttachment(facebook::jsi::Runtime& runtime); + public bool enableExclusivePropsUpdateAndroid(facebook::jsi::Runtime& runtime); + public bool enableFabricCommitBranching(facebook::jsi::Runtime& runtime); + public bool enableFabricLogs(facebook::jsi::Runtime& runtime); + public bool enableFabricRenderer(facebook::jsi::Runtime& runtime); + public bool enableFontScaleChangesUpdatingLayout(facebook::jsi::Runtime& runtime); + public bool enableIOSTextBaselineOffsetPerLine(facebook::jsi::Runtime& runtime); + public bool enableIOSViewClipToPaddingBox(facebook::jsi::Runtime& runtime); + public bool enableImagePrefetchingAndroid(facebook::jsi::Runtime& runtime); + public bool enableImagePrefetchingJNIBatchingAndroid(facebook::jsi::Runtime& runtime); + public bool enableImagePrefetchingOnUiThreadAndroid(facebook::jsi::Runtime& runtime); + public bool enableImmediateUpdateModeForContentOffsetChanges(facebook::jsi::Runtime& runtime); + public bool enableImperativeFocus(facebook::jsi::Runtime& runtime); + public bool enableInteropViewManagerClassLookUpOptimizationIOS(facebook::jsi::Runtime& runtime); + public bool enableIntersectionObserverByDefault(facebook::jsi::Runtime& runtime); + public bool enableKeyEvents(facebook::jsi::Runtime& runtime); + public bool enableLayoutAnimationsOnAndroid(facebook::jsi::Runtime& runtime); + public bool enableLayoutAnimationsOnIOS(facebook::jsi::Runtime& runtime); + public bool enableMainQueueCoordinatorOnIOS(facebook::jsi::Runtime& runtime); + public bool enableModuleArgumentNSNullConversionIOS(facebook::jsi::Runtime& runtime); + public bool enableMutationObserverByDefault(facebook::jsi::Runtime& runtime); + public bool enableNativeCSSParsing(facebook::jsi::Runtime& runtime); + public bool enableNativeViewPropTransformations(facebook::jsi::Runtime& runtime); + public bool enableNetworkEventReporting(facebook::jsi::Runtime& runtime); + public bool enablePreparedTextLayout(facebook::jsi::Runtime& runtime); + public bool enablePropsUpdateReconciliationAndroid(facebook::jsi::Runtime& runtime); + public bool enableSwiftUIBasedFilters(facebook::jsi::Runtime& runtime); + public bool enableViewCulling(facebook::jsi::Runtime& runtime); + public bool enableViewRecycling(facebook::jsi::Runtime& runtime); + public bool enableViewRecyclingForImage(facebook::jsi::Runtime& runtime); + public bool enableViewRecyclingForScrollView(facebook::jsi::Runtime& runtime); + public bool enableViewRecyclingForText(facebook::jsi::Runtime& runtime); + public bool enableViewRecyclingForView(facebook::jsi::Runtime& runtime); + public bool enableVirtualViewContainerStateExperimental(facebook::jsi::Runtime& runtime); + public bool enableVirtualViewDebugFeatures(facebook::jsi::Runtime& runtime); + public bool fixFindShadowNodeByTagRaceCondition(facebook::jsi::Runtime& runtime); + public bool fixMappingOfEventPrioritiesBetweenFabricAndReact(facebook::jsi::Runtime& runtime); + public bool fixTextClippingAndroid15useBoundsForWidth(facebook::jsi::Runtime& runtime); + public bool fixYogaFlexBasisFitContentInMainAxis(facebook::jsi::Runtime& runtime); + public bool fuseboxAssertSingleHostState(facebook::jsi::Runtime& runtime); + public bool fuseboxEnabledRelease(facebook::jsi::Runtime& runtime); + public bool fuseboxFrameRecordingEnabled(facebook::jsi::Runtime& runtime); + public bool fuseboxNetworkInspectionEnabled(facebook::jsi::Runtime& runtime); + public bool hideOffscreenVirtualViewsOnIOS(facebook::jsi::Runtime& runtime); + public bool overrideBySynchronousMountPropsAtMountingAndroid(facebook::jsi::Runtime& runtime); + public bool perfIssuesEnabled(facebook::jsi::Runtime& runtime); + public bool perfMonitorV2Enabled(facebook::jsi::Runtime& runtime); + public bool preventShadowTreeCommitExhaustion(facebook::jsi::Runtime& runtime); + public bool shouldPressibilityUseW3CPointerEventsForHover(facebook::jsi::Runtime& runtime); + public bool shouldTriggerResponderTransferOnScrollAndroid(facebook::jsi::Runtime& runtime); + public bool skipActivityIdentityAssertionOnHostPause(facebook::jsi::Runtime& runtime); + public bool syncAndroidClipToPaddingWithOverflow(facebook::jsi::Runtime& runtime); + public bool traceTurboModulePromiseRejectionsOnAndroid(facebook::jsi::Runtime& runtime); + public bool updateRuntimeShadowNodeReferencesOnCommit(facebook::jsi::Runtime& runtime); + public bool updateRuntimeShadowNodeReferencesOnCommitThread(facebook::jsi::Runtime& runtime); + public bool useAlwaysAvailableJSErrorHandling(facebook::jsi::Runtime& runtime); + public bool useFabricInterop(facebook::jsi::Runtime& runtime); + public bool useLISAlgorithmInDifferentiator(facebook::jsi::Runtime& runtime); + public bool useNativeViewConfigsInBridgelessMode(facebook::jsi::Runtime& runtime); + public bool useNestedScrollViewAndroid(facebook::jsi::Runtime& runtime); + public bool useSharedAnimatedBackend(facebook::jsi::Runtime& runtime); + public bool useTraitHiddenOnAndroid(facebook::jsi::Runtime& runtime); + public bool useTurboModuleInterop(facebook::jsi::Runtime& runtime); + public bool useTurboModules(facebook::jsi::Runtime& runtime); + public bool useUnorderedMapInDifferentiator(facebook::jsi::Runtime& runtime); + public bool viewTransitionEnabled(facebook::jsi::Runtime& runtime); + public double preparedTextCacheSize(facebook::jsi::Runtime& runtime); + public double viewCullingOutsetRatio(facebook::jsi::Runtime& runtime); + public double virtualViewPrerenderRatio(facebook::jsi::Runtime& runtime); + public static constexpr std::string_view kModuleName; +} + +class facebook::react::NativeRedBoxSpecJSI : public facebook::react::JavaTurboModule { + public NativeRedBoxSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeSegmentFetcherSpecJSI : public facebook::react::JavaTurboModule { + public NativeSegmentFetcherSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeSettingsManagerSpecJSI : public facebook::react::JavaTurboModule { + public NativeSettingsManagerSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeShareModuleSpecJSI : public facebook::react::JavaTurboModule { + public NativeShareModuleSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeSoundManagerSpecJSI : public facebook::react::JavaTurboModule { + public NativeSoundManagerSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeSourceCodeSpecJSI : public facebook::react::JavaTurboModule { + public NativeSourceCodeSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeStatusBarManagerAndroidSpecJSI : public facebook::react::JavaTurboModule { + public NativeStatusBarManagerAndroidSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeTimingSpecJSI : public facebook::react::JavaTurboModule { + public NativeTimingSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeToJsBridge { + public NativeToJsBridge(facebook::react::JSExecutorFactory* jsExecutorFactory, std::shared_ptr registry, std::shared_ptr jsQueue, std::shared_ptr callback); + public bool isBatchActive(); + public bool isInspectable(); + public facebook::react::jsinspector_modern::RuntimeTargetDelegate& getInspectorTargetDelegate(); + public std::shared_ptr getDecoratedNativeMethodCallInvoker(std::shared_ptr nativeMethodCallInvoker) const; + public virtual ~NativeToJsBridge(); + public void callFunction(std::string&& module, std::string&& method, folly::dynamic&& arguments); + public void destroy(); + public void handleMemoryPressure(int pressureLevel); + public void initializeRuntime(); + public void invokeCallback(double callbackId, folly::dynamic&& arguments); + public void loadBundle(std::unique_ptr bundleRegistry, std::unique_ptr startupScript, std::string sourceURL); + public void loadBundleSync(std::unique_ptr bundleRegistry, std::unique_ptr startupScript, std::string sourceURL); + public void registerBundle(uint32_t bundleId, const std::string& bundlePath); + public void runOnExecutorQueue(std::function&& task) noexcept; + public void setGlobalVariable(std::string propName, std::unique_ptr jsonValue); + public void* getJavaScriptContext(); +} + +class facebook::react::NativeToastAndroidSpecJSI : public facebook::react::JavaTurboModule { + public NativeToastAndroidSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeVibrationSpecJSI : public facebook::react::JavaTurboModule { + public NativeVibrationSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeWebSocketModuleSpecJSI : public facebook::react::JavaTurboModule { + public NativeWebSocketModuleSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NetworkReporter { + public bool isDebuggingEnabled() const; + public static facebook::react::NetworkReporter& getInstance(); + public void reportConnectionTiming(const std::string& requestId, const std::optional& headers); + public void reportDataReceived(const std::string& requestId, int dataLength, const std::optional& encodedDataLength); + public void reportRequestFailed(const std::string& requestId, bool cancelled) const; + public void reportRequestStart(const std::string& requestId, const facebook::react::RequestInfo& requestInfo, int encodedDataLength, const std::optional& redirectResponse); + public void reportResponseEnd(const std::string& requestId, int encodedDataLength); + public void reportResponseStart(const std::string& requestId, const facebook::react::ResponseInfo& responseInfo, int encodedDataLength); + public void storeResponseBody(const std::string& requestId, std::string_view body, bool base64Encoded); +} + +class facebook::react::ObjectAnimatedNode : public facebook::react::AnimatedNode { + public ObjectAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public void collectViewUpdates(std::string propKey, folly::dynamic& props); +} + +class facebook::react::OperatorAnimatedNode : public facebook::react::ValueAnimatedNode { + protected std::vector inputNodes_; + public OperatorAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); +} + +class facebook::react::ParagraphAttributes : public facebook::react::DebugStringConvertible { + public bool adjustsFontSizeToFit; + public bool includeFontPadding; + public bool operator==(const facebook::react::ParagraphAttributes& rhs) const; + public facebook::react::EllipsizeMode ellipsizeMode; + public facebook::react::Float maximumFontSize; + public facebook::react::Float minimumFontScale; + public facebook::react::Float minimumFontSize; + public facebook::react::HyphenationFrequency android_hyphenationFrequency; + public facebook::react::TextBreakStrategy textBreakStrategy; + public int maximumNumberOfLines; + public std::optional textAlignVertical; +} + +class facebook::react::ParagraphComponentDescriptor : public facebook::react::BaseParagraphComponentDescriptor { + public ParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); +} + +class facebook::react::ParagraphEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onTextLayout(const facebook::react::LinesMeasurements& linesMeasurements) const; +} + +class facebook::react::ParagraphShadowNode : public facebook::react::ConcreteViewShadowNode, public facebook::react::BaseTextShadowNode { + protected virtual bool shouldNewRevisionDirtyMeasurement(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) const override; + public ParagraphShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ParagraphShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public virtual facebook::react::Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const override; + public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; + public virtual void layout(facebook::react::LayoutContext layoutContext) override; + public void setTextLayoutManager(std::shared_ptr textLayoutManager); +} + +class facebook::react::ParagraphShadowNode::Content { + public facebook::react::AttributedString attributedString; + public facebook::react::BaseTextShadowNode::Attachments attachments; + public facebook::react::ParagraphAttributes paragraphAttributes; +} + +class facebook::react::ParagraphState { + public ParagraphState() = default; + public ParagraphState(const facebook::react::ParagraphState&, const folly::dynamic&); + public ParagraphState(facebook::react::AttributedString attributedString, facebook::react::ParagraphAttributes paragraphAttributes, std::weak_ptr layoutManager); + public ParagraphState(facebook::react::AttributedString attributedString, facebook::react::ParagraphAttributes paragraphAttributes, std::weak_ptr layoutManager, facebook::react::MeasuredPreparedTextLayout measuredLayout); + public facebook::react::AttributedString attributedString; + public facebook::react::MapBuffer getMapBuffer() const; + public facebook::react::MeasuredPreparedTextLayout measuredLayout; + public facebook::react::ParagraphAttributes paragraphAttributes; + public folly::dynamic getDynamic() const; + public jni::local_ref getJNIReference() const; + public std::weak_ptr layoutManager; +} + +class facebook::react::PerformanceEntryBuffer { + public PerformanceEntryBuffer() = default; + public facebook::react::HighResDuration durationThreshold; + public size_t droppedEntriesCount; + public virtual void add(const facebook::react::PerformanceEntry& entry) = 0; + public virtual void clear() = 0; + public virtual void clear(const std::string& name) = 0; + public virtual void getEntries(std::vector& target) const = 0; + public virtual void getEntries(std::vector& target, const std::string& name) const = 0; + public virtual ~PerformanceEntryBuffer() = default; +} + +class facebook::react::PerformanceEntryCircularBuffer : public facebook::react::PerformanceEntryBuffer { + public PerformanceEntryCircularBuffer(size_t size); + public virtual void add(const facebook::react::PerformanceEntry& entry) override; + public virtual void clear() override; + public virtual void clear(const std::string& name) override; + public virtual void getEntries(std::vector& target) const override; + public virtual void getEntries(std::vector& target, const std::string& name) const override; + public ~PerformanceEntryCircularBuffer() override = default; +} + +class facebook::react::PerformanceEntryKeyedBuffer : public facebook::react::PerformanceEntryBuffer { + public PerformanceEntryKeyedBuffer() = default; + public std::optional find(const std::string& name) const; + public virtual void add(const facebook::react::PerformanceEntry& entry) override; + public virtual void clear() override; + public virtual void clear(const std::string& name) override; + public virtual void getEntries(std::vector& target) const override; + public virtual void getEntries(std::vector& target, const std::string& name) const override; +} + +class facebook::react::PerformanceEntryReporter { + public PerformanceEntryReporter(); + public const std::unordered_map& getEventCounts() const; + public facebook::react::PerformanceObserverRegistry& getObserverRegistry(); + public static std::shared_ptr& getInstance(); + public static std::vector getSupportedEntryTypes(); + public std::optional getMarkTime(const std::string& markName) const; + public std::vector getEntries() const; + public std::vector getEntries(facebook::react::PerformanceEntryType entryType) const; + public std::vector getEntries(facebook::react::PerformanceEntryType entryType, const std::string& entryName) const; + public uint32_t getDroppedEntriesCount(facebook::react::PerformanceEntryType type) const noexcept; + public using UserTimingDetailProvider = std::function; + public void addEventListener(facebook::react::PerformanceEntryReporterEventListener* listener); + public void clearEntries(); + public void clearEntries(facebook::react::PerformanceEntryType entryType); + public void clearEntries(facebook::react::PerformanceEntryType entryType, const std::string& entryName); + public void clearEventCounts(); + public void getEntries(std::vector& dest) const; + public void getEntries(std::vector& dest, facebook::react::PerformanceEntryType entryType) const; + public void getEntries(std::vector& dest, facebook::react::PerformanceEntryType entryType, const std::string& entryName) const; + public void removeEventListener(facebook::react::PerformanceEntryReporterEventListener* listener); + public void reportEvent(const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration, facebook::react::HighResTimeStamp processingStart, facebook::react::HighResTimeStamp processingEnd, facebook::react::HighResTimeStamp taskEndTime, uint32_t interactionId); + public void reportLongTask(facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration); + public void reportMark(const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::PerformanceEntryReporter::UserTimingDetailProvider&& detailProvider = nullptr); + public void reportMeasure(const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration, const std::optional& detailProvider = std::nullopt); + public void reportResourceTiming(const std::string& url, facebook::react::HighResTimeStamp fetchStart, facebook::react::HighResTimeStamp requestStart, std::optional connectStart, std::optional connectEnd, facebook::react::HighResTimeStamp responseStart, facebook::react::HighResTimeStamp responseEnd, int responseStatus, const std::string& contentType, int encodedBodySize, int decodedBodySize); +} + +class facebook::react::PerformanceEntryReporterEventListener { + public virtual void onEventTimingEntry(const facebook::react::PerformanceEventTiming&); + public virtual void onMeasureEntry(const facebook::react::PerformanceMeasure&, const std::optional&); + public virtual ~PerformanceEntryReporterEventListener() = default; +} + +class facebook::react::PerformanceObserver : public std::enable_shared_from_this { + public PerformanceObserver(PrivateUseCreateMethod, facebook::react::PerformanceObserverRegistry& registry, facebook::react::PerformanceObserverCallback&& callback); + public static std::shared_ptr create(facebook::react::PerformanceObserverRegistry& registry, facebook::react::PerformanceObserverCallback&& callback); + public std::vector takeRecords(); + public uint32_t getDroppedEntriesCount() noexcept; + public void disconnect() noexcept; + public void handleEntry(const facebook::react::PerformanceEntry& entry); + public void observe(facebook::react::PerformanceEntryType type, facebook::react::PerformanceObserverObserveSingleOptions options = {}); + public void observe(std::unordered_set types); + public ~PerformanceObserver() = default; +} + +class facebook::react::PerformanceObserverRegistry { + public PerformanceObserverRegistry() = default; + public void addObserver(std::shared_ptr observer); + public void queuePerformanceEntry(const facebook::react::PerformanceEntry& entry); + public void removeObserver(std::shared_ptr observer); +} + +class facebook::react::PerformanceTracerCxxInterop : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; + public static jboolean isTracing(facebook::jni::alias_ref jthis); + public static jint subscribeToTracingStateChanges(facebook::jni::alias_ref jthis, facebook::jni::alias_ref callback); + public static void registerNatives(); + public static void reportMark(facebook::jni::alias_ref jthis, facebook::jni::alias_ref name, jlong timestampNanos, facebook::jni::alias_ref detail); + public static void reportMeasure(facebook::jni::alias_ref jthis, facebook::jni::alias_ref name, jlong startTimestampNanos, jlong durationNanos, facebook::jni::alias_ref detail); + public static void reportTimeStamp(facebook::jni::alias_ref jthis, facebook::jni::alias_ref name, jlong startTimeNanos, jlong endTimeNanos, facebook::jni::alias_ref trackName, facebook::jni::alias_ref trackGroup, facebook::jni::alias_ref color); + public static void unsubscribeFromTracingStateChanges(facebook::jni::alias_ref jthis, jint subscriptionId); +} + +class facebook::react::PlatformTimerRegistry { + public virtual void createRecurringTimer(uint32_t timerID, double delayMS) = 0; + public virtual void createTimer(uint32_t timerID, double delayMS) = 0; + public virtual void deleteTimer(uint32_t timerID) = 0; + public virtual void quit(); + public virtual ~PlatformTimerRegistry() noexcept = default; +} + +class facebook::react::PointerEventsProcessor { + public bool hasPointerCapture(facebook::react::PointerIdentifier pointerId, const facebook::react::ShadowNode* shadowNode); + public static std::shared_ptr getShadowNodeFromEventTarget(facebook::jsi::Runtime& runtime, facebook::react::EventTarget* target); + public void interceptPointerEvent(const std::shared_ptr& target, const std::string& type, facebook::react::ReactEventPriority priority, const facebook::react::PointerEvent& event, const facebook::react::DispatchEvent& eventDispatcher, const facebook::react::UIManager& uiManager); + public void releasePointerCapture(facebook::react::PointerIdentifier pointerId, const facebook::react::ShadowNode* shadowNode); + public void setPointerCapture(facebook::react::PointerIdentifier pointerId, const std::shared_ptr& shadowNode); +} + +class facebook::react::PointerHoverTracker { + public PointerHoverTracker(std::shared_ptr target, const facebook::react::UIManager& uiManager); + public bool areAnyTargetsListeningToEvents(std::initializer_list eventTypes, const facebook::react::UIManager& uiManager) const; + public bool hasSameTarget(const facebook::react::PointerHoverTracker& other) const; + public const facebook::react::ShadowNode* getTarget(const facebook::react::UIManager& uiManager) const; + public std::tuple diffEventPath(const facebook::react::PointerHoverTracker& other, const facebook::react::UIManager& uiManager) const; + public using EventPath = std::vector>; + public using Unique = std::unique_ptr; + public void markAsOld(); +} + +class facebook::react::PreparedTextCacheKey { + public facebook::react::AttributedString attributedString; + public facebook::react::LayoutConstraints layoutConstraints; + public facebook::react::ParagraphAttributes paragraphAttributes; +} + +class facebook::react::Props : public virtual facebook::react::Sealable, public virtual facebook::react::DebugStringConvertible { + protected void initialize(const facebook::react::PropsParserContext& context, const facebook::react::Props& sourceProps, const facebook::react::RawProps& rawProps, const std::function& filterObjectKeys = nullptr); + public Props() = default; + public Props(const facebook::react::Props& other) = delete; + public Props(const facebook::react::PropsParserContext& context, const facebook::react::Props& sourceProps, const facebook::react::RawProps& rawProps, const std::function& filterObjectKeys = nullptr); + public facebook::react::Props& operator=(const facebook::react::Props& other) = delete; + public folly::dynamic rawProps; + public std::string nativeId; + public using Shared = std::shared_ptr; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const; + public virtual ~Props() = default; + public void initializeDynamicProps(const facebook::react::Props& sourceProps, const facebook::react::RawProps& rawProps, const std::function& filterObjectKeys = nullptr); + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::PropsAnimatedNode : public facebook::react::AnimatedNode { + public PropsAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public facebook::react::SurfaceId connectedRootTag() const; + public facebook::react::Tag connectedViewTag() const; + public folly::dynamic props(); + public virtual void update() override; + public void connectToShadowNodeFamily(facebook::react::ShadowNodeFamily::Weak shadowNodeFamily); + public void connectToView(facebook::react::Tag viewTag); + public void disconnectFromShadowNodeFamily(); + public void disconnectFromView(facebook::react::Tag viewTag); + public void restoreDefaultValues(); + public void update(bool forceFabricCommit); +} + +class facebook::react::PullToRefreshViewEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onRefresh(facebook::react::PullToRefreshViewEventEmitter::OnRefresh value) const; +} + +struct facebook::react::PullToRefreshViewEventEmitter::OnRefresh { +} + +class facebook::react::PullToRefreshViewProps : public facebook::react::HostPlatformViewProps { + public PullToRefreshViewProps() = default; + public PullToRefreshViewProps(const facebook::react::PropsParserContext& context, const facebook::react::PullToRefreshViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool refreshing; + public facebook::react::Float progressViewOffset; + public facebook::react::SharedColor tintColor; + public facebook::react::SharedColor titleColor; + public std::string title; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::RAMBundleRegistry { + public RAMBundleRegistry(facebook::react::RAMBundleRegistry&&) = default; + public RAMBundleRegistry(std::unique_ptr mainBundle, std::function(std::string)> factory = nullptr); + public facebook::react::JSModulesUnbundle::Module getModule(uint32_t bundleId, uint32_t moduleId); + public facebook::react::RAMBundleRegistry& operator=(facebook::react::RAMBundleRegistry&&) = default; + public static constexpr uint32_t MAIN_BUNDLE_ID; + public static std::unique_ptr multipleBundlesRegistry(std::unique_ptr mainBundle, std::function(std::string)> factory); + public static std::unique_ptr singleBundleRegistry(std::unique_ptr mainBundle); + public virtual ~RAMBundleRegistry() = default; + public void registerBundle(uint32_t bundleId, std::string bundlePath); +} + +class facebook::react::RawProps { + public RawProps(); + public RawProps(const facebook::react::RawProps& other) noexcept; + public RawProps(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value) noexcept; + public RawProps(facebook::react::RawProps&& other) noexcept = default; + public RawProps(folly::dynamic dynamic) noexcept; + public bool isEmpty() const noexcept; + public const facebook::react::RawValue* at(const char* name, const char* prefix, const char* suffix) const noexcept; + public facebook::react::RawProps& operator=(const facebook::react::RawProps& other) noexcept = delete; + public facebook::react::RawProps& operator=(facebook::react::RawProps&& other) noexcept = delete; + public folly::dynamic toDynamic(const std::function& filterObjectKeys = nullptr) const; + public operator folly::dynamic() const; + public void parse(const facebook::react::RawPropsParser& parser) noexcept; +} + +enum facebook::react::RawProps::Mode { + Dynamic, + Empty, + JSI, +} + +class facebook::react::RawPropsKey { + public const char* name; + public const char* prefix; + public const char* suffix; + public operator std::string() const noexcept; + public void render(char* buffer, facebook::react::RawPropsPropNameLength* length) const noexcept; +} + +class facebook::react::RawPropsKeyMap { + public facebook::react::RawPropsValueIndex at(const char* name, facebook::react::RawPropsPropNameLength length) noexcept; + public void insert(const facebook::react::RawPropsKey& key, facebook::react::RawPropsValueIndex value) noexcept; + public void reindex() noexcept; +} + +class facebook::react::RawPropsParser { + public RawPropsParser() = default; + public RawPropsParser(bool); + template + public void prepare() noexcept; +} + +class facebook::react::RawTextProps : public facebook::react::Props { + public RawTextProps() = default; + public RawTextProps(const facebook::react::PropsParserContext& context, const facebook::react::RawTextProps& sourceProps, const facebook::react::RawProps& rawProps); + public std::string text; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::RawTextShadowNode : public facebook::react::ConcreteShadowNode { +} + +class facebook::react::RawValue { + public RawValue() noexcept; + public RawValue(const folly::dynamic& dynamic) noexcept; + public RawValue(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value) noexcept; + public RawValue(facebook::jsi::Runtime& runtime, facebook::jsi::Value&& value) noexcept; + public RawValue(facebook::react::RawValue&& other) noexcept; + public RawValue(folly::dynamic&& dynamic) noexcept; + public bool hasValue() const; + public facebook::react::RawValue& operator=(facebook::react::RawValue&& other) noexcept; + public operator folly::dynamic() const; + template + public bool hasType() const; + template + public operator T() const; +} + +class facebook::react::ReactInstance { + public ReactInstance(const facebook::react::ReactInstance&) = delete; + public ReactInstance(facebook::react::ReactInstance&&) = delete; + public ReactInstance(std::unique_ptr runtime, std::shared_ptr jsMessageQueueThread, std::shared_ptr timerManager, facebook::react::JsErrorHandler::OnJsError onJsError, facebook::react::jsinspector_modern::HostTarget* parentInspectorTarget = nullptr); + public facebook::react::ReactInstance& operator=(const facebook::react::ReactInstance&) = delete; + public facebook::react::ReactInstance& operator=(facebook::react::ReactInstance&&) = delete; + public facebook::react::RuntimeExecutor getBufferedRuntimeExecutor() noexcept; + public facebook::react::RuntimeExecutor getUnbufferedRuntimeExecutor() noexcept; + public std::shared_ptr getRuntimeScheduler() noexcept; + public using BindingsInstallFunc = std::function; + public void callFunctionOnModule(const std::string& moduleName, const std::string& methodName, folly::dynamic&& args); + public void handleMemoryPressureJs(int pressureLevel); + public void initializeRuntime(facebook::react::ReactInstance::JSRuntimeFlags options, facebook::react::ReactInstance::BindingsInstallFunc bindingsInstallFunc) noexcept; + public void loadScript(std::unique_ptr script, const std::string& sourceURL, std::function&& beforeLoad = nullptr, std::function&& afterLoad = nullptr); + public void registerSegment(uint32_t segmentId, const std::string& segmentPath); + public void unregisterFromInspector(); + public void* getJavaScriptContext(); + public ~ReactInstance() noexcept override; +} + +struct facebook::react::ReactInstance::JSRuntimeFlags { + public bool isProfiling; + public const std::string runtimeDiagnosticFlags; +} + +class facebook::react::ReactNativeFeatureFlags { + public static bool cdpInteractionMetricsEnabled(); + public static bool commonTestFlag(); + public static bool cxxNativeAnimatedEnabled(); + public static bool defaultTextToOverflowHidden(); + public static bool disableEarlyViewCommandExecution(); + public static bool disableImageViewPreallocationAndroid(); + public static bool disableMountItemReorderingAndroid(); + public static bool disableSubviewClippingAndroid(); + public static bool disableTextLayoutManagerCacheAndroid(); + public static bool disableViewPreallocationAndroid(); + public static bool enableAccessibilityOrder(); + public static bool enableAccumulatedUpdatesInRawPropsAndroid(); + public static bool enableAndroidAntialiasedBorderRadiusClipping(); + public static bool enableAndroidLinearText(); + public static bool enableAndroidTextMeasurementOptimizations(); + public static bool enableBridgelessArchitecture(); + public static bool enableCppPropsIteratorSetter(); + public static bool enableCustomFocusSearchOnClippedElementsAndroid(); + public static bool enableDestroyShadowTreeRevisionAsync(); + public static bool enableDifferentiatorMutationVectorPreallocation(); + public static bool enableDoubleMeasurementFixAndroid(); + public static bool enableEagerMainQueueModulesOnIOS(); + public static bool enableEagerRootViewAttachment(); + public static bool enableExclusivePropsUpdateAndroid(); + public static bool enableFabricCommitBranching(); + public static bool enableFabricLogs(); + public static bool enableFabricRenderer(); + public static bool enableFontScaleChangesUpdatingLayout(); + public static bool enableIOSTextBaselineOffsetPerLine(); + public static bool enableIOSViewClipToPaddingBox(); + public static bool enableImagePrefetchingAndroid(); + public static bool enableImagePrefetchingJNIBatchingAndroid(); + public static bool enableImagePrefetchingOnUiThreadAndroid(); + public static bool enableImmediateUpdateModeForContentOffsetChanges(); + public static bool enableImperativeFocus(); + public static bool enableInteropViewManagerClassLookUpOptimizationIOS(); + public static bool enableIntersectionObserverByDefault(); + public static bool enableKeyEvents(); + public static bool enableLayoutAnimationsOnAndroid(); + public static bool enableLayoutAnimationsOnIOS(); + public static bool enableMainQueueCoordinatorOnIOS(); + public static bool enableModuleArgumentNSNullConversionIOS(); + public static bool enableMutationObserverByDefault(); + public static bool enableNativeCSSParsing(); + public static bool enableNativeViewPropTransformations(); + public static bool enableNetworkEventReporting(); + public static bool enablePreparedTextLayout(); + public static bool enablePropsUpdateReconciliationAndroid(); + public static bool enableSwiftUIBasedFilters(); + public static bool enableViewCulling(); + public static bool enableViewRecycling(); + public static bool enableViewRecyclingForImage(); + public static bool enableViewRecyclingForScrollView(); + public static bool enableViewRecyclingForText(); + public static bool enableViewRecyclingForView(); + public static bool enableVirtualViewContainerStateExperimental(); + public static bool enableVirtualViewDebugFeatures(); + public static bool fixFindShadowNodeByTagRaceCondition(); + public static bool fixMappingOfEventPrioritiesBetweenFabricAndReact(); + public static bool fixTextClippingAndroid15useBoundsForWidth(); + public static bool fixYogaFlexBasisFitContentInMainAxis(); + public static bool fuseboxAssertSingleHostState(); + public static bool fuseboxEnabledRelease(); + public static bool fuseboxFrameRecordingEnabled(); + public static bool fuseboxNetworkInspectionEnabled(); + public static bool hideOffscreenVirtualViewsOnIOS(); + public static bool overrideBySynchronousMountPropsAtMountingAndroid(); + public static bool perfIssuesEnabled(); + public static bool perfMonitorV2Enabled(); + public static bool preventShadowTreeCommitExhaustion(); + public static bool shouldPressibilityUseW3CPointerEventsForHover(); + public static bool shouldTriggerResponderTransferOnScrollAndroid(); + public static bool skipActivityIdentityAssertionOnHostPause(); + public static bool syncAndroidClipToPaddingWithOverflow(); + public static bool traceTurboModulePromiseRejectionsOnAndroid(); + public static bool updateRuntimeShadowNodeReferencesOnCommit(); + public static bool updateRuntimeShadowNodeReferencesOnCommitThread(); + public static bool useAlwaysAvailableJSErrorHandling(); + public static bool useFabricInterop(); + public static bool useLISAlgorithmInDifferentiator(); + public static bool useNativeViewConfigsInBridgelessMode(); + public static bool useNestedScrollViewAndroid(); + public static bool useSharedAnimatedBackend(); + public static bool useTraitHiddenOnAndroid(); + public static bool useTurboModuleInterop(); + public static bool useTurboModules(); + public static bool useUnorderedMapInDifferentiator(); + public static bool viewTransitionEnabled(); + public static double preparedTextCacheSize(); + public static double viewCullingOutsetRatio(); + public static double virtualViewPrerenderRatio(); + public static std::optional dangerouslyForceOverride(std::unique_ptr provider); + public static void dangerouslyReset(); + public static void override(std::unique_ptr provider); +} + +class facebook::react::ReactNativeFeatureFlagsAccessor { + public ReactNativeFeatureFlagsAccessor(); + public bool cdpInteractionMetricsEnabled(); + public bool commonTestFlag(); + public bool cxxNativeAnimatedEnabled(); + public bool defaultTextToOverflowHidden(); + public bool disableEarlyViewCommandExecution(); + public bool disableImageViewPreallocationAndroid(); + public bool disableMountItemReorderingAndroid(); + public bool disableSubviewClippingAndroid(); + public bool disableTextLayoutManagerCacheAndroid(); + public bool disableViewPreallocationAndroid(); + public bool enableAccessibilityOrder(); + public bool enableAccumulatedUpdatesInRawPropsAndroid(); + public bool enableAndroidAntialiasedBorderRadiusClipping(); + public bool enableAndroidLinearText(); + public bool enableAndroidTextMeasurementOptimizations(); + public bool enableBridgelessArchitecture(); + public bool enableCppPropsIteratorSetter(); + public bool enableCustomFocusSearchOnClippedElementsAndroid(); + public bool enableDestroyShadowTreeRevisionAsync(); + public bool enableDifferentiatorMutationVectorPreallocation(); + public bool enableDoubleMeasurementFixAndroid(); + public bool enableEagerMainQueueModulesOnIOS(); + public bool enableEagerRootViewAttachment(); + public bool enableExclusivePropsUpdateAndroid(); + public bool enableFabricCommitBranching(); + public bool enableFabricLogs(); + public bool enableFabricRenderer(); + public bool enableFontScaleChangesUpdatingLayout(); + public bool enableIOSTextBaselineOffsetPerLine(); + public bool enableIOSViewClipToPaddingBox(); + public bool enableImagePrefetchingAndroid(); + public bool enableImagePrefetchingJNIBatchingAndroid(); + public bool enableImagePrefetchingOnUiThreadAndroid(); + public bool enableImmediateUpdateModeForContentOffsetChanges(); + public bool enableImperativeFocus(); + public bool enableInteropViewManagerClassLookUpOptimizationIOS(); + public bool enableIntersectionObserverByDefault(); + public bool enableKeyEvents(); + public bool enableLayoutAnimationsOnAndroid(); + public bool enableLayoutAnimationsOnIOS(); + public bool enableMainQueueCoordinatorOnIOS(); + public bool enableModuleArgumentNSNullConversionIOS(); + public bool enableMutationObserverByDefault(); + public bool enableNativeCSSParsing(); + public bool enableNativeViewPropTransformations(); + public bool enableNetworkEventReporting(); + public bool enablePreparedTextLayout(); + public bool enablePropsUpdateReconciliationAndroid(); + public bool enableSwiftUIBasedFilters(); + public bool enableViewCulling(); + public bool enableViewRecycling(); + public bool enableViewRecyclingForImage(); + public bool enableViewRecyclingForScrollView(); + public bool enableViewRecyclingForText(); + public bool enableViewRecyclingForView(); + public bool enableVirtualViewContainerStateExperimental(); + public bool enableVirtualViewDebugFeatures(); + public bool fixFindShadowNodeByTagRaceCondition(); + public bool fixMappingOfEventPrioritiesBetweenFabricAndReact(); + public bool fixTextClippingAndroid15useBoundsForWidth(); + public bool fixYogaFlexBasisFitContentInMainAxis(); + public bool fuseboxAssertSingleHostState(); + public bool fuseboxEnabledRelease(); + public bool fuseboxFrameRecordingEnabled(); + public bool fuseboxNetworkInspectionEnabled(); + public bool hideOffscreenVirtualViewsOnIOS(); + public bool overrideBySynchronousMountPropsAtMountingAndroid(); + public bool perfIssuesEnabled(); + public bool perfMonitorV2Enabled(); + public bool preventShadowTreeCommitExhaustion(); + public bool shouldPressibilityUseW3CPointerEventsForHover(); + public bool shouldTriggerResponderTransferOnScrollAndroid(); + public bool skipActivityIdentityAssertionOnHostPause(); + public bool syncAndroidClipToPaddingWithOverflow(); + public bool traceTurboModulePromiseRejectionsOnAndroid(); + public bool updateRuntimeShadowNodeReferencesOnCommit(); + public bool updateRuntimeShadowNodeReferencesOnCommitThread(); + public bool useAlwaysAvailableJSErrorHandling(); + public bool useFabricInterop(); + public bool useLISAlgorithmInDifferentiator(); + public bool useNativeViewConfigsInBridgelessMode(); + public bool useNestedScrollViewAndroid(); + public bool useSharedAnimatedBackend(); + public bool useTraitHiddenOnAndroid(); + public bool useTurboModuleInterop(); + public bool useTurboModules(); + public bool useUnorderedMapInDifferentiator(); + public bool viewTransitionEnabled(); + public double preparedTextCacheSize(); + public double viewCullingOutsetRatio(); + public double virtualViewPrerenderRatio(); + public std::optional getAccessedFeatureFlagNames() const; + public void override(std::unique_ptr provider); +} + +class facebook::react::ReactNativeFeatureFlagsDefaults : public facebook::react::ReactNativeFeatureFlagsProvider { + public ReactNativeFeatureFlagsDefaults() = default; + public virtual bool cdpInteractionMetricsEnabled() override; + public virtual bool commonTestFlag() override; + public virtual bool cxxNativeAnimatedEnabled() override; + public virtual bool defaultTextToOverflowHidden() override; + public virtual bool disableEarlyViewCommandExecution() override; + public virtual bool disableImageViewPreallocationAndroid() override; + public virtual bool disableMountItemReorderingAndroid() override; + public virtual bool disableSubviewClippingAndroid() override; + public virtual bool disableTextLayoutManagerCacheAndroid() override; + public virtual bool disableViewPreallocationAndroid() override; + public virtual bool enableAccessibilityOrder() override; + public virtual bool enableAccumulatedUpdatesInRawPropsAndroid() override; + public virtual bool enableAndroidAntialiasedBorderRadiusClipping() override; + public virtual bool enableAndroidLinearText() override; + public virtual bool enableAndroidTextMeasurementOptimizations() override; + public virtual bool enableBridgelessArchitecture() override; + public virtual bool enableCppPropsIteratorSetter() override; + public virtual bool enableCustomFocusSearchOnClippedElementsAndroid() override; + public virtual bool enableDestroyShadowTreeRevisionAsync() override; + public virtual bool enableDifferentiatorMutationVectorPreallocation() override; + public virtual bool enableDoubleMeasurementFixAndroid() override; + public virtual bool enableEagerMainQueueModulesOnIOS() override; + public virtual bool enableEagerRootViewAttachment() override; + public virtual bool enableExclusivePropsUpdateAndroid() override; + public virtual bool enableFabricCommitBranching() override; + public virtual bool enableFabricLogs() override; + public virtual bool enableFabricRenderer() override; + public virtual bool enableFontScaleChangesUpdatingLayout() override; + public virtual bool enableIOSTextBaselineOffsetPerLine() override; + public virtual bool enableIOSViewClipToPaddingBox() override; + public virtual bool enableImagePrefetchingAndroid() override; + public virtual bool enableImagePrefetchingJNIBatchingAndroid() override; + public virtual bool enableImagePrefetchingOnUiThreadAndroid() override; + public virtual bool enableImmediateUpdateModeForContentOffsetChanges() override; + public virtual bool enableImperativeFocus() override; + public virtual bool enableInteropViewManagerClassLookUpOptimizationIOS() override; + public virtual bool enableIntersectionObserverByDefault() override; + public virtual bool enableKeyEvents() override; + public virtual bool enableLayoutAnimationsOnAndroid() override; + public virtual bool enableLayoutAnimationsOnIOS() override; + public virtual bool enableMainQueueCoordinatorOnIOS() override; + public virtual bool enableModuleArgumentNSNullConversionIOS() override; + public virtual bool enableMutationObserverByDefault() override; + public virtual bool enableNativeCSSParsing() override; + public virtual bool enableNativeViewPropTransformations() override; + public virtual bool enableNetworkEventReporting() override; + public virtual bool enablePreparedTextLayout() override; + public virtual bool enablePropsUpdateReconciliationAndroid() override; + public virtual bool enableSwiftUIBasedFilters() override; + public virtual bool enableViewCulling() override; + public virtual bool enableViewRecycling() override; + public virtual bool enableViewRecyclingForImage() override; + public virtual bool enableViewRecyclingForScrollView() override; + public virtual bool enableViewRecyclingForText() override; + public virtual bool enableViewRecyclingForView() override; + public virtual bool enableVirtualViewContainerStateExperimental() override; + public virtual bool enableVirtualViewDebugFeatures() override; + public virtual bool fixFindShadowNodeByTagRaceCondition() override; + public virtual bool fixMappingOfEventPrioritiesBetweenFabricAndReact() override; + public virtual bool fixTextClippingAndroid15useBoundsForWidth() override; + public virtual bool fixYogaFlexBasisFitContentInMainAxis() override; + public virtual bool fuseboxAssertSingleHostState() override; + public virtual bool fuseboxEnabledRelease() override; + public virtual bool fuseboxFrameRecordingEnabled() override; + public virtual bool fuseboxNetworkInspectionEnabled() override; + public virtual bool hideOffscreenVirtualViewsOnIOS() override; + public virtual bool overrideBySynchronousMountPropsAtMountingAndroid() override; + public virtual bool perfIssuesEnabled() override; + public virtual bool perfMonitorV2Enabled() override; + public virtual bool preventShadowTreeCommitExhaustion() override; + public virtual bool shouldPressibilityUseW3CPointerEventsForHover() override; + public virtual bool shouldTriggerResponderTransferOnScrollAndroid() override; + public virtual bool skipActivityIdentityAssertionOnHostPause() override; + public virtual bool syncAndroidClipToPaddingWithOverflow() override; + public virtual bool traceTurboModulePromiseRejectionsOnAndroid() override; + public virtual bool updateRuntimeShadowNodeReferencesOnCommit() override; + public virtual bool updateRuntimeShadowNodeReferencesOnCommitThread() override; + public virtual bool useAlwaysAvailableJSErrorHandling() override; + public virtual bool useFabricInterop() override; + public virtual bool useLISAlgorithmInDifferentiator() override; + public virtual bool useNativeViewConfigsInBridgelessMode() override; + public virtual bool useNestedScrollViewAndroid() override; + public virtual bool useSharedAnimatedBackend() override; + public virtual bool useTraitHiddenOnAndroid() override; + public virtual bool useTurboModuleInterop() override; + public virtual bool useTurboModules() override; + public virtual bool useUnorderedMapInDifferentiator() override; + public virtual bool viewTransitionEnabled() override; + public virtual double preparedTextCacheSize() override; + public virtual double viewCullingOutsetRatio() override; + public virtual double virtualViewPrerenderRatio() override; +} + +class facebook::react::ReactNativeFeatureFlagsDynamicProvider : public facebook::react::ReactNativeFeatureFlagsDefaults { + public ReactNativeFeatureFlagsDynamicProvider(folly::dynamic values); + public virtual bool cdpInteractionMetricsEnabled() override; + public virtual bool commonTestFlag() override; + public virtual bool cxxNativeAnimatedEnabled() override; + public virtual bool defaultTextToOverflowHidden() override; + public virtual bool disableEarlyViewCommandExecution() override; + public virtual bool disableImageViewPreallocationAndroid() override; + public virtual bool disableMountItemReorderingAndroid() override; + public virtual bool disableSubviewClippingAndroid() override; + public virtual bool disableTextLayoutManagerCacheAndroid() override; + public virtual bool disableViewPreallocationAndroid() override; + public virtual bool enableAccessibilityOrder() override; + public virtual bool enableAccumulatedUpdatesInRawPropsAndroid() override; + public virtual bool enableAndroidAntialiasedBorderRadiusClipping() override; + public virtual bool enableAndroidLinearText() override; + public virtual bool enableAndroidTextMeasurementOptimizations() override; + public virtual bool enableBridgelessArchitecture() override; + public virtual bool enableCppPropsIteratorSetter() override; + public virtual bool enableCustomFocusSearchOnClippedElementsAndroid() override; + public virtual bool enableDestroyShadowTreeRevisionAsync() override; + public virtual bool enableDifferentiatorMutationVectorPreallocation() override; + public virtual bool enableDoubleMeasurementFixAndroid() override; + public virtual bool enableEagerMainQueueModulesOnIOS() override; + public virtual bool enableEagerRootViewAttachment() override; + public virtual bool enableExclusivePropsUpdateAndroid() override; + public virtual bool enableFabricCommitBranching() override; + public virtual bool enableFabricLogs() override; + public virtual bool enableFabricRenderer() override; + public virtual bool enableFontScaleChangesUpdatingLayout() override; + public virtual bool enableIOSTextBaselineOffsetPerLine() override; + public virtual bool enableIOSViewClipToPaddingBox() override; + public virtual bool enableImagePrefetchingAndroid() override; + public virtual bool enableImagePrefetchingJNIBatchingAndroid() override; + public virtual bool enableImagePrefetchingOnUiThreadAndroid() override; + public virtual bool enableImmediateUpdateModeForContentOffsetChanges() override; + public virtual bool enableImperativeFocus() override; + public virtual bool enableInteropViewManagerClassLookUpOptimizationIOS() override; + public virtual bool enableIntersectionObserverByDefault() override; + public virtual bool enableKeyEvents() override; + public virtual bool enableLayoutAnimationsOnAndroid() override; + public virtual bool enableLayoutAnimationsOnIOS() override; + public virtual bool enableMainQueueCoordinatorOnIOS() override; + public virtual bool enableModuleArgumentNSNullConversionIOS() override; + public virtual bool enableMutationObserverByDefault() override; + public virtual bool enableNativeCSSParsing() override; + public virtual bool enableNativeViewPropTransformations() override; + public virtual bool enableNetworkEventReporting() override; + public virtual bool enablePreparedTextLayout() override; + public virtual bool enablePropsUpdateReconciliationAndroid() override; + public virtual bool enableSwiftUIBasedFilters() override; + public virtual bool enableViewCulling() override; + public virtual bool enableViewRecycling() override; + public virtual bool enableViewRecyclingForImage() override; + public virtual bool enableViewRecyclingForScrollView() override; + public virtual bool enableViewRecyclingForText() override; + public virtual bool enableViewRecyclingForView() override; + public virtual bool enableVirtualViewContainerStateExperimental() override; + public virtual bool enableVirtualViewDebugFeatures() override; + public virtual bool fixFindShadowNodeByTagRaceCondition() override; + public virtual bool fixMappingOfEventPrioritiesBetweenFabricAndReact() override; + public virtual bool fixTextClippingAndroid15useBoundsForWidth() override; + public virtual bool fixYogaFlexBasisFitContentInMainAxis() override; + public virtual bool fuseboxAssertSingleHostState() override; + public virtual bool fuseboxEnabledRelease() override; + public virtual bool fuseboxFrameRecordingEnabled() override; + public virtual bool fuseboxNetworkInspectionEnabled() override; + public virtual bool hideOffscreenVirtualViewsOnIOS() override; + public virtual bool overrideBySynchronousMountPropsAtMountingAndroid() override; + public virtual bool perfIssuesEnabled() override; + public virtual bool perfMonitorV2Enabled() override; + public virtual bool preventShadowTreeCommitExhaustion() override; + public virtual bool shouldPressibilityUseW3CPointerEventsForHover() override; + public virtual bool shouldTriggerResponderTransferOnScrollAndroid() override; + public virtual bool skipActivityIdentityAssertionOnHostPause() override; + public virtual bool syncAndroidClipToPaddingWithOverflow() override; + public virtual bool traceTurboModulePromiseRejectionsOnAndroid() override; + public virtual bool updateRuntimeShadowNodeReferencesOnCommit() override; + public virtual bool updateRuntimeShadowNodeReferencesOnCommitThread() override; + public virtual bool useAlwaysAvailableJSErrorHandling() override; + public virtual bool useFabricInterop() override; + public virtual bool useLISAlgorithmInDifferentiator() override; + public virtual bool useNativeViewConfigsInBridgelessMode() override; + public virtual bool useNestedScrollViewAndroid() override; + public virtual bool useSharedAnimatedBackend() override; + public virtual bool useTraitHiddenOnAndroid() override; + public virtual bool useTurboModuleInterop() override; + public virtual bool useTurboModules() override; + public virtual bool useUnorderedMapInDifferentiator() override; + public virtual bool viewTransitionEnabled() override; + public virtual double preparedTextCacheSize() override; + public virtual double viewCullingOutsetRatio() override; + public virtual double virtualViewPrerenderRatio() override; +} + +class facebook::react::ReactNativeFeatureFlagsOverridesOSSCanary : public facebook::react::ReactNativeFeatureFlagsOverridesOSSStable { + public ReactNativeFeatureFlagsOverridesOSSCanary() = default; + public virtual bool enableBridgelessArchitecture() override; + public virtual bool enableFabricRenderer() override; + public virtual bool enableIntersectionObserverByDefault() override; + public virtual bool useNativeViewConfigsInBridgelessMode() override; + public virtual bool useTurboModuleInterop() override; + public virtual bool useTurboModules() override; +} + +class facebook::react::ReactNativeFeatureFlagsOverridesOSSExperimental : public facebook::react::ReactNativeFeatureFlagsOverridesOSSCanary { + public ReactNativeFeatureFlagsOverridesOSSExperimental() = default; + public virtual bool enableAccessibilityOrder() override; + public virtual bool enableSwiftUIBasedFilters() override; + public virtual bool fixTextClippingAndroid15useBoundsForWidth() override; + public virtual bool preventShadowTreeCommitExhaustion() override; +} + +class facebook::react::ReactNativeFeatureFlagsOverridesOSSStable : public facebook::react::ReactNativeFeatureFlagsDefaults { + public virtual bool enableBridgelessArchitecture() override; + public virtual bool enableFabricRenderer() override; + public virtual bool useNativeViewConfigsInBridgelessMode() override; + public virtual bool useTurboModules() override; +} + +class facebook::react::ReactNativeFeatureFlagsProvider { + public virtual bool cdpInteractionMetricsEnabled() = 0; + public virtual bool commonTestFlag() = 0; + public virtual bool cxxNativeAnimatedEnabled() = 0; + public virtual bool defaultTextToOverflowHidden() = 0; + public virtual bool disableEarlyViewCommandExecution() = 0; + public virtual bool disableImageViewPreallocationAndroid() = 0; + public virtual bool disableMountItemReorderingAndroid() = 0; + public virtual bool disableSubviewClippingAndroid() = 0; + public virtual bool disableTextLayoutManagerCacheAndroid() = 0; + public virtual bool disableViewPreallocationAndroid() = 0; + public virtual bool enableAccessibilityOrder() = 0; + public virtual bool enableAccumulatedUpdatesInRawPropsAndroid() = 0; + public virtual bool enableAndroidAntialiasedBorderRadiusClipping() = 0; + public virtual bool enableAndroidLinearText() = 0; + public virtual bool enableAndroidTextMeasurementOptimizations() = 0; + public virtual bool enableBridgelessArchitecture() = 0; + public virtual bool enableCppPropsIteratorSetter() = 0; + public virtual bool enableCustomFocusSearchOnClippedElementsAndroid() = 0; + public virtual bool enableDestroyShadowTreeRevisionAsync() = 0; + public virtual bool enableDifferentiatorMutationVectorPreallocation() = 0; + public virtual bool enableDoubleMeasurementFixAndroid() = 0; + public virtual bool enableEagerMainQueueModulesOnIOS() = 0; + public virtual bool enableEagerRootViewAttachment() = 0; + public virtual bool enableExclusivePropsUpdateAndroid() = 0; + public virtual bool enableFabricCommitBranching() = 0; + public virtual bool enableFabricLogs() = 0; + public virtual bool enableFabricRenderer() = 0; + public virtual bool enableFontScaleChangesUpdatingLayout() = 0; + public virtual bool enableIOSTextBaselineOffsetPerLine() = 0; + public virtual bool enableIOSViewClipToPaddingBox() = 0; + public virtual bool enableImagePrefetchingAndroid() = 0; + public virtual bool enableImagePrefetchingJNIBatchingAndroid() = 0; + public virtual bool enableImagePrefetchingOnUiThreadAndroid() = 0; + public virtual bool enableImmediateUpdateModeForContentOffsetChanges() = 0; + public virtual bool enableImperativeFocus() = 0; + public virtual bool enableInteropViewManagerClassLookUpOptimizationIOS() = 0; + public virtual bool enableIntersectionObserverByDefault() = 0; + public virtual bool enableKeyEvents() = 0; + public virtual bool enableLayoutAnimationsOnAndroid() = 0; + public virtual bool enableLayoutAnimationsOnIOS() = 0; + public virtual bool enableMainQueueCoordinatorOnIOS() = 0; + public virtual bool enableModuleArgumentNSNullConversionIOS() = 0; + public virtual bool enableMutationObserverByDefault() = 0; + public virtual bool enableNativeCSSParsing() = 0; + public virtual bool enableNativeViewPropTransformations() = 0; + public virtual bool enableNetworkEventReporting() = 0; + public virtual bool enablePreparedTextLayout() = 0; + public virtual bool enablePropsUpdateReconciliationAndroid() = 0; + public virtual bool enableSwiftUIBasedFilters() = 0; + public virtual bool enableViewCulling() = 0; + public virtual bool enableViewRecycling() = 0; + public virtual bool enableViewRecyclingForImage() = 0; + public virtual bool enableViewRecyclingForScrollView() = 0; + public virtual bool enableViewRecyclingForText() = 0; + public virtual bool enableViewRecyclingForView() = 0; + public virtual bool enableVirtualViewContainerStateExperimental() = 0; + public virtual bool enableVirtualViewDebugFeatures() = 0; + public virtual bool fixFindShadowNodeByTagRaceCondition() = 0; + public virtual bool fixMappingOfEventPrioritiesBetweenFabricAndReact() = 0; + public virtual bool fixTextClippingAndroid15useBoundsForWidth() = 0; + public virtual bool fixYogaFlexBasisFitContentInMainAxis() = 0; + public virtual bool fuseboxAssertSingleHostState() = 0; + public virtual bool fuseboxEnabledRelease() = 0; + public virtual bool fuseboxFrameRecordingEnabled() = 0; + public virtual bool fuseboxNetworkInspectionEnabled() = 0; + public virtual bool hideOffscreenVirtualViewsOnIOS() = 0; + public virtual bool overrideBySynchronousMountPropsAtMountingAndroid() = 0; + public virtual bool perfIssuesEnabled() = 0; + public virtual bool perfMonitorV2Enabled() = 0; + public virtual bool preventShadowTreeCommitExhaustion() = 0; + public virtual bool shouldPressibilityUseW3CPointerEventsForHover() = 0; + public virtual bool shouldTriggerResponderTransferOnScrollAndroid() = 0; + public virtual bool skipActivityIdentityAssertionOnHostPause() = 0; + public virtual bool syncAndroidClipToPaddingWithOverflow() = 0; + public virtual bool traceTurboModulePromiseRejectionsOnAndroid() = 0; + public virtual bool updateRuntimeShadowNodeReferencesOnCommit() = 0; + public virtual bool updateRuntimeShadowNodeReferencesOnCommitThread() = 0; + public virtual bool useAlwaysAvailableJSErrorHandling() = 0; + public virtual bool useFabricInterop() = 0; + public virtual bool useLISAlgorithmInDifferentiator() = 0; + public virtual bool useNativeViewConfigsInBridgelessMode() = 0; + public virtual bool useNestedScrollViewAndroid() = 0; + public virtual bool useSharedAnimatedBackend() = 0; + public virtual bool useTraitHiddenOnAndroid() = 0; + public virtual bool useTurboModuleInterop() = 0; + public virtual bool useTurboModules() = 0; + public virtual bool useUnorderedMapInDifferentiator() = 0; + public virtual bool viewTransitionEnabled() = 0; + public virtual double preparedTextCacheSize() = 0; + public virtual double viewCullingOutsetRatio() = 0; + public virtual double virtualViewPrerenderRatio() = 0; + public virtual ~ReactNativeFeatureFlagsProvider() = default; +} + +class facebook::react::ReactPerfettoLogger { + public static bool isTracing(); + public static void mark(const std::string_view& eventName, facebook::react::HighResTimeStamp startTime, const std::optional& trackName = std::nullopt, const std::optional& trackGroup = std::nullopt); + public static void measure(const std::string_view& eventName, facebook::react::HighResTimeStamp startTime, facebook::react::HighResTimeStamp endTime, const std::optional& trackName = std::nullopt, const std::optional& trackGroup = std::nullopt); +} + +class facebook::react::ReadableNativeArray : public jni::HybridClass { + protected friend HybridBase; + public bool equals(jni::alias_ref other); + public jni::local_ref> importArray(); + public jni::local_ref> importTypeArray(); + public static constexpr char* kJavaDescriptor; + public static void mapException(std::exception_ptr ex); + public static void registerNatives(); + template + protected ReadableNativeArray(Dyn&& array); +} + +class facebook::react::RootProps : public facebook::react::HostPlatformViewProps { + public RootProps() = default; + public RootProps(const facebook::react::PropsParserContext& context, const facebook::react::RootProps& sourceProps, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext); + public RootProps(const facebook::react::PropsParserContext& context, const facebook::react::RootProps& sourceProps, const facebook::react::RawProps& rawProps); + public facebook::react::LayoutConstraints layoutConstraints; + public facebook::react::LayoutContext layoutContext; +} + +class facebook::react::RootShadowNode : public facebook::react::ConcreteViewShadowNode { + public RootShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public RootShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public bool layoutIfNeeded(std::vector* affectedNodes = {}); + public facebook::react::RootShadowNode::Unshared clone(const facebook::react::PropsParserContext& propsParserContext, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; + public static facebook::react::ShadowNodeTraits BaseTraits(); + public using Shared = std::shared_ptr; + public using Unshared = std::shared_ptr; + public virtual facebook::react::Transform getTransform() const override; + public void setInstanceHandle(facebook::react::InstanceHandle::Shared instanceHandle) const; +} + +class facebook::react::RoundAnimatedNode : public facebook::react::ValueAnimatedNode { + public RoundAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::RunLoopObserver { + protected const facebook::react::RunLoopObserver::Activity activities_; + protected const facebook::react::RunLoopObserver::WeakOwner owner_; + protected mutable const facebook::react::RunLoopObserver::Delegate* delegate_; + protected mutable std::atomic enabled_; + protected virtual void startObserving() const noexcept = 0; + protected virtual void stopObserving() const noexcept = 0; + protected void activityDidChange(facebook::react::RunLoopObserver::Activity activity) const noexcept; + public RunLoopObserver(facebook::react::RunLoopObserver::Activity activities, facebook::react::RunLoopObserver::WeakOwner owner) noexcept; + public facebook::react::RunLoopObserver::WeakOwner getOwner() const noexcept; + public using Factory = std::function(facebook::react::RunLoopObserver::Activity activities, const facebook::react::RunLoopObserver::WeakOwner& owner)>; + public using Owner = std::shared_ptr; + public using WeakOwner = std::weak_ptr; + public virtual bool isOnRunLoopThread() const noexcept = 0; + public virtual ~RunLoopObserver() noexcept = default; + public void disable() const noexcept; + public void enable() const noexcept; + public void setDelegate(const facebook::react::RunLoopObserver::Delegate* delegate) const noexcept; +} + +class facebook::react::RunLoopObserver::Delegate { + public virtual void activityDidChange(const facebook::react::RunLoopObserver::Delegate* delegate, facebook::react::RunLoopObserver::Activity activity) const noexcept = 0; + public virtual ~Delegate() noexcept = default; +} + +enum facebook::react::RunLoopObserver::Activity : int32_t { + AfterWaiting, + BeforeWaiting, + None, +} + +class facebook::react::RuntimeScheduler { + public RuntimeScheduler(const facebook::react::RuntimeScheduler&) = delete; + public RuntimeScheduler(facebook::react::RuntimeExecutor runtimeExecutor, std::function now = facebook::react::HighResTimeStamp::now, facebook::react::RuntimeSchedulerTaskErrorHandler onTaskError = handleTaskErrorDefault); + public RuntimeScheduler(facebook::react::RuntimeScheduler&&) = delete; + public facebook::react::RuntimeScheduler& operator=(const facebook::react::RuntimeScheduler&) = delete; + public facebook::react::RuntimeScheduler& operator=(facebook::react::RuntimeScheduler&&) = delete; + public virtual bool getShouldYield() noexcept override; + public virtual facebook::react::HighResTimeStamp now() const noexcept override; + public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept override; + public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; + public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept override; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept override; + public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) override; + public virtual void cancelTask(facebook::react::Task& task) noexcept override; + public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) override; + public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) override; + public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept override; + public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) override; + public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) override; + public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* reporter) override; + public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* shadowTreeRevisionConsistencyManager) override; +} + +class facebook::react::RuntimeSchedulerBase { + public virtual bool getShouldYield() noexcept = 0; + public virtual facebook::react::HighResTimeStamp now() const noexcept = 0; + public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept = 0; + public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept = 0; + public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept = 0; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept = 0; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept = 0; + public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) = 0; + public virtual void cancelTask(facebook::react::Task& task) noexcept = 0; + public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) = 0; + public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) = 0; + public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept = 0; + public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) = 0; + public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) = 0; + public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* reporter) = 0; + public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* provider) = 0; + public virtual ~RuntimeSchedulerBase() = default; +} + +class facebook::react::RuntimeSchedulerBinding : public facebook::jsi::HostObject { + public RuntimeSchedulerBinding(std::shared_ptr runtimeScheduler); + public static std::shared_ptr createAndInstallIfNeeded(facebook::jsi::Runtime& runtime, const std::shared_ptr& runtimeScheduler); + public static std::shared_ptr getBinding(facebook::jsi::Runtime& runtime); + public std::shared_ptr getRuntimeScheduler() noexcept; + public virtual facebook::jsi::Value get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) override; +} + +class facebook::react::RuntimeSchedulerCallInvoker : public facebook::react::CallInvoker { + public RuntimeSchedulerCallInvoker(std::weak_ptr runtimeScheduler); + public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept override; + public virtual void invokeAsync(facebook::react::SchedulerPriority priority, facebook::react::CallFunc&& func) noexcept override; + public virtual void invokeSync(facebook::react::CallFunc&& func) override; +} + +class facebook::react::RuntimeSchedulerEventTimingDelegate { + public virtual void dispatchPendingEventTimingEntries(facebook::react::HighResTimeStamp taskEndTime, const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) = 0; + public virtual ~RuntimeSchedulerEventTimingDelegate() = default; +} + +class facebook::react::RuntimeSchedulerIntersectionObserverDelegate { + public virtual void updateIntersectionObservations(const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) = 0; + public virtual ~RuntimeSchedulerIntersectionObserverDelegate() = default; +} + +class facebook::react::RuntimeScheduler_Legacy : public facebook::react::RuntimeSchedulerBase { + public RuntimeScheduler_Legacy(const facebook::react::RuntimeScheduler_Legacy&) = delete; + public RuntimeScheduler_Legacy(facebook::react::RuntimeExecutor runtimeExecutor, std::function now, facebook::react::RuntimeSchedulerTaskErrorHandler onTaskError); + public RuntimeScheduler_Legacy(facebook::react::RuntimeScheduler_Legacy&&) = delete; + public facebook::react::RuntimeScheduler_Legacy& operator=(const facebook::react::RuntimeScheduler_Legacy&) = delete; + public facebook::react::RuntimeScheduler_Legacy& operator=(facebook::react::RuntimeScheduler_Legacy&&) = delete; + public virtual bool getShouldYield() noexcept override; + public virtual facebook::react::HighResTimeStamp now() const noexcept override; + public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept override; + public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; + public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept override; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept override; + public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) override; + public virtual void cancelTask(facebook::react::Task& task) noexcept override; + public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) override; + public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) override; + public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept override; + public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) override; + public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) override; + public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* performanceEntryReporter) override; + public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* shadowTreeRevisionConsistencyManager) override; +} + +class facebook::react::RuntimeScheduler_Modern : public facebook::react::RuntimeSchedulerBase { + public RuntimeScheduler_Modern(const facebook::react::RuntimeScheduler_Modern&) = delete; + public RuntimeScheduler_Modern(facebook::react::RuntimeExecutor runtimeExecutor, std::function now, facebook::react::RuntimeSchedulerTaskErrorHandler onTaskError); + public RuntimeScheduler_Modern(facebook::react::RuntimeScheduler_Modern&&) = delete; + public facebook::react::RuntimeScheduler_Modern& operator=(const facebook::react::RuntimeScheduler_Modern&) = delete; + public facebook::react::RuntimeScheduler_Modern& operator=(facebook::react::RuntimeScheduler_Modern&&) = delete; + public virtual bool getShouldYield() noexcept override; + public virtual facebook::react::HighResTimeStamp now() const noexcept override; + public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept override; + public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration customTimeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; + public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration customTimeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept override; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept override; + public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) override; + public virtual void cancelTask(facebook::react::Task& task) noexcept override; + public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) override; + public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) override; + public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept override; + public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) override; + public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) override; + public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* performanceEntryReporter) override; + public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* shadowTreeRevisionConsistencyManager) override; +} + +class facebook::react::SafeAreaViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { +} + +class facebook::react::SafeAreaViewEventEmitter : public facebook::react::BaseViewEventEmitter { +} + +class facebook::react::SafeAreaViewProps : public facebook::react::HostPlatformViewProps { + public SafeAreaViewProps() = default; + public SafeAreaViewProps(const facebook::react::PropsParserContext& context, const facebook::react::SafeAreaViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::SafeAreaViewShadowNode : public facebook::react::ConcreteViewShadowNode { +} + +class facebook::react::SafeAreaViewState { + public SafeAreaViewState() = default; + public SafeAreaViewState(const facebook::react::SafeAreaViewState&, folly::dynamic data); + public facebook::react::EdgeInsets padding; + public folly::dynamic getDynamic() const; +} + +class facebook::react::Scheduler : public facebook::react::UIManagerDelegate { + public Scheduler(const facebook::react::SchedulerToolbox& schedulerToolbox, facebook::react::UIManagerAnimationDelegate* animationDelegate, facebook::react::SchedulerDelegate* delegate); + public const facebook::react::ComponentDescriptor* findComponentDescriptorByHandle_DO_NOT_USE_THIS_IS_BROKEN(facebook::react::ComponentHandle handle) const; + public facebook::react::SchedulerDelegate* getDelegate() const; + public std::shared_ptr getContextContainer() const; + public std::shared_ptr getUIManager() const; + public virtual void uiManagerDidCreateShadowNode(const facebook::react::ShadowNode& shadowNode) override; + public virtual void uiManagerDidDispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) override; + public virtual void uiManagerDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) override; + public virtual void uiManagerDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) override; + public virtual void uiManagerDidPromoteReactRevision(const facebook::react::ShadowTree& shadowTree) override; + public virtual void uiManagerDidSendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType) override; + public virtual void uiManagerDidSetIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) override; + public virtual void uiManagerDidStartSurface(const facebook::react::ShadowTree& shadowTree) override; + public virtual void uiManagerDidUpdateShadowTree(const std::unordered_map& tagToProps) override; + public virtual void uiManagerShouldAddEventListener(std::shared_ptr listener) final; + public virtual void uiManagerShouldRemoveEventListener(const std::shared_ptr& listener) final; + public virtual void uiManagerShouldSetOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback) override; + public virtual void uiManagerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) override; + public void addEventListener(std::shared_ptr listener); + public void animationTick() const; + public void registerSurface(const facebook::react::SurfaceHandler& surfaceHandler) const noexcept; + public void removeEventListener(const std::shared_ptr& listener); + public void reportMount(facebook::react::SurfaceId surfaceId) const; + public void setDelegate(facebook::react::SchedulerDelegate* delegate); + public void unregisterSurface(const facebook::react::SurfaceHandler& surfaceHandler) const noexcept; + public ~Scheduler() override; +} + +class facebook::react::SchedulerDelegate { + public virtual void schedulerDidDispatchCommand(const facebook::react::ShadowView& shadowView, const std::string& commandName, const folly::dynamic& args) = 0; + public virtual void schedulerDidFinishTransaction(const std::shared_ptr& mountingCoordinator) = 0; + public virtual void schedulerDidRequestPreliminaryViewAllocation(const facebook::react::ShadowNode& shadowNode) = 0; + public virtual void schedulerDidSendAccessibilityEvent(const facebook::react::ShadowView& shadowView, const std::string& eventType) = 0; + public virtual void schedulerDidSetIsJSResponder(const facebook::react::ShadowView& shadowView, bool isJSResponder, bool blockNativeResponder) = 0; + public virtual void schedulerDidUpdateShadowTree(const std::unordered_map& tagToProps) = 0; + public virtual void schedulerShouldMergeReactRevision(facebook::react::SurfaceId surfaceId) = 0; + public virtual void schedulerShouldRenderTransactions(const std::shared_ptr& mountingCoordinator) = 0; + public virtual void schedulerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) = 0; + public virtual ~SchedulerDelegate() noexcept = default; +} + +class facebook::react::ScopedShadowTreeRevisionLock { + public ScopedShadowTreeRevisionLock(const facebook::react::ScopedShadowTreeRevisionLock&) = delete; + public ScopedShadowTreeRevisionLock(facebook::react::ScopedShadowTreeRevisionLock&&) = delete; + public ScopedShadowTreeRevisionLock(facebook::react::ShadowTreeRevisionConsistencyManager* consistencyManager) noexcept; + public facebook::react::ScopedShadowTreeRevisionLock& operator=(const facebook::react::ScopedShadowTreeRevisionLock&) = delete; + public facebook::react::ScopedShadowTreeRevisionLock& operator=(facebook::react::ScopedShadowTreeRevisionLock&&) = delete; + public ~ScopedShadowTreeRevisionLock() noexcept; +} + +class facebook::react::ScrollViewEventEmitter : public facebook::react::BaseViewEventEmitter { + public using EndDragMetrics = facebook::react::ScrollEndDragEvent; + public using Metrics = facebook::react::ScrollEvent; + public void onMomentumScrollBegin(const facebook::react::ScrollEvent& scrollEvent) const; + public void onMomentumScrollEnd(const facebook::react::ScrollEvent& scrollEvent) const; + public void onScroll(const facebook::react::ScrollEvent& scrollEvent) const; + public void onScrollBeginDrag(const facebook::react::ScrollEvent& scrollEvent) const; + public void onScrollEndDrag(const facebook::react::ScrollEndDragEvent& scrollEvent) const; + public void onScrollToTop(const facebook::react::ScrollEvent& scrollEvent) const; +} + +class facebook::react::ScrollViewMaintainVisibleContentPosition { + public bool operator==(const facebook::react::ScrollViewMaintainVisibleContentPosition& rhs) const = default; + public int minIndexForVisible; + public std::optional autoscrollToTopThreshold; +} + +class facebook::react::ScrollViewShadowNode : public facebook::react::ConcreteViewShadowNode { + public ScrollViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ScrollViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ScrollViewState initialStateData(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family, const facebook::react::ComponentDescriptor& componentDescriptor); + public virtual facebook::react::Point getContentOriginOffset(bool includeTransform) const override; + public virtual void layout(facebook::react::LayoutContext layoutContext) override; +} + +class facebook::react::ScrollViewState { + public ScrollViewState() = default; + public ScrollViewState(const facebook::react::ScrollViewState& previousState, folly::dynamic data); + public ScrollViewState(facebook::react::Point contentOffset, facebook::react::Rect contentBoundingRect, int scrollAwayPaddingTop); + public bool disableViewCulling; + public facebook::react::Point contentOffset; + public facebook::react::Rect contentBoundingRect; + public facebook::react::Size getContentSize() const; + public folly::dynamic getDynamic() const; + public int scrollAwayPaddingTop; +} + +class facebook::react::Sealable { + public bool getSealed() const; + public void ensureUnsealed() const; + public void seal() const; +} + +class facebook::react::SelectableParagraphComponentDescriptor : public facebook::react::BaseParagraphComponentDescriptor { + public SelectableParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); +} + +class facebook::react::SelectableParagraphShadowNode : public facebook::react::ParagraphShadowNode { + public SelectableParagraphShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public SelectableParagraphShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static constexpr facebook::react::ComponentName Name(); + public static facebook::react::ComponentHandle Handle(); +} + +class facebook::react::ShadowNode : public facebook::react::Sealable, public facebook::react::DebugStringConvertible, public facebook::jsi::NativeState { + protected facebook::react::Props::Shared props_; + protected facebook::react::ShadowNodeTraits traits_; + protected facebook::react::State::Shared state_; + protected int orderIndex_; + protected mutable std::weak_ptr runtimeShadowNodeReference_; + protected std::shared_ptr>> children_; + public ShadowNode(const facebook::react::ShadowNode& shadowNode) noexcept = delete; + public ShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ShadowNode(const facebook::react::ShadowNodeFragment& fragment, facebook::react::ShadowNodeFamily::Shared family, facebook::react::ShadowNodeTraits traits); + public bool getHasBeenPromoted() const; + public const facebook::react::ComponentDescriptor& getComponentDescriptor() const; + public const facebook::react::Props::Shared& getProps() const; + public const facebook::react::ShadowNodeFamily& getFamily() const; + public const facebook::react::SharedEventEmitter& getEventEmitter() const; + public const facebook::react::State::Shared& getState() const; + public const std::vector>& getChildren() const; + public facebook::jsi::Value getInstanceHandle(facebook::jsi::Runtime& runtime) const; + public facebook::react::ComponentHandle getComponentHandle() const; + public facebook::react::ComponentName getComponentName() const; + public facebook::react::ShadowNode& operator=(const facebook::react::ShadowNode& other) noexcept = delete; + public facebook::react::ShadowNodeFamily::Shared getFamilyShared() const; + public facebook::react::ShadowNodeTraits getTraits() const; + public facebook::react::State::Shared getMostRecentState() const; + public facebook::react::SurfaceId getSurfaceId() const; + public facebook::react::Tag getTag() const; + public int getOrderIndex() const; + public static bool getUseRuntimeShadowNodeReferenceUpdateOnThread(); + public static bool sameFamily(const facebook::react::ShadowNode& first, const facebook::react::ShadowNode& second); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public static std::shared_ptr>> emptySharedShadowNodeSharedList(); + public static void setUseRuntimeShadowNodeReferenceUpdateOnThread(bool isEnabled); + public std::shared_ptr getContextContainer() const; + public std::shared_ptr clone(const facebook::react::ShadowNodeFragment& fragment) const; + public std::shared_ptr cloneMultiple(const std::unordered_set>& familiesToUpdate, const std::function(const facebook::react::ShadowNode& oldShadowNode, const facebook::react::ShadowNodeFragment& fragment)>& callback) const; + public std::shared_ptr cloneTree(const facebook::react::ShadowNodeFamily& shadowNodeFamily, const std::function(const facebook::react::ShadowNode& oldShadowNode)>& callback) const; + public using AncestorList = std::vector, int>>; + public virtual void appendChild(const std::shared_ptr& child); + public virtual void completeClone(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public virtual void replaceChild(const facebook::react::ShadowNode& oldChild, const std::shared_ptr& newChild, size_t suggestedIndex = std::numeric_limits::max()); + public virtual ~ShadowNode() override = default; + public void sealRecursive() const; + public void setMounted(bool mounted) const; + public void setRuntimeShadowNodeReference(const std::shared_ptr& runtimeShadowNodeReference) const; + public void transferRuntimeShadowNodeReference(const std::shared_ptr& destinationShadowNode, const facebook::react::ShadowNodeFragment& fragment) const; + public void updateRuntimeShadowNodeReference(const std::shared_ptr& destinationShadowNode) const; +} + +class facebook::react::ShadowNodeFamily : public facebook::jsi::NativeState { + public ShadowNodeFamily(const facebook::react::ShadowNodeFamilyFragment& fragment, facebook::react::SharedEventEmitter eventEmitter, facebook::react::EventDispatcher::Weak eventDispatcher, const facebook::react::ComponentDescriptor& componentDescriptor); + public const facebook::react::ComponentDescriptor& getComponentDescriptor() const; + public facebook::jsi::Value getInstanceHandle(facebook::jsi::Runtime& runtime) const; + public facebook::react::ComponentHandle getComponentHandle() const; + public facebook::react::ComponentName getComponentName() const; + public facebook::react::InstanceHandle::Shared getInstanceHandle() const; + public facebook::react::ShadowNodeFamily::AncestorList getAncestors(const facebook::react::ShadowNode& ancestorShadowNode) const; + public facebook::react::SharedEventEmitter getEventEmitter() const; + public facebook::react::SurfaceId getSurfaceId() const; + public facebook::react::Tag getTag() const; + public mutable std::unique_ptr nativeProps_DEPRECATED; + public std::shared_ptr getMostRecentState() const; + public using AncestorList = std::vector, int>>; + public using Shared = std::shared_ptr; + public using Weak = std::weak_ptr; + public void dispatchRawState(facebook::react::StateUpdate&& stateUpdate, facebook::react::EventQueue::UpdateMode updateMode); + public void onUnmountedFamilyDestroyed(std::function callback); + public void setInstanceHandle(facebook::react::InstanceHandle::Shared& instanceHandle); + public void setMostRecentState(const std::shared_ptr& state); + public void setMounted(); + public void setParent(const facebook::react::ShadowNodeFamily::Shared& parent); + public ~ShadowNodeFamily(); +} + +class facebook::react::ShadowNodeTraits { + public bool check(facebook::react::ShadowNodeTraits::Trait traits) const; + public facebook::react::ShadowNodeTraits::Trait get() const; + public void set(facebook::react::ShadowNodeTraits::Trait trait); + public void unset(facebook::react::ShadowNodeTraits::Trait trait); +} + +enum facebook::react::ShadowNodeTraits::Trait : int32_t { + BaselineYogaNode, + ChildrenAreShared, + ChildrenFormStackingContext, + DirtyYogaNode, + ForceFlattenView, + FormsStackingContext, + FormsView, + Hidden, + KeyboardFocusable, + LeafYogaNode, + MeasurableYogaNode, + None, + RootNodeKind, + Unstable_uncullableTrace, + Unstable_uncullableView, + ViewKind, +} + +class facebook::react::ShadowTree { + public ShadowTree(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext, const facebook::react::ShadowTreeDelegate& delegate, const facebook::react::ContextContainer& contextContainer); + public facebook::react::CommitMode getCommitMode() const; + public facebook::react::CommitStatus commit(const facebook::react::ShadowTreeCommitTransaction& transaction, const facebook::react::ShadowTree::CommitOptions& commitOptions) const; + public facebook::react::CommitStatus tryCommit(const facebook::react::ShadowTreeCommitTransaction& transaction, const facebook::react::ShadowTree::CommitOptions& commitOptions) const; + public facebook::react::ShadowTreeRevision getCurrentRevision() const; + public facebook::react::SurfaceId getSurfaceId() const; + public std::optional getCurrentReactRevision() const; + public std::shared_ptr getMountingCoordinator() const; + public using CommitMode = facebook::react::ShadowTreeCommitMode; + public using CommitOptions = facebook::react::ShadowTreeCommitOptions; + public using CommitSource = facebook::react::ShadowTreeCommitSource; + public using CommitStatus = facebook::react::ShadowTreeCommitStatus; + public using Unique = std::unique_ptr; + public void commitEmptyTree() const; + public void mergeReactRevision() const; + public void notifyDelegatesOfUpdates() const; + public void promoteReactRevision() const; + public void setCommitMode(facebook::react::CommitMode commitMode) const; + public ~ShadowTree(); +} + +class facebook::react::ShadowTreeDelegate { + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions& commitOptions) const = 0; + public virtual void shadowTreeDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) const = 0; + public virtual void shadowTreeDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) const = 0; + public virtual void shadowTreeDidPromoteReactRevision(const facebook::react::ShadowTree& shadowTree) const = 0; + public virtual ~ShadowTreeDelegate() noexcept = default; +} + +class facebook::react::ShadowTreeRegistry { + public ShadowTreeRegistry() = default; + public bool visit(facebook::react::SurfaceId surfaceId, const std::function& callback) const; + public std::unique_ptr remove(facebook::react::SurfaceId surfaceId) const; + public void add(std::unique_ptr&& shadowTree) const; + public void enumerate(const std::function& callback) const; + public ~ShadowTreeRegistry(); +} + +class facebook::react::ShadowTreeRevision { + public facebook::react::RootShadowNode::Shared rootShadowNode; + public facebook::react::ShadowTreeRevision::Number number; + public facebook::react::TransactionTelemetry telemetry; + public using Number = int64_t; +} + +class facebook::react::ShadowTreeRevisionConsistencyManager { + public virtual void lockRevisions() = 0; + public virtual void unlockRevisions() = 0; + public virtual ~ShadowTreeRevisionConsistencyManager() = default; +} + +class facebook::react::ShadowTreeRevisionProvider { + public virtual facebook::react::RootShadowNode::Shared getCurrentRevision(facebook::react::SurfaceId surfaceId) = 0; + public virtual ~ShadowTreeRevisionProvider() = default; +} + +class facebook::react::SharedColor { + public SharedColor(); + public SharedColor(facebook::react::Color color); + public bool operator!=(const facebook::react::SharedColor& otherColor) const; + public bool operator==(const facebook::react::SharedColor& otherColor) const; + public const facebook::react::Color& operator*() const; + public facebook::react::Color& operator*(); + public operator bool() const; + public std::string toString() const noexcept; +} + +class facebook::react::SpringAnimationDriver : public facebook::react::AnimationDriver { + protected virtual bool update(double timeDeltaMs, bool restarting) override; + public SpringAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); +} + +class facebook::react::StackTraceParser { + public static std::vector parse(bool isHermes, const std::string& stackString); +} + +class facebook::react::State { + protected State(facebook::react::StateData::Shared data, const facebook::react::State& previousState); + protected State(facebook::react::StateData::Shared data, facebook::react::ShadowNodeFamily::Weak family); + protected const facebook::react::StateData::Shared& getDataPointer() const; + protected facebook::react::ShadowNodeFamily::Weak family_; + protected facebook::react::StateData::Shared data_; + protected mutable bool isObsolete_; + protected size_t revision_; + public facebook::react::State::Shared getMostRecentState() const; + public facebook::react::State::Shared getMostRecentStateIfObsolete() const; + public size_t getRevision() const; + public static constexpr size_t initialRevisionValue; + public using Shared = std::shared_ptr; + public virtual facebook::react::MapBuffer getMapBuffer() const = 0; + public virtual folly::dynamic getDynamic() const = 0; + public virtual jni::local_ref getJNIReference() const = 0; + public virtual void updateState(folly::dynamic&& data) const = 0; + public virtual ~State() = default; +} + +class facebook::react::StateUpdate { + public facebook::react::SharedShadowNodeFamily family; + public facebook::react::StateUpdate::Callback callback; + public using Callback = std::function; + public using FailureCallback = std::function; +} + +class facebook::react::StateWrapper : public jni::HybridClass { + public static constexpr char* const kJavaDescriptor; +} + +class facebook::react::StateWrapperImpl : public jni::HybridClass { + public jni::local_ref getStateMapBufferDataImpl(); + public jni::local_ref getStateDataImpl(); + public jni::local_ref getStateDataReferenceImpl(); + public static constexpr auto StateWrapperImplJavaDescriptor; + public static constexpr char* const kJavaDescriptor; + public static void registerNatives(); + public std::shared_ptr getState() const; + public void setState(std::shared_ptr state); + public void updateStateImpl(facebook::react::NativeMap* map); +} + +class facebook::react::StubView { + public StubView() = default; + public StubView(const facebook::react::StubView& stubView) = default; + public facebook::react::ComponentHandle componentHandle; + public facebook::react::ComponentName componentName; + public facebook::react::LayoutMetrics layoutMetrics; + public facebook::react::Props::Shared props; + public facebook::react::ShadowNodeTraits traits; + public facebook::react::SharedEventEmitter eventEmitter; + public facebook::react::State::Shared state; + public facebook::react::SurfaceId surfaceId; + public facebook::react::Tag parentTag; + public facebook::react::Tag tag; + public operator facebook::react::ShadowView() const; + public std::vector children; + public using Shared = std::shared_ptr; + public void update(const facebook::react::ShadowView& shadowView); +} + +class facebook::react::StubViewTree { + public StubViewTree() = default; + public StubViewTree(const facebook::react::ShadowView& shadowView); + public bool hasTag(facebook::react::Tag tag) const; + public const facebook::react::StubView& getRootStubView() const; + public const facebook::react::StubView& getStubView(facebook::react::Tag tag) const; + public size_t size() const; + public std::vector takeMountingLogs(); + public void dispatchCommand(const facebook::react::ShadowView& shadowView, const std::string& commandName, const folly::dynamic& args); + public void mutate(const facebook::react::ShadowViewMutationList& mutations); +} + +class facebook::react::StyleAnimatedNode : public facebook::react::AnimatedNode { + public StyleAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public bool isLayoutStyleUpdated() const noexcept; + public void collectViewUpdates(folly::dynamic& props); +} + +class facebook::react::SubtractionAnimatedNode : public facebook::react::OperatorAnimatedNode { + public SubtractionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::SurfaceHandler { + public SurfaceHandler(const facebook::react::SurfaceHandler& SurfaceHandler) noexcept = delete; + public SurfaceHandler(const std::string& moduleName, facebook::react::SurfaceId surfaceId) noexcept; + public SurfaceHandler(facebook::react::SurfaceHandler&& other) noexcept = delete; + public facebook::react::DisplayMode getDisplayMode() const noexcept; + public facebook::react::LayoutConstraints getLayoutConstraints() const noexcept; + public facebook::react::LayoutContext getLayoutContext() const noexcept; + public facebook::react::Size measure(const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; + public facebook::react::SurfaceHandler& operator=(const facebook::react::SurfaceHandler& other) noexcept = delete; + public facebook::react::SurfaceHandler& operator=(facebook::react::SurfaceHandler&& other) noexcept = delete; + public facebook::react::SurfaceHandler::Status getStatus() const noexcept; + public facebook::react::SurfaceId getSurfaceId() const noexcept; + public folly::dynamic getProps() const noexcept; + public std::shared_ptr getMountingCoordinator() const noexcept; + public std::string getModuleName() const noexcept; + public virtual void setDisplayMode(facebook::react::DisplayMode displayMode) const noexcept; + public virtual ~SurfaceHandler() noexcept; + public void constraintLayout(const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; + public void setContextContainer(std::shared_ptr contextContainer) const noexcept; + public void setProps(const folly::dynamic& props) const noexcept; + public void setSurfaceId(facebook::react::SurfaceId surfaceId) const noexcept; + public void start() const noexcept; + public void stop() const noexcept; +} + +enum facebook::react::SurfaceHandler::Status { + Registered, + Running, + Unregistered, +} + +class facebook::react::SurfaceHandlerBinding : public jni::HybridClass { + public SurfaceHandlerBinding(facebook::react::SurfaceId surfaceId, const std::string& moduleName); + public const facebook::react::SurfaceHandler& getSurfaceHandler(); + public jboolean isRunning(); + public jint getSurfaceId(); + public jni::local_ref getModuleName(); + public static constexpr char* const kJavaDescriptor; + public static void registerNatives(); + public void setDisplayMode(jint mode); + public void setLayoutConstraints(jfloat minWidth, jfloat maxWidth, jfloat minHeight, jfloat maxHeight, jfloat offsetX, jfloat offsetY, jboolean doLeftAndRightSwapInRTL, jboolean isRTL, jfloat pixelDensity, jfloat fontScale); + public void setProps(facebook::react::NativeMap* props); +} + +class facebook::react::SurfaceManager { + public SurfaceManager(const facebook::react::Scheduler& scheduler) noexcept; + public bool isSurfaceRunning(facebook::react::SurfaceId surfaceId) const noexcept; + public facebook::react::Size measureSurface(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const noexcept; + public std::optional getSurfaceProps(facebook::react::SurfaceId surfaceId) const noexcept; + public std::shared_ptr findMountingCoordinator(facebook::react::SurfaceId surfaceId) const noexcept; + public std::unordered_set getRunningSurfaces() const noexcept; + public void constraintSurfaceLayout(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const noexcept; + public void startSurface(facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& props, const facebook::react::LayoutConstraints& layoutConstraints = {}, const facebook::react::LayoutContext& layoutContext = {}) noexcept; + public void stopAllSurfaces() noexcept; + public void stopSurface(facebook::react::SurfaceId surfaceId) noexcept; + public ~SurfaceManager() noexcept; +} + +struct facebook::react::SurfaceManager::SurfaceProps { + public facebook::react::LayoutConstraints layoutConstraints; + public facebook::react::LayoutContext layoutContext; + public facebook::react::SurfaceId surfaceId; + public folly::dynamic props; + public std::string moduleName; +} + +class facebook::react::SurfaceTelemetry { + public facebook::react::TelemetryDuration getCommitTime() const; + public facebook::react::TelemetryDuration getDiffTime() const; + public facebook::react::TelemetryDuration getLayoutTime() const; + public facebook::react::TelemetryDuration getMountTime() const; + public facebook::react::TelemetryDuration getTextMeasureTime() const; + public int getLastRevisionNumber() const; + public int getNumberOfMutations() const; + public int getNumberOfTextMeasurements() const; + public int getNumberOfTransactions() const; + public static constexpr size_t kMaxNumberOfRecordedCommitTelemetries; + public std::vector getRecentTransactionTelemetries() const; + public void incorporate(const facebook::react::TransactionTelemetry& telemetry, int numberOfMutations); +} + +class facebook::react::SwitchComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public SwitchComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); + public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; +} + +class facebook::react::SwitchEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onChange(facebook::react::SwitchEventEmitter::OnChange value) const; +} + +struct facebook::react::SwitchEventEmitter::OnChange { + public bool value; + public int target; +} + +class facebook::react::SwitchProps : public facebook::react::HostPlatformViewProps { + public SwitchProps() = default; + public SwitchProps(const facebook::react::PropsParserContext& context, const facebook::react::SwitchProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool disabled; + public bool value; + public facebook::react::SharedColor onTintColor; + public facebook::react::SharedColor thumbColor; + public facebook::react::SharedColor thumbTintColor; + public facebook::react::SharedColor tintColor; + public facebook::react::SharedColor trackColorForFalse; + public facebook::react::SharedColor trackColorForTrue; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::SwitchShadowNode : public facebook::react::ConcreteViewShadowNode { + public SwitchShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public SwitchShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; +} + +class facebook::react::TaskPriorityComparer { + public bool operator()(const std::shared_ptr& lhs, const std::shared_ptr& rhs); +} + +class facebook::react::TelemetryController { + public bool pullTransaction(const facebook::react::MountingTransactionCallback& willMount, const facebook::react::MountingTransactionCallback& doMount, const facebook::react::MountingTransactionCallback& didMount) const; +} + +class facebook::react::TextAttributes : public facebook::react::DebugStringConvertible { + public bool operator==(const facebook::react::TextAttributes& rhs) const; + public facebook::react::Float fontSize; + public facebook::react::Float fontSizeMultiplier; + public facebook::react::Float letterSpacing; + public facebook::react::Float lineHeight; + public facebook::react::Float maxFontSizeMultiplier; + public facebook::react::Float opacity; + public facebook::react::Float textShadowRadius; + public facebook::react::SharedColor backgroundColor; + public facebook::react::SharedColor foregroundColor; + public facebook::react::SharedColor textDecorationColor; + public facebook::react::SharedColor textShadowColor; + public static facebook::react::TextAttributes defaultTextAttributes(); + public std::optional allowFontScaling; + public std::optional isHighlighted; + public std::optional isPressable; + public std::optional accessibilityRole; + public std::optional dynamicTypeRamp; + public std::optional fontStyle; + public std::optional fontVariant; + public std::optional fontWeight; + public std::optional layoutDirection; + public std::optional lineBreakMode; + public std::optional lineBreakStrategy; + public std::optional role; + public std::optional textShadowOffset; + public std::optional alignment; + public std::optional textDecorationLineType; + public std::optional textDecorationStyle; + public std::optional textTransform; + public std::optional baseWritingDirection; + public std::string fontFamily; + public void apply(facebook::react::TextAttributes textAttributes); +} + +class facebook::react::TextInputEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onBlur(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onContentSizeChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onEndEditing(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onFocus(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onKeyPress(const facebook::react::TextInputEventEmitter::KeyPressMetrics& keyPressMetrics) const; + public void onScroll(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onSelectionChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onSubmitEditing(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; +} + +struct facebook::react::TextInputEventEmitter::KeyPressMetrics { + public int eventCount; + public std::string text; +} + +struct facebook::react::TextInputEventEmitter::Metrics { + public facebook::react::AttributedString::Range selectionRange; + public facebook::react::EdgeInsets contentInset; + public facebook::react::Float zoomScale; + public facebook::react::Point contentOffset; + public facebook::react::Size containerSize; + public facebook::react::Size contentSize; + public facebook::react::Size layoutMeasurement; + public facebook::react::Tag target; + public int eventCount; + public std::string text; +} + +class facebook::react::TextInputState { + public TextInputState() = default; + public TextInputState(facebook::react::AttributedStringBox attributedStringBox, facebook::react::AttributedString reactTreeAttributedString, facebook::react::ParagraphAttributes paragraphAttributes, int64_t mostRecentEventCount); + public facebook::react::AttributedString reactTreeAttributedString; + public facebook::react::AttributedStringBox attributedStringBox; + public facebook::react::ParagraphAttributes paragraphAttributes; + public int64_t mostRecentEventCount; +} + +class facebook::react::TextLayoutManager { + public TextLayoutManager(const facebook::react::TextLayoutManager&) = delete; + public TextLayoutManager(const std::shared_ptr& contextContainer); + public TextLayoutManager(facebook::react::TextLayoutManager&&) = delete; + public facebook::react::LinesMeasurements measureLines(const facebook::react::AttributedStringBox& attributedStringBox, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::Size& size) const; + public facebook::react::TextLayoutManager& operator=(const facebook::react::TextLayoutManager&) = delete; + public facebook::react::TextLayoutManager& operator=(facebook::react::TextLayoutManager&&) = delete; + public facebook::react::TextLayoutManager::PreparedTextLayout prepareLayout(const facebook::react::AttributedString& attributedString, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public facebook::react::TextMeasurement measure(const facebook::react::AttributedStringBox& attributedStringBox, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public facebook::react::TextMeasurement measureCachedSpannableById(int64_t cacheId, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public facebook::react::TextMeasurement measurePreparedLayout(const facebook::react::TextLayoutManager::PreparedTextLayout& layout, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public using PreparedTextLayout = facebook::react::SafeReleaseJniRef>; +} + +class facebook::react::TextMeasureCacheKey { + public facebook::react::AttributedString attributedString; + public facebook::react::LayoutConstraints layoutConstraints; + public facebook::react::ParagraphAttributes paragraphAttributes; +} + +class facebook::react::TextMeasurement { + public facebook::react::Size size; + public facebook::react::TextMeasurement::Attachments attachments; + public using Attachments = std::vector; +} + +class facebook::react::TextMeasurement::Attachment { + public bool isClipped; + public facebook::react::Rect frame; +} + +class facebook::react::TextProps : public facebook::react::Props, public facebook::react::BaseTextProps { + public TextProps() = default; + public TextProps(const facebook::react::PropsParserContext& context, const facebook::react::TextProps& sourceProps, const facebook::react::RawProps& rawProps); + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::TextShadowNode : public facebook::react::ConcreteShadowNode, public facebook::react::BaseTextShadowNode { + public TextShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public using BaseShadowNode = facebook::react::ConcreteShadowNode; +} + +class facebook::react::TimerManager { + public TimerManager(const facebook::react::TimerManager&) = delete; + public TimerManager(facebook::react::TimerManager&&) = delete; + public TimerManager(std::unique_ptr platformTimerRegistry) noexcept; + public facebook::react::TimerManager& operator=(const facebook::react::TimerManager&) = delete; + public facebook::react::TimerManager& operator=(facebook::react::TimerManager&&) = delete; + public void attachGlobals(facebook::jsi::Runtime& runtime); + public void callTimer(facebook::react::TimerHandle handle); + public void quit(); + public void setRuntimeExecutor(facebook::react::RuntimeExecutor runtimeExecutor) noexcept; + public ~TimerManager() noexcept; +} + +class facebook::react::TouchEventEmitter : public facebook::react::EventEmitter { + public TouchEventEmitter(facebook::react::SharedEventTarget eventTarget, facebook::react::EventDispatcher::Weak eventDispatcher); + public void onClick(facebook::react::PointerEvent event) const; + public void onGotPointerCapture(facebook::react::PointerEvent event) const; + public void onLostPointerCapture(facebook::react::PointerEvent event) const; + public void onPointerCancel(facebook::react::PointerEvent event) const; + public void onPointerDown(facebook::react::PointerEvent event) const; + public void onPointerEnter(facebook::react::PointerEvent event) const; + public void onPointerLeave(facebook::react::PointerEvent event) const; + public void onPointerMove(facebook::react::PointerEvent event) const; + public void onPointerOut(facebook::react::PointerEvent event) const; + public void onPointerOver(facebook::react::PointerEvent event) const; + public void onPointerUp(facebook::react::PointerEvent event) const; + public void onTouchCancel(facebook::react::TouchEvent event) const; + public void onTouchEnd(facebook::react::TouchEvent event) const; + public void onTouchMove(facebook::react::TouchEvent event) const; + public void onTouchStart(facebook::react::TouchEvent event) const; +} + +class facebook::react::TracingDelegate : public facebook::react::jsinspector_modern::HostTargetTracingDelegate { + public TracingState getTracingState(); + public size_t registerTracingStateListener(facebook::react::TracingStateListener listener); + public virtual void onTracingStarted(facebook::react::jsinspector_modern::tracing::Mode, bool) override; + public virtual void onTracingStopped() override; + public void unregisterTracingStateListener(size_t subscriptionId); +} + +class facebook::react::TracingStateCallback : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; + public void onTracingStateChanged(bool isTracing) const; +} + +class facebook::react::TrackingAnimatedNode : public facebook::react::AnimatedNode { + public TrackingAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::TransactionTelemetry { + public TransactionTelemetry(); + public TransactionTelemetry(std::function now); + public facebook::react::TelemetryDuration getTextMeasureTime() const; + public facebook::react::TelemetryTimePoint getCommitEndTime() const; + public facebook::react::TelemetryTimePoint getCommitStartTime() const; + public facebook::react::TelemetryTimePoint getDiffEndTime() const; + public facebook::react::TelemetryTimePoint getDiffStartTime() const; + public facebook::react::TelemetryTimePoint getLayoutEndTime() const; + public facebook::react::TelemetryTimePoint getLayoutStartTime() const; + public facebook::react::TelemetryTimePoint getMountEndTime() const; + public facebook::react::TelemetryTimePoint getMountStartTime() const; + public int getAffectedLayoutNodesCount() const; + public int getNumberOfTextMeasurements() const; + public int getRevisionNumber() const; + public static facebook::react::TransactionTelemetry* threadLocalTelemetry(); + public void didCommit(); + public void didDiff(); + public void didLayout(); + public void didLayout(int affectedLayoutNodesCount); + public void didMeasureText(); + public void didMount(); + public void setAsThreadLocal(); + public void setRevisionNumber(int revisionNumber); + public void unsetAsThreadLocal(); + public void willCommit(); + public void willDiff(); + public void willLayout(); + public void willMeasureText(); + public void willMount(); +} + +class facebook::react::TransformAnimatedNode : public facebook::react::AnimatedNode { + public TransformAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public void collectViewUpdates(folly::dynamic& props); +} + +class facebook::react::TransformHelper : public facebook::jni::JavaClass { + public static constexpr auto * kJavaDescriptor; + public static void registerNatives(); +} + +class facebook::react::TurboModule : public facebook::jsi::HostObject { + protected const std::string name_; + protected std::shared_ptr jsInvoker_; + protected std::unordered_map methodMap_; + protected std::unordered_map> eventEmitterMap_; + protected using ArgFactory = std::function& args)>; + protected virtual facebook::jsi::Value create(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& propName); + protected void emitDeviceEvent(const std::string& eventName, facebook::react::TurboModule::ArgFactory&& argFactory = nullptr); + protected void emitDeviceEvent(facebook::jsi::Runtime&, const std::string& eventName, facebook::react::TurboModule::ArgFactory&& argFactory = nullptr); + public TurboModule(std::string name, std::shared_ptr jsInvoker); + public virtual facebook::jsi::Value get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& propName) override; + public virtual std::vector getPropertyNames(facebook::jsi::Runtime& runtime) override; +} + +struct facebook::react::TurboModule::MethodMetadata { + public facebook::jsi::Value(*invoker)(facebook::jsi::Runtime &rt, facebook::react::TurboModule &turboModule, const facebook::jsi::Value *args, size_t count); + public size_t argCount; +} + +class facebook::react::TurboModuleBinding { + public static void install(facebook::jsi::Runtime& runtime, TurboModuleProviderFunctionType&& moduleProvider, TurboModuleProviderFunctionType&& legacyModuleProvider = nullptr, std::shared_ptr longLivedObjectCollection = nullptr); + public static void install(facebook::jsi::Runtime& runtime, facebook::react::TurboModuleProviderFunctionTypeWithRuntime&& moduleProvider, facebook::react::TurboModuleProviderFunctionTypeWithRuntime&& legacyModuleProvider = nullptr, std::shared_ptr longLivedObjectCollection = nullptr); + public ~TurboModuleBinding(); +} + +class facebook::react::TurboModuleManager : public jni::HybridClass { + public static constexpr auto kJavaDescriptor; + public static jni::local_ref initHybrid(jni::alias_ref, jni::alias_ref jsCallInvokerHolder, jni::alias_ref nativeMethodCallInvokerHolder, jni::alias_ref delegate); + public static void registerNatives(); +} + +class facebook::react::TurboModuleManagerDelegate : public jni::HybridClass { + public static constexpr auto kJavaDescriptor; + public virtual std::shared_ptr getTurboModule(const std::string& name, const facebook::react::JavaTurboModule::InitParams& params) = 0; + public virtual std::shared_ptr getTurboModule(const std::string& name, const std::shared_ptr& jsInvoker) = 0; +} + +class facebook::react::TurboModuleWithJSIBindings { + public static void installJSIBindings(const std::shared_ptr& cxxModule, facebook::jsi::Runtime& runtime); + public virtual ~TurboModuleWithJSIBindings() = default; +} + +class facebook::react::UIConstantsProviderBinding : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; + public static void install(jni::alias_ref, jni::alias_ref runtimeExecutor, jni::alias_ref defaultExportableEventTypesProvider, jni::alias_ref constantsForViewManagerProvider, jni::alias_ref constantsProvider); + public static void registerNatives(); +} + +class facebook::react::UIManager : public facebook::react::ShadowTreeDelegate { + public UIManager(const facebook::react::RuntimeExecutor& runtimeExecutor, std::shared_ptr contextContainer); + public const facebook::react::ShadowTreeRegistry& getShadowTreeRegistry() const; + public facebook::react::LayoutMetrics getRelativeLayoutMetrics(const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode* ancestorShadowNode, facebook::react::LayoutableShadowNode::LayoutInspectingPolicy policy) const; + public facebook::react::ShadowTree::Unique stopSurface(facebook::react::SurfaceId surfaceId) const; + public facebook::react::ShadowTreeRevisionConsistencyManager* getShadowTreeRevisionConsistencyManager(); + public facebook::react::ShadowTreeRevisionProvider* getShadowTreeRevisionProvider(); + public facebook::react::UIManagerDelegate* getDelegate(); + public facebook::react::UIManagerViewTransitionDelegate* getViewTransitionDelegate() const; + public std::shared_ptr getContextContainer() const; + public std::shared_ptr findNodeAtPoint(const std::shared_ptr& shadowNode, facebook::react::Point point) const; + public std::shared_ptr findShadowNodeByTag_DEPRECATED(facebook::react::Tag tag) const; + public std::shared_ptr getNewestCloneOfShadowNode(const facebook::react::ShadowNode& shadowNode) const; + public std::shared_ptr cloneNode(const facebook::react::ShadowNode& shadowNode, const std::shared_ptr>>& children, facebook::react::RawProps rawProps) const; + public std::shared_ptr createNode(facebook::react::Tag tag, const std::string& componentName, facebook::react::SurfaceId surfaceId, facebook::react::RawProps props, facebook::react::InstanceHandle::Shared instanceHandle) const; + public std::weak_ptr unstable_getAnimationBackend(); + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTree::CommitOptions& commitOptions) const override; + public virtual void shadowTreeDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) const override; + public virtual void shadowTreeDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) const override; + public virtual void shadowTreeDidPromoteReactRevision(const facebook::react::ShadowTree& shadowTree) const override; + public void addEventListener(std::shared_ptr listener); + public void animationTick() const; + public void appendChild(const std::shared_ptr& parentShadowNode, const std::shared_ptr& childShadowNode) const; + public void completeSurface(facebook::react::SurfaceId surfaceId, const std::shared_ptr>>& rootChildren, facebook::react::ShadowTree::CommitOptions commitOptions); + public void dispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) const; + public void registerCommitHook(facebook::react::UIManagerCommitHook& commitHook); + public void registerMountHook(facebook::react::UIManagerMountHook& mountHook); + public void removeEventListener(const std::shared_ptr& listener); + public void reportMount(facebook::react::SurfaceId surfaceId) const; + public void sendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType); + public void setAnimationDelegate(facebook::react::UIManagerAnimationDelegate* delegate); + public void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry); + public void setDelegate(facebook::react::UIManagerDelegate* delegate); + public void setIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) const; + public void setNativeAnimatedDelegate(std::weak_ptr delegate); + public void setNativeProps_DEPRECATED(const std::shared_ptr& shadowNode, facebook::react::RawProps rawProps) const; + public void setOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback); + public void setSurfaceProps(facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& props, facebook::react::DisplayMode displayMode) const noexcept; + public void setViewTransitionDelegate(facebook::react::UIManagerViewTransitionDelegate* delegate); + public void startEmptySurface(facebook::react::ShadowTree::Unique&& shadowTree) const noexcept; + public void startSurface(facebook::react::ShadowTree::Unique&& shadowTree, const std::string& moduleName, const folly::dynamic& props, facebook::react::DisplayMode displayMode) const noexcept; + public void stopSurfaceForAnimationDelegate(facebook::react::SurfaceId surfaceId) const; + public void synchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props); + public void unregisterCommitHook(facebook::react::UIManagerCommitHook& commitHook); + public void unregisterMountHook(facebook::react::UIManagerMountHook& mountHook); + public void unstable_setAnimationBackend(std::shared_ptr animationBackend); + public void updateShadowTree(std::unordered_map&& tagToProps); + public void updateState(const facebook::react::StateUpdate& stateUpdate) const; + public void visitBinding(const std::function& callback, facebook::jsi::Runtime& runtime) const; + public ~UIManager() override; +} + +class facebook::react::UIManagerAnimationBackend { + public using Callback = std::function; + public virtual facebook::react::CallbackId start(const facebook::react::UIManagerAnimationBackend::Callback& callback) = 0; + public virtual void clearRegistry(facebook::react::SurfaceId surfaceId) = 0; + public virtual void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) = 0; + public virtual void registerJSInvoker(std::shared_ptr jsInvoker) = 0; + public virtual void stop(facebook::react::CallbackId callbackId) = 0; + public virtual void trigger() = 0; + public virtual ~UIManagerAnimationBackend() = default; +} + +class facebook::react::UIManagerAnimationDelegate { + public virtual bool shouldAnimateFrame() const = 0; + public virtual void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry) = 0; + public virtual void stopSurface(facebook::react::SurfaceId surfaceId) = 0; + public virtual void uiManagerDidConfigureNextLayoutAnimation(facebook::jsi::Runtime& runtime, const facebook::react::RawValue& config, const facebook::jsi::Value& successCallback, const facebook::jsi::Value& failureCallback) const = 0; + public virtual ~UIManagerAnimationDelegate() = default; +} + +class facebook::react::UIManagerBinding : public facebook::jsi::HostObject { + public UIManagerBinding(std::shared_ptr uiManager); + public facebook::react::PointerEventsProcessor& getPointerEventsProcessor(); + public facebook::react::UIManager& getUIManager(); + public static std::shared_ptr getBinding(facebook::jsi::Runtime& runtime); + public static void createAndInstallIfNeeded(facebook::jsi::Runtime& runtime, const std::shared_ptr& uiManager); + public virtual facebook::jsi::Value get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) override; + public void dispatchEvent(facebook::jsi::Runtime& runtime, facebook::react::EventTarget* eventTarget, const std::string& type, facebook::react::ReactEventPriority priority, const facebook::react::EventPayload& payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void invalidate() const; + public ~UIManagerBinding() override; +} + +class facebook::react::UIManagerCommitHook { + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions&) noexcept; + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree&, const facebook::react::RootShadowNode::Shared&, const facebook::react::RootShadowNode::Unshared& newRootShadowNode) noexcept; + public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept = 0; + public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept = 0; + public virtual ~UIManagerCommitHook() noexcept = default; +} + +class facebook::react::UIManagerDelegate { + public using OnSurfaceStartCallback = std::function; + public virtual void uiManagerDidCreateShadowNode(const facebook::react::ShadowNode& shadowNode) = 0; + public virtual void uiManagerDidDispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) = 0; + public virtual void uiManagerDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) = 0; + public virtual void uiManagerDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) = 0; + public virtual void uiManagerDidPromoteReactRevision(const facebook::react::ShadowTree& shadowTree) = 0; + public virtual void uiManagerDidSendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType) = 0; + public virtual void uiManagerDidSetIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) = 0; + public virtual void uiManagerDidStartSurface(const facebook::react::ShadowTree& shadowTree) = 0; + public virtual void uiManagerDidUpdateShadowTree(const std::unordered_map& tagToProps) = 0; + public virtual void uiManagerShouldAddEventListener(std::shared_ptr listener) = 0; + public virtual void uiManagerShouldRemoveEventListener(const std::shared_ptr& listener) = 0; + public virtual void uiManagerShouldSetOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback) = 0; + public virtual void uiManagerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) = 0; + public virtual ~UIManagerDelegate() noexcept = default; +} + +class facebook::react::UIManagerMountHook { + public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp mountTime) noexcept = 0; + public virtual void shadowTreeDidUnmount(facebook::react::SurfaceId, facebook::react::HighResTimeStamp) noexcept; + public virtual ~UIManagerMountHook() noexcept = default; +} + +class facebook::react::UIManagerNativeAnimatedDelegate { + public virtual void runAnimationFrame() = 0; + public virtual ~UIManagerNativeAnimatedDelegate() = default; +} + +class facebook::react::UIManagerNativeAnimatedDelegateImpl : public facebook::react::UIManagerNativeAnimatedDelegate { + public UIManagerNativeAnimatedDelegateImpl(std::weak_ptr manager); + public virtual void runAnimationFrame() override; +} + +class facebook::react::UIManagerViewTransitionDelegate { + public virtual std::optional getViewTransitionInstance(const std::string& name, const std::string& pseudo); + public virtual void applyViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name, const std::string& className); + public virtual void cancelViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name); + public virtual void restoreViewTransitionName(const facebook::react::ShadowNode& shadowNode); + public virtual void startViewTransition(std::function mutationCallback, std::function onReadyCallback, std::function onCompleteCallback); + public virtual void startViewTransitionEnd(); + public virtual ~UIManagerViewTransitionDelegate() = default; +} + +struct facebook::react::UIManagerViewTransitionDelegate::ViewTransitionInstance { + public facebook::react::Float height; + public facebook::react::Float width; + public facebook::react::Float x; + public facebook::react::Float y; + public facebook::react::Tag nativeTag; +} + +class facebook::react::UnimplementedNativeViewEventEmitter : public facebook::react::BaseViewEventEmitter { +} + +class facebook::react::UnimplementedNativeViewProps : public facebook::react::HostPlatformViewProps { + public UnimplementedNativeViewProps() = default; + public UnimplementedNativeViewProps(const facebook::react::PropsParserContext& context, const facebook::react::UnimplementedNativeViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public std::string name; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::UnimplementedViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public UnimplementedViewComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public virtual facebook::react::ComponentHandle getComponentHandle() const override; + public virtual facebook::react::ComponentName getComponentName() const override; + public virtual facebook::react::Props::Shared cloneProps(const facebook::react::PropsParserContext& context, const facebook::react::Props::Shared& props, facebook::react::RawProps rawProps) const override; +} + +class facebook::react::UnimplementedViewProps : public facebook::react::HostPlatformViewProps { + public facebook::react::ComponentName getComponentName() const; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; + public void setComponentName(facebook::react::ComponentName componentName); +} + +class facebook::react::UnstableLegacyViewManagerAutomaticComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public UnstableLegacyViewManagerAutomaticComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public UnstableLegacyViewManagerAutomaticComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, std::string legacyComponentName); + public virtual facebook::react::ComponentHandle getComponentHandle() const override; + public virtual facebook::react::ComponentName getComponentName() const override; +} + +class facebook::react::ValueAnimatedNode : public facebook::react::AnimatedNode { + protected bool isColorValue_; + public ValueAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public bool getIsColorValue() const noexcept; + public bool setOffset(double offset) noexcept; + public bool setRawValue(double value) noexcept; + public double getOffset() const noexcept; + public double getRawValue() const noexcept; + public double getValue() const noexcept; + public void extractOffset() noexcept; + public void flattenOffset() noexcept; + public void setValueListener(facebook::react::ValueListenerCallback&& callback) noexcept; +} + +class facebook::react::ValueFactoryEventPayload : public facebook::react::EventPayload { + public ValueFactoryEventPayload(facebook::react::ValueFactory factory); + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; + public virtual facebook::react::EventPayloadType getType() const override; +} + +class facebook::react::ViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public ViewComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); +} + +class facebook::react::ViewShadowNode : public facebook::react::ConcreteViewShadowNode { + public ViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); +} + +class facebook::react::ViewShadowNodeProps : public facebook::react::HostPlatformViewProps { + public ViewShadowNodeProps() = default; + public ViewShadowNodeProps(const facebook::react::PropsParserContext& context, const facebook::react::ViewShadowNodeProps& sourceProps, const facebook::react::RawProps& rawProps); +} + +class facebook::react::ViewTransitionModule : public facebook::react::UIManagerViewTransitionDelegate { + public virtual std::optional getViewTransitionInstance(const std::string& name, const std::string& pseudo) override; + public virtual void applyViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name, const std::string& className) override; + public virtual void cancelViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name) override; + public virtual void restoreViewTransitionName(const facebook::react::ShadowNode& shadowNode) override; + public virtual void startViewTransition(std::function mutationCallback, std::function onReadyCallback, std::function onCompleteCallback) override; + public virtual void startViewTransitionEnd() override; + public void setUIManager(facebook::react::UIManager* uiManager); + public ~ViewTransitionModule() override = default; +} + +struct facebook::react::ViewTransitionModule::AnimationKeyFrameView { + public facebook::react::SurfaceId surfaceId; + public facebook::react::Tag tag; + public facebook::react::ViewTransitionModule::AnimationKeyFrameViewLayoutMetrics layoutMetrics; +} + +struct facebook::react::ViewTransitionModule::AnimationKeyFrameViewLayoutMetrics { + public facebook::react::Float pointScaleFactor; + public facebook::react::Point originFromRoot; + public facebook::react::Size size; +} + +class facebook::react::VirtualViewEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onModeChange(facebook::react::VirtualViewEventEmitter::OnModeChange value) const; +} + +struct facebook::react::VirtualViewEventEmitter::OnModeChange { + public facebook::react::VirtualViewEventEmitter::OnModeChangeTargetRect targetRect; + public facebook::react::VirtualViewEventEmitter::OnModeChangeThresholdRect thresholdRect; + public int mode; +} + +struct facebook::react::VirtualViewEventEmitter::OnModeChangeTargetRect { + public double height; + public double width; + public double x; + public double y; +} + +struct facebook::react::VirtualViewEventEmitter::OnModeChangeThresholdRect { + public double height; + public double width; + public double x; + public double y; +} + +class facebook::react::VirtualViewExperimentalEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onModeChange(facebook::react::VirtualViewExperimentalEventEmitter::OnModeChange value) const; +} + +struct facebook::react::VirtualViewExperimentalEventEmitter::OnModeChange { + public facebook::react::VirtualViewExperimentalEventEmitter::OnModeChangeTargetRect targetRect; + public facebook::react::VirtualViewExperimentalEventEmitter::OnModeChangeThresholdRect thresholdRect; + public int mode; +} + +struct facebook::react::VirtualViewExperimentalEventEmitter::OnModeChangeTargetRect { + public double height; + public double width; + public double x; + public double y; +} + +struct facebook::react::VirtualViewExperimentalEventEmitter::OnModeChangeThresholdRect { + public double height; + public double width; + public double x; + public double y; +} + +class facebook::react::VirtualViewExperimentalProps : public facebook::react::HostPlatformViewProps { + public VirtualViewExperimentalProps() = default; + public VirtualViewExperimentalProps(const facebook::react::PropsParserContext& context, const facebook::react::VirtualViewExperimentalProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool initialHidden; + public bool removeClippedSubviews; + public int renderState; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::VirtualViewProps : public facebook::react::HostPlatformViewProps { + public VirtualViewProps() = default; + public VirtualViewProps(const facebook::react::PropsParserContext& context, const facebook::react::VirtualViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool initialHidden; + public bool removeClippedSubviews; + public int renderState; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::VirtualViewShadowNode : public facebook::react::ConcreteViewShadowNode { + public VirtualViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public VirtualViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); +} + +class facebook::react::WeakFamilyRegistry { + public facebook::react::WeakFamilyRegistry::WeakFamilies weakFamiliesForSurfaceId(facebook::react::SurfaceId surfaceId) const; + public using WeakFamilies = std::vector; + public void add(const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily) const; + public void removeFamiliesWithSurfaceId(facebook::react::SurfaceId surfaceId) const; +} + +class facebook::react::YogaLayoutableShadowNode : public facebook::react::LayoutableShadowNode { + protected facebook::yoga::Config yogaConfig_; + protected mutable facebook::yoga::Node yogaNode_; + protected virtual bool shouldNewRevisionDirtyMeasurement(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) const; + public YogaLayoutableShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public YogaLayoutableShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public facebook::react::Rect getContentBounds() const; + public using ListOfShared = std::vector; + public using Shared = std::shared_ptr; + public virtual bool getIsLayoutClean() const override; + public virtual void appendChild(const std::shared_ptr& child) override; + public virtual void completeClone(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) override; + public virtual void dirtyLayout() override; + public virtual void layout(facebook::react::LayoutContext layoutContext) override; + public virtual void layoutTree(facebook::react::LayoutContext layoutContext, facebook::react::LayoutConstraints layoutConstraints) override; + public virtual void replaceChild(const facebook::react::ShadowNode& oldChild, const std::shared_ptr& newChild, size_t suggestedIndex = SIZE_MAX) override; + public void enableMeasurement(); + public void setPadding(facebook::react::RectangleEdges padding) const; + public void setPositionType(YGPositionType positionType) const; + public void setSize(facebook::react::Size size) const; + public void updateYogaChildren(); + public void updateYogaProps(); +} + +class facebook::react::YogaStylableProps : public facebook::react::Props { + public YogaStylableProps() = default; + public YogaStylableProps(const facebook::react::PropsParserContext& context, const facebook::react::YogaStylableProps& sourceProps, const facebook::react::RawProps& rawProps, const std::function& filterObjectKeys = nullptr); + public facebook::yoga::Style yogaStyle; + public facebook::yoga::Style::Length insetBlockEnd; + public facebook::yoga::Style::Length insetBlockStart; + public facebook::yoga::Style::Length insetInlineEnd; + public facebook::yoga::Style::Length insetInlineStart; + public facebook::yoga::Style::Length marginBlock; + public facebook::yoga::Style::Length marginBlockEnd; + public facebook::yoga::Style::Length marginBlockStart; + public facebook::yoga::Style::Length marginInline; + public facebook::yoga::Style::Length marginInlineEnd; + public facebook::yoga::Style::Length marginInlineStart; + public facebook::yoga::Style::Length paddingBlock; + public facebook::yoga::Style::Length paddingBlockEnd; + public facebook::yoga::Style::Length paddingBlockStart; + public facebook::yoga::Style::Length paddingInline; + public facebook::yoga::Style::Length paddingInlineEnd; + public facebook::yoga::Style::Length paddingInlineStart; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +enum facebook::react::AccessibilityLiveRegion : uint8_t { + Assertive, + None, + Polite, +} + +enum facebook::react::AccessibilityRole : uint8_t { + Adjustable, + Alert, + Button, + Checkbox, + Combobox, + Drawerlayout, + Dropdownlist, + Grid, + Header, + Horizontalscrollview, + Iconmenu, + Image, + Imagebutton, + Keyboardkey, + Link, + List, + Menu, + Menubar, + Menuitem, + None, + Pager, + Progressbar, + Radio, + Radiogroup, + Scrollbar, + Scrollview, + Search, + Slidingdrawer, + Spinbutton, + Summary, + Switch, + Tab, + Tabbar, + Tablist, + Text, + Timer, + Togglebutton, + Toolbar, + Viewgroup, + Webview, +} + +enum facebook::react::AccessibilityTraits : uint32_t { + Adjustable, + AllowsDirectInteraction, + Button, + CausesPageTurn, + Header, + Image, + KeyboardKey, + Link, + None, + NotEnabled, + PlaysSound, + SearchField, + Selected, + StartsMediaSession, + StaticText, + SummaryElement, + Switch, + TabBar, + UpdatesFrequently, +} + +enum facebook::react::ActivityIndicatorViewSize { + Large, + Small, +} + +enum facebook::react::AndroidDrawerLayoutDrawerLockMode { + LockedClosed, + LockedOpen, + Unlocked, +} + +enum facebook::react::AndroidDrawerLayoutDrawerPosition { + Left, + Right, +} + +enum facebook::react::AndroidDrawerLayoutKeyboardDismissMode { + None, + OnDrag, +} + +enum facebook::react::AndroidSwipeRefreshLayoutSize { + Default, + Large, +} + +enum facebook::react::AnimatedNodeType { + Addition, + Color, + Diffclamp, + Division, + Interpolation, + Modulus, + Multiplication, + Object, + Props, + Round, + Style, + Subtraction, + Tracking, + Transform, + Value, +} + +enum facebook::react::AnimationConfigurationType { + Create, + Delete, + Update, +} + +enum facebook::react::AnimationDriverType { + Decay, + Frames, + Spring, +} + +enum facebook::react::AnimationProperty { + NotApplicable, + Opacity, + ScaleX, + ScaleXY, + ScaleY, +} + +enum facebook::react::AnimationType { + EaseIn, + EaseInEaseOut, + EaseOut, + Keyboard, + Linear, + None, + Spring, +} + +enum facebook::react::BackfaceVisibility : uint8_t { + Auto, + Hidden, + Visible, +} + +enum facebook::react::BackgroundRepeatStyle { + NoRepeat, + Repeat, + Round, + Space, +} + +enum facebook::react::BackgroundSizeKeyword { + Contain, + Cover, +} + +enum facebook::react::BlendMode { + Color, + ColorBurn, + ColorDodge, + Darken, + Difference, + Exclusion, + HardLight, + Hue, + Lighten, + Luminosity, + Multiply, + Normal, + Overlay, + Saturation, + Screen, + SoftLight, +} + +enum facebook::react::BorderCurve : uint8_t { + Circular, + Continuous, +} + +enum facebook::react::BorderStyle : uint8_t { + Dashed, + Dotted, + Solid, +} + +enum facebook::react::CSSAngleUnit : uint8_t { + Deg, + Grad, + Rad, + Turn, +} + +enum facebook::react::CSSDelimiter { + Comma, + CommaOrWhitespace, + None, + OptionalWhitespace, + Solidus, + SolidusOrWhitespace, + Whitespace, +} + +enum facebook::react::CSSFontVariant : std::underlying_type_t { + CommonLigatures, + Contextual, + DiscretionaryLigatures, + HistoricalLigatures, + LiningNums, + NoCommonLigatures, + NoContextual, + NoDiscretionaryLigatures, + NoHistoricalLigatures, + OldstyleNums, + ProportionalNums, + SmallCaps, + StylisticEight, + StylisticEighteen, + StylisticEleven, + StylisticFifteen, + StylisticFive, + StylisticFour, + StylisticFourteen, + StylisticNine, + StylisticNineteen, + StylisticOne, + StylisticSeven, + StylisticSeventeen, + StylisticSix, + StylisticSixteen, + StylisticTen, + StylisticThirteen, + StylisticThree, + StylisticTwelve, + StylisticTwenty, + StylisticTwo, + TabularNums, +} + +enum facebook::react::CSSGradientAtKeyword : std::underlying_type_t { + At, +} + +enum facebook::react::CSSGradientDirectionKeyword : std::underlying_type_t { + Bottom, + Left, + Right, + Top, +} + +enum facebook::react::CSSGradientPositionKeyword : std::underlying_type_t { + Bottom, + Center, + Left, + Right, + Top, +} + +enum facebook::react::CSSGradientToKeyword : std::underlying_type_t { + To, +} + +enum facebook::react::CSSInsetShadowKeyword : std::underlying_type_t { + Inset, +} + +enum facebook::react::CSSKeyword : uint8_t { + Absolute, + At, + Auto, + Baseline, + Block, + Bottom, + Center, + Clip, + Column, + ColumnReverse, + CommonLigatures, + Content, + Contents, + Contextual, + Dashed, + DiscretionaryLigatures, + Dotted, + Double, + End, + Fixed, + Flex, + FlexEnd, + FlexStart, + Grid, + Groove, + Hidden, + HistoricalLigatures, + Inherit, + Initial, + Inline, + InlineBlock, + InlineFlex, + InlineGrid, + Inset, + Left, + LiningNums, + Ltr, + MaxContent, + Medium, + MinContent, + NoCommonLigatures, + NoContextual, + NoDiscretionaryLigatures, + NoHistoricalLigatures, + NoWrap, + None, + Normal, + OldstyleNums, + Outset, + ProportionalNums, + Relative, + Ridge, + Right, + Row, + RowReverse, + Rtl, + Scroll, + SmallCaps, + Solid, + SpaceAround, + SpaceBetween, + SpaceEvenly, + Start, + Static, + Sticky, + Stretch, + StylisticEight, + StylisticEighteen, + StylisticEleven, + StylisticFifteen, + StylisticFive, + StylisticFour, + StylisticFourteen, + StylisticNine, + StylisticNineteen, + StylisticOne, + StylisticSeven, + StylisticSeventeen, + StylisticSix, + StylisticSixteen, + StylisticTen, + StylisticThirteen, + StylisticThree, + StylisticTwelve, + StylisticTwenty, + StylisticTwo, + TabularNums, + Thick, + Thin, + To, + Top, + Unset, + Visible, + Wrap, + WrapReverse, +} + +enum facebook::react::CSSLengthUnit : uint8_t { + Cap, + Ch, + Cm, + Dvb, + Dvh, + Dvi, + Dvmax, + Dvmin, + Dvw, + Em, + Ex, + Ic, + In, + Lh, + Lvb, + Lvh, + Lvi, + Lvmax, + Lvmin, + Lvw, + Mm, + Pc, + Pt, + Px, + Q, + Rcap, + Rch, + Rem, + Rex, + Ric, + Rlh, + Svb, + Svh, + Svi, + Svmax, + Svmin, + Svw, + Vb, + Vh, + Vi, + Vmax, + Vmin, + Vw, +} + +enum facebook::react::CSSLinearGradientDirectionKeyword : uint8_t { + ToBottomLeft, + ToBottomRight, + ToTopLeft, + ToTopRight, +} + +enum facebook::react::CSSRadialGradientShape : uint8_t { + Circle, + Ellipse, +} + +enum facebook::react::CSSRadialGradientSizeKeyword : uint8_t { + ClosestCorner, + ClosestSide, + FarthestCorner, + FarthestSide, +} + +enum facebook::react::CSSTokenType { + CloseCurly, + CloseParen, + CloseSquare, + Comma, + Delim, + Dimension, + EndOfFile, + Function, + Hash, + Ident, + Number, + OpenCurly, + OpenParen, + OpenSquare, + Percentage, + WhiteSpace, +} + +enum facebook::react::CSSTransformOriginKeyword : std::underlying_type_t { + Bottom, + Center, + Left, + Right, + Top, +} + +enum facebook::react::CSSWideKeyword : std::underlying_type_t { + Inherit, + Initial, + Unset, +} + +enum facebook::react::ColorSpace { + DisplayP3, + sRGB, +} + +enum facebook::react::ContentInsetAdjustmentBehavior { + Always, + Automatic, + Never, + ScrollableAxes, +} + +enum facebook::react::Cursor : uint8_t { + Alias, + AllScroll, + Auto, + Cell, + ColResize, + ContextMenu, + Copy, + Crosshair, + Default, + EResize, + EWResize, + Grab, + Grabbing, + Help, + Move, + NEResize, + NESWResize, + NResize, + NSResize, + NWResize, + NWSEResize, + NoDrop, + None, + NotAllowed, + Pointer, + Progress, + RowResize, + SEResize, + SResize, + SWResize, + Text, + Url, + WResize, + Wait, + ZoomIn, + ZoomOut, +} + +enum facebook::react::DataDetectorType { + All, + Email, + Link, + None, + PhoneNumber, +} + +enum facebook::react::DisplayMode { + Hidden, + Suspended, + Visible, +} + +enum facebook::react::DisplayType { + Contents, + Flex, + Grid, + None, +} + +enum facebook::react::DynamicTypeRamp { + Body, + Callout, + Caption1, + Caption2, + Footnote, + Headline, + LargeTitle, + Subheadline, + Title1, + Title2, + Title3, +} + +enum facebook::react::EllipsizeMode { + Clip, + Head, + Middle, + Tail, +} + +enum facebook::react::EventPayloadType { + PointerEvent, + ScrollEvent, + ValueFactory, +} + +enum facebook::react::FilterType { + Blur, + Brightness, + Contrast, + DropShadow, + Grayscale, + HueRotate, + Invert, + Opacity, + Saturate, + Sepia, +} + +enum facebook::react::FocusDirection { + FocusBackward, + FocusDown, + FocusForward, + FocusLeft, + FocusRight, + FocusUp, +} + +enum facebook::react::FontStyle { + Italic, + Normal, + Oblique, +} + +enum facebook::react::FontVariant : int { + Default, + LiningNums, + OldstyleNums, + ProportionalNums, + SmallCaps, + StylisticEight, + StylisticEighteen, + StylisticEleven, + StylisticFifteen, + StylisticFive, + StylisticFour, + StylisticFourteen, + StylisticNine, + StylisticNineteen, + StylisticOne, + StylisticSeven, + StylisticSeventeen, + StylisticSix, + StylisticSixteen, + StylisticTen, + StylisticThirteen, + StylisticThree, + StylisticTwelve, + StylisticTwenty, + StylisticTwo, + TabularNums, +} + +enum facebook::react::FontWeight : int { + Black, + Bold, + Demibold, + Heavy, + Light, + Medium, + Regular, + Semibold, + Thin, + UltraLight, + Weight100, + Weight200, + Weight300, + Weight400, + Weight500, + Weight600, + Weight700, + Weight800, + Weight900, +} + +enum facebook::react::GradientDirectionType { + Angle, + Keyword, +} + +enum facebook::react::GradientKeyword : uint8_t { + ToBottomLeft, + ToBottomRight, + ToTopLeft, + ToTopRight, +} + +enum facebook::react::HyphenationFrequency { + Full, + None, + Normal, +} + +enum facebook::react::ImageResizeMode : int8_t { + Center, + Contain, + Cover, + None, + Repeat, + Stretch, +} + +enum facebook::react::ImportantForAccessibility : uint8_t { + Auto, + No, + NoHideDescendants, + Yes, +} + +enum facebook::react::Isolation { + Auto, + Isolate, +} + +enum facebook::react::LayoutConformance : uint8_t { + Compatibility, + Strict, +} + +enum facebook::react::LayoutDirection { + LeftToRight, + RightToLeft, + Undefined, +} + +enum facebook::react::LineBreakMode { + Char, + Clip, + Head, + Middle, + Tail, + Word, +} + +enum facebook::react::LineBreakStrategy { + HangulWordPriority, + None, + PushOut, + Standard, +} + +enum facebook::react::ModalHostViewAnimationType { + Fade, + None, + Slide, +} + +enum facebook::react::ModalHostViewPresentationStyle { + FormSheet, + FullScreen, + OverFullScreen, + PageSheet, +} + +enum facebook::react::ModalHostViewSupportedOrientations : facebook::react::ModalHostViewSupportedOrientationsMask { + Landscape, + LandscapeLeft, + LandscapeRight, + Portrait, + PortraitUpsideDown, +} + +enum facebook::react::NativeFantomNativeEventCategory { + Continuous, + ContinuousEnd, + ContinuousStart, + Discrete, + Idle, + Unspecified, +} + +enum facebook::react::NullValueStrategy { + Ignore, + Override, +} + +enum facebook::react::OutlineStyle : uint8_t { + Dashed, + Dotted, + Solid, +} + +enum facebook::react::PerformanceEntryType { + EVENT, + LONGTASK, + MARK, + MEASURE, + RESOURCE, + _NEXT, +} + +enum facebook::react::PointerEventsMode : uint8_t { + Auto, + BoxNone, + BoxOnly, + None, +} + +enum facebook::react::PositionType { + Absolute, + Relative, + Static, +} + +enum facebook::react::PropName { + ALIGN_CONTENT, + ALIGN_ITEMS, + ALIGN_SELF, + ASPECT_RATIO, + BACKFACE_VISIBILITY, + BACKGROUND_COLOR, + BORDER_COLOR, + BORDER_CURVES, + BORDER_RADII, + BORDER_STYLES, + BORDER_WIDTH, + BOX_SHADOW, + BOX_SIZING, + COLUMN_GAP, + CURSOR, + DIRECTION, + DISPLAY, + FILTER, + FLEX, + FLEX_BASIS, + FLEX_DIRECTION, + FLEX_GROW, + FLEX_SHRINK, + FLEX_WRAP, + HEIGHT, + ISOLATION, + JUSTIFY_CONTENT, + MARGIN, + MAX_HEIGHT, + MAX_WIDTH, + MIN_HEIGHT, + MIN_WIDTH, + MIX_BLEND_MODE, + OPACITY, + OUTLINE_COLOR, + OUTLINE_OFFSET, + OUTLINE_STYLE, + OUTLINE_WIDTH, + PADDING, + POINTER_EVENTS, + POSITION, + POSITION_TYPE, + ROW_GAP, + SHADOW_COLOR, + SHADOW_OFFSET, + SHADOW_OPACITY, + SHADOW_RADIUS, + STYLE_OVERFLOW, + TRANSFORM, + TRANSFORM_ORIGIN, + WIDTH, + Z_INDEX, +} + +enum facebook::react::RadialGradientShape { + Circle, + Ellipse, +} + +enum facebook::react::ReactEventPriority { + Continuous, + Default, + Discrete, + Idle, +} + +enum facebook::react::Role : uint8_t { + Alert, + Alertdialog, + Application, + Article, + Banner, + Button, + Cell, + Checkbox, + Columnheader, + Combobox, + Complementary, + Contentinfo, + Definition, + Dialog, + Directory, + Document, + Feed, + Figure, + Form, + Grid, + Group, + Heading, + Img, + Link, + List, + Listitem, + Log, + Main, + Marquee, + Math, + Menu, + Menubar, + Menuitem, + Meter, + Navigation, + None, + Note, + Option, + Presentation, + Progressbar, + Radio, + Radiogroup, + Region, + Row, + Rowgroup, + Rowheader, + Scrollbar, + Searchbox, + Separator, + Slider, + Spinbutton, + Status, + Summary, + Switch, + Tab, + Table, + Tablist, + Tabpanel, + Term, + Timer, + Toolbar, + Tooltip, + Tree, + Treegrid, + Treeitem, +} + +enum facebook::react::SchedulerPriority : int { + IdlePriority, + ImmediatePriority, + LowPriority, + NormalPriority, + UserBlockingPriority, +} + +enum facebook::react::ScriptTag { + RAMBundle, + String, +} + +enum facebook::react::ScrollViewIndicatorStyle { + Black, + Default, + White, +} + +enum facebook::react::ScrollViewKeyboardDismissMode { + Interactive, + None, + OnDrag, +} + +enum facebook::react::ScrollViewSnapToAlignment { + Center, + End, + Start, +} + +enum facebook::react::ShadowTreeCommitMode { + Normal, + Suspended, +} + +enum facebook::react::ShadowTreeCommitSource { + AnimationEndSync, + React, + ReactRevisionMerge, + Unknown, +} + +enum facebook::react::ShadowTreeCommitStatus { + Cancelled, + Failed, + Succeeded, +} + +enum facebook::react::SubmitBehavior { + BlurAndSubmit, + Default, + Newline, + Submit, +} + +enum facebook::react::TextAlignment { + Center, + Justified, + Left, + Natural, + Right, +} + +enum facebook::react::TextAlignmentVertical { + Auto, + Bottom, + Center, + Top, +} + +enum facebook::react::TextBreakStrategy { + Balanced, + HighQuality, + Simple, +} + +enum facebook::react::TextDecorationLineType { + None, + Strikethrough, + Underline, + UnderlineStrikethrough, +} + +enum facebook::react::TextDecorationStyle { + Dashed, + Dotted, + Double, + Solid, +} + +enum facebook::react::TextTransform { + Capitalize, + Lowercase, + None, + Unset, + Uppercase, +} + +enum facebook::react::TimerSource { + RequestAnimationFrame, + SetInterval, + SetTimeout, + Unknown, +} + +enum facebook::react::TransformOperationType : uint8_t { + Arbitrary, + Identity, + Perspective, + Rotate, + Scale, + Skew, + Translate, +} + +enum facebook::react::TurboModuleMethodValueKind { + ArrayKind, + BooleanKind, + FunctionKind, + NumberKind, + ObjectKind, + PromiseKind, + StringKind, + VoidKind, +} + +enum facebook::react::UnitType { + Percent, + Point, + Undefined, +} + +enum facebook::react::WritingDirection { + LeftToRight, + Natural, + RightToLeft, +} + +struct facebook::react::AbstractPerformanceEntry { + public facebook::react::HighResDuration duration; + public facebook::react::HighResTimeStamp startTime; + public std::string name; +} + +struct facebook::react::AccessibilityAction { + public std::optional label; + public std::string name; +} + +struct facebook::react::AccessibilityLabelledBy { + public std::vector value; +} + +struct facebook::react::AccessibilityState { + public bool busy; + public bool disabled; + public bool selected; + public facebook::react::AccessibilityState::CheckedState checked; + public std::optional expanded; +} + +enum facebook::react::AccessibilityState::CheckedState { + Checked, + Mixed, + None, + Unchecked, +} + +struct facebook::react::AccessibilityValue { + public std::optional max; + public std::optional min; + public std::optional now; + public std::optional text; +} + +struct facebook::react::ActivePointer { + public bool shouldLeaveWhenReleased; + public facebook::react::PointerEvent event; +} + +struct facebook::react::AndroidTextInputTextShadowOffsetStruct { + public double height; + public double width; +} + +struct facebook::react::AnimatedPropBase { + public AnimatedPropBase(facebook::react::PropName propName); + public facebook::react::PropName propName; + public virtual ~AnimatedPropBase() = default; +} + +struct facebook::react::AnimatedProps { + public std::unique_ptr rawProps; + public std::vector> props; +} + +struct facebook::react::AnimatedPropsBuilder { + public facebook::react::AnimatedProps get(); + public std::unique_ptr rawProps; + public std::vector> props; + public void setAlignContent(facebook::yoga::Align value); + public void setAlignItems(facebook::yoga::Align value); + public void setAlignSelf(facebook::yoga::Align value); + public void setAspectRatio(facebook::yoga::FloatOptional value); + public void setBackfaceVisibility(facebook::react::BackfaceVisibility value); + public void setBackgroundColor(facebook::react::SharedColor value); + public void setBorderColor(facebook::react::CascadedBorderColors& value); + public void setBorderCurves(facebook::react::CascadedBorderCurves& value); + public void setBorderRadii(facebook::react::CascadedBorderRadii& value); + public void setBorderStyles(facebook::react::CascadedBorderStyles& value); + public void setBorderWidth(facebook::react::CascadedRectangleEdges& value); + public void setBoxShadow(const std::vector& value); + public void setBoxSizing(facebook::yoga::BoxSizing value); + public void setColumnGap(facebook::yoga::Style::Length value); + public void setCursor(facebook::react::Cursor value); + public void setDirection(facebook::yoga::Direction value); + public void setDisplay(facebook::yoga::Display value); + public void setFilter(const std::vector& value); + public void setFlex(facebook::yoga::FloatOptional value); + public void setFlexBasis(facebook::yoga::Style::SizeLength value); + public void setFlexDirection(facebook::yoga::FlexDirection value); + public void setFlexGrow(facebook::yoga::FloatOptional value); + public void setFlexShrink(facebook::yoga::FloatOptional value); + public void setFlexWrap(facebook::yoga::Wrap value); + public void setHeight(facebook::yoga::Style::SizeLength value); + public void setIsolation(facebook::react::Isolation value); + public void setJustifyContent(facebook::yoga::Justify value); + public void setMargin(facebook::react::CascadedRectangleEdges& value); + public void setMaxHeight(facebook::yoga::Style::SizeLength value); + public void setMaxWidth(facebook::yoga::Style::SizeLength value); + public void setMinHeight(facebook::yoga::Style::SizeLength value); + public void setMinWidth(facebook::yoga::Style::SizeLength value); + public void setMixBlendMode(facebook::react::BlendMode value); + public void setOpacity(facebook::react::Float value); + public void setOutlineColor(facebook::react::SharedColor value); + public void setOutlineOffset(facebook::react::Float value); + public void setOutlineStyle(facebook::react::OutlineStyle value); + public void setOutlineWidth(facebook::react::Float value); + public void setOverflow(facebook::yoga::Overflow value); + public void setPadding(facebook::react::CascadedRectangleEdges& value); + public void setPointerEvents(facebook::react::PointerEventsMode value); + public void setPosition(facebook::react::CascadedRectangleEdges& value); + public void setPositionType(facebook::yoga::PositionType value); + public void setRowGap(facebook::yoga::Style::Length value); + public void setShadowColor(facebook::react::SharedColor value); + public void setShadowOffset(facebook::react::Size value); + public void setShadowOpacity(facebook::react::Float value); + public void setShadowRadius(facebook::react::Float value); + public void setTransform(const facebook::react::Transform& t); + public void setTransformOrigin(const facebook::react::TransformOrigin& value); + public void setWidth(facebook::yoga::Style::SizeLength value); + public void setZIndex(std::optional value); + public void storeDynamic(folly::dynamic& d); + public void storeJSI(facebook::jsi::Runtime& runtime, facebook::jsi::Value& value); +} + +struct facebook::react::AnimationConfig { + public double delay; + public double duration; + public facebook::react::AnimationProperty animationProperty; + public facebook::react::AnimationType animationType; + public facebook::react::Float initialVelocity; + public facebook::react::Float springDamping; +} + +struct facebook::react::AnimationKeyFrame { + public bool generateFinalSyntheticMutations; + public bool invalidated; + public double initialProgress; + public facebook::react::AnimationConfigurationType type; + public facebook::react::ShadowView viewEnd; + public facebook::react::ShadowView viewPrev; + public facebook::react::ShadowView viewStart; + public facebook::react::Tag parentTag; + public facebook::react::Tag tag; + public std::vector finalMutationsForKeyFrame; +} + +struct facebook::react::AnimationMutation { + public bool hasLayoutUpdates; + public facebook::react::AnimatedProps props; + public facebook::react::Tag tag; + public std::shared_ptr family; +} + +struct facebook::react::AnimationMutations { + public std::set asyncFlushSurfaces; + public std::vector batch; +} + +struct facebook::react::BackgroundPosition { + public BackgroundPosition(); + public bool operator==(const facebook::react::BackgroundPosition& other) const = default; + public std::optional bottom; + public std::optional left; + public std::optional right; + public std::optional top; +} + +struct facebook::react::BackgroundRepeat { + public BackgroundRepeat(); + public bool operator==(const facebook::react::BackgroundRepeat& other) const = default; + public facebook::react::BackgroundRepeatStyle x; + public facebook::react::BackgroundRepeatStyle y; +} + +struct facebook::react::BackgroundSizeLengthPercentage { + public BackgroundSizeLengthPercentage(); + public bool isXAuto() const; + public bool isYAuto() const; + public bool operator==(const facebook::react::BackgroundSizeLengthPercentage& other) const = default; + public std::variant x; + public std::variant y; +} + +struct facebook::react::BaseTouch { + public facebook::react::Float force; + public facebook::react::Float timestamp; + public facebook::react::HighResTimeStamp timeStamp; + public facebook::react::Point offsetPoint; + public facebook::react::Point pagePoint; + public facebook::react::Point screenPoint; + public facebook::react::Tag target; + public int identifier; +} + +struct facebook::react::BaseTouch::Comparator { + public bool operator()(const facebook::react::BaseTouch& lhs, const facebook::react::BaseTouch& rhs) const; +} + +struct facebook::react::BaseTouch::Hasher { + public size_t operator()(const facebook::react::BaseTouch& touch) const; +} + +struct facebook::react::BorderMetrics { + public bool operator==(const facebook::react::BorderMetrics& rhs) const = default; + public facebook::react::BorderColors borderColors; + public facebook::react::BorderCurves borderCurves; + public facebook::react::BorderRadii borderRadii; + public facebook::react::BorderStyles borderStyles; + public facebook::react::BorderWidths borderWidths; +} + +struct facebook::react::BoxShadow { + public bool inset; + public bool operator==(const facebook::react::BoxShadow& other) const = default; + public facebook::react::Float blurRadius; + public facebook::react::Float offsetX; + public facebook::react::Float offsetY; + public facebook::react::Float spreadDistance; + public facebook::react::SharedColor color; + public folly::dynamic toDynamic() const; +} + +struct facebook::react::Bridging { + public static bool fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); + public static bool toJs(facebook::jsi::Runtime&, bool value); +} + +struct facebook::react::Bridging : public facebook::react::Bridging { +} + +struct facebook::react::Bridging { + public static double fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); + public static double toJs(facebook::jsi::Runtime&, double value); +} + +struct facebook::react::Bridging { + public static float fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); + public static float toJs(facebook::jsi::Runtime&, float value); +} + +struct facebook::react::Bridging { + public static int32_t fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); + public static int32_t toJs(facebook::jsi::Runtime&, int32_t value); +} + +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime&, uint32_t value); + public static uint32_t fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); +} + +struct facebook::react::Bridging { + public static void fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value&); +} + +struct facebook::react::BufferEvent { + public std::string name; + public std::string track; + public uint64_t end; + public uint64_t start; +} + +struct facebook::react::BundleHeader { + public BundleHeader(); + public facebook::react::Magic32 magic32; + public uint32_t version; + public uint64_t magic64; +} + +struct facebook::react::CSSAngle { + public constexpr bool operator==(const facebook::react::CSSAngle& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSBlurFilter { + public constexpr bool operator==(const facebook::react::CSSBlurFilter& rhs) const = default; + public facebook::react::CSSLength amount; +} + +struct facebook::react::CSSBrightnessFilter { + public constexpr bool operator==(const facebook::react::CSSBrightnessFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSColor { + public constexpr bool operator==(const facebook::react::CSSColor& rhs) const = default; + public static constexpr facebook::react::CSSColor black(); + public uint8_t a; + public uint8_t b; + public uint8_t g; + public uint8_t r; +} + +struct facebook::react::CSSColorHint { + public bool operator==(const facebook::react::CSSColorHint& rhs) const = default; + public std::variant position; +} + +struct facebook::react::CSSColorStop { + public bool operator==(const facebook::react::CSSColorStop& rhs) const; + public facebook::react::CSSColor color; + public std::optional> endPosition; + public std::optional> startPosition; +} + +struct facebook::react::CSSContrastFilter { + public constexpr bool operator==(const facebook::react::CSSContrastFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSDropShadowFilter { + public constexpr bool operator==(const facebook::react::CSSDropShadowFilter& rhs) const = default; + public facebook::react::CSSColor color; + public facebook::react::CSSLength offsetX; + public facebook::react::CSSLength offsetY; + public facebook::react::CSSLength standardDeviation; +} + +struct facebook::react::CSSFunctionBlock { + public std::string_view name; +} + +struct facebook::react::CSSGrayscaleFilter { + public constexpr bool operator==(const facebook::react::CSSGrayscaleFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSHueRotateFilter { + public constexpr bool operator==(const facebook::react::CSSHueRotateFilter& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSInvertFilter { + public constexpr bool operator==(const facebook::react::CSSInvertFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSLength { + public constexpr bool operator==(const facebook::react::CSSLength& rhs) const = default; + public facebook::react::CSSLengthUnit unit; + public float value; +} + +struct facebook::react::CSSLinearGradientDirection { + public bool operator==(const facebook::react::CSSLinearGradientDirection& rhs) const = default; + public std::variant value; +} + +struct facebook::react::CSSLinearGradientFunction { + public bool operator==(const facebook::react::CSSLinearGradientFunction& rhs) const = default; + public static std::pair>, int> parseGradientColorStopsAndHints(facebook::react::CSSValueParser& parser); + public std::optional direction; + public std::vector> items; +} + +struct facebook::react::CSSMatrix { + public constexpr bool operator==(const facebook::react::CSSMatrix& rhs) const = default; + public std::array values; +} + +struct facebook::react::CSSNumber { + public constexpr bool operator==(const facebook::react::CSSNumber& rhs) const = default; + public float value; +} + +struct facebook::react::CSSOpacityFilter { + public constexpr bool operator==(const facebook::react::CSSOpacityFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSPercentage { + public constexpr bool operator==(const facebook::react::CSSPercentage& rhs) const = default; + public float value; +} + +struct facebook::react::CSSPerspective { + public constexpr bool operator==(const facebook::react::CSSPerspective& rhs) const = default; + public facebook::react::CSSLength length; +} + +struct facebook::react::CSSRadialGradientExplicitSize { + public bool operator==(const facebook::react::CSSRadialGradientExplicitSize& rhs) const = default; + public std::variant sizeX; + public std::variant sizeY; +} + +struct facebook::react::CSSRadialGradientFunction { + public bool operator==(const facebook::react::CSSRadialGradientFunction& rhs) const = default; + public std::optional position; + public std::optional shape; + public std::optional size; + public std::vector> items; +} + +struct facebook::react::CSSRadialGradientPosition { + public bool operator==(const facebook::react::CSSRadialGradientPosition& rhs) const = default; + public std::optional> bottom; + public std::optional> left; + public std::optional> right; + public std::optional> top; +} + +struct facebook::react::CSSRatio { + public constexpr bool isDegenerate() const; + public constexpr bool operator==(const facebook::react::CSSRatio& rhs) const = default; + public float denominator; + public float numerator; +} + +struct facebook::react::CSSRotate { + public constexpr bool operator==(const facebook::react::CSSRotate& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSRotateX { + public constexpr bool operator==(const facebook::react::CSSRotateX& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSRotateY { + public constexpr bool operator==(const facebook::react::CSSRotateY& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSRotateZ { + public constexpr bool operator==(const facebook::react::CSSRotateZ& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSSaturateFilter { + public constexpr bool operator==(const facebook::react::CSSSaturateFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSScale { + public constexpr bool operator==(const facebook::react::CSSScale& rhs) const = default; + public float x; + public float y; +} + +struct facebook::react::CSSScaleX { + public constexpr bool operator==(const facebook::react::CSSScaleX& rhs) const = default; + public float value; +} + +struct facebook::react::CSSScaleY { + public constexpr bool operator==(const facebook::react::CSSScaleY& rhs) const = default; + public float value; +} + +struct facebook::react::CSSSepiaFilter { + public constexpr bool operator==(const facebook::react::CSSSepiaFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSShadow { + public bool inset; + public constexpr bool operator==(const facebook::react::CSSShadow& rhs) const = default; + public facebook::react::CSSColor color; + public facebook::react::CSSLength blurRadius; + public facebook::react::CSSLength offsetX; + public facebook::react::CSSLength offsetY; + public facebook::react::CSSLength spreadDistance; +} + +struct facebook::react::CSSSimpleBlock { + public facebook::react::CSSTokenType openBracketType; +} + +struct facebook::react::CSSSkewX { + public constexpr bool operator==(const facebook::react::CSSSkewX& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSSkewY { + public constexpr bool operator==(const facebook::react::CSSSkewY& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSTransformOrigin { + public constexpr bool operator==(const facebook::react::CSSTransformOrigin& rhs) const = default; + public facebook::react::CSSLength z; + public std::variant x; + public std::variant y; +} + +struct facebook::react::CSSTranslate3D { + public constexpr bool operator==(const facebook::react::CSSTranslate3D& rhs) const = default; + public facebook::react::CSSLength z; + public std::variant x; + public std::variant y; +} + +struct facebook::react::CSSTranslate { + public constexpr bool operator==(const facebook::react::CSSTranslate& rhs) const = default; + public std::variant x; + public std::variant y; +} + +struct facebook::react::CSSTranslateX { + public constexpr bool operator==(const facebook::react::CSSTranslateX& rhs) const = default; + public std::variant value; +} + +struct facebook::react::CSSTranslateY { + public constexpr bool operator==(const facebook::react::CSSTranslateY& rhs) const = default; + public std::variant value; +} + +struct facebook::react::CSSZero { + public constexpr bool operator==(const facebook::react::CSSZero& rhs) const = default; +} + +struct facebook::react::CallbackWithId { + public facebook::react::Callback callback; + public facebook::react::CallbackId callbackId; +} + +struct facebook::react::ColorComponents { + public facebook::react::ColorSpace colorSpace; + public float alpha; + public float blue; + public float green; + public float red; +} + +struct facebook::react::ColorStop { + public bool operator==(const facebook::react::ColorStop& other) const = default; + public facebook::react::SharedColor color; + public facebook::react::ValueUnit position; + public folly::dynamic toDynamic() const; +} + +struct facebook::react::CornerRadii { + public bool operator==(const facebook::react::CornerRadii& other) const = default; + public float horizontal; + public float vertical; +} + +struct facebook::react::CppMountItem { + public facebook::react::CppMountItem::Type type; + public facebook::react::ShadowView newChildShadowView; + public facebook::react::ShadowView oldChildShadowView; + public facebook::react::Tag parentTag; + public int index; + public static facebook::react::CppMountItem CreateMountItem(const facebook::react::ShadowView& shadowView); + public static facebook::react::CppMountItem DeleteMountItem(const facebook::react::ShadowView& shadowView); + public static facebook::react::CppMountItem InsertMountItem(facebook::react::Tag parentTag, const facebook::react::ShadowView& shadowView, int index); + public static facebook::react::CppMountItem RemoveMountItem(facebook::react::Tag parentTag, const facebook::react::ShadowView& shadowView, int index); + public static facebook::react::CppMountItem UpdateEventEmitterMountItem(const facebook::react::ShadowView& shadowView); + public static facebook::react::CppMountItem UpdateLayoutMountItem(const facebook::react::ShadowView& shadowView, facebook::react::Tag parentTag); + public static facebook::react::CppMountItem UpdateOverflowInsetMountItem(const facebook::react::ShadowView& shadowView); + public static facebook::react::CppMountItem UpdatePaddingMountItem(const facebook::react::ShadowView& shadowView); + public static facebook::react::CppMountItem UpdatePropsMountItem(const facebook::react::ShadowView& oldShadowView, const facebook::react::ShadowView& newShadowView); + public static facebook::react::CppMountItem UpdateStateMountItem(const facebook::react::ShadowView& shadowView); +} + +enum facebook::react::CppMountItem::Type { + Create, + Delete, + Insert, + Multiple, + Remove, + Undefined, + UpdateEventEmitter, + UpdateLayout, + UpdateOverflowInset, + UpdatePadding, + UpdateProps, + UpdateState, +} + +struct facebook::react::CullingContext { + public bool operator==(const facebook::react::CullingContext& rhs) const = default; + public bool shouldConsiderCulling() const; + public facebook::react::CullingContext adjustCullingContextIfNeeded(const facebook::react::ShadowViewNodePair& pair) const; + public facebook::react::Rect frame; + public facebook::react::Transform transform; +} + +struct facebook::react::DebugStringConvertibleOptions { +} + +struct facebook::react::DefaultTurboModules { + public static std::shared_ptr getTurboModule(const std::string& name, const std::shared_ptr& jsInvoker); +} + +struct facebook::react::DropShadowParams { + public bool operator==(const facebook::react::DropShadowParams& other) const = default; + public facebook::react::Float offsetX; + public facebook::react::Float offsetY; + public facebook::react::Float standardDeviation; + public facebook::react::SharedColor color; + public folly::dynamic toDynamic() const; +} + +struct facebook::react::DummyTraceSection { + template + public DummyTraceSection(const char* name, ConvertsToStringPiece &&... args); +} + +struct facebook::react::DynamicEventPayload : public facebook::react::EventPayload { + protected folly::dynamic payload_; + public DynamicEventPayload(folly::dynamic&& payload); + public static facebook::react::SharedEventPayload create(folly::dynamic&& payload); + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; + public virtual facebook::react::EventPayloadType getType() const override; + public virtual std::optional extractValue(const std::vector&) const override; +} + +struct facebook::react::DynamicPointerEvent : public facebook::react::DynamicEventPayload { + public DynamicPointerEvent(folly::dynamic&& payload); + public const std::optional>& getHitPathForEventListener() const; +} + +struct facebook::react::EventAnimationDriverKey { + public bool operator==(const facebook::react::EventAnimationDriverKey& rhs) const noexcept; + public facebook::react::Tag viewTag; + public std::string eventName; +} + +struct facebook::react::EventPayload { + public EventPayload() = default; + public EventPayload(const facebook::react::EventPayload&) = default; + public EventPayload(facebook::react::EventPayload&&) = default; + public facebook::react::EventPayload& operator=(const facebook::react::EventPayload&) = default; + public facebook::react::EventPayload& operator=(facebook::react::EventPayload&&) = default; + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const = 0; + public virtual facebook::react::EventPayloadType getType() const = 0; + public virtual std::optional extractValue(const std::vector&) const; + public virtual ~EventPayload() = default; +} + +struct facebook::react::FantomForcedCloneCommitHook : public facebook::react::UIManagerCommitHook { + public facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const std::shared_ptr& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode) noexcept override; + public virtual void commitHookWasRegistered(const facebook::react::UIManager&) noexcept override; + public virtual void commitHookWasUnregistered(const facebook::react::UIManager&) noexcept override; +} + +struct facebook::react::FilterFunction { + public bool operator==(const facebook::react::FilterFunction& other) const = default; + public facebook::react::FilterType type; + public folly::dynamic toDynamic() const; + public std::variant parameters; +} + +struct facebook::react::ImageRequestItem { + public facebook::react::ImageRequestParams imageRequestParams; + public facebook::react::ImageSource imageSource; + public facebook::react::Tag tag; +} + +struct facebook::react::InspectorData { + public folly::dynamic props; + public int columnNumber; + public int lineNumber; + public int selectedIndex; + public std::string fileName; + public std::vector hierarchy; +} + +struct facebook::react::InstanceCallback { + public virtual void decrementPendingJSCalls(); + public virtual void incrementPendingJSCalls(); + public virtual void onBatchComplete(); + public virtual ~InstanceCallback() = default; +} + +struct facebook::react::IntersectionObserverEntry { + public bool isIntersectingAboveThresholds; + public bool sameShadowNodeFamily(const facebook::react::ShadowNodeFamily& otherShadowNodeFamily) const; + public facebook::react::HighResTimeStamp time; + public facebook::react::IntersectionObserverObserverId intersectionObserverId; + public facebook::react::Rect intersectionRect; + public facebook::react::Rect rootRect; + public facebook::react::Rect targetRect; + public facebook::react::ShadowNodeFamily::Shared shadowNodeFamily; +} + +struct facebook::react::JAssetManager : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; +} + +struct facebook::react::JBaseJavaModule : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; +} + +struct facebook::react::JCallback : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; +} + +struct facebook::react::JDynamic : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; +} + +struct facebook::react::JExecutor : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; + public void execute(jni::alias_ref runnable); +} + +struct facebook::react::JFrameTimingSequence : public facebook::jni::JavaClass { + public facebook::react::HighResTimeStamp getBeginTimestamp() const; + public facebook::react::HighResTimeStamp getEndTimestamp() const; + public static constexpr auto kJavaDescriptor; + public std::optional> getScreenshot() const; + public uint64_t getId() const; + public uint64_t getThreadId() const; +} + +struct facebook::react::JJavaTimerManager : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; + public void createTimer(uint32_t timerID, double duration, bool repeat); + public void deleteTimer(uint32_t timerID); +} + +struct facebook::react::JMethodDescriptor : public facebook::jni::JavaClass { + public jni::local_ref getMethod() const; + public static constexpr auto kJavaDescriptor; + public std::string getName() const; + public std::string getSignature() const; + public std::string getType() const; +} + +struct facebook::react::JMountItem : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; +} + +struct facebook::react::JNativeModule : public facebook::jni::JavaClass { + public static constexpr char* const kJavaDescriptor; +} + +struct facebook::react::JReactHostImpl : public facebook::jni::JavaClass { + public jni::local_ref reload(const std::string& reason); + public jni::local_ref> getHostMetadata() const; + public static constexpr auto kJavaDescriptor; + public void loadNetworkResource(const std::string& url, jni::local_ref listener) const; + public void setPausedInDebuggerMessage(std::optional message); +} + +struct facebook::react::JReflectMethod : public facebook::jni::JavaClass { + public jmethodID getMethodID(); + public static constexpr auto kJavaDescriptor; +} + +struct facebook::react::JTaskInterface : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; +} + +struct facebook::react::JTracingState : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; +} + +struct facebook::react::JTracingStateListener : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; + public void onStateChanged(TracingState tracingState, bool screenshotsEnabled) const; +} + +struct facebook::react::JTurboModule : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; +} + +struct facebook::react::JTurboModuleWithJSIBindings : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; +} + +struct facebook::react::JavaModuleWrapper : public facebook::jni::JavaClass { + public jni::local_ref getModule(); + public jni::local_ref::javaobject> getMethodDescriptors(); + public static constexpr auto kJavaDescriptor; + public std::string getName() const; +} + +struct facebook::react::LayoutAnimation { + public bool completed; + public facebook::react::LayoutAnimationCallbackWrapper failureCallback; + public facebook::react::LayoutAnimationCallbackWrapper successCallback; + public facebook::react::LayoutAnimationConfig layoutAnimationConfig; + public facebook::react::SurfaceId surfaceId; + public std::vector keyFrames; + public uint64_t startTime; +} + +struct facebook::react::LayoutAnimationConfig { + public double duration; + public facebook::react::AnimationConfig createConfig; + public facebook::react::AnimationConfig deleteConfig; + public facebook::react::AnimationConfig updateConfig; +} + +struct facebook::react::LayoutConformanceProps : public facebook::react::YogaStylableProps { + public LayoutConformanceProps() = default; + public LayoutConformanceProps(const facebook::react::PropsParserContext& context, const facebook::react::LayoutConformanceProps& sourceProps, const facebook::react::RawProps& rawProps); + public facebook::react::LayoutConformance mode; +} + +struct facebook::react::LayoutConstraints { + public facebook::react::LayoutDirection layoutDirection; + public facebook::react::Size clamp(const facebook::react::Size& size) const; + public facebook::react::Size maximumSize; + public facebook::react::Size minimumSize; +} + +struct facebook::react::LayoutContext { + public bool swapLeftAndRightInRTL; + public facebook::react::Float fontSizeMultiplier; + public facebook::react::Float pointScaleFactor; + public facebook::react::Point viewportOffset; + public std::vector* affectedNodes; +} + +struct facebook::react::LayoutMetrics { + public bool operator==(const facebook::react::LayoutMetrics& rhs) const = default; + public bool wasLeftAndRightSwapped; + public facebook::react::DisplayType displayType; + public facebook::react::EdgeInsets borderWidth; + public facebook::react::EdgeInsets contentInsets; + public facebook::react::EdgeInsets overflowInset; + public facebook::react::Float pointScaleFactor; + public facebook::react::LayoutDirection layoutDirection; + public facebook::react::PositionType positionType; + public facebook::react::Rect frame; + public facebook::react::Rect getContentFrame() const; + public facebook::react::Rect getOverflowInsetFrame() const; + public facebook::react::Rect getPaddingFrame() const; +} + +struct facebook::react::LineMeasurement { + public LineMeasurement(const folly::dynamic& data); + public LineMeasurement(std::string text, facebook::react::Rect frame, facebook::react::Float descender, facebook::react::Float capHeight, facebook::react::Float ascender, facebook::react::Float xHeight); + public bool operator==(const facebook::react::LineMeasurement& rhs) const; + public facebook::react::Float ascender; + public facebook::react::Float capHeight; + public facebook::react::Float descender; + public facebook::react::Float xHeight; + public facebook::react::Rect frame; + public static facebook::react::Float baseline(const std::vector& lines); + public std::string text; +} + +struct facebook::react::LinearGradient { + public bool operator==(const facebook::react::LinearGradient& other) const = default; + public facebook::react::GradientDirection direction; + public folly::dynamic toDynamic() const; + public std::vector colorStops; +} + +struct facebook::react::Magic32 { + public uint32_t reserved_; + public uint32_t value; +} + +struct facebook::react::MarginValue { + public bool isPercentage; + public facebook::react::Float value; +} + +struct facebook::react::MeasuredPreparedTextLayout { + public facebook::react::LayoutConstraints layoutConstraints; + public facebook::react::TextMeasurement measurement; + public facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout preparedTextLayout; +} + +struct facebook::react::MethodCall { + public MethodCall(int mod, int meth, folly::dynamic&& args, int cid); + public folly::dynamic arguments; + public int callId; + public int methodId; + public int moduleId; +} + +struct facebook::react::MethodDescriptor { + public MethodDescriptor(std::string n, std::string t); + public std::string name; + public std::string type; +} + +struct facebook::react::ModalHostViewSupportedOrientationsMaskWrapped { + public facebook::react::ModalHostViewSupportedOrientationsMask value; +} + +struct facebook::react::ModuleConfig { + public folly::dynamic config; + public size_t index; +} + +struct facebook::react::MutationRecord { + public facebook::react::MutationObserverId mutationObserverId; + public std::shared_ptr targetShadowNode; + public std::vector> addedShadowNodes; + public std::vector> removedShadowNodes; +} + +struct facebook::react::NativeDrawable { + public bool operator!=(const facebook::react::NativeDrawable& rhs) const; + public bool operator==(const facebook::react::NativeDrawable& rhs) const; + public facebook::react::NativeDrawable::Kind kind; + public facebook::react::NativeDrawable::Ripple ripple; + public std::string themeAttr; + public ~NativeDrawable() = default; +} + +enum facebook::react::NativeDrawable::Kind : uint8_t { + Ripple, + ThemeAttr, +} + +struct facebook::react::NativeDrawable::Ripple { + public bool borderless; + public bool operator==(const facebook::react::NativeDrawable::Ripple& rhs) const; + public std::optional rippleRadius; + public std::optional color; +} + +struct facebook::react::NativePerformanceEntry { + public facebook::react::HighResDuration duration; + public facebook::react::HighResTimeStamp startTime; + public facebook::react::PerformanceEntryType entryType; + public std::optional connectEnd; + public std::optional connectStart; + public std::optional fetchStart; + public std::optional processingEnd; + public std::optional processingStart; + public std::optional requestStart; + public std::optional responseEnd; + public std::optional responseStart; + public std::optional interactionId; + public std::optional decodedBodySize; + public std::optional encodedBodySize; + public std::optional responseStatus; + public std::optional contentType; + public std::string name; +} + +struct facebook::react::PerformanceEntrySorter { + public bool operator()(const facebook::react::PerformanceEntry& lhs, const facebook::react::PerformanceEntry& rhs); +} + +struct facebook::react::PerformanceEventTiming : public facebook::react::AbstractPerformanceEntry { + public facebook::react::HighResTimeStamp processingEnd; + public facebook::react::HighResTimeStamp processingStart; + public facebook::react::HighResTimeStamp taskEndTime; + public facebook::react::PerformanceEntryInteractionId interactionId; + public static constexpr facebook::react::PerformanceEntryType entryType; +} + +struct facebook::react::PerformanceLongTaskTiming : public facebook::react::AbstractPerformanceEntry { + public static constexpr facebook::react::PerformanceEntryType entryType; +} + +struct facebook::react::PerformanceMark : public facebook::react::AbstractPerformanceEntry { + public static constexpr facebook::react::PerformanceEntryType entryType; +} + +struct facebook::react::PerformanceMeasure : public facebook::react::AbstractPerformanceEntry { + public static constexpr facebook::react::PerformanceEntryType entryType; +} + +struct facebook::react::PerformanceObserverObserveMultipleOptions { + public facebook::react::HighResDuration durationThreshold; +} + +struct facebook::react::PerformanceObserverObserveSingleOptions { + public bool buffered; + public facebook::react::HighResDuration durationThreshold; +} + +struct facebook::react::PerformanceResourceTiming : public facebook::react::AbstractPerformanceEntry { + public facebook::react::HighResTimeStamp fetchStart; + public facebook::react::HighResTimeStamp requestStart; + public int decodedBodySize; + public int encodedBodySize; + public int responseStatus; + public static constexpr facebook::react::PerformanceEntryType entryType; + public std::optional connectEnd; + public std::optional connectStart; + public std::optional responseEnd; + public std::optional responseStart; + public std::string contentType; +} + +struct facebook::react::Point { + public bool operator==(const facebook::react::Point& rhs) const = default; + public facebook::react::Float x; + public facebook::react::Float y; + public facebook::react::Point operator+(const facebook::react::Point& rhs) const noexcept; + public facebook::react::Point operator-() const noexcept; + public facebook::react::Point operator-(const facebook::react::Point& rhs) const noexcept; + public facebook::react::Point& operator*=(const facebook::react::Point& point) noexcept; + public facebook::react::Point& operator+=(const facebook::react::Point& point) noexcept; + public facebook::react::Point& operator-=(const facebook::react::Point& point) noexcept; +} + +struct facebook::react::PointerEvent : public facebook::react::EventPayload { + public bool altKey; + public bool ctrlKey; + public bool isPrimary; + public bool metaKey; + public bool shiftKey; + public facebook::react::Float height; + public facebook::react::Float pressure; + public facebook::react::Float tangentialPressure; + public facebook::react::Float width; + public facebook::react::HighResTimeStamp timeStamp; + public facebook::react::Point clientPoint; + public facebook::react::Point offsetPoint; + public facebook::react::Point screenPoint; + public int button; + public int buttons; + public int detail; + public int pointerId; + public int tiltX; + public int tiltY; + public int twist; + public std::string pointerType; + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; + public virtual facebook::react::EventPayloadType getType() const override; +} + +struct facebook::react::PointerEventTarget { + public facebook::react::PointerEvent event; + public std::shared_ptr target; +} + +struct facebook::react::ProcessedColorStop { + public bool operator==(const facebook::react::ProcessedColorStop& other) const = default; + public facebook::react::SharedColor color; + public std::optional position; +} + +struct facebook::react::Promise : public facebook::react::LongLivedObject { + public Promise(facebook::jsi::Runtime& rt, facebook::jsi::Function resolve, facebook::jsi::Function reject); + public facebook::jsi::Function reject_; + public facebook::jsi::Function resolve_; + public void reject(const std::string& message); + public void resolve(const facebook::jsi::Value& result); +} + +struct facebook::react::PropsParserContext { + public PropsParserContext(const facebook::react::PropsParserContext&) = delete; + public PropsParserContext(const facebook::react::SurfaceId surfaceId, const facebook::react::ContextContainer& contextContainer); + public const facebook::react::ContextContainer& contextContainer; + public const facebook::react::SurfaceId surfaceId; + public facebook::react::PropsParserContext& operator=(const facebook::react::PropsParserContext&) = delete; +} + +struct facebook::react::PropsSnapshot { + public facebook::react::BaseViewProps props; + public std::unique_ptr rawProps; + public std::unordered_set propNames; +} + +struct facebook::react::RadialGradient { + public bool operator==(const facebook::react::RadialGradient& other) const = default; + public facebook::react::RadialGradientPosition position; + public facebook::react::RadialGradientShape shape; + public facebook::react::RadialGradientSize size; + public folly::dynamic toDynamic() const; + public std::vector colorStops; +} + +struct facebook::react::RadialGradientPosition { + public bool operator==(const facebook::react::RadialGradientPosition& other) const = default; + public folly::dynamic toDynamic() const; + public std::optional bottom; + public std::optional left; + public std::optional right; + public std::optional top; +} + +struct facebook::react::RadialGradientSize { + public bool operator==(const facebook::react::RadialGradientSize& other) const = default; + public folly::dynamic toDynamic() const; + public std::variant value; +} + +enum facebook::react::RadialGradientSize::SizeKeyword { + ClosestCorner, + ClosestSide, + FarthestCorner, + FarthestSide, +} + +struct facebook::react::RadialGradientSize::Dimensions { + public bool operator==(const facebook::react::RadialGradientSize::Dimensions& other) const = default; + public facebook::react::ValueUnit x; + public facebook::react::ValueUnit y; + public folly::dynamic toDynamic() const; +} + +struct facebook::react::RawEvent { + public RawEvent(std::string type, facebook::react::SharedEventPayload eventPayload, facebook::react::SharedEventTarget eventTarget, std::weak_ptr shadowNodeFamily, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified, bool isUnique = false, facebook::react::HighResTimeStamp eventStartTimeStamp = facebook::react::HighResTimeStamp::now()); + public bool isUnique; + public facebook::react::EventTag loggingTag; + public facebook::react::HighResTimeStamp eventStartTimeStamp; + public facebook::react::RawEvent::Category category; + public facebook::react::SharedEventPayload eventPayload; + public facebook::react::SharedEventTarget eventTarget; + public std::string type; + public std::weak_ptr shadowNodeFamily; +} + +enum facebook::react::RawEvent::Category { + Continuous, + ContinuousEnd, + ContinuousStart, + Discrete, + Idle, + Unspecified, +} + +struct facebook::react::ReactNativeVersionType { + public int32_t Major; + public int32_t Minor; + public int32_t Patch; + public std::string_view Prerelease; +} + +struct facebook::react::ReadableArray : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; +} + +struct facebook::react::ReadableMap : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; +} + +struct facebook::react::ReadableNativeMap : public jni::HybridClass { + public friend HybridBase; + public jni::local_ref> importTypes(); + public jni::local_ref> importValues(); + public jni::local_ref> importKeys(); + public static constexpr auto kJavaDescriptor; + public static jni::local_ref createWithContents(folly::dynamic&& map); + public static void mapException(std::exception_ptr ex); + public static void registerNatives(); + public std::optional keys_; +} + +struct facebook::react::ReadableType : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; + public static jni::local_ref getType(folly::dynamic::Type type); +} + +struct facebook::react::RecoverableError : public std::exception { + public RecoverableError(const std::string& what_); + public virtual const char* what() const noexcept override; + template + public static void runRethrowingAsRecoverable(std::function act); +} + +struct facebook::react::Rect { + public bool containsPoint(facebook::react::Point point) noexcept; + public bool operator==(const facebook::react::Rect& rhs) const noexcept = default; + public facebook::react::Float getMaxX() const noexcept; + public facebook::react::Float getMaxY() const noexcept; + public facebook::react::Float getMidX() const noexcept; + public facebook::react::Float getMidY() const noexcept; + public facebook::react::Float getMinX() const noexcept; + public facebook::react::Float getMinY() const noexcept; + public facebook::react::Point getCenter() const noexcept; + public facebook::react::Point origin; + public facebook::react::Size size; + public static facebook::react::Rect boundingRect(const facebook::react::Point& a, const facebook::react::Point& b, const facebook::react::Point& c, const facebook::react::Point& d) noexcept; + public static facebook::react::Rect intersect(const facebook::react::Rect& rect1, const facebook::react::Rect& rect2); + public void unionInPlace(const facebook::react::Rect& rect) noexcept; +} + +struct facebook::react::RequestInfo { + public std::optional headers; + public std::optional httpBody; + public std::string httpMethod; + public std::string url; +} + +struct facebook::react::ResourceTimingData { + public facebook::react::HighResTimeStamp fetchStart; + public facebook::react::HighResTimeStamp requestStart; + public int decodedBodySize; + public int encodedBodySize; + public int responseStatus; + public std::optional connectEnd; + public std::optional connectStart; + public std::optional responseStart; + public std::string contentType; + public std::string url; +} + +struct facebook::react::ResponseInfo { + public std::optional headers; + public std::string url; + public uint16_t statusCode; +} + +struct facebook::react::SchedulerToolbox { + public facebook::react::ComponentRegistryFactory componentRegistryFactory; + public facebook::react::EventBeat::Factory eventBeatFactory; + public facebook::react::RuntimeExecutor runtimeExecutor; + public std::optional bridgelessBindingsExecutor; + public std::shared_ptr contextContainer; + public std::shared_ptr animationChoreographer; + public std::vector> commitHooks; +} + +struct facebook::react::ScrollEndDragEvent : public facebook::react::ScrollEvent { + public ScrollEndDragEvent() = default; + public ScrollEndDragEvent(const facebook::react::ScrollEvent& scrollEvent); + public facebook::react::Point targetContentOffset; + public facebook::react::Point velocity; + public folly::dynamic asDynamic() const; + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; +} + +struct facebook::react::ScrollEvent : public facebook::react::EventPayload { + public ScrollEvent() = default; + public facebook::react::EdgeInsets contentInset; + public facebook::react::Float timestamp; + public facebook::react::Float zoomScale; + public facebook::react::Point contentOffset; + public facebook::react::Size containerSize; + public facebook::react::Size contentSize; + public folly::dynamic asDynamic() const; + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; + public virtual facebook::react::EventPayloadType getType() const override; + public virtual std::optional extractValue(const std::vector&) const override; +} + +struct facebook::react::ShadowNodeFamilyFragment { + public const facebook::react::SurfaceId surfaceId; + public const facebook::react::Tag tag; + public const std::shared_ptr instanceHandle; +} + +struct facebook::react::ShadowNodeFragment { + public const bool runtimeShadowNodeReference; + public const facebook::react::Props::Shared& props; + public const facebook::react::State::Shared& state; + public const std::shared_ptr>>& children; + public static const facebook::react::Props::Shared& propsPlaceholder(); + public static const facebook::react::State::Shared& statePlaceholder(); + public static const std::shared_ptr>>& childrenPlaceholder(); +} + +struct facebook::react::ShadowNodeListWrapper : public facebook::jsi::NativeState { + public ShadowNodeListWrapper(std::shared_ptr>> shadowNodeList); + public std::shared_ptr>> shadowNodeList; + public ~ShadowNodeListWrapper() override; +} + +struct facebook::react::ShadowNodeWrapper : public facebook::jsi::NativeState { + public ShadowNodeWrapper(std::shared_ptr shadowNode); + public std::shared_ptr shadowNode; + public ~ShadowNodeWrapper() override; +} + +struct facebook::react::ShadowTreeCommitOptions { + public bool enableStateReconciliation; + public bool mountSynchronously; + public facebook::react::ShadowTreeCommitSource source; +} + +struct facebook::react::ShadowView { + public ShadowView() = default; + public ShadowView(const facebook::react::ShadowNode& shadowNode); + public ShadowView(const facebook::react::ShadowView& shadowView) = default; + public ShadowView(facebook::react::ShadowView&& shadowView) noexcept = default; + public bool operator==(const facebook::react::ShadowView& rhs) const; + public facebook::react::ComponentHandle componentHandle; + public facebook::react::ComponentName componentName; + public facebook::react::EventEmitter::Shared eventEmitter; + public facebook::react::LayoutMetrics layoutMetrics; + public facebook::react::Props::Shared props; + public facebook::react::ShadowNodeTraits traits; + public facebook::react::ShadowView& operator=(const facebook::react::ShadowView& other) = default; + public facebook::react::ShadowView& operator=(facebook::react::ShadowView&& other) = default; + public facebook::react::State::Shared state; + public facebook::react::SurfaceId surfaceId; + public facebook::react::Tag tag; +} + +struct facebook::react::ShadowViewMutation { + public ShadowViewMutation() = delete; + public bool mutatedViewIsVirtual() const; + public facebook::react::ShadowView newChildShadowView; + public facebook::react::ShadowView oldChildShadowView; + public facebook::react::ShadowViewMutation::Type type; + public facebook::react::Tag parentTag; + public int index; + public static facebook::react::ShadowViewMutation CreateMutation(facebook::react::ShadowView shadowView); + public static facebook::react::ShadowViewMutation DeleteMutation(facebook::react::ShadowView shadowView); + public static facebook::react::ShadowViewMutation InsertMutation(const facebook::react::ShadowView& parentShadowView, facebook::react::ShadowView childShadowView, int index); + public static facebook::react::ShadowViewMutation InsertMutation(facebook::react::Tag parentTag, facebook::react::ShadowView childShadowView, int index); + public static facebook::react::ShadowViewMutation RemoveMutation(const facebook::react::ShadowView& parentShadowView, facebook::react::ShadowView childShadowView, int index); + public static facebook::react::ShadowViewMutation RemoveMutation(facebook::react::Tag parentTag, facebook::react::ShadowView childShadowView, int index); + public static facebook::react::ShadowViewMutation UpdateMutation(facebook::react::ShadowView oldChildShadowView, facebook::react::ShadowView newChildShadowView, const facebook::react::ShadowView& parentShadowView); + public static facebook::react::ShadowViewMutation UpdateMutation(facebook::react::ShadowView oldChildShadowView, facebook::react::ShadowView newChildShadowView, facebook::react::Tag parentTag); + public using List = std::vector; +} + +enum facebook::react::ShadowViewMutation::Type : std::uint8_t { + Create, + Delete, + Insert, + Remove, + Update, +} + +struct facebook::react::ShadowViewNodePair { + public bool flattened; + public bool inOtherTree() const; + public bool isConcreteView; + public bool operator==(const facebook::react::ShadowViewNodePair& rhs) const; + public const facebook::react::ShadowNode* shadowNode; + public facebook::react::Point contextOrigin; + public facebook::react::ShadowView shadowView; + public mutable const facebook::react::ShadowViewNodePair* otherTreePair; + public size_t mountIndex; +} + +struct facebook::react::Size { + public facebook::react::Float height; + public facebook::react::Float width; + public facebook::react::Size& operator*=(const facebook::react::Point& point) noexcept; + public facebook::react::Size& operator+=(const facebook::react::Point& point) noexcept; +} + +struct facebook::react::StateData { + public StateData() = default; + public StateData(const facebook::react::StateData& previousState, folly::dynamic data); + public facebook::react::MapBuffer getMapBuffer() const; + public folly::dynamic getDynamic() const; + public using Shared = std::shared_ptr; +} + +struct facebook::react::SurfaceContext { + public std::unordered_map> map; + public std::unordered_map> pendingMap; + public std::unordered_set> families; + public std::unordered_set> pendingFamilies; +} + +struct facebook::react::SurfaceUpdates { + public bool hasLayoutUpdates; + public std::unordered_map propsMap; + public std::unordered_set> families; +} + +struct facebook::react::SystraceSection : public facebook::react::DummyTraceSection { + template + public SystraceSection(const char* name, ConvertsToStringPiece &&... args); +} + +struct facebook::react::Task : public facebook::jsi::NativeState { + public Task(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback, facebook::react::HighResTimeStamp expirationTime); + public Task(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback, facebook::react::HighResTimeStamp expirationTime); +} + +struct facebook::react::TextLayoutContext { + public bool operator==(const facebook::react::TextLayoutContext& rhs) const = default; + public facebook::react::Float pointScaleFactor; + public facebook::react::SurfaceId surfaceId; +} + +struct facebook::react::TimerCallback { + public TimerCallback(facebook::jsi::Function callback, std::vector args, bool repeat, facebook::react::TimerSource source = facebook::react::TimerSource::Unknown); + public bool repeat; + public const std::vector args_; + public facebook::jsi::Function callback_; + public facebook::react::TimerSource source; + public void invoke(facebook::jsi::Runtime& runtime); +} + +struct facebook::react::TouchEvent { + public facebook::react::Touches changedTouches; + public facebook::react::Touches targetTouches; + public facebook::react::Touches touches; +} + +struct facebook::react::Transform { + public bool operator==(const facebook::react::Transform& rhs) const noexcept; + public const facebook::react::Float& at(int i, int j) const noexcept; + public facebook::react::Float& at(int i, int j) noexcept; + public facebook::react::Rect applyWithCenter(const facebook::react::Rect& rect, const facebook::react::Point& center) const; + public facebook::react::Transform operator*(const facebook::react::Transform& rhs) const; + public operator folly::dynamic() const; + public static bool isHorizontalInversion(const facebook::react::Transform& transform) noexcept; + public static bool isVerticalInversion(const facebook::react::Transform& transform) noexcept; + public static facebook::react::Transform FromTransformOperation(facebook::react::TransformOperation transformOperation, const facebook::react::Size& size, const facebook::react::Transform& transform = facebook::react::Transform::Identity()); + public static facebook::react::Transform HorizontalInversion() noexcept; + public static facebook::react::Transform Identity() noexcept; + public static facebook::react::Transform Interpolate(facebook::react::Float animationProgress, const facebook::react::Transform& lhs, const facebook::react::Transform& rhs, const facebook::react::Size& size); + public static facebook::react::Transform Perspective(facebook::react::Float perspective) noexcept; + public static facebook::react::Transform Rotate(facebook::react::Float angleX, facebook::react::Float angleY, facebook::react::Float angleZ) noexcept; + public static facebook::react::Transform RotateX(facebook::react::Float radians) noexcept; + public static facebook::react::Transform RotateY(facebook::react::Float radians) noexcept; + public static facebook::react::Transform RotateZ(facebook::react::Float radians) noexcept; + public static facebook::react::Transform Scale(facebook::react::Float factorX, facebook::react::Float factorY, facebook::react::Float factorZ) noexcept; + public static facebook::react::Transform Skew(facebook::react::Float x, facebook::react::Float y) noexcept; + public static facebook::react::Transform Translate(facebook::react::Float x, facebook::react::Float y, facebook::react::Float z) noexcept; + public static facebook::react::Transform VerticalInversion() noexcept; + public static facebook::react::TransformOperation DefaultTransformOperation(facebook::react::TransformOperationType type); + public std::array matrix; + public std::vector operations; +} + +struct facebook::react::TransformConfig { + public double value; + public facebook::react::Tag nodeTag; + public std::string property; +} + +struct facebook::react::TransformOperation { + public bool operator==(const facebook::react::TransformOperation& other) const = default; + public facebook::react::TransformOperationType type; + public facebook::react::ValueUnit x; + public facebook::react::ValueUnit y; + public facebook::react::ValueUnit z; +} + +struct facebook::react::TransformOrigin { + public bool isSet() const; + public bool operator==(const facebook::react::TransformOrigin& other) const = default; + public float z; + public operator folly::dynamic() const; + public std::array xy; +} + +struct facebook::react::ValueUnit { + public constexpr ValueUnit() = default; + public constexpr ValueUnit(float v, facebook::react::UnitType u); + public constexpr bool operator==(const facebook::react::ValueUnit& other) const = default; + public constexpr float resolve(float referenceLength) const; + public constexpr operator bool() const; + public facebook::react::UnitType unit; + public float value; + public folly::dynamic toDynamic() const; +} + +struct facebook::react::Vector { + public facebook::react::Float w; + public facebook::react::Float x; + public facebook::react::Float y; + public facebook::react::Float z; +} + +struct facebook::react::ViewEvents { + public constexpr bool operator[](const facebook::react::ViewEvents::Offset offset) const; + public std::bitset<64> bits; + public std::bitset<64>::reference operator[](const facebook::react::ViewEvents::Offset offset); +} + +enum facebook::react::ViewEvents::Offset : std::size_t { + Click, + ClickCapture, + GotPointerCapture, + LostPointerCapture, + MoveShouldSetResponder, + MoveShouldSetResponderCapture, + PointerDown, + PointerDownCapture, + PointerEnter, + PointerEnterCapture, + PointerLeave, + PointerLeaveCapture, + PointerMove, + PointerMoveCapture, + PointerOut, + PointerOutCapture, + PointerOver, + PointerOverCapture, + PointerUp, + PointerUpCapture, + ResponderEnd, + ResponderGrant, + ResponderMove, + ResponderReject, + ResponderRelease, + ResponderStart, + ResponderTerminate, + ResponderTerminationRequest, + ShouldBlockNativeResponder, + StartShouldSetResponder, + StartShouldSetResponderCapture, + TouchCancel, + TouchEnd, + TouchMove, + TouchStart, +} + +struct facebook::react::WritableArray : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; +} + +struct facebook::react::WritableMap : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; +} + +struct facebook::react::WritableNativeArray : public jni::HybridClass { + public WritableNativeArray(); + public WritableNativeArray(folly::dynamic&& val); + public static constexpr char* kJavaDescriptor; + public static void initHybrid(jni::alias_ref jobj); + public static void registerNatives(); + public void pushBoolean(jboolean value); + public void pushDouble(jdouble value); + public void pushInt(jint value); + public void pushLong(jlong value); + public void pushNativeArray(facebook::react::ReadableNativeArray* otherArray); + public void pushNativeMap(facebook::react::ReadableNativeMap* map); + public void pushNull(); + public void pushString(jstring value); +} + +struct facebook::react::WritableNativeMap : public jni::HybridClass { + public WritableNativeMap(); + public WritableNativeMap(folly::dynamic&& val); + public friend HybridBase; + public static constexpr auto kJavaDescriptor; + public static void initHybrid(jni::alias_ref jobj); + public static void registerNatives(); + public void mergeNativeMap(facebook::react::ReadableNativeMap* other); + public void putBoolean(std::string key, bool val); + public void putDouble(std::string key, double val); + public void putInt(std::string key, int val); + public void putLong(std::string key, jlong val); + public void putNativeArray(std::string key, facebook::react::ReadableNativeArray* otherArray); + public void putNativeMap(std::string key, facebook::react::ReadableNativeMap* otherMap); + public void putNull(std::string key); + public void putString(std::string key, jni::alias_ref val); +} + +template +struct facebook::react::CSSList : public std::vector { +} + +template +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +template +struct facebook::react::CSSList { +} + +template ... VisitorsT> +struct facebook::react::CSSComponentValueVisitorDispatcher { + public constexpr ReturnT consumeComponentValue(facebook::react::CSSDelimiter delimiter, const VisitorsT &... visitors); + public constexpr std::optional visitFunction(); + public constexpr std::optional visitFunction(const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); + public constexpr std::optional visitPreservedToken(); + public constexpr std::optional visitPreservedToken(const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); + public constexpr std::optional visitSimpleBlock(facebook::react::CSSTokenType endToken); + public constexpr std::optional visitSimpleBlock(facebook::react::CSSTokenType endToken, const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); + public facebook::react::CSSSyntaxParser& parser; +} + +template +struct facebook::react::CSSList : public std::vector { +} + +template +class facebook::react::CircularBuffer { + public CircularBuffer(size_t maxSize); + public T& operator[](size_t idx); + public bool add(const T& el); + public size_t size() const; + public std::vector getEntries() const; + public std::vector getEntries(std::function predicate) const; + public void clear(); + public void clear(std::function predicate); + public void getEntries(std::vector& res) const; + public void getEntries(std::vector& res, std::function predicate) const; +} + +template +class facebook::react::MoveWrapper { + public MoveWrapper() = default; + public MoveWrapper(T&& t); + public MoveWrapper(const facebook::react::MoveWrapper& other); + public MoveWrapper(facebook::react::MoveWrapper&& other) noexcept; + public T& operator*(); + public T&& move(); + public T* operator->(); + public const T& operator*() const; + public const T* operator->() const; + public facebook::react::MoveWrapper& operator=(const facebook::react::MoveWrapper&) = delete; + public facebook::react::MoveWrapper& operator=(facebook::react::MoveWrapper&&) = delete; +} + +template +class facebook::react::ConcreteViewShadowNode : public facebook::react::ConcreteShadowNode { + public ConcreteViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ConcreteViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public using BaseShadowNode = facebook::react::ConcreteShadowNode; + public using ConcreteViewProps = ViewPropsT; + public virtual bool canBeTouchTarget() const override; + public virtual bool canChildrenBeTouchTarget() const override; + public virtual facebook::react::Transform getTransform() const override; +} + +template +class facebook::react::BaseTextInputShadowNode : public facebook::react::ConcreteViewShadowNode, public facebook::react::BaseTextShadowNode { + protected facebook::react::LayoutConstraints getTextConstraints(const facebook::react::LayoutConstraints& layoutConstraints) const; + protected std::shared_ptr textLayoutManager_; + protected virtual facebook::react::Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const override; + protected virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; + protected virtual void layout(facebook::react::LayoutContext layoutContext) override; + public BaseTextInputShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public BaseTextInputShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public using BaseShadowNode = facebook::react::ConcreteViewShadowNode; + public void setTextLayoutManager(std::shared_ptr textLayoutManager); +} + +template +class facebook::react::UnstableLegacyViewManagerInteropComponentDescriptor : public facebook::react::ConcreteComponentDescriptor> { + public UnstableLegacyViewManagerInteropComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); +} + +template +class facebook::react::ConcreteShadowNode : public BaseShadowNodeT { + protected facebook::react::Props::Shared props_; + protected facebook::react::State::Shared state_; + public const facebook::react::ConcreteShadowNode::ConcreteEventEmitter& getConcreteEventEmitter() const; + public const facebook::react::ConcreteShadowNode::ConcreteProps& getConcreteProps() const; + public const facebook::react::ConcreteShadowNode::ConcreteStateData& getStateData() const; + public const std::shared_ptr& getConcreteSharedProps() const; + public static const facebook::react::ConcreteShadowNode::SharedConcreteProps& defaultSharedProps(); + public static facebook::react::ComponentHandle Handle(); + public static facebook::react::ComponentName Name(); + public static facebook::react::ConcreteShadowNode::ConcreteStateData initialStateData(const facebook::react::Props::Shared&, const facebook::react::ShadowNodeFamily::Shared&, const facebook::react::ComponentDescriptor&); + public static facebook::react::ConcreteShadowNode::UnsharedConcreteProps Props(const facebook::react::PropsParserContext& context, const facebook::react::RawProps& rawProps, const facebook::react::Props::Shared& baseProps = nullptr); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public static void initializeDynamicProps(facebook::react::ConcreteShadowNode::UnsharedConcreteProps props, const facebook::react::RawProps& rawProps, const facebook::react::Props::Shared& baseProps = nullptr); + public using ConcreteEventEmitter = EventEmitterT; + public using ConcreteProps = PropsT; + public using ConcreteState = facebook::react::ConcreteState; + public using ConcreteStateData = StateDataT; + public using SharedConcreteEventEmitter = std::shared_ptr; + public using SharedConcreteProps = std::shared_ptr; + public using SharedConcreteShadowNode = std::shared_ptr; + public using UnsharedConcreteProps = std::shared_ptr; + public void setStateData(facebook::react::ConcreteShadowNode::ConcreteStateData&& data); +} + +template +struct facebook::react::Bridging : public facebook::react::Bridging { +} + +template +struct facebook::react::TemplateStringLiteral { + public constexpr TemplateStringLiteral(const char(&str)[N]); + public constexpr operator std::string_view() const; + public std::array value; +} + +template +struct facebook::react::CSSDataTypeParser { +} + +template +class facebook::react::ConcreteState : public facebook::react::State { + public ConcreteState(facebook::react::ConcreteState::SharedData data, const facebook::react::State& previousState); + public ConcreteState(facebook::react::ConcreteState::SharedData data, facebook::react::ShadowNodeFamily::Weak family); + public const facebook::react::ConcreteState::Data& getData() const; + public using Data = DataT; + public using Shared = std::shared_ptr; + public using SharedData = std::shared_ptr; + public virtual facebook::react::MapBuffer getMapBuffer() const override; + public virtual folly::dynamic getDynamic() const override; + public virtual jni::local_ref getJNIReference() const override; + public virtual void updateState(folly::dynamic&& data) const override; + public void updateState(facebook::react::ConcreteState::Data&& newData, facebook::react::EventQueue::UpdateMode updateMode = facebook::react::EventQueue::UpdateMode::Asynchronous) const; + public void updateState(std::function callback, facebook::react::EventQueue::UpdateMode updateMode = facebook::react::EventQueue::UpdateMode::Asynchronous) const; + public ~ConcreteState() override = default; +} + +template +class facebook::react::SyncCallback { +} + +template +class facebook::react::SimpleThreadSafeCache { + public SimpleThreadSafeCache(); + public SimpleThreadSafeCache(unsigned long size); + public ValueT get(const KeyT& key, facebook::react::CacheGeneratorFunction auto generator) const; + public std::optional get(const KeyT& key) const; + public std::pair getWithKey(const KeyT& key, facebook::react::CacheGeneratorFunction auto generator) const; +} + +template +class facebook::react::DiffMap { + public DiffMap(); + public DiffMap(size_t sizeHint); + public facebook::react::DiffMap::Iterator begin(); + public facebook::react::DiffMap::Iterator end(); + public facebook::react::DiffMap::Iterator find(KeyT key); + public using Pair = std::pair; + public void erase(facebook::react::DiffMap::Iterator it); + public void insert(facebook::react::DiffMap::Pair pair); +} + +class facebook::react::DiffMap::Iterator { + public bool operator!=(const facebook::react::DiffMap::Iterator& other) const; + public bool operator==(const facebook::react::DiffMap::Iterator& other) const; + public const facebook::react::DiffMap::Pair& operator*() const; + public const facebook::react::DiffMap::Pair* operator->() const; + public facebook::react::DiffMap::Iterator& operator++(); +} + +template +class facebook::react::OnScopeExit { + public OnScopeExit(const Lambda&& lambda) noexcept; + public OnScopeExit(const facebook::react::OnScopeExit&) = delete; + public OnScopeExit(facebook::react::OnScopeExit&&) = delete; + public facebook::react::OnScopeExit& operator=(const facebook::react::OnScopeExit&) = delete; + public facebook::react::OnScopeExit& operator=(facebook::react::OnScopeExit&&) = delete; + public ~OnScopeExit() noexcept; +} + +template +struct facebook::react::NativePerformanceRawPerformanceEntry { + public P0 name; + public P1 entryType; + public P2 startTime; + public P3 duration; + public P4 processingStart; + public P5 processingEnd; + public P6 interactionId; + public P7 fetchStart; + public P8 requestStart; + public P9 connectStart; + public P10 connectEnd; + public P11 responseStart; + public P12 responseEnd; + public P13 responseStatus; + public P14 contentType; + public P15 encodedBodySize; + public P16 decodedBodySize; + public bool operator==(const facebook::react::NativePerformanceRawPerformanceEntry& other) const; +} + +template +struct facebook::react::NativePlatformConstantsAndroidPlatformConstantsAndroid { + public P0 isTesting; + public P1 isDisableAnimations; + public P2 reactNativeVersion; + public P3 Version; + public P4 Release; + public P5 Serial; + public P6 Fingerprint; + public P7 Model; + public P8 ServerHost; + public P9 uiMode; + public P10 Brand; + public P11 Manufacturer; + public bool operator==(const facebook::react::NativePlatformConstantsAndroidPlatformConstantsAndroid& other) const; +} + +template +struct facebook::react::NativeAlertManagerArgs { + public P0 title; + public P1 message; + public P2 buttons; + public P3 type; + public P4 defaultValue; + public P5 cancelButtonKey; + public P6 destructiveButtonKey; + public P7 preferredButtonKey; + public P8 keyboardType; + public P9 userInterfaceStyle; + public bool operator==(const facebook::react::NativeAlertManagerArgs& other) const; +} + +template +struct facebook::react::NativePushNotificationManagerIOSNotification { + public P0 alertTitle; + public P1 alertBody; + public P2 userInfo; + public P3 category; + public P4 fireDate; + public P5 fireIntervalSeconds; + public P6 applicationIconBadgeNumber; + public P7 isSilent; + public P8 soundName; + public bool operator==(const facebook::react::NativePushNotificationManagerIOSNotification& other) const; +} + +template +struct facebook::react::NativeExceptionsManagerExceptionData { + public P0 message; + public P1 originalMessage; + public P2 name; + public P3 componentStack; + public P4 stack; + public P5 id; + public P6 isFatal; + public P7 extraData; + public bool operator==(const facebook::react::NativeExceptionsManagerExceptionData& other) const; +} + +template +struct facebook::react::NativePlatformConstantsIOSPlatformConstantsIOS { + public P0 isTesting; + public P1 isDisableAnimations; + public P2 reactNativeVersion; + public P3 forceTouchAvailable; + public P4 osVersion; + public P5 systemName; + public P6 interfaceIdiom; + public P7 isMacCatalyst; + public bool operator==(const facebook::react::NativePlatformConstantsIOSPlatformConstantsIOS& other) const; +} + +template +struct facebook::react::NativeDialogManagerAndroidDialogOptions { + public P0 title; + public P1 message; + public P2 buttonPositive; + public P3 buttonNegative; + public P4 buttonNeutral; + public P5 items; + public P6 cancelable; + public bool operator==(const facebook::react::NativeDialogManagerAndroidDialogOptions& other) const; +} + +template +struct facebook::react::NativeIntersectionObserverNativeIntersectionObserverEntry { + public P0 intersectionObserverId; + public P1 targetInstanceHandle; + public P2 targetRect; + public P3 rootRect; + public P4 intersectionRect; + public P5 isIntersectingAboveThresholds; + public P6 time; + public bool operator==(const facebook::react::NativeIntersectionObserverNativeIntersectionObserverEntry& other) const; +} + +template +struct facebook::react::NativeIntersectionObserverNativeIntersectionObserverObserveOptions { + public P0 intersectionObserverId; + public P1 rootShadowNode; + public P2 targetShadowNode; + public P3 thresholds; + public P4 rootThresholds; + public P5 rootMargin; + public bool operator==(const facebook::react::NativeIntersectionObserverNativeIntersectionObserverObserveOptions& other) const; +} + +template +struct facebook::react::NativeDeviceInfoDisplayMetricsAndroid { + public P0 width; + public P1 height; + public P2 scale; + public P3 fontScale; + public P4 densityDpi; + public bool operator==(const facebook::react::NativeDeviceInfoDisplayMetricsAndroid& other) const; +} + +template +struct facebook::react::NativeExceptionsManagerStackFrame { + public P0 column; + public P1 file; + public P2 lineNumber; + public P3 methodName; + public P4 collapse; + public bool operator==(const facebook::react::NativeExceptionsManagerStackFrame& other) const; +} + +template +struct facebook::react::NativeImageEditorOptions { + public P0 offset; + public P1 size; + public P2 displaySize; + public P3 resizeMode; + public P4 allowExternalStorage; + public bool operator==(const facebook::react::NativeImageEditorOptions& other) const; +} + +template +struct facebook::react::NativeDeviceInfoDimensionsPayload { + public P0 window; + public P1 screen; + public P2 windowPhysicalPixels; + public P3 screenPhysicalPixels; + public bool operator==(const facebook::react::NativeDeviceInfoDimensionsPayload& other) const; +} + +template +struct facebook::react::NativeDeviceInfoDisplayMetrics { + public P0 width; + public P1 height; + public P2 scale; + public P3 fontScale; + public bool operator==(const facebook::react::NativeDeviceInfoDisplayMetrics& other) const; +} + +template +struct facebook::react::NativeFantomImageResponse { + public P0 width; + public P1 height; + public P2 cacheStatus; + public P3 errorMessage; + public bool operator==(const facebook::react::NativeFantomImageResponse& other) const; +} + +template +struct facebook::react::NativeMutationObserverNativeMutationRecord { + public P0 mutationObserverId; + public P1 target; + public P2 addedNodes; + public P3 removedNodes; + public bool operator==(const facebook::react::NativeMutationObserverNativeMutationRecord& other) const; +} + +template +struct facebook::react::NativePerformancePerformanceObserverInit { + public P0 entryTypes; + public P1 type; + public P2 buffered; + public P3 durationThreshold; + public bool operator==(const facebook::react::NativePerformancePerformanceObserverInit& other) const; +} + +template +struct facebook::react::NativePlatformConstantsAndroidReactNativeVersionAndroid { + public P0 major; + public P1 minor; + public P2 patch; + public P3 prerelease; + public bool operator==(const facebook::react::NativePlatformConstantsAndroidReactNativeVersionAndroid& other) const; +} + +template +struct facebook::react::NativeAnimatedModuleEndResult { + public P0 finished; + public P1 value; + public P2 offset; + public bool operator==(const facebook::react::NativeAnimatedModuleEndResult& other) const; +} + +template +struct facebook::react::NativeAnimatedTurboModuleEndResult { + public P0 finished; + public P1 value; + public P2 offset; + public bool operator==(const facebook::react::NativeAnimatedTurboModuleEndResult& other) const; +} + +template +struct facebook::react::NativeDeviceInfoDeviceInfoConstants { + public P0 Dimensions; + public P1 isEdgeToEdge; + public P2 isIPhoneX_deprecated; + public bool operator==(const facebook::react::NativeDeviceInfoDeviceInfoConstants& other) const; +} + +template +struct facebook::react::NativeFantomScrollOptions { + public P0 x; + public P1 y; + public P2 zoomScale; + public bool operator==(const facebook::react::NativeFantomScrollOptions& other) const; +} + +template +struct facebook::react::NativeI18nManagerI18nManagerConstants { + public P0 doLeftAndRightSwapInRTL; + public P1 isRTL; + public P2 localeIdentifier; + public bool operator==(const facebook::react::NativeI18nManagerI18nManagerConstants& other) const; +} + +template +struct facebook::react::NativeMutationObserverNativeMutationObserverObserveOptions { + public P0 mutationObserverId; + public P1 targetShadowNode; + public P2 subtree; + public bool operator==(const facebook::react::NativeMutationObserverNativeMutationObserverObserveOptions& other) const; +} + +template +struct facebook::react::NativePushNotificationManagerIOSPermissions { + public P0 alert; + public P1 badge; + public P2 sound; + public bool operator==(const facebook::react::NativePushNotificationManagerIOSPermissions& other) const; +} + +template +struct facebook::react::NativeAnimatedModuleEventMapping { + public P0 nativeEventPath; + public P1 animatedValueTag; + public bool operator==(const facebook::react::NativeAnimatedModuleEventMapping& other) const; +} + +template +struct facebook::react::NativeAnimatedTurboModuleEventMapping { + public P0 nativeEventPath; + public P1 animatedValueTag; + public bool operator==(const facebook::react::NativeAnimatedTurboModuleEventMapping& other) const; +} + +template +struct facebook::react::NativeBlobModuleConstants { + public P0 BLOB_URI_SCHEME; + public P1 BLOB_URI_HOST; + public bool operator==(const facebook::react::NativeBlobModuleConstants& other) const; +} + +template +struct facebook::react::NativeFantomRenderFormatOptions { + public P0 includeRoot; + public P1 includeLayoutMetrics; + public bool operator==(const facebook::react::NativeFantomRenderFormatOptions& other) const; +} + +template +struct facebook::react::NativeIdleCallbacksIdleDeadline { + public P0 didTimeout; + public P1 timeRemaining; + public bool operator==(const facebook::react::NativeIdleCallbacksIdleDeadline& other) const; +} + +template +struct facebook::react::NativeImageLoaderAndroidImageSize { + public P0 width; + public P1 height; + public bool operator==(const facebook::react::NativeImageLoaderAndroidImageSize& other) const; +} + +template +struct facebook::react::NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfig { + public P0 shouldReloadAndProfile; + public P1 recordChangeDescriptions; + public bool operator==(const facebook::react::NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfig& other) const; +} + +template +struct facebook::react::NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfig { + public P0 shouldReloadAndProfile; + public P1 recordChangeDescriptions; + public bool operator==(const facebook::react::NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfig& other) const; +} + +template +struct facebook::react::NativeAppStateAppState { + public P0 app_state; + public bool operator==(const facebook::react::NativeAppStateAppState& other) const; +} + +template +struct facebook::react::NativeAppStateAppStateConstants { + public P0 initialAppState; + public bool operator==(const facebook::react::NativeAppStateAppStateConstants& other) const; +} + +template +struct facebook::react::NativeIdleCallbacksRequestIdleCallbackOptions { + public P0 timeout; + public bool operator==(const facebook::react::NativeIdleCallbacksRequestIdleCallbackOptions& other) const; +} + +template +struct facebook::react::NativeSourceCodeSourceCodeConstants { + public P0 scriptURL; + public bool operator==(const facebook::react::NativeSourceCodeSourceCodeConstants& other) const; +} + +template +class facebook::react::SyncCallback { + public R call(Args... args) const; + public R operator()(Args... args) const; + public SyncCallback(const facebook::react::SyncCallback&) = delete; + public SyncCallback(facebook::jsi::Runtime& rt, facebook::jsi::Function function, std::shared_ptr jsInvoker); + public SyncCallback(facebook::react::SyncCallback&& other) noexcept; + public facebook::react::SyncCallback& operator=(const facebook::react::SyncCallback&) = delete; + public facebook::react::SyncCallback& operator=(facebook::react::SyncCallback&& other) noexcept; + public ~SyncCallback(); +} + +template +struct facebook::react::Bridging : public facebook::react::Bridging> { +} + +template +struct facebook::react::Bridging : public facebook::react::Bridging> { +} + +template +class facebook::react::SafeReleaseJniRef { + public RefT::javaobject get() const; + public SafeReleaseJniRef() = default; + public SafeReleaseJniRef(RefT ref); + public SafeReleaseJniRef(const facebook::react::SafeReleaseJniRef& other) = default; + public SafeReleaseJniRef(facebook::react::SafeReleaseJniRef&& other) = default; + public const std::remove_reference())>::type& operator*() const noexcept; + public const std::remove_reference())>::type* operator->() const noexcept; + public facebook::react::SafeReleaseJniRef& operator=(const facebook::react::SafeReleaseJniRef& other) = default; + public facebook::react::SafeReleaseJniRef& operator=(facebook::react::SafeReleaseJniRef&& other) = default; + public operator RefT() const; + public operator bool() const noexcept; + public std::remove_reference())>::type& operator*() noexcept; + public std::remove_reference())>::type* operator->() noexcept; + public ~SafeReleaseJniRef(); +} + +template +class facebook::react::BaseParagraphComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; + public BaseParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); + public virtual facebook::react::ComponentName getComponentName() const override; +} + +template +class facebook::react::ConcreteComponentDescriptor : public facebook::react::ComponentDescriptor { + protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; + public ConcreteComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public using ConcreteEventEmitter = typename ShadowNodeT::ConcreteEventEmitter; + public using ConcreteProps = typename ShadowNodeT::ConcreteProps; + public using ConcreteShadowNode = ShadowNodeT; + public using ConcreteState = typename ShadowNodeT::ConcreteState; + public using ConcreteStateData = typename ShadowNodeT::ConcreteState::Data; + public using SharedConcreteEventEmitter = typename ShadowNodeT::SharedConcreteEventEmitter; + public using SharedConcreteProps = typename ShadowNodeT::SharedConcreteProps; + public virtual facebook::react::ComponentHandle getComponentHandle() const override; + public virtual facebook::react::ComponentName getComponentName() const override; + public virtual facebook::react::Props::Shared cloneProps(const facebook::react::PropsParserContext& context, const facebook::react::Props::Shared& props, facebook::react::RawProps rawProps) const override; + public virtual facebook::react::ShadowNodeFamily::Shared createFamily(const facebook::react::ShadowNodeFamilyFragment& fragment) const override; + public virtual facebook::react::ShadowNodeTraits getTraits() const override; + public virtual facebook::react::State::Shared createInitialState(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family) const override; + public virtual facebook::react::State::Shared createState(const facebook::react::ShadowNodeFamily& family, const facebook::react::StateData::Shared& data) const override; + public virtual std::shared_ptr cloneShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) const override; + public virtual std::shared_ptr createShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family) const override; + public virtual void appendChild(const std::shared_ptr& parentShadowNode, const std::shared_ptr& childShadowNode) const override; +} + +template +class facebook::react::Element { + public Element(); + public facebook::react::Element& children(std::vector children); + public facebook::react::Element& finalize(std::function finalizeCallback); + public facebook::react::Element& props(facebook::react::Element::SharedConcreteProps props); + public facebook::react::Element& props(std::function callback); + public facebook::react::Element& reference(facebook::react::Element::ConcreteUnsharedShadowNode& outShadowNode); + public facebook::react::Element& reference(std::function callback); + public facebook::react::Element& stateData(std::function callback); + public facebook::react::Element& surfaceId(facebook::react::SurfaceId surfaceId); + public facebook::react::Element& tag(facebook::react::Tag tag); + public operator facebook::react::ElementFragment(); + public using ConcreteProps = typename ShadowNodeT::ConcreteProps; + public using ConcreteReferenceCallback = std::function& shadowNode)>; + public using ConcreteShadowNode = ShadowNodeT; + public using ConcreteState = typename ShadowNodeT::ConcreteState; + public using ConcreteStateData = typename ShadowNodeT::ConcreteStateData; + public using ConcreteUnsharedShadowNode = std::shared_ptr; + public using SharedConcreteProps = std::shared_ptr; + public using SharedConcreteState = std::shared_ptr; +} + +template +struct facebook::react::Bridging { +} + +template +class facebook::react::NativeAccessibilityInfoCxxSpec : public facebook::react::TurboModule { + protected NativeAccessibilityInfoCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeAccessibilityManagerCxxSpec : public facebook::react::TurboModule { + protected NativeAccessibilityManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeActionSheetManagerCxxSpec : public facebook::react::TurboModule { + protected NativeActionSheetManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeAlertManagerCxxSpec : public facebook::react::TurboModule { + protected NativeAlertManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeAnimatedModuleCxxSpec : public facebook::react::TurboModule { + protected NativeAnimatedModuleCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeAnimatedTurboModuleCxxSpec : public facebook::react::TurboModule { + protected NativeAnimatedTurboModuleCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeAppStateCxxSpec : public facebook::react::TurboModule { + protected NativeAppStateCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeAppearanceCxxSpec : public facebook::react::TurboModule { + protected NativeAppearanceCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeBlobModuleCxxSpec : public facebook::react::TurboModule { + protected NativeBlobModuleCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeCPUTimeCxxSpec : public facebook::react::TurboModule { + protected NativeCPUTimeCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeClipboardCxxSpec : public facebook::react::TurboModule { + protected NativeClipboardCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeDOMCxxSpec : public facebook::react::TurboModule { + protected NativeDOMCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeDevLoadingViewCxxSpec : public facebook::react::TurboModule { + protected NativeDevLoadingViewCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeDevMenuCxxSpec : public facebook::react::TurboModule { + protected NativeDevMenuCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeDevSettingsCxxSpec : public facebook::react::TurboModule { + protected NativeDevSettingsCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeDeviceEventManagerCxxSpec : public facebook::react::TurboModule { + protected NativeDeviceEventManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeDeviceInfoCxxSpec : public facebook::react::TurboModule { + protected NativeDeviceInfoCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeDialogManagerAndroidCxxSpec : public facebook::react::TurboModule { + protected NativeDialogManagerAndroidCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeExceptionsManagerCxxSpec : public facebook::react::TurboModule { + protected NativeExceptionsManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeFantomCxxSpec : public facebook::react::TurboModule { + protected NativeFantomCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeFantomTestSpecificMethodsCxxSpec : public facebook::react::TurboModule { + protected NativeFantomTestSpecificMethodsCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeFileReaderModuleCxxSpec : public facebook::react::TurboModule { + protected NativeFileReaderModuleCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeFrameRateLoggerCxxSpec : public facebook::react::TurboModule { + protected NativeFrameRateLoggerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeHeadlessJsTaskSupportCxxSpec : public facebook::react::TurboModule { + protected NativeHeadlessJsTaskSupportCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeI18nManagerCxxSpec : public facebook::react::TurboModule { + protected NativeI18nManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeIdleCallbacksCxxSpec : public facebook::react::TurboModule { + protected NativeIdleCallbacksCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeImageEditorCxxSpec : public facebook::react::TurboModule { + protected NativeImageEditorCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeImageLoaderAndroidCxxSpec : public facebook::react::TurboModule { + protected NativeImageLoaderAndroidCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeImageLoaderIOSCxxSpec : public facebook::react::TurboModule { + protected NativeImageLoaderIOSCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeImageStoreAndroidCxxSpec : public facebook::react::TurboModule { + protected NativeImageStoreAndroidCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeImageStoreIOSCxxSpec : public facebook::react::TurboModule { + protected NativeImageStoreIOSCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeIntentAndroidCxxSpec : public facebook::react::TurboModule { + protected NativeIntentAndroidCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeIntersectionObserverCxxSpec : public facebook::react::TurboModule { + protected NativeIntersectionObserverCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeJSCHeapCaptureCxxSpec : public facebook::react::TurboModule { + protected NativeJSCHeapCaptureCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeKeyboardObserverCxxSpec : public facebook::react::TurboModule { + protected NativeKeyboardObserverCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeLinkingManagerCxxSpec : public facebook::react::TurboModule { + protected NativeLinkingManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeLogBoxCxxSpec : public facebook::react::TurboModule { + protected NativeLogBoxCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeMicrotasksCxxSpec : public facebook::react::TurboModule { + protected NativeMicrotasksCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeModalManagerCxxSpec : public facebook::react::TurboModule { + protected NativeModalManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeMutationObserverCxxSpec : public facebook::react::TurboModule { + protected NativeMutationObserverCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeNetworkingAndroidCxxSpec : public facebook::react::TurboModule { + protected NativeNetworkingAndroidCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeNetworkingIOSCxxSpec : public facebook::react::TurboModule { + protected NativeNetworkingIOSCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativePerformanceCxxSpec : public facebook::react::TurboModule { + protected NativePerformanceCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativePermissionsAndroidCxxSpec : public facebook::react::TurboModule { + protected NativePermissionsAndroidCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativePlatformConstantsAndroidCxxSpec : public facebook::react::TurboModule { + protected NativePlatformConstantsAndroidCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativePlatformConstantsIOSCxxSpec : public facebook::react::TurboModule { + protected NativePlatformConstantsIOSCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativePushNotificationManagerIOSCxxSpec : public facebook::react::TurboModule { + protected NativePushNotificationManagerIOSCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeReactDevToolsRuntimeSettingsModuleCxxSpec : public facebook::react::TurboModule { + protected NativeReactDevToolsRuntimeSettingsModuleCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeReactDevToolsSettingsManagerCxxSpec : public facebook::react::TurboModule { + protected NativeReactDevToolsSettingsManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeReactNativeFeatureFlagsCxxSpec : public facebook::react::TurboModule { + protected NativeReactNativeFeatureFlagsCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeRedBoxCxxSpec : public facebook::react::TurboModule { + protected NativeRedBoxCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeSegmentFetcherCxxSpec : public facebook::react::TurboModule { + protected NativeSegmentFetcherCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeSettingsManagerCxxSpec : public facebook::react::TurboModule { + protected NativeSettingsManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeShareModuleCxxSpec : public facebook::react::TurboModule { + protected NativeShareModuleCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeSoundManagerCxxSpec : public facebook::react::TurboModule { + protected NativeSoundManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeSourceCodeCxxSpec : public facebook::react::TurboModule { + protected NativeSourceCodeCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeStatusBarManagerAndroidCxxSpec : public facebook::react::TurboModule { + protected NativeStatusBarManagerAndroidCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeStatusBarManagerIOSCxxSpec : public facebook::react::TurboModule { + protected NativeStatusBarManagerIOSCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeTimingCxxSpec : public facebook::react::TurboModule { + protected NativeTimingCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeToastAndroidCxxSpec : public facebook::react::TurboModule { + protected NativeToastAndroidCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeVibrationCxxSpec : public facebook::react::TurboModule { + protected NativeVibrationCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeWebSocketModuleCxxSpec : public facebook::react::TurboModule { + protected NativeWebSocketModuleCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +struct facebook::react::AnimatedProp : public facebook::react::AnimatedPropBase { + public AnimatedProp() = default; + public AnimatedProp(facebook::react::PropName propName, const T& value); + public T value; +} + +template +struct facebook::react::CascadedRectangleCorners { + public bool operator==(const facebook::react::CascadedRectangleCorners& rhs) const = default; + public facebook::react::CascadedRectangleCorners::Counterpart resolve(bool isRTL, T defaults) const; + public facebook::react::CascadedRectangleCorners::OptionalT all; + public facebook::react::CascadedRectangleCorners::OptionalT bottomEnd; + public facebook::react::CascadedRectangleCorners::OptionalT bottomLeft; + public facebook::react::CascadedRectangleCorners::OptionalT bottomRight; + public facebook::react::CascadedRectangleCorners::OptionalT bottomStart; + public facebook::react::CascadedRectangleCorners::OptionalT endEnd; + public facebook::react::CascadedRectangleCorners::OptionalT endStart; + public facebook::react::CascadedRectangleCorners::OptionalT startEnd; + public facebook::react::CascadedRectangleCorners::OptionalT startStart; + public facebook::react::CascadedRectangleCorners::OptionalT topEnd; + public facebook::react::CascadedRectangleCorners::OptionalT topLeft; + public facebook::react::CascadedRectangleCorners::OptionalT topRight; + public facebook::react::CascadedRectangleCorners::OptionalT topStart; + public using Counterpart = facebook::react::RectangleCorners; + public using OptionalT = std::optional; +} + +template +struct facebook::react::CascadedRectangleEdges { + public bool operator==(const facebook::react::CascadedRectangleEdges& rhs) const = default; + public facebook::react::CascadedRectangleEdges::Counterpart resolve(bool isRTL, T defaults) const; + public facebook::react::CascadedRectangleEdges::OptionalT all; + public facebook::react::CascadedRectangleEdges::OptionalT block; + public facebook::react::CascadedRectangleEdges::OptionalT blockEnd; + public facebook::react::CascadedRectangleEdges::OptionalT blockStart; + public facebook::react::CascadedRectangleEdges::OptionalT bottom; + public facebook::react::CascadedRectangleEdges::OptionalT end; + public facebook::react::CascadedRectangleEdges::OptionalT horizontal; + public facebook::react::CascadedRectangleEdges::OptionalT left; + public facebook::react::CascadedRectangleEdges::OptionalT right; + public facebook::react::CascadedRectangleEdges::OptionalT start; + public facebook::react::CascadedRectangleEdges::OptionalT top; + public facebook::react::CascadedRectangleEdges::OptionalT vertical; + public using Counterpart = facebook::react::RectangleEdges; + public using OptionalT = std::optional; +} + +template +struct facebook::react::NativeAlertManagerArgsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeAnimatedModuleEndResultBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeAnimatedModuleEventMappingBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeAnimatedTurboModuleEndResultBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeAnimatedTurboModuleEventMappingBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeAppStateAppStateBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeAppStateAppStateConstantsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeBlobModuleConstantsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeDeviceInfoDeviceInfoConstantsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeDeviceInfoDimensionsPayloadBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeDeviceInfoDisplayMetricsAndroidBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeDeviceInfoDisplayMetricsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeDialogManagerAndroidDialogOptionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeExceptionsManagerExceptionDataBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeExceptionsManagerStackFrameBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeFantomImageResponseBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeFantomRenderFormatOptionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeFantomScrollOptionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeI18nManagerI18nManagerConstantsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeIdleCallbacksIdleDeadlineBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeIdleCallbacksRequestIdleCallbackOptionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeImageEditorOptionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeImageLoaderAndroidImageSizeBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeIntersectionObserverNativeIntersectionObserverEntryBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeIntersectionObserverNativeIntersectionObserverObserveOptionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeMutationObserverNativeMutationObserverObserveOptionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeMutationObserverNativeMutationRecordBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativePerformancePerformanceObserverInitBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativePerformanceRawPerformanceEntryBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativePlatformConstantsAndroidPlatformConstantsAndroidBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativePlatformConstantsAndroidReactNativeVersionAndroidBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativePlatformConstantsIOSPlatformConstantsIOSBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativePushNotificationManagerIOSNotificationBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativePushNotificationManagerIOSPermissionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfigBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfigBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeSourceCodeSourceCodeConstantsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::RectangleCorners { + public T bottomLeft; + public T bottomRight; + public T topLeft; + public T topRight; + public bool isUniform() const noexcept; + public bool operator==(const facebook::react::RectangleCorners& rhs) const noexcept = default; +} + +template +struct facebook::react::RectangleEdges { + public T bottom; + public T left; + public T right; + public T top; + public bool isUniform() const noexcept; + public bool operator==(const facebook::react::RectangleEdges& rhs) const noexcept = default; + public static const facebook::react::RectangleEdges ZERO; +} + +template +class facebook::react::AsyncCallback { + public AsyncCallback(facebook::jsi::Runtime& runtime, facebook::jsi::Function function, std::shared_ptr jsInvoker); + public void call(Args... args) const noexcept; + public void call(std::function&& callImpl) const noexcept; + public void callWithPriority(facebook::react::SchedulerPriority priority, Args... args) const noexcept; + public void callWithPriority(facebook::react::SchedulerPriority priority, std::function&& callImpl) const noexcept; + public void operator()(Args... args) const noexcept; +} + +template +class facebook::react::AsyncEventEmitter : public facebook::react::IAsyncEventEmitter { + public AsyncEventEmitter(); + public AsyncEventEmitter(const facebook::react::AsyncEventEmitter&) = delete; + public AsyncEventEmitter(facebook::react::AsyncEventEmitter&&) noexcept = default; + public facebook::react::AsyncEventEmitter& operator=(const facebook::react::AsyncEventEmitter&) = delete; + public facebook::react::AsyncEventEmitter& operator=(facebook::react::AsyncEventEmitter&&) noexcept = default; + public virtual facebook::jsi::Object get(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker) const override; + public void emit(Args... value); + public void emit(std::function&& converter); + public ~AsyncEventEmitter() override = default; +} + +template +class facebook::react::SharedFunction { + public SharedFunction(const facebook::react::SharedFunction& other) = default; + public SharedFunction(facebook::react::SharedFunction&& other) noexcept = default; + public SharedFunction(std::function&& function = nullptr); + public facebook::react::SharedFunction& operator=(const facebook::react::SharedFunction& other) = default; + public facebook::react::SharedFunction& operator=(facebook::react::SharedFunction&& other) noexcept = default; + public void assign(std::function function) const; + public void operator()(ArgumentT... args) const; +} + +template +class facebook::react::AsyncPromise { + public AsyncPromise(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker); + public facebook::jsi::Object get(facebook::jsi::Runtime& rt) const; + public void reject(facebook::react::Error error); + public void resolve(T... value); +} + +template +class facebook::react::EventListenerContainerT { + public bool willDispatchEvent(TArgs... args); + public void addListener(std::shared_ptr> listener); + public void removeListener(const std::shared_ptr>& listener); +} + +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const folly::dynamic& value); + public static folly::dynamic fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); +} + +struct facebook::react::Bridging { + public static std::nullptr_t fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); + public static std::nullptr_t toJs(facebook::jsi::Runtime&, std::nullptr_t); +} + +struct facebook::react::Bridging { + public static facebook::jsi::String toJs(facebook::jsi::Runtime& rt, const std::string& value); + public static std::string fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::String& value); +} + +struct facebook::react::Bridging { + public static facebook::jsi::String toJs(facebook::jsi::Runtime& rt, std::string_view value); +} + +template +struct facebook::react::Bridging> { + public static constexpr size_t kArgumentCount; + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, facebook::react::Bridging>::Func fn, const std::shared_ptr& jsInvoker); + public using Func = std::function; + public using IndexSequence = std::index_sequence_for; +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, 2> { + public static std::pair fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, N> { + public static std::array fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::optional& value, const std::shared_ptr& jsInvoker); + public static std::optional fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value, const std::shared_ptr& jsInvoker); + template + public static std::optional fromJs(facebook::jsi::Runtime& rt, const std::optional& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { + public static std::set fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::unique_ptr& ptr, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { + public static std::vector fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::weak_ptr& weakPtr, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, sizeof...(Types)> { +} + +struct facebook::react::Bridging { + public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); + public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Value&& value); + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, std::string message); +} + +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::WeakObject& value); + public static facebook::jsi::WeakObject fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); +} + +struct facebook::react::Bridging : public facebook::react::NativeAnimatedTurboModuleEndResultBridging { +} + +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const facebook::react::Error& error); +} + +struct facebook::react::Bridging { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::EventSubscription& eventSubscription, const std::shared_ptr& jsInvoker); + public static facebook::react::EventSubscription fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); +} + +struct facebook::react::Bridging { + public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResDuration& value); + public static facebook::react::HighResDuration fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); +} + +struct facebook::react::Bridging { + public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResTimeStamp& value); + public static facebook::react::HighResTimeStamp fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); +} + +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::react::NativeFantomNativeEventCategory value); + public static facebook::react::NativeFantomNativeEventCategory fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& rawValue); +} + +struct facebook::react::Bridging : public facebook::react::NativeIntersectionObserverNativeIntersectionObserverEntryBridging { +} + +struct facebook::react::Bridging : public facebook::react::NativeIntersectionObserverNativeIntersectionObserverObserveOptionsBridging { +} + +struct facebook::react::Bridging : public facebook::react::NativeMutationObserverNativeMutationObserverObserveOptionsBridging { +} + +struct facebook::react::Bridging : public facebook::react::NativeMutationObserverNativeMutationRecordBridging { +} + +struct facebook::react::Bridging : public facebook::react::NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfigBridging { +} + +struct facebook::react::Bridging : public facebook::react::NativePerformanceRawPerformanceEntryBridging { +} + +struct facebook::react::Bridging : public facebook::react::NativePerformancePerformanceObserverInitBridging { +} + +struct facebook::react::Bridging : public facebook::react::NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfigBridging { +} + +struct facebook::react::Bridging : public facebook::react::NativeIdleCallbacksRequestIdleCallbackOptionsBridging { +} + +struct facebook::react::Bridging { + public static facebook::react::PerformanceEntryType fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); + public static int toJs(facebook::jsi::Runtime&, const facebook::react::PerformanceEntryType& value); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static std::optional consume(facebook::react::CSSValueParser& syntaxParser); +} + +struct facebook::react::CSSDataTypeParser { + public static std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSNumberPercentTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSNumberPercentTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSVariantComponentTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSVariantComponentTransformParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +template +struct facebook::react::CSSDataTypeParser> { + public static std::optional> consume(facebook::react::CSSValueParser& parser); +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::SyncCallback& value); + public static facebook::react::SyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncCallback& value); + public static facebook::react::AsyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncEventEmitter& eventEmitter, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { +} + +template +struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncPromise& promise); +} + +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::shared_ptr& value); + public static std::shared_ptr fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& jsiValue); +} + +template +struct facebook::react::Bridging, std::enable_if_t, std::function>>> : public facebook::react::Bridging> { +} + +template +struct facebook::react::Bridging, std::enable_if_t>> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::shared_ptr& ptr, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging, std::enable_if_t>> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, std::shared_ptr value); + public static std::shared_ptr fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); +} + + +bool facebook::react::HostPlatformViewTraitsInitializer::formsStackingContext(const facebook::react::ViewProps& viewProps); +bool facebook::react::HostPlatformViewTraitsInitializer::formsView(const facebook::react::ViewProps& viewProps); +bool facebook::react::HostPlatformViewTraitsInitializer::isKeyboardFocusable(const facebook::react::ViewProps& viewProps); + + +const char* facebook::react::exceptions::gUnexpectedNativeTypeExceptionClass; +template +void facebook::react::exceptions::throwIfObjectAlreadyConsumed(const T& t, const char* msg); + + +constexpr bool facebook::react::detail::isHexDigit(char c); +constexpr bool facebook::react::detail::isValidHexColor(std::string_view hex); +constexpr float facebook::react::detail::hueToRgb(float p, float q, float t); +constexpr std::optional facebook::react::detail::normalizeNumberComponent(const std::variant& component); +constexpr uint8_t facebook::react::detail::clamp255Component(float f); +constexpr uint8_t facebook::react::detail::clampAlpha(std::optional alpha); +constexpr uint8_t facebook::react::detail::hexToNumeric(std::string_view hex, facebook::react::detail::HexColorType hexType); +float facebook::react::detail::normalizeHue(float hue); +std::optional facebook::react::detail::normalizeHueComponent(const std::variant& component); +std::tuple facebook::react::detail::hslToRgb(float h, float s, float l); +std::tuple facebook::react::detail::hwbToRgb(float h, float w, float b); +template +constexpr bool facebook::react::detail::isLegacyColorFunction(facebook::react::CSSValueParser& parser); +template +constexpr std::optional facebook::react::detail::parseLegacyRgbFunction(facebook::react::CSSValueParser& parser); +template +constexpr std::optional facebook::react::detail::parseModernRgbFunction(facebook::react::CSSValueParser& parser); +template +constexpr std::optional facebook::react::detail::parseRgbFunction(facebook::react::CSSValueParser& parser); +template +std::optional facebook::react::detail::parseHslFunction(facebook::react::CSSValueParser& parser); +template +std::optional facebook::react::detail::parseHwbFunction(facebook::react::CSSValueParser& parser); +template +std::optional facebook::react::detail::parseLegacyHslFunction(facebook::react::CSSValueParser& parser); +template +std::optional facebook::react::detail::parseModernHslFunction(facebook::react::CSSValueParser& parser); +template +constexpr std::optional facebook::react::detail::normalizeComponent(const std::variant& component, float baseValue); + +enum facebook::react::detail::HexColorType { + Long, + Short, +} + +template +struct facebook::react::detail::merge_data_types { + public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; +} + +template +struct facebook::react::detail::merge_data_types { + public using type = std::variant; +} + +template +struct facebook::react::detail::merge_data_types { +} + +template +struct facebook::react::detail::PreparedTextLayoutT { + public using type = typename T::PreparedTextLayout; +} + +template +struct facebook::react::detail::CSSVariantComponentTransformParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +template +struct facebook::react::detail::CSSAngleTransformParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +template +struct facebook::react::detail::CSSFilterSimpleAmountParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +template +struct facebook::react::detail::CSSNumberPercentTransformParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +template +struct facebook::react::detail::PreparedTextLayoutT { + public using type = std::nullptr_t; +} + +template +struct facebook::react::detail::is_variant_of_data_types : public std::false_type { +} + +template +class facebook::react::detail::TextLayoutManagerExtended { + public TextLayoutManagerExtended(const TextLayoutManagerT& textLayoutManager); + public facebook::react::LinesMeasurements measureLines(const facebook::react::AttributedStringBox& attributedStringBox, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::Size& size); + public facebook::react::TextMeasurement measurePreparedLayout(const facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout& layout, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout prepareLayout(const facebook::react::AttributedString& attributedString, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public static constexpr bool supportsLineMeasurement(); + public static constexpr bool supportsPreparedTextLayout(); + public using PreparedTextLayout = typename facebook::react::detail::PreparedTextLayoutT::type; +} + +template +struct facebook::react::detail::merge_variant { +} + +template +struct facebook::react::detail::merge_data_types, RestT...> { + public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; +} + +template +struct facebook::react::detail::merge_data_types, AlllowedType2T, RestT...> { + public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; +} + +template +struct facebook::react::detail::merge_variant, RestT...> { + public using type = std::variant; +} + +template +struct facebook::react::detail::merge_data_types> { + public using type = std::variant; +} + +template +struct facebook::react::detail::is_variant_of_data_types> : public std::false_type, public std::true_type { +} + +template +struct facebook::react::detail::merge_data_types, std::variant, RestT...> { + public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; +} + + +constexpr std::string_view facebook::react::detail::css::keywords::Absolute; +constexpr std::string_view facebook::react::detail::css::keywords::At; +constexpr std::string_view facebook::react::detail::css::keywords::Auto; +constexpr std::string_view facebook::react::detail::css::keywords::Baseline; +constexpr std::string_view facebook::react::detail::css::keywords::Block; +constexpr std::string_view facebook::react::detail::css::keywords::Bottom; +constexpr std::string_view facebook::react::detail::css::keywords::Center; +constexpr std::string_view facebook::react::detail::css::keywords::Clip; +constexpr std::string_view facebook::react::detail::css::keywords::Column; +constexpr std::string_view facebook::react::detail::css::keywords::ColumnReverse; +constexpr std::string_view facebook::react::detail::css::keywords::CommonLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::Content; +constexpr std::string_view facebook::react::detail::css::keywords::Contents; +constexpr std::string_view facebook::react::detail::css::keywords::Contextual; +constexpr std::string_view facebook::react::detail::css::keywords::Dashed; +constexpr std::string_view facebook::react::detail::css::keywords::DiscretionaryLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::Dotted; +constexpr std::string_view facebook::react::detail::css::keywords::Double; +constexpr std::string_view facebook::react::detail::css::keywords::End; +constexpr std::string_view facebook::react::detail::css::keywords::Fixed; +constexpr std::string_view facebook::react::detail::css::keywords::Flex; +constexpr std::string_view facebook::react::detail::css::keywords::FlexEnd; +constexpr std::string_view facebook::react::detail::css::keywords::FlexStart; +constexpr std::string_view facebook::react::detail::css::keywords::Grid; +constexpr std::string_view facebook::react::detail::css::keywords::Groove; +constexpr std::string_view facebook::react::detail::css::keywords::Hidden; +constexpr std::string_view facebook::react::detail::css::keywords::HistoricalLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::Inherit; +constexpr std::string_view facebook::react::detail::css::keywords::Initial; +constexpr std::string_view facebook::react::detail::css::keywords::Inline; +constexpr std::string_view facebook::react::detail::css::keywords::InlineBlock; +constexpr std::string_view facebook::react::detail::css::keywords::InlineFlex; +constexpr std::string_view facebook::react::detail::css::keywords::InlineGrid; +constexpr std::string_view facebook::react::detail::css::keywords::Inset; +constexpr std::string_view facebook::react::detail::css::keywords::Left; +constexpr std::string_view facebook::react::detail::css::keywords::LiningNums; +constexpr std::string_view facebook::react::detail::css::keywords::Ltr; +constexpr std::string_view facebook::react::detail::css::keywords::MaxContent; +constexpr std::string_view facebook::react::detail::css::keywords::Medium; +constexpr std::string_view facebook::react::detail::css::keywords::MinContent; +constexpr std::string_view facebook::react::detail::css::keywords::NoCommonLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::NoContextual; +constexpr std::string_view facebook::react::detail::css::keywords::NoDiscretionaryLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::NoHistoricalLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::NoWrap; +constexpr std::string_view facebook::react::detail::css::keywords::None; +constexpr std::string_view facebook::react::detail::css::keywords::Normal; +constexpr std::string_view facebook::react::detail::css::keywords::OldstyleNums; +constexpr std::string_view facebook::react::detail::css::keywords::Outset; +constexpr std::string_view facebook::react::detail::css::keywords::ProportionalNums; +constexpr std::string_view facebook::react::detail::css::keywords::Relative; +constexpr std::string_view facebook::react::detail::css::keywords::Ridge; +constexpr std::string_view facebook::react::detail::css::keywords::Right; +constexpr std::string_view facebook::react::detail::css::keywords::Row; +constexpr std::string_view facebook::react::detail::css::keywords::RowReverse; +constexpr std::string_view facebook::react::detail::css::keywords::Rtl; +constexpr std::string_view facebook::react::detail::css::keywords::Scroll; +constexpr std::string_view facebook::react::detail::css::keywords::SmallCaps; +constexpr std::string_view facebook::react::detail::css::keywords::Solid; +constexpr std::string_view facebook::react::detail::css::keywords::SpaceAround; +constexpr std::string_view facebook::react::detail::css::keywords::SpaceBetween; +constexpr std::string_view facebook::react::detail::css::keywords::SpaceEvenly; +constexpr std::string_view facebook::react::detail::css::keywords::Start; +constexpr std::string_view facebook::react::detail::css::keywords::Static; +constexpr std::string_view facebook::react::detail::css::keywords::Sticky; +constexpr std::string_view facebook::react::detail::css::keywords::Stretch; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticEight; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticEighteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticEleven; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticFifteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticFive; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticFour; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticFourteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticNine; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticNineteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticOne; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticSeven; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticSeventeen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticSix; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticSixteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticTen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticThirteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticThree; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwelve; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwenty; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwo; +constexpr std::string_view facebook::react::detail::css::keywords::TabularNums; +constexpr std::string_view facebook::react::detail::css::keywords::Thick; +constexpr std::string_view facebook::react::detail::css::keywords::Thin; +constexpr std::string_view facebook::react::detail::css::keywords::To; +constexpr std::string_view facebook::react::detail::css::keywords::Top; +constexpr std::string_view facebook::react::detail::css::keywords::Unset; +constexpr std::string_view facebook::react::detail::css::keywords::Visible; +constexpr std::string_view facebook::react::detail::css::keywords::Wrap; +constexpr std::string_view facebook::react::detail::css::keywords::WrapReverse; +template +concept facebook::react::detail::css::keywords::hasAbsolute = (CSSKeywordSet && requires() { T::Absolute; }); +template +concept facebook::react::detail::css::keywords::hasAt = (CSSKeywordSet && requires() { T::At; }); +template +concept facebook::react::detail::css::keywords::hasAuto = (CSSKeywordSet && requires() { T::Auto; }); +template +concept facebook::react::detail::css::keywords::hasBaseline = (CSSKeywordSet && requires() { T::Baseline; }); +template +concept facebook::react::detail::css::keywords::hasBlock = (CSSKeywordSet && requires() { T::Block; }); +template +concept facebook::react::detail::css::keywords::hasBottom = (CSSKeywordSet && requires() { T::Bottom; }); +template +concept facebook::react::detail::css::keywords::hasCenter = (CSSKeywordSet && requires() { T::Center; }); +template +concept facebook::react::detail::css::keywords::hasClip = (CSSKeywordSet && requires() { T::Clip; }); +template +concept facebook::react::detail::css::keywords::hasColumn = (CSSKeywordSet && requires() { T::Column; }); +template +concept facebook::react::detail::css::keywords::hasColumnReverse = (CSSKeywordSet && requires() { T::ColumnReverse; }); +template +concept facebook::react::detail::css::keywords::hasCommonLigatures = (CSSKeywordSet && requires() { T::CommonLigatures; }); +template +concept facebook::react::detail::css::keywords::hasContent = (CSSKeywordSet && requires() { T::Content; }); +template +concept facebook::react::detail::css::keywords::hasContents = (CSSKeywordSet && requires() { T::Contents; }); +template +concept facebook::react::detail::css::keywords::hasContextual = (CSSKeywordSet && requires() { T::Contextual; }); +template +concept facebook::react::detail::css::keywords::hasDashed = (CSSKeywordSet && requires() { T::Dashed; }); +template +concept facebook::react::detail::css::keywords::hasDiscretionaryLigatures = (CSSKeywordSet && requires() { T::DiscretionaryLigatures; }); +template +concept facebook::react::detail::css::keywords::hasDotted = (CSSKeywordSet && requires() { T::Dotted; }); +template +concept facebook::react::detail::css::keywords::hasDouble = (CSSKeywordSet && requires() { T::Double; }); +template +concept facebook::react::detail::css::keywords::hasEnd = (CSSKeywordSet && requires() { T::End; }); +template +concept facebook::react::detail::css::keywords::hasFixed = (CSSKeywordSet && requires() { T::Fixed; }); +template +concept facebook::react::detail::css::keywords::hasFlex = (CSSKeywordSet && requires() { T::Flex; }); +template +concept facebook::react::detail::css::keywords::hasFlexEnd = (CSSKeywordSet && requires() { T::FlexEnd; }); +template +concept facebook::react::detail::css::keywords::hasFlexStart = (CSSKeywordSet && requires() { T::FlexStart; }); +template +concept facebook::react::detail::css::keywords::hasGrid = (CSSKeywordSet && requires() { T::Grid; }); +template +concept facebook::react::detail::css::keywords::hasGroove = (CSSKeywordSet && requires() { T::Groove; }); +template +concept facebook::react::detail::css::keywords::hasHidden = (CSSKeywordSet && requires() { T::Hidden; }); +template +concept facebook::react::detail::css::keywords::hasHistoricalLigatures = (CSSKeywordSet && requires() { T::HistoricalLigatures; }); +template +concept facebook::react::detail::css::keywords::hasInherit = (CSSKeywordSet && requires() { T::Inherit; }); +template +concept facebook::react::detail::css::keywords::hasInitial = (CSSKeywordSet && requires() { T::Initial; }); +template +concept facebook::react::detail::css::keywords::hasInline = (CSSKeywordSet && requires() { T::Inline; }); +template +concept facebook::react::detail::css::keywords::hasInlineBlock = (CSSKeywordSet && requires() { T::InlineBlock; }); +template +concept facebook::react::detail::css::keywords::hasInlineFlex = (CSSKeywordSet && requires() { T::InlineFlex; }); +template +concept facebook::react::detail::css::keywords::hasInlineGrid = (CSSKeywordSet && requires() { T::InlineGrid; }); +template +concept facebook::react::detail::css::keywords::hasInset = (CSSKeywordSet && requires() { T::Inset; }); +template +concept facebook::react::detail::css::keywords::hasLeft = (CSSKeywordSet && requires() { T::Left; }); +template +concept facebook::react::detail::css::keywords::hasLiningNums = (CSSKeywordSet && requires() { T::LiningNums; }); +template +concept facebook::react::detail::css::keywords::hasLtr = (CSSKeywordSet && requires() { T::Ltr; }); +template +concept facebook::react::detail::css::keywords::hasMaxContent = (CSSKeywordSet && requires() { T::MaxContent; }); +template +concept facebook::react::detail::css::keywords::hasMedium = (CSSKeywordSet && requires() { T::Medium; }); +template +concept facebook::react::detail::css::keywords::hasMinContent = (CSSKeywordSet && requires() { T::MinContent; }); +template +concept facebook::react::detail::css::keywords::hasNoCommonLigatures = (CSSKeywordSet && requires() { T::NoCommonLigatures; }); +template +concept facebook::react::detail::css::keywords::hasNoContextual = (CSSKeywordSet && requires() { T::NoContextual; }); +template +concept facebook::react::detail::css::keywords::hasNoDiscretionaryLigatures = (CSSKeywordSet && requires() { T::NoDiscretionaryLigatures; }); +template +concept facebook::react::detail::css::keywords::hasNoHistoricalLigatures = (CSSKeywordSet && requires() { T::NoHistoricalLigatures; }); +template +concept facebook::react::detail::css::keywords::hasNoWrap = (CSSKeywordSet && requires() { T::NoWrap; }); +template +concept facebook::react::detail::css::keywords::hasNone = (CSSKeywordSet && requires() { T::None; }); +template +concept facebook::react::detail::css::keywords::hasNormal = (CSSKeywordSet && requires() { T::Normal; }); +template +concept facebook::react::detail::css::keywords::hasOldstyleNums = (CSSKeywordSet && requires() { T::OldstyleNums; }); +template +concept facebook::react::detail::css::keywords::hasOutset = (CSSKeywordSet && requires() { T::Outset; }); +template +concept facebook::react::detail::css::keywords::hasProportionalNums = (CSSKeywordSet && requires() { T::ProportionalNums; }); +template +concept facebook::react::detail::css::keywords::hasRelative = (CSSKeywordSet && requires() { T::Relative; }); +template +concept facebook::react::detail::css::keywords::hasRidge = (CSSKeywordSet && requires() { T::Ridge; }); +template +concept facebook::react::detail::css::keywords::hasRight = (CSSKeywordSet && requires() { T::Right; }); +template +concept facebook::react::detail::css::keywords::hasRow = (CSSKeywordSet && requires() { T::Row; }); +template +concept facebook::react::detail::css::keywords::hasRowReverse = (CSSKeywordSet && requires() { T::RowReverse; }); +template +concept facebook::react::detail::css::keywords::hasRtl = (CSSKeywordSet && requires() { T::Rtl; }); +template +concept facebook::react::detail::css::keywords::hasScroll = (CSSKeywordSet && requires() { T::Scroll; }); +template +concept facebook::react::detail::css::keywords::hasSmallCaps = (CSSKeywordSet && requires() { T::SmallCaps; }); +template +concept facebook::react::detail::css::keywords::hasSolid = (CSSKeywordSet && requires() { T::Solid; }); +template +concept facebook::react::detail::css::keywords::hasSpaceAround = (CSSKeywordSet && requires() { T::SpaceAround; }); +template +concept facebook::react::detail::css::keywords::hasSpaceBetween = (CSSKeywordSet && requires() { T::SpaceBetween; }); +template +concept facebook::react::detail::css::keywords::hasSpaceEvenly = (CSSKeywordSet && requires() { T::SpaceEvenly; }); +template +concept facebook::react::detail::css::keywords::hasStart = (CSSKeywordSet && requires() { T::Start; }); +template +concept facebook::react::detail::css::keywords::hasStatic = (CSSKeywordSet && requires() { T::Static; }); +template +concept facebook::react::detail::css::keywords::hasSticky = (CSSKeywordSet && requires() { T::Sticky; }); +template +concept facebook::react::detail::css::keywords::hasStretch = (CSSKeywordSet && requires() { T::Stretch; }); +template +concept facebook::react::detail::css::keywords::hasStylisticEight = (CSSKeywordSet && requires() { T::StylisticEight; }); +template +concept facebook::react::detail::css::keywords::hasStylisticEighteen = (CSSKeywordSet && requires() { T::StylisticEighteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticEleven = (CSSKeywordSet && requires() { T::StylisticEleven; }); +template +concept facebook::react::detail::css::keywords::hasStylisticFifteen = (CSSKeywordSet && requires() { T::StylisticFifteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticFive = (CSSKeywordSet && requires() { T::StylisticFive; }); +template +concept facebook::react::detail::css::keywords::hasStylisticFour = (CSSKeywordSet && requires() { T::StylisticFour; }); +template +concept facebook::react::detail::css::keywords::hasStylisticFourteen = (CSSKeywordSet && requires() { T::StylisticFourteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticNine = (CSSKeywordSet && requires() { T::StylisticNine; }); +template +concept facebook::react::detail::css::keywords::hasStylisticNineteen = (CSSKeywordSet && requires() { T::StylisticNineteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticOne = (CSSKeywordSet && requires() { T::StylisticOne; }); +template +concept facebook::react::detail::css::keywords::hasStylisticSeven = (CSSKeywordSet && requires() { T::StylisticSeven; }); +template +concept facebook::react::detail::css::keywords::hasStylisticSeventeen = (CSSKeywordSet && requires() { T::StylisticSeventeen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticSix = (CSSKeywordSet && requires() { T::StylisticSix; }); +template +concept facebook::react::detail::css::keywords::hasStylisticSixteen = (CSSKeywordSet && requires() { T::StylisticSixteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticTen = (CSSKeywordSet && requires() { T::StylisticTen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticThirteen = (CSSKeywordSet && requires() { T::StylisticThirteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticThree = (CSSKeywordSet && requires() { T::StylisticThree; }); +template +concept facebook::react::detail::css::keywords::hasStylisticTwelve = (CSSKeywordSet && requires() { T::StylisticTwelve; }); +template +concept facebook::react::detail::css::keywords::hasStylisticTwenty = (CSSKeywordSet && requires() { T::StylisticTwenty; }); +template +concept facebook::react::detail::css::keywords::hasStylisticTwo = (CSSKeywordSet && requires() { T::StylisticTwo; }); +template +concept facebook::react::detail::css::keywords::hasTabularNums = (CSSKeywordSet && requires() { T::TabularNums; }); +template +concept facebook::react::detail::css::keywords::hasThick = (CSSKeywordSet && requires() { T::Thick; }); +template +concept facebook::react::detail::css::keywords::hasThin = (CSSKeywordSet && requires() { T::Thin; }); +template +concept facebook::react::detail::css::keywords::hasTo = (CSSKeywordSet && requires() { T::To; }); +template +concept facebook::react::detail::css::keywords::hasTop = (CSSKeywordSet && requires() { T::Top; }); +template +concept facebook::react::detail::css::keywords::hasUnset = (CSSKeywordSet && requires() { T::Unset; }); +template +concept facebook::react::detail::css::keywords::hasVisible = (CSSKeywordSet && requires() { T::Visible; }); +template +concept facebook::react::detail::css::keywords::hasWrap = (CSSKeywordSet && requires() { T::Wrap; }); +template +concept facebook::react::detail::css::keywords::hasWrapReverse = (CSSKeywordSet && requires() { T::WrapReverse; }); + + +constexpr facebook::react::Color facebook::react::HostPlatformColor::UndefinedColor; + + +constexpr size_t facebook::react::jsinspector_modern::REQUEST_BUFFER_MAX_SIZE_BYTES; +template +using facebook::react::jsinspector_modern::ScopedExecutor = std::function&& callback)>; +typedef std::function facebook::react::jsinspector_modern::FrontendChannel; +typedef std::map facebook::react::jsinspector_modern::Headers; +using facebook::react::jsinspector_modern::ExecutionContextSelectorSet = std::unordered_set; +using facebook::react::jsinspector_modern::IOReadError = const std::string; +using facebook::react::jsinspector_modern::InspectorPage = facebook::react::jsinspector_modern::InspectorPageDescription; +using facebook::react::jsinspector_modern::StreamID = const std::string; +using facebook::react::jsinspector_modern::VoidExecutor = std::function&& callback)>; +bool facebook::react::jsinspector_modern::matchesAny(const facebook::react::jsinspector_modern::ExecutionContextDescription& context, const facebook::react::jsinspector_modern::ExecutionContextSelectorSet& selectors); +facebook::react::jsinspector_modern::IInspector& facebook::react::jsinspector_modern::getInspectorInstance(); +folly::dynamic facebook::react::jsinspector_modern::createHostMetadataPayload(const facebook::react::jsinspector_modern::HostTargetMetadata& metadata); +folly::dynamic facebook::react::jsinspector_modern::targetCapabilitiesToDynamic(const facebook::react::jsinspector_modern::InspectorTargetCapabilities& capabilities); +std::string facebook::react::jsinspector_modern::httpReasonPhrase(uint16_t status); +std::string facebook::react::jsinspector_modern::mimeTypeFromHeaders(const facebook::react::jsinspector_modern::Headers& headers); +std::unique_ptr facebook::react::jsinspector_modern::makeTestInspectorInstance(); +template +void facebook::react::jsinspector_modern::emitNotificationsForTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const ChannelsRange& channels, bool isBackgroundTrace); +template +facebook::react::jsinspector_modern::ScopedExecutor facebook::react::jsinspector_modern::makeScopedExecutor(std::shared_ptr self, facebook::react::jsinspector_modern::ScopedExecutor executor); +template +facebook::react::jsinspector_modern::ScopedExecutor facebook::react::jsinspector_modern::makeScopedExecutor(std::shared_ptr self, facebook::react::jsinspector_modern::VoidExecutor executor); +template +facebook::react::jsinspector_modern::VoidExecutor facebook::react::jsinspector_modern::makeVoidExecutor(facebook::react::jsinspector_modern::ScopedExecutor executor); +void facebook::react::jsinspector_modern::emitGlobalStateObserverChange(facebook::jsi::Runtime& runtime, const char* globalName, const char* callbackName, bool value); +void facebook::react::jsinspector_modern::emitNotificationsForTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const facebook::react::jsinspector_modern::FrontendChannel& channel, bool isBackgroundTrace); +void facebook::react::jsinspector_modern::emitTracingStateObserverChange(facebook::jsi::Runtime& runtime, bool isTracing); +void facebook::react::jsinspector_modern::installGlobalStateObserver(facebook::jsi::Runtime& runtime, const char* globalName, const char* statusProperty, const char* callbackName); +void facebook::react::jsinspector_modern::installTracingStateObserver(facebook::jsi::Runtime& runtime); +void facebook::react::jsinspector_modern::truncateToValidUTF8(std::vector& buffer); + +class facebook::react::jsinspector_modern::BoundedRequestBuffer { + public bool put(const std::string& requestId, std::string_view data, bool base64Encoded) noexcept; + public std::shared_ptr get(const std::string& requestId) const; + public void clear(); +} + +struct facebook::react::jsinspector_modern::BoundedRequestBuffer::ResponseBody { + public bool base64Encoded; + public std::string data; +} + +class facebook::react::jsinspector_modern::CallbackLocalConnection : public facebook::react::jsinspector_modern::ILocalConnection { + public CallbackLocalConnection(std::function handler); + public virtual void disconnect() override; + public virtual void sendMessage(std::string message) override; +} + +class facebook::react::jsinspector_modern::CallbackRemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { + public CallbackRemoteConnection(std::function handler); + public virtual void onDisconnect() override; + public virtual void onMessage(std::string message) override; +} + +class facebook::react::jsinspector_modern::ConsoleTask { + public ConsoleTask(const facebook::react::jsinspector_modern::ConsoleTask&) = default; + public ConsoleTask(facebook::react::jsinspector_modern::ConsoleTask&&) = default; + public ConsoleTask(std::shared_ptr taskContext); + public facebook::react::jsinspector_modern::ConsoleTask& operator=(const facebook::react::jsinspector_modern::ConsoleTask&) = delete; + public facebook::react::jsinspector_modern::ConsoleTask& operator=(facebook::react::jsinspector_modern::ConsoleTask&&) = delete; + public ~ConsoleTask(); +} + +class facebook::react::jsinspector_modern::ConsoleTaskContext : public std::enable_shared_from_this { + public ConsoleTaskContext(const facebook::react::jsinspector_modern::ConsoleTaskContext&) = delete; + public ConsoleTaskContext(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::RuntimeTargetDelegate& runtimeTargetDelegate, std::string name); + public ConsoleTaskContext(facebook::react::jsinspector_modern::ConsoleTaskContext&&) = delete; + public facebook::react::jsinspector_modern::ConsoleTaskContext& operator=(const facebook::react::jsinspector_modern::ConsoleTaskContext&) = delete; + public facebook::react::jsinspector_modern::ConsoleTaskContext& operator=(facebook::react::jsinspector_modern::ConsoleTaskContext&&) = delete; + public facebook::react::jsinspector_modern::ConsoleTaskId id() const; + public std::optional getSerializedStackTrace() const; + public void schedule(); + public ~ConsoleTaskContext(); +} + +class facebook::react::jsinspector_modern::ConsoleTaskId { + public ConsoleTaskId() = default; + public ConsoleTaskId(const facebook::react::jsinspector_modern::ConsoleTaskId&) = default; + public ConsoleTaskId(facebook::react::jsinspector_modern::ConsoleTaskId&&) = default; + public bool operator==(const facebook::react::jsinspector_modern::ConsoleTaskId&) const = default; + public facebook::react::jsinspector_modern::ConsoleTaskId& operator=(const facebook::react::jsinspector_modern::ConsoleTaskId&) = default; + public facebook::react::jsinspector_modern::ConsoleTaskId& operator=(facebook::react::jsinspector_modern::ConsoleTaskId&&) = default; + public operator bool() const; + public operator void *() const; + public ~ConsoleTaskId() = default; +} + +class facebook::react::jsinspector_modern::ConsoleTaskOrchestrator { + public ConsoleTaskOrchestrator(const facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&) = delete; + public ConsoleTaskOrchestrator(facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&&) = delete; + public facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& operator=(const facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&) = delete; + public facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& operator=(facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&&) = delete; + public static facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& getInstance(); + public std::shared_ptr top() const; + public void cancelTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); + public void finishTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); + public void scheduleTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId, std::weak_ptr taskContext); + public void startTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); + public ~ConsoleTaskOrchestrator() = default; +} + +class facebook::react::jsinspector_modern::ExecutionContextManager { + public int32_t allocateExecutionContextId(); +} + +class facebook::react::jsinspector_modern::ExecutionContextSelector { + public ExecutionContextSelector() = delete; + public ExecutionContextSelector(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) = default; + public ExecutionContextSelector(facebook::react::jsinspector_modern::ExecutionContextSelector&& other) noexcept = default; + public bool matches(const facebook::react::jsinspector_modern::ExecutionContextDescription& context) const noexcept; + public bool operator==(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) const noexcept; + public facebook::react::jsinspector_modern::ExecutionContextSelector& operator=(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) = default; + public facebook::react::jsinspector_modern::ExecutionContextSelector& operator=(facebook::react::jsinspector_modern::ExecutionContextSelector&& other) noexcept = default; + public static facebook::react::jsinspector_modern::ExecutionContextSelector all(); + public static facebook::react::jsinspector_modern::ExecutionContextSelector byId(int32_t id); + public static facebook::react::jsinspector_modern::ExecutionContextSelector byName(std::string name); + public ~ExecutionContextSelector() = default; +} + +class facebook::react::jsinspector_modern::FallbackRuntimeAgentDelegate : public facebook::react::jsinspector_modern::RuntimeAgentDelegate { + public FallbackRuntimeAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, const facebook::react::jsinspector_modern::SessionState& sessionState, std::string engineDescription); + public virtual bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req) override; +} + +class facebook::react::jsinspector_modern::FallbackRuntimeTargetDelegate : public facebook::react::jsinspector_modern::RuntimeTargetDelegate { + public FallbackRuntimeTargetDelegate(std::string engineDescription); + public virtual bool supportsConsole() const override; + public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() override; + public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) override; + public virtual std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel channel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) override; + public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip) override; + public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) override; + public virtual void disableSamplingProfiler() override; + public virtual void enableSamplingProfiler() override; +} + +class facebook::react::jsinspector_modern::HermesRuntimeTargetDelegate : public facebook::react::jsinspector_modern::RuntimeTargetDelegate { + public HermesRuntimeTargetDelegate(std::shared_ptr runtime, hermes::HermesRuntime& hermesRuntime); + public std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) override; + public virtual bool supportsConsole() const override; + public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() override; + public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) override; + public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip) override; + public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) override; + public virtual void disableSamplingProfiler() override; + public virtual void enableSamplingProfiler() override; + public ~HermesRuntimeTargetDelegate() override; +} + +class facebook::react::jsinspector_modern::HostAgent { + public HostAgent(const facebook::react::jsinspector_modern::FrontendChannel& frontendChannel, facebook::react::jsinspector_modern::HostTargetController& targetController, facebook::react::jsinspector_modern::HostTargetMetadata hostMetadata, facebook::react::jsinspector_modern::SessionState& sessionState, facebook::react::jsinspector_modern::VoidExecutor executor); + public HostAgent(const facebook::react::jsinspector_modern::HostAgent&) = delete; + public HostAgent(facebook::react::jsinspector_modern::HostAgent&&) = delete; + public bool isEligibleForBackgroundTrace() const; + public facebook::react::jsinspector_modern::HostAgent& operator=(const facebook::react::jsinspector_modern::HostAgent&) = delete; + public facebook::react::jsinspector_modern::HostAgent& operator=(facebook::react::jsinspector_modern::HostAgent&&) = delete; + public void emitSystemStateChanged(bool isSingleHost); + public void handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); + public void setCurrentInstanceAgent(std::shared_ptr agent); + public ~HostAgent(); +} + +class facebook::react::jsinspector_modern::HostTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { + public HostTarget(const facebook::react::jsinspector_modern::HostTarget&) = delete; + public HostTarget(facebook::react::jsinspector_modern::HostTarget&&) = delete; + public bool startTracing(facebook::react::jsinspector_modern::tracing::Mode mode, std::set enabledCategories); + public bool stopAndMaybeEmitBackgroundTrace(); + public facebook::react::jsinspector_modern::HostTarget& operator=(const facebook::react::jsinspector_modern::HostTarget&) = delete; + public facebook::react::jsinspector_modern::HostTarget& operator=(facebook::react::jsinspector_modern::HostTarget&&) = delete; + public facebook::react::jsinspector_modern::InstanceTarget& registerInstance(facebook::react::jsinspector_modern::InstanceTargetDelegate& delegate); + public facebook::react::jsinspector_modern::tracing::HostTracingProfile stopTracing(); + public static std::shared_ptr create(facebook::react::jsinspector_modern::HostTargetDelegate& delegate, facebook::react::jsinspector_modern::VoidExecutor executor); + public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public std::unique_ptr connect(std::unique_ptr connectionToFrontend); + public void recordFrameTimings(facebook::react::jsinspector_modern::tracing::FrameTimingSequence frameTimingSequence); + public void sendCommand(facebook::react::jsinspector_modern::HostCommand command); + public void unregisterInstance(facebook::react::jsinspector_modern::InstanceTarget& instance); + public ~HostTarget(); +} + +class facebook::react::jsinspector_modern::HostTargetController { + public HostTargetController(facebook::react::jsinspector_modern::HostTarget& target); + public bool decrementPauseOverlayCounter(); + public bool hasInstance() const; + public bool maybeEmitStashedBackgroundTrace(); + public bool startTracing(facebook::react::jsinspector_modern::tracing::Mode mode, std::set enabledCategories); + public facebook::react::jsinspector_modern::HostTargetDelegate& getDelegate(); + public facebook::react::jsinspector_modern::tracing::HostTracingProfile stopTracing(); + public void incrementPauseOverlayCounter(); + public void installPerfIssuesBinding(); +} + +class facebook::react::jsinspector_modern::HostTargetDelegate : public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate { + public HostTargetDelegate() = default; + public HostTargetDelegate(const facebook::react::jsinspector_modern::HostTargetDelegate&) = delete; + public HostTargetDelegate(facebook::react::jsinspector_modern::HostTargetDelegate&&) = delete; + public facebook::react::jsinspector_modern::HostTargetDelegate& operator=(const facebook::react::jsinspector_modern::HostTargetDelegate&) = delete; + public facebook::react::jsinspector_modern::HostTargetDelegate& operator=(facebook::react::jsinspector_modern::HostTargetDelegate&&) = delete; + public virtual facebook::react::jsinspector_modern::HostTargetMetadata getMetadata() = 0; + public virtual facebook::react::jsinspector_modern::HostTargetTracingDelegate* getTracingDelegate(); + public virtual void loadNetworkResource(const facebook::react::jsinspector_modern::LoadNetworkResourceRequest&, facebook::react::jsinspector_modern::ScopedExecutor) override; + public virtual void onReload(const facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest& request) = 0; + public virtual void onSetPausedInDebuggerMessage(const facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest& request) = 0; + public virtual void unstable_onPerfIssueAdded(const facebook::react::jsinspector_modern::PerfIssuePayload&); + public virtual ~HostTargetDelegate() override; +} + +struct facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest { + public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest& rhs) const; + public std::optional message; +} + +struct facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest { + public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest& rhs) const; + public std::optional ignoreCache; + public std::optional scriptToEvaluateOnLoad; +} + +class facebook::react::jsinspector_modern::HostTargetTraceRecording { + public HostTargetTraceRecording(facebook::react::jsinspector_modern::HostTarget& hostTarget, facebook::react::jsinspector_modern::tracing::Mode tracingMode, std::set enabledCategories, std::optional windowSize = std::nullopt); + public bool isBackgroundInitiated() const; + public bool isUserInitiated() const; + public facebook::react::jsinspector_modern::tracing::HostTracingProfile stop(); + public void recordFrameTimings(facebook::react::jsinspector_modern::tracing::FrameTimingSequence frameTimingSequence); + public void setTracedInstance(facebook::react::jsinspector_modern::InstanceTarget* instanceTarget); + public void start(); +} + +class facebook::react::jsinspector_modern::HostTargetTracingDelegate { + public HostTargetTracingDelegate() = default; + public HostTargetTracingDelegate(const facebook::react::jsinspector_modern::HostTargetTracingDelegate&) = delete; + public HostTargetTracingDelegate(facebook::react::jsinspector_modern::HostTargetTracingDelegate&&) = delete; + public facebook::react::jsinspector_modern::HostTargetTracingDelegate& operator=(const facebook::react::jsinspector_modern::HostTargetTracingDelegate&) = delete; + public facebook::react::jsinspector_modern::HostTargetTracingDelegate& operator=(facebook::react::jsinspector_modern::HostTargetTracingDelegate&&) = delete; + public virtual void onTracingStarted(facebook::react::jsinspector_modern::tracing::Mode, bool); + public virtual void onTracingStopped(); + public virtual ~HostTargetTracingDelegate() = default; +} + +class facebook::react::jsinspector_modern::HostTracingAgent { + public HostTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public void setTracedInstance(facebook::react::jsinspector_modern::InstanceTarget* instanceTarget); +} + +class facebook::react::jsinspector_modern::IDestructible { + public virtual ~IDestructible() = 0; +} + +class facebook::react::jsinspector_modern::IInspector : public facebook::react::jsinspector_modern::IDestructible { + public using ConnectFunc = std::function(std::unique_ptr)>; + public virtual facebook::react::jsinspector_modern::InspectorSystemState getSystemState() const = 0; + public virtual int addPage(const std::string& description, const std::string& vm, facebook::react::jsinspector_modern::IInspector::ConnectFunc connectFunc, facebook::react::jsinspector_modern::InspectorTargetCapabilities capabilities = {}) = 0; + public virtual std::unique_ptr connect(int pageId, std::unique_ptr remote) = 0; + public virtual std::vector getPages() const = 0; + public virtual void registerPageStatusListener(std::weak_ptr listener) = 0; + public virtual void removePage(int pageId) = 0; + public virtual ~IInspector() = 0; +} + +class facebook::react::jsinspector_modern::ILocalConnection : public facebook::react::jsinspector_modern::IDestructible { + public virtual void disconnect() = 0; + public virtual void sendMessage(std::string message) = 0; + public virtual ~ILocalConnection() = 0; +} + +class facebook::react::jsinspector_modern::IPageStatusListener : public facebook::react::jsinspector_modern::IDestructible { + public virtual void onPageRemoved(int); + public virtual void unstable_onHostTargetAdded(); + public virtual ~IPageStatusListener() = 0; +} + +class facebook::react::jsinspector_modern::IRemoteConnection : public facebook::react::jsinspector_modern::IDestructible { + public virtual void onDisconnect() = 0; + public virtual void onMessage(std::string message) = 0; + public virtual ~IRemoteConnection() = 0; +} + +class facebook::react::jsinspector_modern::IWebSocket { + public virtual void send(std::string_view message) = 0; + public virtual ~IWebSocket() = default; +} + +class facebook::react::jsinspector_modern::IWebSocketDelegate { + public virtual void didClose() = 0; + public virtual void didFailWithError(std::optional posixCode, std::string error) = 0; + public virtual void didOpen() = 0; + public virtual void didReceiveMessage(std::string_view message) = 0; + public virtual ~IWebSocketDelegate() = default; +} + +class facebook::react::jsinspector_modern::InspectorFlags { + public bool getAssertSingleHostState() const; + public bool getFrameRecordingEnabled() const; + public bool getFuseboxEnabled() const; + public bool getIsProfilingBuild() const; + public bool getNetworkInspectionEnabled() const; + public bool getPerfIssuesEnabled() const; + public static facebook::react::jsinspector_modern::InspectorFlags& getInstance(); + public void dangerouslyDisableFuseboxForTest(); + public void dangerouslyResetFlags(); +} + +class facebook::react::jsinspector_modern::InspectorPackagerConnection { + public InspectorPackagerConnection(std::string url, std::string deviceName, std::string appName, std::unique_ptr delegate); + public bool isConnected() const; + public void closeQuietly(); + public void connect(); + public void sendEventToAllConnections(std::string event); +} + +class facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl : public facebook::react::jsinspector_modern::IWebSocketDelegate, public facebook::react::jsinspector_modern::IPageStatusListener, public std::enable_shared_from_this { + public bool isConnected() const; + public static std::shared_ptr create(std::string url, std::string deviceName, std::string appName, std::unique_ptr delegate); + public using SessionId = uint32_t; + public void closeQuietly(); + public void connect(); + public void scheduleSendToPackager(folly::dynamic message, facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::SessionId sourceSessionId, const std::string& sourcePageId, const std::string& sourceProxySessionId); + public void sendEventToAllConnections(const std::string& event); +} + +class facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::RemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { + public RemoteConnection(std::weak_ptr owningPackagerConnection, std::string pageId, facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::SessionId sessionId, std::string proxySessionId); + public virtual void onDisconnect() override; + public virtual void onMessage(std::string message) override; +} + +class facebook::react::jsinspector_modern::InspectorPackagerConnectionDelegate { + public virtual std::unique_ptr connectWebSocket(const std::string& url, std::weak_ptr delegate) = 0; + public virtual void scheduleCallback(std::function callback, std::chrono::milliseconds delayMs) = 0; + public virtual ~InspectorPackagerConnectionDelegate() = default; +} + +class facebook::react::jsinspector_modern::InstanceAgent { + public InstanceAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::InstanceTarget& target, facebook::react::jsinspector_modern::SessionState& sessionState); + public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); + public void sendConsoleMessage(facebook::react::jsinspector_modern::SimpleConsoleMessage message); + public void setCurrentRuntime(facebook::react::jsinspector_modern::RuntimeTarget* runtime); +} + +class facebook::react::jsinspector_modern::InstanceTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { + public InstanceTarget(const facebook::react::jsinspector_modern::InstanceTarget&) = delete; + public InstanceTarget(facebook::react::jsinspector_modern::InstanceTarget&&) = delete; + public facebook::react::jsinspector_modern::InstanceTarget& operator=(const facebook::react::jsinspector_modern::InstanceTarget&) = delete; + public facebook::react::jsinspector_modern::InstanceTarget& operator=(facebook::react::jsinspector_modern::InstanceTarget&&) = delete; + public facebook::react::jsinspector_modern::RuntimeTarget& registerRuntime(facebook::react::jsinspector_modern::RuntimeTargetDelegate& delegate, facebook::react::RuntimeExecutor executor); + public static std::shared_ptr create(std::shared_ptr executionContextManager, facebook::react::jsinspector_modern::InstanceTargetDelegate& delegate, facebook::react::jsinspector_modern::VoidExecutor executor); + public std::shared_ptr createAgent(const facebook::react::jsinspector_modern::FrontendChannel& channel, facebook::react::jsinspector_modern::SessionState& sessionState); + public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public void unregisterRuntime(facebook::react::jsinspector_modern::RuntimeTarget& runtime); + public ~InstanceTarget(); +} + +class facebook::react::jsinspector_modern::InstanceTargetDelegate { + public InstanceTargetDelegate() = default; + public InstanceTargetDelegate(const facebook::react::jsinspector_modern::InstanceTargetDelegate&) = delete; + public InstanceTargetDelegate(facebook::react::jsinspector_modern::InstanceTargetDelegate&&) = delete; + public facebook::react::jsinspector_modern::InstanceTargetDelegate& operator=(const facebook::react::jsinspector_modern::InstanceTargetDelegate&) = delete; + public facebook::react::jsinspector_modern::InstanceTargetDelegate& operator=(facebook::react::jsinspector_modern::InstanceTargetDelegate&&) = delete; + public virtual ~InstanceTargetDelegate(); +} + +class facebook::react::jsinspector_modern::InstanceTracingAgent { + public InstanceTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public void setTracedRuntime(facebook::react::jsinspector_modern::RuntimeTarget* runtimeTarget); + public ~InstanceTracingAgent(); +} + +class facebook::react::jsinspector_modern::JCxxInspectorPackagerConnection : public jni::HybridClass { + public static constexpr auto kJavaDescriptor; + public static void registerNatives(); + public void closeQuietly(); + public void connect(); + public void sendEventToAllConnections(const std::string& event); +} + +class facebook::react::jsinspector_modern::JCxxInspectorPackagerConnectionWebSocket : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; + public std::unique_ptr wrapInUniquePtr(); + public void send(std::string_view message); + public ~JCxxInspectorPackagerConnectionWebSocket(); +} + +class facebook::react::jsinspector_modern::JCxxInspectorPackagerConnectionWebSocket::RefWrapper : public facebook::react::jsinspector_modern::IWebSocket { + public RefWrapper(jni::alias_ref jWebSocket_); + public virtual void send(std::string_view message) override; +} + +class facebook::react::jsinspector_modern::JCxxInspectorPackagerConnectionWebSocketDelegate : public jni::HybridClass { + public JCxxInspectorPackagerConnectionWebSocketDelegate(std::weak_ptr cxxDelegate); + public static constexpr auto kJavaDescriptor; + public static void registerNatives(); + public void didClose(); + public void didFailWithError(jni::alias_ref posixCode, const std::string& error); + public void didOpen(); + public void didReceiveMessage(const std::string& message); +} + +class facebook::react::jsinspector_modern::JInspectorFlags : public facebook::jni::JavaClass { + public static bool getFrameRecordingEnabled(jni::alias_ref); + public static bool getFuseboxEnabled(jni::alias_ref); + public static bool getIsProfilingBuild(jni::alias_ref); + public static constexpr auto kJavaDescriptor; + public static void registerNatives(); +} + +class facebook::react::jsinspector_modern::JInspectorNetworkReporter : public jni::HybridClass { + public static constexpr auto kJavaDescriptor; + public static jboolean isDebuggingEnabled(jni::alias_ref); + public static void maybeStoreResponseBodyImpl(jni::alias_ref, jni::alias_ref requestId, jni::alias_ref body, jboolean base64Encoded); + public static void maybeStoreResponseBodyIncrementalImpl(jni::alias_ref, jni::alias_ref requestId, jni::alias_ref data); + public static void registerNatives(); + public static void reportConnectionTiming(jni::alias_ref, jni::alias_ref requestId, jni::alias_ref> headers); + public static void reportDataReceivedImpl(jni::alias_ref, jni::alias_ref requestId, jint dataLength); + public static void reportRequestFailed(jni::alias_ref, jni::alias_ref requestId, jboolean cancelled); + public static void reportRequestStart(jni::alias_ref, jni::alias_ref requestId, jni::alias_ref requestUrl, jni::alias_ref requestMethod, jni::alias_ref> requestHeaders, jni::alias_ref requestBody, jlong encodedDataLength); + public static void reportResponseEnd(jni::alias_ref, jni::alias_ref requestId, jlong encodedDataLength); + public static void reportResponseStart(jni::alias_ref, jni::alias_ref requestId, jni::alias_ref requestUrl, jint responseStatus, jni::alias_ref> responseHeaders, jlong encodedDataLength); +} + +class facebook::react::jsinspector_modern::LoadNetworkResourceDelegate { + public LoadNetworkResourceDelegate() = default; + public LoadNetworkResourceDelegate(const facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&) = delete; + public LoadNetworkResourceDelegate(facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&&) noexcept = delete; + public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& operator=(const facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&) = delete; + public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& operator=(facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&&) noexcept = delete; + public virtual void loadNetworkResource(const facebook::react::jsinspector_modern::LoadNetworkResourceRequest& params, facebook::react::jsinspector_modern::ScopedExecutor executor) = 0; + public virtual ~LoadNetworkResourceDelegate() = default; +} + +class facebook::react::jsinspector_modern::NetworkHandler { + public bool isEnabled() const; + public size_t enableAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel); + public static facebook::react::jsinspector_modern::NetworkHandler& getInstance(); + public std::optional> getResponseBody(const std::string& requestId); + public void disableAgent(size_t agentId); + public void onDataReceived(const std::string& requestId, int dataLength, int encodedDataLength); + public void onLoadingFailed(const std::string& requestId, bool cancelled); + public void onLoadingFinished(const std::string& requestId, int encodedDataLength); + public void onRequestWillBeSent(const std::string& requestId, const facebook::react::jsinspector_modern::cdp::network::Request& request, const std::optional& redirectResponse); + public void onRequestWillBeSentExtraInfo(const std::string& requestId, const facebook::react::jsinspector_modern::Headers& headers); + public void onResponseReceived(const std::string& requestId, const facebook::react::jsinspector_modern::cdp::network::Response& response); + public void recordRequestInitiatorStack(const std::string& requestId, folly::dynamic stackTrace); + public void storeResponseBody(const std::string& requestId, std::string_view body, bool base64Encoded); +} + +class facebook::react::jsinspector_modern::NetworkIOAgent { + public NetworkIOAgent(const facebook::react::jsinspector_modern::NetworkIOAgent&) = delete; + public NetworkIOAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::VoidExecutor executor); + public NetworkIOAgent(facebook::react::jsinspector_modern::NetworkIOAgent&&) = delete; + public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req, facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& delegate); + public facebook::react::jsinspector_modern::NetworkIOAgent& operator=(const facebook::react::jsinspector_modern::NetworkIOAgent&) = delete; + public facebook::react::jsinspector_modern::NetworkIOAgent& operator=(facebook::react::jsinspector_modern::NetworkIOAgent&&) = delete; + public ~NetworkIOAgent(); +} + +class facebook::react::jsinspector_modern::NetworkRequestListener { + public NetworkRequestListener() = default; + public NetworkRequestListener(const facebook::react::jsinspector_modern::NetworkRequestListener&) = delete; + public NetworkRequestListener(facebook::react::jsinspector_modern::NetworkRequestListener&&) noexcept = default; + public facebook::react::jsinspector_modern::NetworkRequestListener& operator=(const facebook::react::jsinspector_modern::NetworkRequestListener&) = delete; + public facebook::react::jsinspector_modern::NetworkRequestListener& operator=(facebook::react::jsinspector_modern::NetworkRequestListener&&) noexcept = default; + public virtual void onCompletion() = 0; + public virtual void onData(std::string_view data) = 0; + public virtual void onError(const std::string& message) = 0; + public virtual void onHeaders(uint32_t httpStatusCode, const facebook::react::jsinspector_modern::Headers& headers) = 0; + public virtual void setCancelFunction(std::function cancelFunction) = 0; + public virtual ~NetworkRequestListener() = default; +} + +class facebook::react::jsinspector_modern::NotImplementedException : public std::exception { + public NotImplementedException(std::string message); + public const char* what() const noexcept override; +} + +class facebook::react::jsinspector_modern::NullRemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { +} + +class facebook::react::jsinspector_modern::PerfMonitorUpdateHandler { + public PerfMonitorUpdateHandler(facebook::react::jsinspector_modern::HostTargetDelegate& delegate); + public void handlePerfIssueAdded(const std::string& message); +} + +class facebook::react::jsinspector_modern::RAIIRemoteConnection { + public RAIIRemoteConnection(std::unique_ptr remote); + public void onMessage(std::string message); + public ~RAIIRemoteConnection(); +} + +class facebook::react::jsinspector_modern::RuntimeAgent { + public RuntimeAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::RuntimeTargetController& targetController, facebook::react::jsinspector_modern::ExecutionContextDescription executionContextDescription, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr delegate); + public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); + public const facebook::react::jsinspector_modern::ExecutionContextDescription& getExecutionContextDescription() const; + public facebook::react::jsinspector_modern::RuntimeAgent::ExportedState getExportedState(); + public void notifyBindingCalled(const std::string& bindingName, const std::string& payload); + public ~RuntimeAgent(); +} + +struct facebook::react::jsinspector_modern::RuntimeAgent::ExportedState { + public std::unique_ptr delegateState; +} + +class facebook::react::jsinspector_modern::RuntimeAgentDelegate { + public virtual bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req) = 0; + public virtual std::unique_ptr getExportedState(); + public virtual ~RuntimeAgentDelegate() = default; +} + +class facebook::react::jsinspector_modern::RuntimeAgentDelegate::ExportedState { + public virtual ~ExportedState() = default; +} + +class facebook::react::jsinspector_modern::RuntimeTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { + public RuntimeTarget(const facebook::react::jsinspector_modern::RuntimeTarget&) = delete; + public RuntimeTarget(facebook::react::jsinspector_modern::RuntimeTarget&&) = delete; + public facebook::react::jsinspector_modern::RuntimeTarget& operator=(const facebook::react::jsinspector_modern::RuntimeTarget&) = delete; + public facebook::react::jsinspector_modern::RuntimeTarget& operator=(facebook::react::jsinspector_modern::RuntimeTarget&&) = delete; + public static std::shared_ptr create(const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::jsinspector_modern::RuntimeTargetDelegate& delegate, facebook::react::RuntimeExecutor jsExecutor, facebook::react::jsinspector_modern::VoidExecutor selfExecutor); + public std::shared_ptr createAgent(const facebook::react::jsinspector_modern::FrontendChannel& channel, facebook::react::jsinspector_modern::SessionState& sessionState); + public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public ~RuntimeTarget(); +} + +class facebook::react::jsinspector_modern::RuntimeTargetController { + public RuntimeTargetController(facebook::react::jsinspector_modern::RuntimeTarget& target); + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile(); + public void disableSamplingProfiler(); + public void emitTracingStateChange(bool isTracing); + public void enableSamplingProfiler(); + public void installBindingHandler(const std::string& bindingName); + public void notifyDomainStateChanged(facebook::react::jsinspector_modern::RuntimeTargetController::Domain domain, bool enabled, const facebook::react::jsinspector_modern::RuntimeAgent& notifyingAgent); +} + +enum facebook::react::jsinspector_modern::RuntimeTargetController::Domain { + Log, + Network, + Runtime, + kMaxValue, +} + +class facebook::react::jsinspector_modern::RuntimeTargetDelegate { + public virtual bool supportsConsole() const = 0; + public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() = 0; + public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) = 0; + public virtual std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel channel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) = 0; + public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip = 0) = 0; + public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) = 0; + public virtual void disableSamplingProfiler() = 0; + public virtual void enableSamplingProfiler() = 0; + public virtual ~RuntimeTargetDelegate() = default; +} + +class facebook::react::jsinspector_modern::RuntimeTracingAgent : public facebook::react::jsinspector_modern::tracing::TargetTracingAgent { + public RuntimeTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state, facebook::react::jsinspector_modern::RuntimeTargetController& targetController); + public ~RuntimeTracingAgent(); +} + +class facebook::react::jsinspector_modern::StackTrace { + public StackTrace() = default; + public StackTrace(const facebook::react::jsinspector_modern::StackTrace&) = delete; + public StackTrace(facebook::react::jsinspector_modern::StackTrace&&) = delete; + public facebook::react::jsinspector_modern::StackTrace& operator=(const facebook::react::jsinspector_modern::StackTrace&) = delete; + public facebook::react::jsinspector_modern::StackTrace& operator=(facebook::react::jsinspector_modern::StackTrace&&) = delete; + public static std::unique_ptr empty(); + public virtual ~StackTrace() = default; +} + +class facebook::react::jsinspector_modern::TracingAgent { + public TracingAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::SessionState& sessionState, facebook::react::jsinspector_modern::HostTargetController& hostTargetController); + public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); + public ~TracingAgent(); +} + +enum facebook::react::jsinspector_modern::ConsoleAPIType { + kAssert, + kClear, + kCount, + kDebug, + kDir, + kDirXML, + kEndGroup, + kError, + kInfo, + kLog, + kStartGroup, + kStartGroupCollapsed, + kTable, + kTimeEnd, + kTrace, + kWarning, +} + +enum facebook::react::jsinspector_modern::HostCommand { + DebuggerResume, + DebuggerStepOver, +} + +struct facebook::react::jsinspector_modern::ConsoleMessage { + public ConsoleMessage(const facebook::react::jsinspector_modern::ConsoleMessage& other) = delete; + public ConsoleMessage(double timestamp, facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args, std::unique_ptr stackTrace = facebook::react::jsinspector_modern::StackTrace::empty()); + public ConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::SimpleConsoleMessage message); + public ConsoleMessage(facebook::react::jsinspector_modern::ConsoleMessage&& other) noexcept = default; + public double timestamp; + public facebook::react::jsinspector_modern::ConsoleAPIType type; + public facebook::react::jsinspector_modern::ConsoleMessage& operator=(const facebook::react::jsinspector_modern::ConsoleMessage& other) = delete; + public facebook::react::jsinspector_modern::ConsoleMessage& operator=(facebook::react::jsinspector_modern::ConsoleMessage&& other) noexcept = default; + public std::unique_ptr stackTrace; + public std::vector args; + public ~ConsoleMessage() = default; +} + +struct facebook::react::jsinspector_modern::ExecutionContextDescription { + public int32_t id; + public std::optional uniqueId; + public std::string name; + public std::string origin; +} + +struct facebook::react::jsinspector_modern::GetResponseBodyResult { + public bool base64Encoded; + public folly::dynamic toDynamic() const; + public std::string body; +} + +struct facebook::react::jsinspector_modern::HostTargetMetadata { + public std::optional appDisplayName; + public std::optional appIdentifier; + public std::optional deviceName; + public std::optional integrationName; + public std::optional platform; + public std::optional reactNativeVersion; +} + +struct facebook::react::jsinspector_modern::IOReadResult { + public bool base64Encoded; + public bool eof; + public folly::dynamic toDynamic() const; + public std::string data; +} + +struct facebook::react::jsinspector_modern::InspectorPageDescription { + public const facebook::react::jsinspector_modern::InspectorTargetCapabilities capabilities; + public const int id; + public const std::string description; + public const std::string vm; +} + +struct facebook::react::jsinspector_modern::InspectorSystemState { + public int registeredHostsCount; +} + +struct facebook::react::jsinspector_modern::InspectorTargetCapabilities { + public bool nativePageReloads; + public bool nativeSourceCodeFetching; +} + +struct facebook::react::jsinspector_modern::JCxxInspectorPackagerConnectionDelegateImpl : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; + public std::unique_ptr connectWebSocket(const std::string& url, std::weak_ptr delegate); + public std::unique_ptr wrapInUniquePtr(); + public void scheduleCallback(std::function callback, std::chrono::milliseconds delayMs); +} + +class facebook::react::jsinspector_modern::JCxxInspectorPackagerConnectionDelegateImpl::RefWrapper : public facebook::react::jsinspector_modern::InspectorPackagerConnectionDelegate { + public RefWrapper(jni::alias_ref jDelegate); + public virtual std::unique_ptr connectWebSocket(const std::string& url, std::weak_ptr delegate) override; + public virtual void scheduleCallback(std::function callback, std::chrono::milliseconds delayMs) override; +} + +struct facebook::react::jsinspector_modern::LoadNetworkResourceRequest { + public std::string url; +} + +struct facebook::react::jsinspector_modern::NetworkResource { + public bool success; + public folly::dynamic toDynamic() const; + public std::optional headers; + public std::optional netErrorName; + public std::optional stream; + public std::optional httpStatusCode; +} + +struct facebook::react::jsinspector_modern::PerfIssuePayload { + public std::optional description; + public std::optional learnMoreUrl; + public std::optional severity; + public std::string name; +} + +struct facebook::react::jsinspector_modern::ReadStreamParams { + public facebook::react::jsinspector_modern::StreamID handle; + public std::optional offset; + public std::optional size; +} + +struct facebook::react::jsinspector_modern::SessionState { + public bool hasPendingTraceRecording; + public bool isDebuggerDomainEnabled; + public bool isLogDomainEnabled; + public bool isNetworkDomainEnabled; + public bool isReactNativeApplicationDomainEnabled; + public bool isRuntimeDomainEnabled; + public facebook::react::jsinspector_modern::RuntimeAgent::ExportedState lastRuntimeAgentExportedState; + public std::unordered_map subscribedBindings; + public std::vector pendingSimpleConsoleMessages; +} + +struct facebook::react::jsinspector_modern::SimpleConsoleMessage { + public SimpleConsoleMessage(const facebook::react::jsinspector_modern::SimpleConsoleMessage& other) = delete; + public SimpleConsoleMessage(double timestamp, facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args); + public SimpleConsoleMessage(facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args); + public SimpleConsoleMessage(facebook::react::jsinspector_modern::SimpleConsoleMessage&& other) noexcept = default; + public double timestamp; + public facebook::react::jsinspector_modern::ConsoleAPIType type; + public facebook::react::jsinspector_modern::SimpleConsoleMessage& operator=(const facebook::react::jsinspector_modern::SimpleConsoleMessage& other) = delete; + public facebook::react::jsinspector_modern::SimpleConsoleMessage& operator=(facebook::react::jsinspector_modern::SimpleConsoleMessage&& other) noexcept = default; + public std::vector args; + public ~SimpleConsoleMessage() = default; +} + +template +class facebook::react::jsinspector_modern::EnumArray { + public constexpr ValueType& operator[](IndexType i); + public constexpr const ValueType& operator[](IndexType i) const; + public constexpr int size() const; +} + +template +struct facebook::react::jsinspector_modern::UniqueMonostate { + public constexpr bool operator<(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; + public constexpr bool operator<=(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; + public constexpr bool operator==(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; + public constexpr bool operator>(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; + public constexpr bool operator>=(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; +} + +template +class facebook::react::jsinspector_modern::EnableExecutorFromThis : public std::enable_shared_from_this { + public facebook::react::jsinspector_modern::ScopedExecutor executorFromThis(); + public void setExecutor(facebook::react::jsinspector_modern::VoidExecutor executor); + template + public void setExecutor(facebook::react::jsinspector_modern::ScopedExecutor executor); +} + +template +class facebook::react::jsinspector_modern::WeakList { + public bool empty() const; + public size_t size() const; + public void insert(std::weak_ptr ptr); + template + public bool anyOf(Fn&& fn) const; + template + public bool anyOf(Fn&& fn); + template + public void forEach(Fn&& fn) const; + template + public void forEach(Fn&& fn); +} + + +constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::TRACING_TIME_ORIGIN; +constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::kCurrentBufferStartTimeUninitialized; +using facebook::react::jsinspector_modern::tracing::Categories = folly::small_vector; +using facebook::react::jsinspector_modern::tracing::ConsoleTimeStampEntry = std::variant; +using facebook::react::jsinspector_modern::tracing::FrameSequenceId = uint64_t; +using facebook::react::jsinspector_modern::tracing::Headers = std::map; +using facebook::react::jsinspector_modern::tracing::ProcessId = uint64_t; +using facebook::react::jsinspector_modern::tracing::RuntimeProfileId = uint16_t; +using facebook::react::jsinspector_modern::tracing::ThreadId = uint64_t; +int64_t facebook::react::jsinspector_modern::tracing::highResDurationToTracingClockDuration(facebook::react::HighResDuration duration); +std::optional facebook::react::jsinspector_modern::tracing::getTracingCategoryFromString(const std::string& str); +std::optional facebook::react::jsinspector_modern::tracing::getConsoleTimeStampColorFromString(const std::string& str); +std::optional facebook::react::jsinspector_modern::tracing::getConsoleTimeStampDetailFromObject(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& detailValue); +std::set facebook::react::jsinspector_modern::tracing::parseSerializedTracingCategories(const std::string& serializedCategories); +std::string facebook::react::jsinspector_modern::tracing::consoleTimeStampColorToString(facebook::react::jsinspector_modern::tracing::ConsoleTimeStampColor color); +std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const facebook::react::jsinspector_modern::tracing::Categories& categories); +std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const std::set& categories); +std::string facebook::react::jsinspector_modern::tracing::tracingCategoryToString(const facebook::react::jsinspector_modern::tracing::Category& category); +uint64_t facebook::react::jsinspector_modern::tracing::highResTimeStampToTracingClockTimeStamp(facebook::react::HighResTimeStamp timestamp); + +class facebook::react::jsinspector_modern::tracing::HermesRuntimeSamplingProfileSerializer { + public static facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile serializeToTracingSamplingProfile(hermes::sampling_profiler::Profile hermesProfile); +} + +class facebook::react::jsinspector_modern::tracing::HostTracingProfileSerializer { + public static void emitAsDataCollectedChunks(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const std::function& chunkCallback, size_t maxChunkBytes, uint16_t profileTraceEventsChunkSize); + public static void emitFrameTimings(std::vector&& frameTimings, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::HighResTimeStamp recordingStartTimestamp, const std::function& chunkCallback, size_t maxChunkBytes); + public static void emitPerformanceTraceEvents(std::vector&& events, const std::function& chunkCallback, size_t maxChunkBytes); +} + +class facebook::react::jsinspector_modern::tracing::PerformanceTracer { + public bool isTracing() const; + public bool startTracing(); + public bool startTracing(facebook::react::HighResDuration maxDuration); + public static facebook::react::jsinspector_modern::tracing::PerformanceTracer& getInstance(); + public static facebook::react::jsinspector_modern::tracing::TraceEvent constructRuntimeProfileChunkTraceEvent(facebook::react::jsinspector_modern::tracing::RuntimeProfileId profileId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ProcessId threadId, facebook::react::HighResTimeStamp chunkTimestamp, facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk&& traceEventProfileChunk); + public static facebook::react::jsinspector_modern::tracing::TraceEvent constructRuntimeProfileTraceEvent(facebook::react::jsinspector_modern::tracing::RuntimeProfileId profileId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp profileTimestamp); + public std::optional> stopTracing(); + public uint32_t subscribeToTracingStateChanges(facebook::react::jsinspector_modern::tracing::PerformanceTracer::TracingStateCallback callback); + public using TracingStateCallback = std::function; + public void reportEventLoopMicrotasks(facebook::react::HighResTimeStamp start, facebook::react::HighResTimeStamp end); + public void reportEventLoopTask(facebook::react::HighResTimeStamp start, facebook::react::HighResTimeStamp end); + public void reportMark(const std::string& name, facebook::react::HighResTimeStamp start, folly::dynamic&& detail = nullptr); + public void reportMeasure(const std::string& name, facebook::react::HighResTimeStamp start, facebook::react::HighResDuration duration, folly::dynamic&& detail = nullptr, std::optional stackTrace = nullptr); + public void reportResourceFinish(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int encodedDataLength, int decodedBodyLength); + public void reportResourceReceiveResponse(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int statusCode, const facebook::react::jsinspector_modern::tracing::Headers& headers, int encodedDataLength, folly::dynamic timingData); + public void reportResourceReceivedData(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int encodedDataLength); + public void reportResourceSendRequest(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, const std::string& url, const std::string& requestMethod, const facebook::react::jsinspector_modern::tracing::Headers& headers); + public void reportResourceWillSendRequest(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start); + public void reportTimeStamp(const std::string& name, std::optional start = std::nullopt, std::optional end = std::nullopt, std::optional trackName = std::nullopt, std::optional trackGroup = std::nullopt, std::optional color = std::nullopt, std::optional detail = std::nullopt, std::optional stackTrace = std::nullopt); + public void unsubscribeFromTracingStateChanges(uint32_t subscriptionId); +} + +class facebook::react::jsinspector_modern::tracing::ProfileTreeNode { + public ProfileTreeNode(uint32_t id, facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType codeType, facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame callFrame, uint32_t parentId = facebook::react::jsinspector_modern::tracing::ProfileTreeNode::NO_PARENT); + public bool hasParent() const; + public const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& getCallFrame() const; + public facebook::react::jsinspector_modern::tracing::ProfileTreeNode* addChild(uint32_t childId, facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType childCodeType, facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame childCallFrame); + public facebook::react::jsinspector_modern::tracing::ProfileTreeNode* getIfAlreadyExists(facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType childCodeType, const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& childCallFrame); + public facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType getCodeType() const; + public static constexpr uint32_t NO_PARENT; + public uint32_t getId() const; + public uint32_t getParentId() const; +} + +enum facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType { + JavaScript, + Other, +} + +class facebook::react::jsinspector_modern::tracing::RawHermesRuntimeProfile : public facebook::react::jsinspector_modern::tracing::RawRuntimeProfile { + public RawHermesRuntimeProfile(hermes::sampling_profiler::Profile hermesProfile); +} + +class facebook::react::jsinspector_modern::tracing::RawRuntimeProfile { + public virtual ~RawRuntimeProfile() = default; +} + +class facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfileTraceEventSerializer { + public static void serializeAndDispatch(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&& profile, facebook::react::jsinspector_modern::tracing::IdGenerator& profileIdGenerator, facebook::react::HighResTimeStamp tracingStartTime, const std::function& dispatchCallback, uint16_t traceEventChunkSize, uint16_t profileChunkSize = PROFILE_CHUNK_SIZE, uint16_t maxUniqueNodesPerChunk = MAX_UNIQUE_NODES_PER_CHUNK); + public static void serializeAndDispatch(std::vector&& profiles, facebook::react::jsinspector_modern::tracing::IdGenerator& profileIdGenerator, facebook::react::HighResTimeStamp tracingStartTime, const std::function& dispatchCallback, uint16_t traceEventChunkSize, uint16_t profileChunkSize = PROFILE_CHUNK_SIZE, uint16_t maxUniqueNodesPerChunk = MAX_UNIQUE_NODES_PER_CHUNK); +} + +class facebook::react::jsinspector_modern::tracing::TargetTracingAgent { + protected facebook::react::jsinspector_modern::tracing::TraceRecordingState& state_; + public TargetTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public bool isRunningInBackgroundMode(); +} + +class facebook::react::jsinspector_modern::tracing::TraceEventGenerator { + public static facebook::react::jsinspector_modern::tracing::TraceEvent createScreenshotEvent(facebook::react::jsinspector_modern::tracing::FrameSequenceId frameSequenceId, int sourceId, std::vector&& snapshot, facebook::react::HighResTimeStamp expectedDisplayTime, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); + public static facebook::react::jsinspector_modern::tracing::TraceEvent createSetLayerTreeIdEvent(std::string frame, int layerTreeId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp timestamp); + public static std::pair createFrameTimingsEvents(facebook::react::jsinspector_modern::tracing::FrameSequenceId sequenceId, int layerTreeId, facebook::react::HighResTimeStamp beginTimestamp, facebook::react::HighResTimeStamp endTimestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); +} + +class facebook::react::jsinspector_modern::tracing::TraceEventSerializer { + public static folly::dynamic serialize(facebook::react::jsinspector_modern::tracing::TraceEvent&& event); + public static folly::dynamic serializeProfileChunk(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk&& profileChunk); + public static folly::dynamic serializeProfileChunkCPUProfile(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile&& cpuProfile); + public static folly::dynamic serializeProfileChunkCPUProfileNode(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node&& node); + public static folly::dynamic serializeProfileChunkCPUProfileNodeCallFrame(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame&& callFrame); + public static folly::dynamic serializeProfileChunkTimeDeltas(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::TimeDeltas&& deltas); + public static size_t estimateJsonSize(const folly::dynamic& value); +} + +enum facebook::react::jsinspector_modern::tracing::Category { + Frame, + HiddenTimeline, + JavaScriptSampling, + RuntimeExecution, + Screenshot, + Timeline, + UserTiming, +} + +enum facebook::react::jsinspector_modern::tracing::ConsoleTimeStampColor { + Error, + Primary, + PrimaryDark, + PrimaryLight, + Secondary, + SecondaryDark, + SecondaryLight, + Tertiary, + TertiaryDark, + TertiaryLight, + Warning, +} + +enum facebook::react::jsinspector_modern::tracing::EventLoopPhase { + Microtasks, + Task, +} + +enum facebook::react::jsinspector_modern::tracing::Mode { + Background, + CDP, +} + +struct facebook::react::jsinspector_modern::tracing::EventLoopReporter { + public EventLoopReporter(const facebook::react::jsinspector_modern::tracing::EventLoopReporter&) = delete; + public EventLoopReporter(facebook::react::jsinspector_modern::tracing::EventLoopPhase phase); + public EventLoopReporter(facebook::react::jsinspector_modern::tracing::EventLoopReporter&&) = delete; + public facebook::react::jsinspector_modern::tracing::EventLoopReporter& operator=(const facebook::react::jsinspector_modern::tracing::EventLoopReporter&) = delete; + public facebook::react::jsinspector_modern::tracing::EventLoopReporter& operator=(facebook::react::jsinspector_modern::tracing::EventLoopReporter&&) = delete; + public ~EventLoopReporter(); +} + +struct facebook::react::jsinspector_modern::tracing::FrameTimingSequence { + public FrameTimingSequence() = delete; + public FrameTimingSequence(facebook::react::jsinspector_modern::tracing::FrameSequenceId id, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp beginTimestamp, facebook::react::HighResTimeStamp endTimestamp, std::optional> screenshot = std::nullopt); + public facebook::react::HighResTimeStamp beginTimestamp; + public facebook::react::HighResTimeStamp endTimestamp; + public facebook::react::jsinspector_modern::tracing::FrameSequenceId id; + public facebook::react::jsinspector_modern::tracing::ThreadId threadId; + public std::optional> screenshot; +} + +struct facebook::react::jsinspector_modern::tracing::HostTracingProfile { + public facebook::react::HighResTimeStamp startTime; + public facebook::react::jsinspector_modern::tracing::ProcessId processId; + public std::vector frameTimings; + public std::vector instanceTracingProfiles; + public std::vector runtimeSamplingProfiles; +} + +struct facebook::react::jsinspector_modern::tracing::IdGenerator { + public uint32_t getNext(); +} + +struct facebook::react::jsinspector_modern::tracing::InstanceTracingProfile { + public std::vector performanceTraceEvents; +} + +struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile { + public RuntimeSamplingProfile(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&) = delete; + public RuntimeSamplingProfile(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&&) = default; + public RuntimeSamplingProfile(std::string runtimeName, facebook::react::jsinspector_modern::tracing::ProcessId processId, std::vector samples, std::unique_ptr rawRuntimeProfile); + public facebook::react::jsinspector_modern::tracing::ProcessId processId; + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile& operator=(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&) = delete; + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile& operator=(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&&) = default; + public std::string runtimeName; + public std::unique_ptr rawRuntimeProfile; + public std::vector samples; + public ~RuntimeSamplingProfile() = default; +} + +struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample { + public Sample(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&) = delete; + public Sample(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&&) = default; + public Sample(uint64_t timestamp, facebook::react::jsinspector_modern::tracing::ThreadId threadId, std::vector callStack); + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample& operator=(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&) = delete; + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample& operator=(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&&) = default; + public facebook::react::jsinspector_modern::tracing::ThreadId threadId; + public std::vector callStack; + public uint64_t timestamp; + public ~Sample() = default; +} + +struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame { + public bool operator==(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& rhs) const noexcept = default; + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame::Kind kind; + public std::optional scriptURL; + public std::optional columnNumber; + public std::optional lineNumber; + public std::string_view functionName; + public uint32_t scriptId; +} + +enum facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame::Kind { + GarbageCollector, + HostFunction, + JSFunction, + NativeFunction, +} + +struct facebook::react::jsinspector_modern::tracing::TraceEvent { + public char ph; + public facebook::react::HighResTimeStamp ts; + public facebook::react::jsinspector_modern::tracing::Categories cat; + public facebook::react::jsinspector_modern::tracing::ProcessId pid; + public facebook::react::jsinspector_modern::tracing::ThreadId tid; + public folly::dynamic args; + public std::optional s; + public std::optional dur; + public std::optional id; + public std::string name; +} + +struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk { + public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile cpuProfile; + public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::TimeDeltas timeDeltas; + public using TimeDeltas = std::vector; +} + +struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile { + public std::vector nodes; + public std::vector samples; +} + +struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node { + public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame callFrame; + public std::optional parentId; + public uint32_t id; +} + +struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame { + public std::optional url; + public std::optional columnNumber; + public std::optional lineNumber; + public std::string codeType; + public std::string functionName; + public uint32_t scriptId; +} + +struct facebook::react::jsinspector_modern::tracing::TraceRecordingState { + public TraceRecordingState(facebook::react::jsinspector_modern::tracing::Mode tracingMode, std::set enabledCategories, std::optional windowSize = std::nullopt); + public facebook::react::jsinspector_modern::tracing::Mode mode; + public std::optional windowSize; + public std::set enabledCategories; + public std::vector instanceTracingProfiles; + public std::vector runtimeSamplingProfiles; +} + +template +class facebook::react::jsinspector_modern::tracing::TimeWindowedBuffer { + public TimeWindowedBuffer(); + public TimeWindowedBuffer(facebook::react::jsinspector_modern::tracing::TimeWindowedBuffer::TimestampAccessor timestampAccessor, facebook::react::HighResDuration windowSize); + public std::vector pruneExpiredAndExtract(facebook::react::HighResTimeStamp windowRightBoundary = facebook::react::HighResTimeStamp::now()); + public using TimestampAccessor = std::function; + public void clear(); + public void push(T&& element); + public void push(const T& element); +} + +template +class facebook::react::jsinspector_modern::tracing::PerformanceTracerSection { + public PerformanceTracerSection(const char* name, const char* track = nullptr, const char* trackGroup = nullptr, const char* color = nullptr, Args... args) noexcept; + public PerformanceTracerSection(const facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&) = delete; + public PerformanceTracerSection(facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&&) = delete; + public facebook::react::jsinspector_modern::tracing::PerformanceTracerSection& operator=(const facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&) = delete; + public facebook::react::jsinspector_modern::tracing::PerformanceTracerSection& operator=(facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&&) = delete; + public ~PerformanceTracerSection() noexcept; +} + + +using facebook::react::jsinspector_modern::cdp::ParseError = folly::json::parse_error; +using facebook::react::jsinspector_modern::cdp::RequestId = long long; +using facebook::react::jsinspector_modern::cdp::TypeError = folly::TypeError; +facebook::react::jsinspector_modern::cdp::PreparsedRequest facebook::react::jsinspector_modern::cdp::preparse(std::string_view message); +std::string facebook::react::jsinspector_modern::cdp::jsonError(std::optional id, facebook::react::jsinspector_modern::cdp::ErrorCode code, std::optional message = std::nullopt); +std::string facebook::react::jsinspector_modern::cdp::jsonNotification(const std::string& method, std::optional params = std::nullopt); +std::string facebook::react::jsinspector_modern::cdp::jsonRequest(facebook::react::jsinspector_modern::cdp::RequestId id, const std::string& method, std::optional params = std::nullopt); +std::string facebook::react::jsinspector_modern::cdp::jsonResult(facebook::react::jsinspector_modern::cdp::RequestId id, const folly::dynamic& result = folly::dynamic::object()); + +enum facebook::react::jsinspector_modern::cdp::ErrorCode { + InternalError, + InvalidParams, + InvalidRequest, + MethodNotFound, + ParseError, +} + +struct facebook::react::jsinspector_modern::cdp::PreparsedRequest { + public bool operator==(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& rhs) const; + public facebook::react::jsinspector_modern::cdp::RequestId id; + public folly::dynamic params; + public std::string method; + public std::string toJson() const; +} + + +using facebook::react::jsinspector_modern::cdp::network::Headers = std::map; +std::string facebook::react::jsinspector_modern::cdp::network::resourceTypeFromMimeType(const std::string& mimeType); + +struct facebook::react::jsinspector_modern::cdp::network::ConnectTiming { + public double requestTime; +} + +struct facebook::react::jsinspector_modern::cdp::network::DataReceivedParams { + public double timestamp; + public folly::dynamic toDynamic() const; + public int dataLength; + public int encodedDataLength; + public std::string requestId; +} + +struct facebook::react::jsinspector_modern::cdp::network::LoadingFailedParams { + public bool canceled; + public double timestamp; + public folly::dynamic toDynamic() const; + public std::string errorText; + public std::string requestId; + public std::string type; +} + +struct facebook::react::jsinspector_modern::cdp::network::LoadingFinishedParams { + public double timestamp; + public folly::dynamic toDynamic() const; + public int encodedDataLength; + public std::string requestId; +} + +struct facebook::react::jsinspector_modern::cdp::network::Request { + public facebook::react::jsinspector_modern::cdp::network::Headers headers; + public folly::dynamic toDynamic() const; + public std::optional postData; + public std::string method; + public std::string url; +} + +struct facebook::react::jsinspector_modern::cdp::network::RequestWillBeSentExtraInfoParams { + public facebook::react::jsinspector_modern::cdp::network::ConnectTiming connectTiming; + public facebook::react::jsinspector_modern::cdp::network::Headers headers; + public folly::dynamic toDynamic() const; + public std::string requestId; +} + +struct facebook::react::jsinspector_modern::cdp::network::RequestWillBeSentParams { + public bool redirectHasExtraInfo; + public double timestamp; + public double wallTime; + public facebook::react::jsinspector_modern::cdp::network::Request request; + public folly::dynamic initiator; + public folly::dynamic toDynamic() const; + public std::optional redirectResponse; + public std::string documentURL; + public std::string loaderId; + public std::string requestId; +} + +struct facebook::react::jsinspector_modern::cdp::network::Response { + public facebook::react::jsinspector_modern::cdp::network::Headers headers; + public folly::dynamic toDynamic() const; + public int encodedDataLength; + public static facebook::react::jsinspector_modern::cdp::network::Response fromInputParams(const std::string& url, uint16_t status, const facebook::react::jsinspector_modern::cdp::network::Headers& headers, int encodedDataLength); + public std::string mimeType; + public std::string statusText; + public std::string url; + public uint16_t status; +} + +struct facebook::react::jsinspector_modern::cdp::network::ResponseReceivedParams { + public bool hasExtraInfo; + public double timestamp; + public facebook::react::jsinspector_modern::cdp::network::Response response; + public folly::dynamic toDynamic() const; + public std::string loaderId; + public std::string requestId; + public std::string type; +} + + +constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_CONTAINED_BY; +constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_CONTAINS; +constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_DISCONNECTED; +constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_FOLLOWING; +constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_PRECEDING; +bool facebook::react::dom::isConnected(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +facebook::react::dom::DOMBorderWidthRounded facebook::react::dom::getBorderWidth(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +facebook::react::dom::DOMOffset facebook::react::dom::getOffset(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +facebook::react::dom::DOMPoint facebook::react::dom::getScrollPosition(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +facebook::react::dom::DOMRect facebook::react::dom::getBoundingClientRect(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode, bool includeTransform); +facebook::react::dom::DOMRect facebook::react::dom::measureInWindow(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +facebook::react::dom::DOMSizeRounded facebook::react::dom::getInnerSize(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +facebook::react::dom::DOMSizeRounded facebook::react::dom::getScrollSize(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +facebook::react::dom::RNMeasureRect facebook::react::dom::measure(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +std::optional facebook::react::dom::measureLayout(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode& relativeToShadowNode); +std::shared_ptr facebook::react::dom::getElementById(const std::shared_ptr& currentRevision, const std::string& id); +std::shared_ptr facebook::react::dom::getParentNode(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +std::string facebook::react::dom::getTagName(const facebook::react::ShadowNode& shadowNode); +std::string facebook::react::dom::getTextContent(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +std::vector> facebook::react::dom::getChildNodes(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +uint_fast16_t facebook::react::dom::compareDocumentPosition(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode& otherShadowNode); + +struct facebook::react::dom::DOMBorderWidthRounded { + public int bottom; + public int left; + public int right; + public int top; +} + +struct facebook::react::dom::DOMOffset { + public double left; + public double top; + public std::shared_ptr offsetParent; +} + +struct facebook::react::dom::DOMPoint { + public double x; + public double y; +} + +struct facebook::react::dom::DOMRect { + public double height; + public double width; + public double x; + public double y; +} + +struct facebook::react::dom::DOMSizeRounded { + public int height; + public int width; +} + +struct facebook::react::dom::RNMeasureRect { + public double height; + public double pageX; + public double pageY; + public double width; + public double x; + public double y; +} + + +folly::dynamic facebook::react::animationbackend::packAnimatedProps(const facebook::react::AnimatedProps& animatedProps); + + +static constexpr facebook::react::Tag facebook::react::animated::undefinedAnimatedNodeIdentifier; + + +std::shared_ptr facebook::react::CoreComponentsRegistry::sharedProviderRegistry(); +void facebook::react::CoreComponentsRegistry::addCoreComponents(std::shared_ptr registry); + + +template +constexpr bool facebook::react::bridging::supportsToJs(), std::declval(), nullptr))>>; +template +constexpr bool facebook::react::bridging::supportsToJs(), std::declval(), nullptr))>>; +template +constexpr bool facebook::react::bridging::is_optional_jsi_v; +template +constexpr bool facebook::react::bridging::supportsFromJs(std::declval(), std::declval(), nullptr))>>; +template +constexpr bool facebook::react::bridging::is_jsi_v; +template +constexpr bool facebook::react::bridging::is_optional_jsi_v>>; +template +constexpr bool facebook::react::bridging::is_optional_v; +template +constexpr bool facebook::react::bridging::supportsFromJs(std::declval(), std::declval(), nullptr))>>; +template +constexpr bool facebook::react::bridging::supportsFromJs; +template +constexpr bool facebook::react::bridging::supportsToJs; +template +using facebook::react::bridging::bridging_t = typename facebook::react::bridging::detail::bridging_wrapper::type; +template +using facebook::react::bridging::remove_cvref_t = std::remove_cv_t>; +template +constexpr size_t facebook::react::bridging::getParameterCount(ReturnT(Class::*)(ArgsT...)); +template +JSReturnT facebook::react::bridging::callFromJs(facebook::jsi::Runtime& rt, ReturnT(ClassT::*method)(facebook::jsi::Runtime&, ArgsT...), const std::shared_ptr& jsInvoker, ClassT* instance, JSArgsT &&... args); +template +decltype(facebook::react::Bridging>::fromJs(rt, facebook::react::bridging::convert(rt, std::forward(value)))) facebook::react::bridging::fromJs(facebook::jsi::Runtime& rt, JSArgT&& value, const std::shared_ptr&); +template +decltype(facebook::react::Bridging>::fromJs(rt, facebook::react::bridging::convert(rt, std::forward(value)), jsInvoker)) facebook::react::bridging::fromJs(facebook::jsi::Runtime& rt, JSArgT&& value, const std::shared_ptr& jsInvoker); +template +decltype(static_cast(std::move(facebook::react::bridging::convert(rt, std::forward(value))))) facebook::react::bridging::fromJs(facebook::jsi::Runtime& rt, JSArgT&& value, const std::shared_ptr&); +template +constexpr size_t facebook::react::bridging::getParameterCount(ReturnT(*)(ArgsT...)); +template , int> = 0> +auto facebook::react::bridging::convert(facebook::jsi::Runtime& rt, T&& value); +template ||std::is_scalar_v, int> = 0> +auto facebook::react::bridging::convert(facebook::jsi::Runtime& rt, std::optional value); +template , int> = 0> +auto facebook::react::bridging::convert(facebook::jsi::Runtime&, T&& value); +template +auto facebook::react::bridging::convert(facebook::jsi::Runtime&, facebook::react::bridging::Converter&& converter); +template +decltype(facebook::react::Bridging>::toJs(rt, std::forward(value))) facebook::react::bridging::toJs(facebook::jsi::Runtime& rt, T&& value, const std::shared_ptr& = nullptr); +template +decltype(facebook::react::Bridging>::toJs(rt, std::forward(value), jsInvoker)) facebook::react::bridging::toJs(facebook::jsi::Runtime& rt, T&& value, const std::shared_ptr& jsInvoker); +template +facebook::react::bridging::remove_cvref_t facebook::react::bridging::toJs(facebook::jsi::Runtime& rt, T&& value, const std::shared_ptr& = nullptr); + +template +struct facebook::react::bridging::Converter : public facebook::react::bridging::ConverterBase { +} + +template +struct facebook::react::bridging::ConverterBase { + protected T value_; + protected facebook::jsi::Runtime& rt_; + public ConverterBase(facebook::jsi::Runtime& rt, T&& value); + public operator facebook::react::bridging::ConverterBase::BaseT(); + public using BaseT = facebook::react::bridging::remove_cvref_t; + template && std::is_same_v, int> = 0> + public operator U() = delete; + template && std::is_convertible_v, U>, int> = 0> + public operator U(); +} + +template +struct facebook::react::bridging::is_optional : public std::false_type { +} + +template +struct facebook::react::bridging::Converter> : public facebook::react::bridging::ConverterBase, public facebook::react::bridging::ConverterBase { + public Converter(facebook::jsi::Runtime& rt, std::optional value); + public operator std::optional(); +} + +template +struct facebook::react::bridging::is_optional> : public std::false_type, public std::true_type { +} + +struct facebook::react::bridging::Converter : public facebook::react::bridging::ConverterBase { + public operator facebook::jsi::Array(); + public operator facebook::jsi::Function(); +} + +struct facebook::react::bridging::Converter : public facebook::react::bridging::ConverterBase { + public operator facebook::jsi::Array(); + public operator facebook::jsi::Function(); + public operator facebook::jsi::Object(); + public operator facebook::jsi::String(); +} + + +template +struct facebook::react::bridging::detail::function_wrapper { +} + +template +struct facebook::react::bridging::detail::bridging_wrapper { + public using type = facebook::react::bridging::remove_cvref_t; +} + +template +struct facebook::react::bridging::detail::function_wrapper { + public using type = std::function; +} + +template +struct facebook::react::bridging::detail::function_wrapper { + public using type = std::function; +} + +template +struct facebook::react::bridging::detail::bridging_wrapper::operator())>> : public facebook::react::bridging::detail::function_wrapper::operator())> { + public using type = facebook::react::bridging::remove_cvref_t; +} + + +template +struct facebook::react::array_detail::BridgingStatic { + public static facebook::jsi::Array toJs(facebook::jsi::Runtime& rt, const T& array, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::array_detail::BridgingDynamic { + public static facebook::jsi::Array toJs(facebook::jsi::Runtime& rt, const T& list, const std::shared_ptr& jsInvoker); +} + + +template +struct facebook::react::map_detail::Bridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& map, const std::shared_ptr& jsInvoker); +} + + +typedef void(*facebook::react::ReactMarker::LogTaggedMarker)(const facebook::react::ReactMarker::ReactMarkerId, const char *tag); +typedef void(*facebook::react::ReactMarker::LogTaggedMarkerBridgeless)(const facebook::react::ReactMarker::ReactMarkerId, const char *tag); +void facebook::react::ReactMarker::logMarker(facebook::react::ReactMarker::ReactMarkerId markerId); +void facebook::react::ReactMarker::logMarkerBridgeless(facebook::react::ReactMarker::ReactMarkerId markerId); +void facebook::react::ReactMarker::logMarkerDone(facebook::react::ReactMarker::ReactMarkerId markerId, double markerTime); +void facebook::react::ReactMarker::logTaggedMarker(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag); +void facebook::react::ReactMarker::logTaggedMarkerBridgeless(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag); +facebook::react::ReactMarker::LogTaggedMarker facebook::react::ReactMarker::logTaggedMarkerBridgelessImpl; +facebook::react::ReactMarker::LogTaggedMarker facebook::react::ReactMarker::logTaggedMarkerImpl; +std::shared_mutex facebook::react::ReactMarker::logTaggedMarkerImplMutex; + +class facebook::react::ReactMarker::StartupLogger { + public double getAppStartupEndTime(); + public double getAppStartupStartTime(); + public double getInitReactRuntimeEndTime(); + public double getInitReactRuntimeStartTime(); + public double getRunJSBundleEndTime(); + public double getRunJSBundleStartTime(); + public static facebook::react::ReactMarker::StartupLogger& getInstance(); + public void logStartupEvent(facebook::react::ReactMarker::ReactMarkerId markerId, double markerTime); + public void reset(); +} + +enum facebook::react::ReactMarker::ReactMarkerId { + APP_STARTUP_START, + APP_STARTUP_STOP, + CREATE_REACT_CONTEXT_STOP, + INIT_REACT_RUNTIME_START, + INIT_REACT_RUNTIME_STOP, + JS_BUNDLE_STRING_CONVERT_START, + JS_BUNDLE_STRING_CONVERT_STOP, + NATIVE_MODULE_SETUP_START, + NATIVE_MODULE_SETUP_STOP, + NATIVE_REQUIRE_START, + NATIVE_REQUIRE_STOP, + REACT_INSTANCE_INIT_START, + REACT_INSTANCE_INIT_STOP, + REGISTER_JS_SEGMENT_START, + REGISTER_JS_SEGMENT_STOP, + RUN_JS_BUNDLE_START, + RUN_JS_BUNDLE_STOP, +} + +struct facebook::react::ReactMarker::ReactMarkerEvent { + public const char* tag; + public const facebook::react::ReactMarker::ReactMarkerId markerId; + public double time; +} + + +uint64_t facebook::react::oscompat::getCurrentProcessId(); +uint64_t facebook::react::oscompat::getCurrentThreadId(); + + +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallBatchPreprocessEnd(int batchSize); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallBatchPreprocessStart(); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallDispatch(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionArgConversionEnd(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionArgConversionStart(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionEnd(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionFail(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionStart(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallFail(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallStart(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::disableLogging(); +void facebook::react::BridgeNativeModulePerfLogger::enableLogging(std::unique_ptr&& logger); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateCacheHit(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateConstructEnd(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateConstructStart(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateEnd(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateFail(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateSetUpEnd(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateSetUpStart(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateStart(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleDataCreateEnd(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleDataCreateStart(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningCacheHit(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningEnd(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningFail(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningStart(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingEnd(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingFail(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingStart(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallArgConversionStart(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallExecutionEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallExecutionStart(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallFail(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallReturnConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallReturnConversionStart(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallStart(const char* moduleName, const char* methodName); + + +void facebook::react::LegacyUIManagerConstantsProviderBinding::install(facebook::jsi::Runtime& runtime, const std::string& name, std::function&& provider); +void facebook::react::LegacyUIManagerConstantsProviderBinding::install(facebook::jsi::Runtime& runtime, const std::string& name, std::function&& provider); + + +void facebook::react::LowPriorityExecutor::execute(std::function&& workItem); + + +void facebook::react::TurboModulePerfLogger::asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::asyncMethodCallBatchPreprocessEnd(int batchSize); +void facebook::react::TurboModulePerfLogger::asyncMethodCallBatchPreprocessStart(); +void facebook::react::TurboModulePerfLogger::asyncMethodCallDispatch(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::asyncMethodCallEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::asyncMethodCallExecutionArgConversionEnd(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::TurboModulePerfLogger::asyncMethodCallExecutionArgConversionStart(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::TurboModulePerfLogger::asyncMethodCallExecutionEnd(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::TurboModulePerfLogger::asyncMethodCallExecutionFail(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::TurboModulePerfLogger::asyncMethodCallExecutionStart(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::TurboModulePerfLogger::asyncMethodCallFail(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::asyncMethodCallStart(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::disableLogging(); +void facebook::react::TurboModulePerfLogger::enableLogging(std::unique_ptr&& logger); +void facebook::react::TurboModulePerfLogger::moduleCreateCacheHit(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateConstructEnd(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateConstructStart(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateEnd(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateFail(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateSetUpEnd(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateSetUpStart(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateStart(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleDataCreateEnd(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleDataCreateStart(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleJSRequireBeginningCacheHit(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireBeginningEnd(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireBeginningFail(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireBeginningStart(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireEndingEnd(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireEndingFail(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireEndingStart(const char* moduleName); +void facebook::react::TurboModulePerfLogger::syncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallArgConversionStart(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallExecutionEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallExecutionStart(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallFail(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallReturnConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallReturnConversionStart(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallStart(const char* moduleName, const char* methodName); + + +std::unique_ptr facebook::jsc::makeJSCRuntime(); + + +using facebook::jsi::HostFunctionType = std::function; +using facebook::jsi::RuntimeFactory = std::function()>; +facebook::jsi::Value facebook::jsi::valueFromDynamic(facebook::jsi::Runtime& runtime, const folly::dynamic& dyn); +folly::dynamic facebook::jsi::dynamicFromValue(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value, const std::function& filterObjectKeys = nullptr); +std::vector facebook::jsi::runtimeGenerators(); +template +U* facebook::jsi::castInterface(T* ptr); +template +std::shared_ptr facebook::jsi::dynamicInterfaceCast(T&& ptr); + +class facebook::jsi::Array : public facebook::jsi::Object { + public Array(facebook::jsi::Array&&) = default; + public Array(facebook::jsi::Runtime& runtime, size_t length); + public facebook::jsi::Array& operator=(facebook::jsi::Array&&) = default; + public facebook::jsi::Value getValueAtIndex(facebook::jsi::Runtime& runtime, size_t i) const; + public size_t length(facebook::jsi::Runtime& runtime) const; + public size_t size(facebook::jsi::Runtime& runtime) const; + public static facebook::jsi::Array createWithElements(facebook::jsi::Runtime& runtime, std::initializer_list elements); + template + public void setValueAtIndex(facebook::jsi::Runtime& runtime, size_t i, T&& value) const; + template + public static facebook::jsi::Array createWithElements(facebook::jsi::Runtime& runtime, Args &&... args); +} + +class facebook::jsi::ArrayBuffer : public facebook::jsi::Object { + public ArrayBuffer(facebook::jsi::ArrayBuffer&&) = default; + public ArrayBuffer(facebook::jsi::Runtime& runtime, std::shared_ptr buffer); + public facebook::jsi::ArrayBuffer& operator=(facebook::jsi::ArrayBuffer&&) = default; + public size_t length(facebook::jsi::Runtime& runtime) const; + public size_t size(facebook::jsi::Runtime& runtime) const; + public uint8_t* data(facebook::jsi::Runtime& runtime) const; +} + +class facebook::jsi::BigInt : public facebook::jsi::Pointer { + public BigInt(facebook::jsi::BigInt&& other) = default; + public BigInt(facebook::jsi::Pointer&& other) noexcept; + public BigInt(facebook::jsi::Runtime::PointerValue* ptr); + public bool isInt64(facebook::jsi::Runtime& runtime) const; + public bool isUint64(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::BigInt& operator=(facebook::jsi::BigInt&& other) = default; + public facebook::jsi::String toString(facebook::jsi::Runtime& runtime, int radix = 10) const; + public int64_t asInt64(facebook::jsi::Runtime& runtime) const; + public int64_t getInt64(facebook::jsi::Runtime& runtime) const; + public static bool strictEquals(facebook::jsi::Runtime& runtime, const facebook::jsi::BigInt& a, const facebook::jsi::BigInt& b); + public static facebook::jsi::BigInt fromInt64(facebook::jsi::Runtime& runtime, int64_t value); + public static facebook::jsi::BigInt fromUint64(facebook::jsi::Runtime& runtime, uint64_t value); + public uint64_t asUint64(facebook::jsi::Runtime& runtime) const; + public uint64_t getUint64(facebook::jsi::Runtime& runtime) const; +} + +class facebook::jsi::Buffer { + public virtual const uint8_t* data() const = 0; + public virtual size_t size() const = 0; + public virtual ~Buffer(); +} + +class facebook::jsi::DecoratedHostFunction { + public DecoratedHostFunction(facebook::jsi::Runtime& drt, facebook::jsi::HostFunctionType plainHF); + public facebook::jsi::Runtime& decoratedRuntime(); + public facebook::jsi::Value operator()(facebook::jsi::Runtime&, const facebook::jsi::Value& thisVal, const facebook::jsi::Value* args, size_t count); +} + +class facebook::jsi::DecoratedHostObject : public facebook::jsi::HostObject { + public DecoratedHostObject(facebook::jsi::Runtime& drt, std::shared_ptr plainHO); + public facebook::jsi::Runtime& decoratedRuntime(); + public virtual facebook::jsi::Value get(facebook::jsi::Runtime&, const facebook::jsi::PropNameID& name) override; + public virtual std::vector getPropertyNames(facebook::jsi::Runtime&) override; + public virtual void set(facebook::jsi::Runtime&, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) override; +} + +class facebook::jsi::FileBuffer : public facebook::jsi::Buffer { + public FileBuffer(const std::string& path); + public virtual const uint8_t* data() const override; + public virtual size_t size() const override; + public ~FileBuffer() override; +} + +class facebook::jsi::Function : public facebook::jsi::Object { + public Function(facebook::jsi::Function&&) = default; + public bool isHostFunction(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Function& operator=(facebook::jsi::Function&&) = default; + public facebook::jsi::HostFunctionType& getHostFunction(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Value call(facebook::jsi::Runtime& runtime, const facebook::jsi::Value* args, size_t count) const; + public facebook::jsi::Value call(facebook::jsi::Runtime& runtime, std::initializer_list args) const; + public facebook::jsi::Value callAsConstructor(facebook::jsi::Runtime& runtime, const facebook::jsi::Value* args, size_t count) const; + public facebook::jsi::Value callAsConstructor(facebook::jsi::Runtime& runtime, std::initializer_list args) const; + public facebook::jsi::Value callWithThis(facebook::jsi::Runtime& Runtime, const facebook::jsi::Object& jsThis, const facebook::jsi::Value* args, size_t count) const; + public facebook::jsi::Value callWithThis(facebook::jsi::Runtime& runtime, const facebook::jsi::Object& jsThis, std::initializer_list args) const; + public static facebook::jsi::Function createFromHostFunction(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name, unsigned int paramCount, facebook::jsi::HostFunctionType func); + template + public facebook::jsi::Value call(facebook::jsi::Runtime& runtime, Args &&... args) const; + template + public facebook::jsi::Value callAsConstructor(facebook::jsi::Runtime& runtime, Args &&... args) const; + template + public facebook::jsi::Value callWithThis(facebook::jsi::Runtime& runtime, const facebook::jsi::Object& jsThis, Args &&... args) const; +} + +class facebook::jsi::HostObject { + public virtual facebook::jsi::Value get(facebook::jsi::Runtime&, const facebook::jsi::PropNameID& name); + public virtual std::vector getPropertyNames(facebook::jsi::Runtime& rt); + public virtual void set(facebook::jsi::Runtime&, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value); + public virtual ~HostObject(); +} + +class facebook::jsi::Instrumentation { + public using HeapStatsUpdate = std::tuple; + public virtual std::string flushAndDisableBridgeTrafficTrace() = 0; + public virtual std::string getRecordedGCStats() = 0; + public virtual std::unordered_map getHeapInfo(bool includeExpensive) = 0; + public virtual void collectGarbage(std::string cause) = 0; + public virtual void createSnapshotToFile(const std::string& path, const facebook::jsi::Instrumentation::HeapSnapshotOptions& options = {false}) = 0; + public virtual void createSnapshotToStream(std::ostream& os, const facebook::jsi::Instrumentation::HeapSnapshotOptions& options = {false}) = 0; + public virtual void dumpOpcodeStats(std::ostream& os) const = 0; + public virtual void dumpProfilerSymbolsToFile(const std::string& fileName) const = 0; + public virtual void startHeapSampling(size_t samplingInterval) = 0; + public virtual void startTrackingHeapObjectStackTraces(std::function stats)> fragmentCallback) = 0; + public virtual void stopHeapSampling(std::ostream& os) = 0; + public virtual void stopTrackingHeapObjectStackTraces() = 0; + public virtual void writeBasicBlockProfileTraceToFile(const std::string& fileName) const = 0; + public virtual ~Instrumentation() = default; +} + +struct facebook::jsi::Instrumentation::HeapSnapshotOptions { + public bool captureNumericValue; +} + +class facebook::jsi::JSError : public facebook::jsi::JSIException { + public JSError(const facebook::jsi::JSError&) = default; + public JSError(facebook::jsi::Runtime& r, facebook::jsi::Value&& value); + public JSError(facebook::jsi::Runtime& rt, const char* message); + public JSError(facebook::jsi::Runtime& rt, std::string message); + public JSError(facebook::jsi::Runtime& rt, std::string message, std::string stack); + public JSError(facebook::jsi::Value&& value, std::string message, std::string stack); + public JSError(std::string what, facebook::jsi::Runtime& rt, facebook::jsi::Value&& value); + public const facebook::jsi::Value& value() const; + public const std::string& getMessage() const; + public const std::string& getStack() const; + public virtual ~JSError(); +} + +class facebook::jsi::JSIException : public std::exception { + protected JSIException(); + protected JSIException(std::string what); + protected std::string what_; + public JSIException(const facebook::jsi::JSIException&) = default; + public virtual const char* what() const noexcept override; + public virtual ~JSIException() override; +} + +class facebook::jsi::JSINativeException : public facebook::jsi::JSIException { + public JSINativeException(const facebook::jsi::JSINativeException&) = default; + public JSINativeException(std::string what); + public virtual ~JSINativeException(); +} + +class facebook::jsi::JSITestBase : public testing::TestWithParam { + public JSITestBase(); + public bool checkValue(const facebook::jsi::Value& value, const std::string& jsValue); + public facebook::jsi::Function function(const std::string& code); + public facebook::jsi::Runtime& rt; + public facebook::jsi::RuntimeFactory factory; + public facebook::jsi::Value eval(const char* code); + public std::shared_ptr runtime; +} + +class facebook::jsi::MutableBuffer { + public virtual size_t size() const = 0; + public virtual uint8_t* data() = 0; + public virtual ~MutableBuffer(); +} + +class facebook::jsi::NativeState { + public virtual ~NativeState(); +} + +class facebook::jsi::Object : public facebook::jsi::Pointer { + protected void setPropertyValue(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) const; + protected void setPropertyValue(facebook::jsi::Runtime& runtime, const facebook::jsi::String& name, const facebook::jsi::Value& value) const; + protected void setPropertyValue(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& name, const facebook::jsi::Value& value) const; + public Object(facebook::jsi::Object&& other) = default; + public Object(facebook::jsi::Pointer&& other) noexcept; + public Object(facebook::jsi::Runtime& runtime); + public Object(facebook::jsi::Runtime::PointerValue* ptr); + public bool hasNativeState(facebook::jsi::Runtime& runtime) const; + public bool hasProperty(facebook::jsi::Runtime& runtime, const char* name) const; + public bool hasProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) const; + public bool hasProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::String& name) const; + public bool hasProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& name) const; + public bool instanceOf(facebook::jsi::Runtime& rt, const facebook::jsi::Function& ctor) const; + public bool isArray(facebook::jsi::Runtime& runtime) const; + public bool isArrayBuffer(facebook::jsi::Runtime& runtime) const; + public bool isFunction(facebook::jsi::Runtime& runtime) const; + public bool isHostObject(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Array asArray(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Array asArray(facebook::jsi::Runtime& runtime); + public facebook::jsi::Array getArray(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Array getArray(facebook::jsi::Runtime& runtime); + public facebook::jsi::Array getPropertyNames(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::ArrayBuffer getArrayBuffer(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::ArrayBuffer getArrayBuffer(facebook::jsi::Runtime& runtime); + public facebook::jsi::Function asFunction(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Function asFunction(facebook::jsi::Runtime& runtime); + public facebook::jsi::Function getFunction(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Function getFunction(facebook::jsi::Runtime& runtime); + public facebook::jsi::Function getPropertyAsFunction(facebook::jsi::Runtime& runtime, const char* name) const; + public facebook::jsi::Object getPropertyAsObject(facebook::jsi::Runtime& runtime, const char* name) const; + public facebook::jsi::Object& operator=(facebook::jsi::Object&& other) = default; + public facebook::jsi::Value getProperty(facebook::jsi::Runtime& runtime, const char* name) const; + public facebook::jsi::Value getProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) const; + public facebook::jsi::Value getProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::String& name) const; + public facebook::jsi::Value getProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& name) const; + public facebook::jsi::Value getPrototype(facebook::jsi::Runtime& runtime) const; + public static bool strictEquals(facebook::jsi::Runtime& runtime, const facebook::jsi::Object& a, const facebook::jsi::Object& b); + public static facebook::jsi::Object create(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& prototype); + public static facebook::jsi::Object createFromHostObject(facebook::jsi::Runtime& runtime, std::shared_ptr ho); + public std::shared_ptr getHostObject(facebook::jsi::Runtime& runtime) const; + public void deleteProperty(facebook::jsi::Runtime& runtime, const char* name) const; + public void deleteProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) const; + public void deleteProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::String& name) const; + public void deleteProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& name) const; + public void setExternalMemoryPressure(facebook::jsi::Runtime& runtime, size_t amt) const; + public void setNativeState(facebook::jsi::Runtime& runtime, std::shared_ptr state) const; + public void setPrototype(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& prototype) const; + template + public bool isHostObject(facebook::jsi::Runtime& runtime) const; + template + public std::shared_ptr asHostObject(facebook::jsi::Runtime& runtime) const; + template + public std::shared_ptr getHostObject(facebook::jsi::Runtime& runtime) const; + template + public bool hasNativeState(facebook::jsi::Runtime& runtime) const; + template + public std::shared_ptr getNativeState(facebook::jsi::Runtime& runtime) const; + template + public void setProperty(facebook::jsi::Runtime& runtime, const char* name, T&& value) const; + template + public void setProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name, T&& value) const; + template + public void setProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::String& name, T&& value) const; + template + public void setProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& name, T&& value) const; +} + +class facebook::jsi::Pointer { + protected Pointer(facebook::jsi::Pointer&& other) noexcept; + protected Pointer(facebook::jsi::Runtime::PointerValue* ptr); + protected facebook::jsi::Pointer& operator=(facebook::jsi::Pointer&& other) noexcept; + protected facebook::jsi::Runtime::PointerValue* ptr_; + protected ~Pointer(); +} + +class facebook::jsi::PreparedJavaScript { + protected PreparedJavaScript() = default; + public virtual ~PreparedJavaScript() = 0; +} + +class facebook::jsi::PropNameID : public facebook::jsi::Pointer { + public PropNameID(facebook::jsi::Pointer&& other) noexcept; + public PropNameID(facebook::jsi::PropNameID&& other) = default; + public PropNameID(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& other); + public PropNameID(facebook::jsi::Runtime::PointerValue* ptr); + public facebook::jsi::PropNameID& operator=(facebook::jsi::PropNameID&& other) = default; + public static bool compare(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& a, const facebook::jsi::PropNameID& b); + public static facebook::jsi::PropNameID forAscii(facebook::jsi::Runtime& runtime, const char* str); + public static facebook::jsi::PropNameID forAscii(facebook::jsi::Runtime& runtime, const char* str, size_t length); + public static facebook::jsi::PropNameID forAscii(facebook::jsi::Runtime& runtime, const std::string& str); + public static facebook::jsi::PropNameID forString(facebook::jsi::Runtime& runtime, const facebook::jsi::String& str); + public static facebook::jsi::PropNameID forSymbol(facebook::jsi::Runtime& runtime, const facebook::jsi::Symbol& sym); + public static facebook::jsi::PropNameID forUtf8(facebook::jsi::Runtime& runtime, const std::string& utf8); + public static facebook::jsi::PropNameID forUtf8(facebook::jsi::Runtime& runtime, const uint8_t* utf8, size_t length); + public static facebook::jsi::PropNameID forUtf16(facebook::jsi::Runtime& runtime, const char16_t* utf16, size_t length); + public static facebook::jsi::PropNameID forUtf16(facebook::jsi::Runtime& runtime, const std::u16string& str); + public std::string utf8(facebook::jsi::Runtime& runtime) const; + public std::u16string utf16(facebook::jsi::Runtime& runtime) const; + template + public static std::vector names(facebook::jsi::PropNameID(&&propertyNames)[N]); + template + public void getPropNameIdData(facebook::jsi::Runtime& runtime, CB& cb) const; + template + public static std::vector names(facebook::jsi::Runtime& runtime, Args &&... args); +} + +class facebook::jsi::Runtime : public facebook::jsi::ICast { + protected static const facebook::jsi::Runtime::PointerValue* getPointerValue(const facebook::jsi::Pointer& pointer); + protected static const facebook::jsi::Runtime::PointerValue* getPointerValue(const facebook::jsi::Value& value); + protected static facebook::jsi::Runtime::PointerValue* getPointerValue(facebook::jsi::Pointer& pointer); + protected virtual ScopeState* pushScope(); + protected virtual bool bigintIsInt64(const facebook::jsi::BigInt&) = 0; + protected virtual bool bigintIsUint64(const facebook::jsi::BigInt&) = 0; + protected virtual bool compare(const facebook::jsi::PropNameID&, const facebook::jsi::PropNameID&) = 0; + protected virtual bool hasNativeState(const facebook::jsi::Object&) = 0; + protected virtual bool hasProperty(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name) = 0; + protected virtual bool hasProperty(const facebook::jsi::Object&, const facebook::jsi::String& name) = 0; + protected virtual bool hasProperty(const facebook::jsi::Object&, const facebook::jsi::Value& name); + protected virtual bool instanceOf(const facebook::jsi::Object& o, const facebook::jsi::Function& f) = 0; + protected virtual bool isArray(const facebook::jsi::Object&) const = 0; + protected virtual bool isArrayBuffer(const facebook::jsi::Object&) const = 0; + protected virtual bool isFunction(const facebook::jsi::Object&) const = 0; + protected virtual bool isHostFunction(const facebook::jsi::Function&) const = 0; + protected virtual bool isHostObject(const facebook::jsi::Object&) const = 0; + protected virtual bool strictEquals(const facebook::jsi::BigInt& a, const facebook::jsi::BigInt& b) const = 0; + protected virtual bool strictEquals(const facebook::jsi::Object& a, const facebook::jsi::Object& b) const = 0; + protected virtual bool strictEquals(const facebook::jsi::String& a, const facebook::jsi::String& b) const = 0; + protected virtual bool strictEquals(const facebook::jsi::Symbol& a, const facebook::jsi::Symbol& b) const = 0; + protected virtual const void* getRuntimeDataImpl(const facebook::jsi::UUID& uuid); + protected virtual facebook::jsi::Array createArray(size_t length) = 0; + protected virtual facebook::jsi::Array getPropertyNames(const facebook::jsi::Object&) = 0; + protected virtual facebook::jsi::ArrayBuffer createArrayBuffer(std::shared_ptr buffer) = 0; + protected virtual facebook::jsi::BigInt createBigIntFromInt64(int64_t) = 0; + protected virtual facebook::jsi::BigInt createBigIntFromUint64(uint64_t) = 0; + protected virtual facebook::jsi::Function createFunctionFromHostFunction(const facebook::jsi::PropNameID& name, unsigned int paramCount, facebook::jsi::HostFunctionType func) = 0; + protected virtual facebook::jsi::HostFunctionType& getHostFunction(const facebook::jsi::Function&) = 0; + protected virtual facebook::jsi::Object createObject() = 0; + protected virtual facebook::jsi::Object createObject(std::shared_ptr ho) = 0; + protected virtual facebook::jsi::Object createObjectWithPrototype(const facebook::jsi::Value& prototype); + protected virtual facebook::jsi::PropNameID createPropNameIDFromAscii(const char* str, size_t length) = 0; + protected virtual facebook::jsi::PropNameID createPropNameIDFromString(const facebook::jsi::String& str) = 0; + protected virtual facebook::jsi::PropNameID createPropNameIDFromSymbol(const facebook::jsi::Symbol& sym) = 0; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf8(const uint8_t* utf8, size_t length) = 0; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf16(const char16_t* utf16, size_t length); + protected virtual facebook::jsi::Runtime::PointerValue* cloneBigInt(const facebook::jsi::Runtime::PointerValue* pv) = 0; + protected virtual facebook::jsi::Runtime::PointerValue* cloneObject(const facebook::jsi::Runtime::PointerValue* pv) = 0; + protected virtual facebook::jsi::Runtime::PointerValue* clonePropNameID(const facebook::jsi::Runtime::PointerValue* pv) = 0; + protected virtual facebook::jsi::Runtime::PointerValue* cloneString(const facebook::jsi::Runtime::PointerValue* pv) = 0; + protected virtual facebook::jsi::Runtime::PointerValue* cloneSymbol(const facebook::jsi::Runtime::PointerValue* pv) = 0; + protected virtual facebook::jsi::String bigintToString(const facebook::jsi::BigInt&, int) = 0; + protected virtual facebook::jsi::String createStringFromAscii(const char* str, size_t length) = 0; + protected virtual facebook::jsi::String createStringFromUtf8(const uint8_t* utf8, size_t length) = 0; + protected virtual facebook::jsi::String createStringFromUtf16(const char16_t* utf16, size_t length); + protected virtual facebook::jsi::Value call(const facebook::jsi::Function&, const facebook::jsi::Value& jsThis, const facebook::jsi::Value* args, size_t count) = 0; + protected virtual facebook::jsi::Value callAsConstructor(const facebook::jsi::Function&, const facebook::jsi::Value* args, size_t count) = 0; + protected virtual facebook::jsi::Value createValueFromJsonUtf8(const uint8_t* json, size_t length); + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name) = 0; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object&, const facebook::jsi::String& name) = 0; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object&, const facebook::jsi::Value& name); + protected virtual facebook::jsi::Value getPrototypeOf(const facebook::jsi::Object& object); + protected virtual facebook::jsi::Value getValueAtIndex(const facebook::jsi::Array&, size_t i) = 0; + protected virtual facebook::jsi::Value lockWeakObject(const facebook::jsi::WeakObject&) = 0; + protected virtual facebook::jsi::WeakObject createWeakObject(const facebook::jsi::Object&) = 0; + protected virtual size_t size(const facebook::jsi::Array&) = 0; + protected virtual size_t size(const facebook::jsi::ArrayBuffer&) = 0; + protected virtual std::shared_ptr getHostObject(const facebook::jsi::Object&) = 0; + protected virtual std::shared_ptr getNativeState(const facebook::jsi::Object&) = 0; + protected virtual std::string symbolToString(const facebook::jsi::Symbol&) = 0; + protected virtual std::string utf8(const facebook::jsi::PropNameID&) = 0; + protected virtual std::string utf8(const facebook::jsi::String&) = 0; + protected virtual std::u16string utf16(const facebook::jsi::PropNameID& sym); + protected virtual std::u16string utf16(const facebook::jsi::String& str); + protected virtual uint8_t* data(const facebook::jsi::ArrayBuffer&) = 0; + protected virtual uint64_t truncate(const facebook::jsi::BigInt&) = 0; + protected virtual void deleteProperty(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name); + protected virtual void deleteProperty(const facebook::jsi::Object&, const facebook::jsi::String& name); + protected virtual void deleteProperty(const facebook::jsi::Object&, const facebook::jsi::Value& name); + protected virtual void getPropNameIdData(const facebook::jsi::PropNameID& sym, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb); + protected virtual void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb); + protected virtual void popScope(ScopeState*); + protected virtual void setExternalMemoryPressure(const facebook::jsi::Object& obj, size_t amount) = 0; + protected virtual void setNativeState(const facebook::jsi::Object&, std::shared_ptr state) = 0; + protected virtual void setPropertyValue(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) = 0; + protected virtual void setPropertyValue(const facebook::jsi::Object&, const facebook::jsi::String& name, const facebook::jsi::Value& value) = 0; + protected virtual void setPropertyValue(const facebook::jsi::Object&, const facebook::jsi::Value& name, const facebook::jsi::Value& value); + protected virtual void setPrototypeOf(const facebook::jsi::Object& object, const facebook::jsi::Value& prototype); + protected virtual void setRuntimeDataImpl(const facebook::jsi::UUID& uuid, const void* data, void(*)(const void* data) deleter); + protected virtual void setValueAtIndexImpl(const facebook::jsi::Array&, size_t i, const facebook::jsi::Value& value) = 0; + public std::shared_ptr getRuntimeData(const facebook::jsi::UUID& uuid); + public virtual bool drainMicrotasks(int maxMicrotasksHint = -1) = 0; + public virtual bool isInspectable() = 0; + public virtual facebook::jsi::ICast* castInterface(const facebook::jsi::UUID& interfaceUUID) override; + public virtual facebook::jsi::Instrumentation& instrumentation(); + public virtual facebook::jsi::Object global() = 0; + public virtual facebook::jsi::Value evaluateJavaScript(const std::shared_ptr& buffer, const std::string& sourceURL) = 0; + public virtual facebook::jsi::Value evaluatePreparedJavaScript(const std::shared_ptr& js) = 0; + public virtual std::shared_ptr prepareJavaScript(const std::shared_ptr& buffer, std::string sourceURL) = 0; + public virtual std::string description() = 0; + public virtual void queueMicrotask(const facebook::jsi::Function& callback) = 0; + public virtual ~Runtime(); + public void setRuntimeData(const facebook::jsi::UUID& uuid, const std::shared_ptr& data); + template + protected static T make(facebook::jsi::Runtime::PointerValue* pv); +} + +struct facebook::jsi::Runtime::PointerValue { + protected virtual ~PointerValue() = default; + public virtual void invalidate() noexcept = 0; +} + +class facebook::jsi::Scope { + public Scope(const facebook::jsi::Scope&) = delete; + public Scope(facebook::jsi::Runtime& rt); + public Scope(facebook::jsi::Scope&&) = delete; + public facebook::jsi::Scope& operator=(const facebook::jsi::Scope&) = delete; + public facebook::jsi::Scope& operator=(facebook::jsi::Scope&&) = delete; + public ~Scope(); + template + public static decltype(f()) callInNewScope(facebook::jsi::Runtime& rt, F f); +} + +class facebook::jsi::SourceJavaScriptPreparation : public facebook::jsi::PreparedJavaScript, public facebook::jsi::Buffer { + public SourceJavaScriptPreparation(std::shared_ptr buf, std::string sourceURL); + public const std::string& sourceURL() const; + public virtual const uint8_t* data() const override; + public virtual size_t size() const override; +} + +class facebook::jsi::String : public facebook::jsi::Pointer { + public String(facebook::jsi::Pointer&& other) noexcept; + public String(facebook::jsi::Runtime::PointerValue* ptr); + public String(facebook::jsi::String&& other) = default; + public facebook::jsi::String& operator=(facebook::jsi::String&& other) = default; + public static bool strictEquals(facebook::jsi::Runtime& runtime, const facebook::jsi::String& a, const facebook::jsi::String& b); + public static facebook::jsi::String createFromAscii(facebook::jsi::Runtime& runtime, const char* str); + public static facebook::jsi::String createFromAscii(facebook::jsi::Runtime& runtime, const char* str, size_t length); + public static facebook::jsi::String createFromAscii(facebook::jsi::Runtime& runtime, const std::string& str); + public static facebook::jsi::String createFromUtf8(facebook::jsi::Runtime& runtime, const std::string& utf8); + public static facebook::jsi::String createFromUtf8(facebook::jsi::Runtime& runtime, const uint8_t* utf8, size_t length); + public static facebook::jsi::String createFromUtf16(facebook::jsi::Runtime& runtime, const char16_t* utf16, size_t length); + public static facebook::jsi::String createFromUtf16(facebook::jsi::Runtime& runtime, const std::u16string& utf16); + public std::string utf8(facebook::jsi::Runtime& runtime) const; + public std::u16string utf16(facebook::jsi::Runtime& runtime) const; + template + public void getStringData(facebook::jsi::Runtime& runtime, CB& cb) const; +} + +class facebook::jsi::StringBuffer : public facebook::jsi::Buffer { + public StringBuffer(std::string s); + public virtual const uint8_t* data() const override; + public virtual size_t size() const override; +} + +class facebook::jsi::Symbol : public facebook::jsi::Pointer { + public Symbol(facebook::jsi::Pointer&& other) noexcept; + public Symbol(facebook::jsi::Runtime::PointerValue* ptr); + public Symbol(facebook::jsi::Symbol&& other) = default; + public facebook::jsi::Symbol& operator=(facebook::jsi::Symbol&& other) = default; + public static bool strictEquals(facebook::jsi::Runtime& runtime, const facebook::jsi::Symbol& a, const facebook::jsi::Symbol& b); + public std::string toString(facebook::jsi::Runtime& runtime) const; +} + +class facebook::jsi::ThreadSafeRuntime : public facebook::jsi::Runtime { + public virtual facebook::jsi::Runtime& getUnsafeRuntime() = 0; + public virtual void lock() const = 0; + public virtual void unlock() const = 0; +} + +class facebook::jsi::UUID { + public constexpr UUID(); + public constexpr UUID(const facebook::jsi::UUID&) = default; + public constexpr UUID(uint32_t timeLow, uint16_t timeMid, uint16_t timeHighAndVersion, uint16_t variantAndClockSeq, uint64_t node); + public constexpr bool operator!=(const facebook::jsi::UUID& other) const; + public constexpr bool operator<(const facebook::jsi::UUID& other) const; + public constexpr bool operator==(const facebook::jsi::UUID& other) const; + public constexpr facebook::jsi::UUID& operator=(const facebook::jsi::UUID&) = default; + public constexpr uint16_t getTimeHighAndVersion() const; + public constexpr uint16_t getTimeMid() const; + public constexpr uint16_t getVariantAndClockSeq() const; + public constexpr uint32_t getTimeLow() const; + public constexpr uint64_t getNode() const; + public std::string toString() const; +} + +struct facebook::jsi::UUID::Hash { + public std::size_t operator()(const facebook::jsi::UUID& uuid) const noexcept; +} + +class facebook::jsi::Value { + public Value() noexcept; + public Value(bool b); + public Value(double d); + public Value(facebook::jsi::Runtime& runtime, const facebook::jsi::BigInt& bigint); + public Value(facebook::jsi::Runtime& runtime, const facebook::jsi::Object& obj); + public Value(facebook::jsi::Runtime& runtime, const facebook::jsi::String& str); + public Value(facebook::jsi::Runtime& runtime, const facebook::jsi::Symbol& sym); + public Value(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value); + public Value(facebook::jsi::Value&& other) noexcept; + public Value(int i); + public Value(std::nullptr_t); + public bool asBool() const; + public bool getBool() const; + public bool isBigInt() const; + public bool isBool() const; + public bool isNull() const; + public bool isNumber() const; + public bool isObject() const; + public bool isString() const; + public bool isSymbol() const; + public bool isUndefined() const; + public double asNumber() const; + public double getNumber() const; + public facebook::jsi::BigInt asBigInt(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::BigInt asBigInt(facebook::jsi::Runtime& runtime); + public facebook::jsi::BigInt getBigInt(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::BigInt getBigInt(facebook::jsi::Runtime&); + public facebook::jsi::Object asObject(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Object asObject(facebook::jsi::Runtime& runtime); + public facebook::jsi::Object getObject(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Object getObject(facebook::jsi::Runtime&); + public facebook::jsi::String asString(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::String asString(facebook::jsi::Runtime& runtime); + public facebook::jsi::String getString(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::String getString(facebook::jsi::Runtime&); + public facebook::jsi::String toString(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Symbol asSymbol(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Symbol asSymbol(facebook::jsi::Runtime& runtime); + public facebook::jsi::Symbol getSymbol(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Symbol getSymbol(facebook::jsi::Runtime&); + public facebook::jsi::Value& operator=(facebook::jsi::Value&& other) noexcept; + public static bool strictEquals(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& a, const facebook::jsi::Value& b); + public static facebook::jsi::Value createFromJsonUtf8(facebook::jsi::Runtime& runtime, const uint8_t* json, size_t length); + public static facebook::jsi::Value null(); + public static facebook::jsi::Value undefined(); + public ~Value(); + template + public Value(const char*); + template + public Value(facebook::jsi::Runtime&, const char*); + template ::value || std::is_base_of::value || std::is_base_of::value || std::is_base_of::value>> + public Value(T&& other); +} + +class facebook::jsi::WeakObject : public facebook::jsi::Pointer { + public WeakObject(facebook::jsi::Pointer&& other) noexcept; + public WeakObject(facebook::jsi::Runtime& runtime, const facebook::jsi::Object& o); + public WeakObject(facebook::jsi::Runtime::PointerValue* ptr); + public WeakObject(facebook::jsi::WeakObject&& other) = default; + public facebook::jsi::Value lock(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::WeakObject& operator=(facebook::jsi::WeakObject&& other) = default; +} + +struct facebook::jsi::ICast { + protected ~ICast() = default; + public virtual facebook::jsi::ICast* castInterface(const facebook::jsi::UUID& interfaceUUID) = 0; +} + +template +class facebook::jsi::RuntimeDecorator : public facebook::jsi::Runtime { + protected RuntimeDecorator(Plain& plain); + protected virtual Runtime::ScopeState* pushScope() override; + protected virtual bool bigintIsInt64(const facebook::jsi::BigInt& b) override; + protected virtual bool bigintIsUint64(const facebook::jsi::BigInt& b) override; + protected virtual bool compare(const facebook::jsi::PropNameID& a, const facebook::jsi::PropNameID& b) override; + protected virtual bool hasNativeState(const facebook::jsi::Object& o) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::String& name) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::Value& name) override; + protected virtual bool instanceOf(const facebook::jsi::Object& o, const facebook::jsi::Function& f) override; + protected virtual bool isArray(const facebook::jsi::Object& o) const override; + protected virtual bool isArrayBuffer(const facebook::jsi::Object& o) const override; + protected virtual bool isFunction(const facebook::jsi::Object& o) const override; + protected virtual bool isHostFunction(const facebook::jsi::Function& f) const override; + protected virtual bool isHostObject(const facebook::jsi::Object& o) const override; + protected virtual bool strictEquals(const facebook::jsi::BigInt& a, const facebook::jsi::BigInt& b) const override; + protected virtual bool strictEquals(const facebook::jsi::Object& a, const facebook::jsi::Object& b) const override; + protected virtual bool strictEquals(const facebook::jsi::String& a, const facebook::jsi::String& b) const override; + protected virtual bool strictEquals(const facebook::jsi::Symbol& a, const facebook::jsi::Symbol& b) const override; + protected virtual const void* getRuntimeDataImpl(const facebook::jsi::UUID& uuid) override; + protected virtual facebook::jsi::Array createArray(size_t length) override; + protected virtual facebook::jsi::Array getPropertyNames(const facebook::jsi::Object& o) override; + protected virtual facebook::jsi::ArrayBuffer createArrayBuffer(std::shared_ptr buffer) override; + protected virtual facebook::jsi::BigInt createBigIntFromInt64(int64_t value) override; + protected virtual facebook::jsi::BigInt createBigIntFromUint64(uint64_t value) override; + protected virtual facebook::jsi::Function createFunctionFromHostFunction(const facebook::jsi::PropNameID& name, unsigned int paramCount, facebook::jsi::HostFunctionType func) override; + protected virtual facebook::jsi::HostFunctionType& getHostFunction(const facebook::jsi::Function& f) override; + protected virtual facebook::jsi::Object createObject() override; + protected virtual facebook::jsi::Object createObject(std::shared_ptr ho) override; + protected virtual facebook::jsi::Object createObjectWithPrototype(const facebook::jsi::Value& prototype) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromAscii(const char* str, size_t length) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromString(const facebook::jsi::String& str) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromSymbol(const facebook::jsi::Symbol& sym) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf8(const uint8_t* utf8, size_t length) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf16(const char16_t* utf16, size_t length) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneBigInt(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneObject(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* clonePropNameID(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneString(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneSymbol(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::String bigintToString(const facebook::jsi::BigInt& bigint, int radix) override; + protected virtual facebook::jsi::String createStringFromAscii(const char* str, size_t length) override; + protected virtual facebook::jsi::String createStringFromUtf8(const uint8_t* utf8, size_t length) override; + protected virtual facebook::jsi::String createStringFromUtf16(const char16_t* utf16, size_t length) override; + protected virtual facebook::jsi::Value call(const facebook::jsi::Function& f, const facebook::jsi::Value& jsThis, const facebook::jsi::Value* args, size_t count) override; + protected virtual facebook::jsi::Value callAsConstructor(const facebook::jsi::Function& f, const facebook::jsi::Value* args, size_t count) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::String& name) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::Value& name) override; + protected virtual facebook::jsi::Value getPrototypeOf(const facebook::jsi::Object& object) override; + protected virtual facebook::jsi::Value getValueAtIndex(const facebook::jsi::Array& a, size_t i) override; + protected virtual facebook::jsi::Value lockWeakObject(const facebook::jsi::WeakObject& wo) override; + protected virtual facebook::jsi::WeakObject createWeakObject(const facebook::jsi::Object& o) override; + protected virtual size_t size(const facebook::jsi::Array& a) override; + protected virtual size_t size(const facebook::jsi::ArrayBuffer& ab) override; + protected virtual std::shared_ptr getHostObject(const facebook::jsi::Object& o) override; + protected virtual std::shared_ptr getNativeState(const facebook::jsi::Object& o) override; + protected virtual std::string flushAndDisableBridgeTrafficTrace() override; + protected virtual std::string getRecordedGCStats() override; + protected virtual std::string symbolToString(const facebook::jsi::Symbol& sym) override; + protected virtual std::string utf8(const facebook::jsi::PropNameID& id) override; + protected virtual std::string utf8(const facebook::jsi::String& s) override; + protected virtual std::u16string utf16(const facebook::jsi::PropNameID& sym) override; + protected virtual std::u16string utf16(const facebook::jsi::String& str) override; + protected virtual std::unordered_map getHeapInfo(bool includeExpensive) override; + protected virtual uint8_t* data(const facebook::jsi::ArrayBuffer& ab) override; + protected virtual uint64_t truncate(const facebook::jsi::BigInt& b) override; + protected virtual void collectGarbage(std::string cause) override; + protected virtual void createSnapshotToFile(const std::string& path, const facebook::jsi::Instrumentation::HeapSnapshotOptions& options) override; + protected virtual void createSnapshotToStream(std::ostream& os, const facebook::jsi::Instrumentation::HeapSnapshotOptions& options) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::PropNameID& name) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::String& name) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::Value& name) override; + protected virtual void dumpOpcodeStats(std::ostream& os) const override; + protected virtual void dumpProfilerSymbolsToFile(const std::string& fileName) const override; + protected virtual void setExternalMemoryPressure(const facebook::jsi::Object& obj, size_t amount) override; + protected virtual void setNativeState(const facebook::jsi::Object& o, std::shared_ptr state) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::String& name, const facebook::jsi::Value& value) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::Value& name, const facebook::jsi::Value& value) override; + protected virtual void setPrototypeOf(const facebook::jsi::Object& object, const facebook::jsi::Value& prototype) override; + protected virtual void setRuntimeDataImpl(const facebook::jsi::UUID& uuid, const void* data, void(*)(const void* data) deleter) override; + protected virtual void setValueAtIndexImpl(const facebook::jsi::Array& a, size_t i, const facebook::jsi::Value& value) override; + protected virtual void startHeapSampling(size_t samplingInterval) override; + protected virtual void stopHeapSampling(std::ostream& os) override; + protected virtual void stopTrackingHeapObjectStackTraces() override; + protected virtual void writeBasicBlockProfileTraceToFile(const std::string& fileName) const override; + protected void getPropNameIdData(const facebook::jsi::PropNameID& sym, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) override; + protected void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) override; + protected void popScope(Runtime::ScopeState* ss) override; + protected void startTrackingHeapObjectStackTraces(std::function)> callback) override; + public Plain& plain(); + public const Plain& plain() const; + public virtual bool drainMicrotasks(int maxMicrotasksHint) override; + public virtual bool isInspectable() override; + public virtual facebook::jsi::ICast* castInterface(const facebook::jsi::UUID& interfaceUUID) override; + public virtual facebook::jsi::Instrumentation& instrumentation() override; + public virtual facebook::jsi::Object global() override; + public virtual facebook::jsi::Value evaluateJavaScript(const std::shared_ptr& buffer, const std::string& sourceURL) override; + public virtual facebook::jsi::Value evaluatePreparedJavaScript(const std::shared_ptr& js) override; + public virtual std::shared_ptr prepareJavaScript(const std::shared_ptr& buffer, std::string sourceURL) override; + public virtual std::string description() override; + public virtual void queueMicrotask(const facebook::jsi::Function& callback) override; +} + +template +class facebook::jsi::WithRuntimeDecorator : public facebook::jsi::RuntimeDecorator { + protected virtual Runtime::ScopeState* pushScope() override; + protected virtual bool bigintIsInt64(const facebook::jsi::BigInt& bi) override; + protected virtual bool bigintIsUint64(const facebook::jsi::BigInt& bi) override; + protected virtual bool compare(const facebook::jsi::PropNameID& a, const facebook::jsi::PropNameID& b) override; + protected virtual bool hasNativeState(const facebook::jsi::Object& o) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::String& name) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::Value& name) override; + protected virtual bool instanceOf(const facebook::jsi::Object& o, const facebook::jsi::Function& f) override; + protected virtual bool isArray(const facebook::jsi::Object& o) const override; + protected virtual bool isArrayBuffer(const facebook::jsi::Object& o) const override; + protected virtual bool isFunction(const facebook::jsi::Object& o) const override; + protected virtual bool isHostFunction(const facebook::jsi::Function& f) const override; + protected virtual bool isHostObject(const facebook::jsi::Object& o) const override; + protected virtual bool strictEquals(const facebook::jsi::BigInt& a, const facebook::jsi::BigInt& b) const override; + protected virtual bool strictEquals(const facebook::jsi::Object& a, const facebook::jsi::Object& b) const override; + protected virtual bool strictEquals(const facebook::jsi::String& a, const facebook::jsi::String& b) const override; + protected virtual bool strictEquals(const facebook::jsi::Symbol& a, const facebook::jsi::Symbol& b) const override; + protected virtual const void* getRuntimeDataImpl(const facebook::jsi::UUID& uuid) override; + protected virtual facebook::jsi::Array createArray(size_t length) override; + protected virtual facebook::jsi::Array getPropertyNames(const facebook::jsi::Object& o) override; + protected virtual facebook::jsi::ArrayBuffer createArrayBuffer(std::shared_ptr buffer) override; + protected virtual facebook::jsi::BigInt createBigIntFromInt64(int64_t i) override; + protected virtual facebook::jsi::BigInt createBigIntFromUint64(uint64_t i) override; + protected virtual facebook::jsi::Function createFunctionFromHostFunction(const facebook::jsi::PropNameID& name, unsigned int paramCount, facebook::jsi::HostFunctionType func) override; + protected virtual facebook::jsi::HostFunctionType& getHostFunction(const facebook::jsi::Function& f) override; + protected virtual facebook::jsi::Object createObject() override; + protected virtual facebook::jsi::Object createObject(std::shared_ptr ho) override; + protected virtual facebook::jsi::Object createObjectWithPrototype(const facebook::jsi::Value& prototype) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromAscii(const char* str, size_t length) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromString(const facebook::jsi::String& str) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromSymbol(const facebook::jsi::Symbol& sym) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf8(const uint8_t* utf8, size_t length) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf16(const char16_t* utf16, size_t length) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneBigInt(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneObject(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* clonePropNameID(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneString(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneSymbol(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::String bigintToString(const facebook::jsi::BigInt& bi, int i) override; + protected virtual facebook::jsi::String createStringFromAscii(const char* str, size_t length) override; + protected virtual facebook::jsi::String createStringFromUtf8(const uint8_t* utf8, size_t length) override; + protected virtual facebook::jsi::String createStringFromUtf16(const char16_t* utf16, size_t length) override; + protected virtual facebook::jsi::Value call(const facebook::jsi::Function& f, const facebook::jsi::Value& jsThis, const facebook::jsi::Value* args, size_t count) override; + protected virtual facebook::jsi::Value callAsConstructor(const facebook::jsi::Function& f, const facebook::jsi::Value* args, size_t count) override; + protected virtual facebook::jsi::Value createValueFromJsonUtf8(const uint8_t* json, size_t length) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::String& name) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::Value& name) override; + protected virtual facebook::jsi::Value getPrototypeOf(const facebook::jsi::Object& object) override; + protected virtual facebook::jsi::Value getValueAtIndex(const facebook::jsi::Array& a, size_t i) override; + protected virtual facebook::jsi::Value lockWeakObject(const facebook::jsi::WeakObject& wo) override; + protected virtual facebook::jsi::WeakObject createWeakObject(const facebook::jsi::Object& o) override; + protected virtual size_t size(const facebook::jsi::Array& a) override; + protected virtual size_t size(const facebook::jsi::ArrayBuffer& ab) override; + protected virtual std::shared_ptr getHostObject(const facebook::jsi::Object& o) override; + protected virtual std::shared_ptr getNativeState(const facebook::jsi::Object& o) override; + protected virtual std::string symbolToString(const facebook::jsi::Symbol& sym) override; + protected virtual std::string utf8(const facebook::jsi::PropNameID& id) override; + protected virtual std::string utf8(const facebook::jsi::String& s) override; + protected virtual std::u16string utf16(const facebook::jsi::PropNameID& sym) override; + protected virtual std::u16string utf16(const facebook::jsi::String& str) override; + protected virtual uint8_t* data(const facebook::jsi::ArrayBuffer& ab) override; + protected virtual uint64_t truncate(const facebook::jsi::BigInt& bi) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::PropNameID& name) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::String& name) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::Value& name) override; + protected virtual void setExternalMemoryPressure(const facebook::jsi::Object& obj, size_t amt) override; + protected virtual void setNativeState(const facebook::jsi::Object& o, std::shared_ptr state) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::String& name, const facebook::jsi::Value& value) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::Value& name, const facebook::jsi::Value& value) override; + protected virtual void setPrototypeOf(const facebook::jsi::Object& object, const facebook::jsi::Value& prototype) override; + protected virtual void setRuntimeDataImpl(const facebook::jsi::UUID& uuid, const void* data, void(*)(const void* data) deleter) override; + protected virtual void setValueAtIndexImpl(const facebook::jsi::Array& a, size_t i, const facebook::jsi::Value& value) override; + protected void getPropNameIdData(const facebook::jsi::PropNameID& sym, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) override; + protected void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) override; + protected void popScope(Runtime::ScopeState* ss) override; + public WithRuntimeDecorator(Plain& plain, With& with); + public using RD = facebook::jsi::RuntimeDecorator; + public virtual bool drainMicrotasks(int maxMicrotasksHint) override; + public virtual bool isInspectable() override; + public virtual facebook::jsi::ICast* castInterface(const facebook::jsi::UUID& interfaceUUID) override; + public virtual facebook::jsi::Instrumentation& instrumentation() override; + public virtual facebook::jsi::Object global() override; + public virtual facebook::jsi::Value evaluateJavaScript(const std::shared_ptr& buffer, const std::string& sourceURL) override; + public virtual facebook::jsi::Value evaluatePreparedJavaScript(const std::shared_ptr& js) override; + public virtual std::shared_ptr prepareJavaScript(const std::shared_ptr& buffer, std::string sourceURL) override; + public virtual std::string description() override; + public virtual void queueMicrotask(const facebook::jsi::Function& callback) override; +} + + +class facebook::jsi::jni::HermesMemoryDumper : public jni::JavaClass { + public bool shouldSaveSnapshot(); + public static constexpr auto kJavaDescriptor; + public std::string getId(); + public std::string getInternalStorage(); + public void setMetaData(std::string crashId); +} + +class facebook::jsi::jni::HermesSamplingProfiler : public jni::JavaClass { + public static constexpr auto kJavaDescriptor; + public static void disable(jni::alias_ref); + public static void dumpSampledTraceToFile(jni::alias_ref, const std::string& filename); + public static void enable(jni::alias_ref); + public static void registerNatives(); +} + + +facebook::jsi::PropNameID facebook::jsi::detail::toPropNameID(facebook::jsi::Runtime& runtime, const char* name); +facebook::jsi::PropNameID facebook::jsi::detail::toPropNameID(facebook::jsi::Runtime& runtime, const std::string& name); +facebook::jsi::PropNameID&& facebook::jsi::detail::toPropNameID(facebook::jsi::Runtime&, facebook::jsi::PropNameID&& name); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime& runtime, const char* str); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime& runtime, const std::string& str); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime&, bool b); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime&, double d); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime&, float f); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime&, int i); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime&, std::nullptr_t); +facebook::jsi::Value&& facebook::jsi::detail::toValue(facebook::jsi::Runtime&, facebook::jsi::Value&& value); +template +void facebook::jsi::detail::throwOrDie(Args &&... args); +template +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime& runtime, const T& other); + +template +class facebook::jsi::detail::ThreadSafeRuntimeImpl : public facebook::jsi::WithRuntimeDecorator, R, facebook::jsi::ThreadSafeRuntime> { + public virtual R& getUnsafeRuntime() override; + public virtual void lock() const override; + public virtual void unlock() const override; + template + public ThreadSafeRuntimeImpl(Args &&... args); +} + +template +struct facebook::jsi::detail::WithLock { + public L lock; + public WithLock(R& r); + public void after(); + public void before(); +} + +template +struct facebook::jsi::detail::AfterCaller { + public static void after(T&); +} + +template +struct facebook::jsi::detail::BeforeCaller { + public static void before(T&); +} + +template +struct facebook::jsi::detail::AfterCaller { + public static void after(T& t); +} + +template +struct facebook::jsi::detail::BeforeCaller { + public static void before(T& t); +} + +template +struct facebook::jsi::detail::AfterCaller> { + public static void after(std::tuple& tuple); +} + +template +struct facebook::jsi::detail::BeforeCaller> { + public static void before(std::tuple& tuple); +} + + +using facebook::yoga::ExperimentalFeatureSet = std::bitset()>; +using facebook::yoga::GridTrackList = std::vector; +template +concept facebook::yoga::Enumeration = std::is_enum_v; +template +concept facebook::yoga::HasOrdinality = (facebook::yoga::ordinalCount()> 0); +YGLogger facebook::yoga::getDefaultLogger(); +bool facebook::yoga::calculateLayoutInternal(facebook::yoga::Node* node, float availableWidth, float availableHeight, facebook::yoga::Direction ownerDirection, facebook::yoga::SizingMode widthSizingMode, facebook::yoga::SizingMode heightSizingMode, float ownerWidth, float ownerHeight, bool performLayout, facebook::yoga::LayoutPassReason reason, facebook::yoga::LayoutData& layoutMarkerData, uint32_t depth, uint32_t generationCount); +bool facebook::yoga::canUseCachedMeasurement(facebook::yoga::SizingMode widthMode, float availableWidth, facebook::yoga::SizingMode heightMode, float availableHeight, facebook::yoga::SizingMode lastWidthMode, float lastAvailableWidth, facebook::yoga::SizingMode lastHeightMode, float lastAvailableHeight, float lastComputedWidth, float lastComputedHeight, float marginRow, float marginColumn, const facebook::yoga::Config* config); +bool facebook::yoga::configUpdateInvalidatesLayout(const facebook::yoga::Config& oldConfig, const facebook::yoga::Config& newConfig); +bool facebook::yoga::inexactEquals(const facebook::yoga::StyleLength& a, const facebook::yoga::StyleLength& b); +bool facebook::yoga::inexactEquals(const facebook::yoga::StyleSizeLength& a, const facebook::yoga::StyleSizeLength& b); +bool facebook::yoga::inexactEquals(double a, double b); +bool facebook::yoga::inexactEquals(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +bool facebook::yoga::inexactEquals(float a, float b); +bool facebook::yoga::isBaselineLayout(const facebook::yoga::Node* node); +bool facebook::yoga::isColumn(const facebook::yoga::FlexDirection flexDirection); +bool facebook::yoga::isRow(const facebook::yoga::FlexDirection flexDirection); +bool facebook::yoga::layoutAbsoluteDescendants(facebook::yoga::Node* containingNode, facebook::yoga::Node* currentNode, facebook::yoga::SizingMode widthSizingMode, facebook::yoga::Direction currentNodeDirection, facebook::yoga::LayoutData& layoutMarkerData, uint32_t currentDepth, uint32_t generationCount, float currentNodeMainOffsetFromContainingBlock, float currentNodeCrossOffsetFromContainingBlock, float containingNodeAvailableInnerWidth, float containingNodeAvailableInnerHeight); +bool facebook::yoga::needsTrailingPosition(const facebook::yoga::FlexDirection axis); +const char* facebook::yoga::LayoutPassReasonToString(facebook::yoga::LayoutPassReason value); +const char* facebook::yoga::toString(facebook::yoga::Align e); +const char* facebook::yoga::toString(facebook::yoga::BoxSizing e); +const char* facebook::yoga::toString(facebook::yoga::Dimension e); +const char* facebook::yoga::toString(facebook::yoga::Direction e); +const char* facebook::yoga::toString(facebook::yoga::Display e); +const char* facebook::yoga::toString(facebook::yoga::Edge e); +const char* facebook::yoga::toString(facebook::yoga::Errata e); +const char* facebook::yoga::toString(facebook::yoga::ExperimentalFeature e); +const char* facebook::yoga::toString(facebook::yoga::FlexDirection e); +const char* facebook::yoga::toString(facebook::yoga::GridTrackType e); +const char* facebook::yoga::toString(facebook::yoga::Gutter e); +const char* facebook::yoga::toString(facebook::yoga::Justify e); +const char* facebook::yoga::toString(facebook::yoga::LogLevel e); +const char* facebook::yoga::toString(facebook::yoga::MeasureMode e); +const char* facebook::yoga::toString(facebook::yoga::NodeType e); +const char* facebook::yoga::toString(facebook::yoga::Overflow e); +const char* facebook::yoga::toString(facebook::yoga::PositionType e); +const char* facebook::yoga::toString(facebook::yoga::Unit e); +const char* facebook::yoga::toString(facebook::yoga::Wrap e); +const facebook::yoga::Node* facebook::yoga::resolveRef(const YGNodeConstRef ref); +constexpr YGAlign facebook::yoga::unscopedEnum(facebook::yoga::Align scoped); +constexpr YGBoxSizing facebook::yoga::unscopedEnum(facebook::yoga::BoxSizing scoped); +constexpr YGDimension facebook::yoga::unscopedEnum(facebook::yoga::Dimension scoped); +constexpr YGDirection facebook::yoga::unscopedEnum(facebook::yoga::Direction scoped); +constexpr YGDisplay facebook::yoga::unscopedEnum(facebook::yoga::Display scoped); +constexpr YGEdge facebook::yoga::unscopedEnum(facebook::yoga::Edge scoped); +constexpr YGErrata facebook::yoga::unscopedEnum(facebook::yoga::Errata scoped); +constexpr YGExperimentalFeature facebook::yoga::unscopedEnum(facebook::yoga::ExperimentalFeature scoped); +constexpr YGFlexDirection facebook::yoga::unscopedEnum(facebook::yoga::FlexDirection scoped); +constexpr YGGridTrackType facebook::yoga::unscopedEnum(facebook::yoga::GridTrackType scoped); +constexpr YGGutter facebook::yoga::unscopedEnum(facebook::yoga::Gutter scoped); +constexpr YGJustify facebook::yoga::unscopedEnum(facebook::yoga::Justify scoped); +constexpr YGLogLevel facebook::yoga::unscopedEnum(facebook::yoga::LogLevel scoped); +constexpr YGMeasureMode facebook::yoga::unscopedEnum(facebook::yoga::MeasureMode scoped); +constexpr YGNodeType facebook::yoga::unscopedEnum(facebook::yoga::NodeType scoped); +constexpr YGOverflow facebook::yoga::unscopedEnum(facebook::yoga::Overflow scoped); +constexpr YGPositionType facebook::yoga::unscopedEnum(facebook::yoga::PositionType scoped); +constexpr YGUnit facebook::yoga::unscopedEnum(facebook::yoga::Unit scoped); +constexpr YGWrap facebook::yoga::unscopedEnum(facebook::yoga::Wrap scoped); +constexpr auto facebook::yoga::maxOrDefined(std::floating_point auto a, std::floating_point auto b); +constexpr auto facebook::yoga::minOrDefined(std::floating_point auto a, std::floating_point auto b); +constexpr auto facebook::yoga::to_underlying(Enumeration auto e) noexcept; +constexpr bool facebook::yoga::isDefined(std::floating_point auto value); +constexpr bool facebook::yoga::isUndefined(std::floating_point auto value); +constexpr bool facebook::yoga::isinf(auto value); +constexpr facebook::yoga::Align facebook::yoga::fallbackAlignment(facebook::yoga::Align align); +constexpr facebook::yoga::Align facebook::yoga::scopedEnum(YGAlign unscoped); +constexpr facebook::yoga::BoxSizing facebook::yoga::scopedEnum(YGBoxSizing unscoped); +constexpr facebook::yoga::Dimension facebook::yoga::scopedEnum(YGDimension unscoped); +constexpr facebook::yoga::Direction facebook::yoga::scopedEnum(YGDirection unscoped); +constexpr facebook::yoga::Display facebook::yoga::scopedEnum(YGDisplay unscoped); +constexpr facebook::yoga::Edge facebook::yoga::scopedEnum(YGEdge unscoped); +constexpr facebook::yoga::Errata facebook::yoga::scopedEnum(YGErrata unscoped); +constexpr facebook::yoga::ExperimentalFeature facebook::yoga::scopedEnum(YGExperimentalFeature unscoped); +constexpr facebook::yoga::FlexDirection facebook::yoga::scopedEnum(YGFlexDirection unscoped); +constexpr facebook::yoga::FloatOptional facebook::yoga::maxOrDefined(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr facebook::yoga::GridTrackType facebook::yoga::scopedEnum(YGGridTrackType unscoped); +constexpr facebook::yoga::Gutter facebook::yoga::scopedEnum(YGGutter unscoped); +constexpr facebook::yoga::Justify facebook::yoga::fallbackAlignment(facebook::yoga::Justify align); +constexpr facebook::yoga::Justify facebook::yoga::scopedEnum(YGJustify unscoped); +constexpr facebook::yoga::LogLevel facebook::yoga::scopedEnum(YGLogLevel unscoped); +constexpr facebook::yoga::MeasureMode facebook::yoga::scopedEnum(YGMeasureMode unscoped); +constexpr facebook::yoga::NodeType facebook::yoga::scopedEnum(YGNodeType unscoped); +constexpr facebook::yoga::Overflow facebook::yoga::scopedEnum(YGOverflow unscoped); +constexpr facebook::yoga::PositionType facebook::yoga::scopedEnum(YGPositionType unscoped); +constexpr facebook::yoga::Unit facebook::yoga::scopedEnum(YGUnit unscoped); +constexpr facebook::yoga::Wrap facebook::yoga::scopedEnum(YGWrap unscoped); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +facebook::yoga::Align facebook::yoga::resolveChildAlignment(const facebook::yoga::Node* node, const facebook::yoga::Node* child); +facebook::yoga::Config* facebook::yoga::resolveRef(const YGConfigRef ref); +facebook::yoga::Dimension facebook::yoga::dimension(facebook::yoga::FlexDirection flexDirection); +facebook::yoga::FlexDirection facebook::yoga::resolveCrossDirection(const facebook::yoga::FlexDirection flexDirection, const facebook::yoga::Direction direction); +facebook::yoga::FlexDirection facebook::yoga::resolveDirection(const facebook::yoga::FlexDirection flexDirection, const facebook::yoga::Direction direction); +facebook::yoga::FlexLine facebook::yoga::calculateFlexLine(facebook::yoga::Node* node, facebook::yoga::Direction ownerDirection, float ownerWidth, float mainAxisOwnerSize, float availableInnerWidth, float availableInnerMainDim, facebook::yoga::Node::LayoutableChildren::Iterator& iterator, size_t lineCount); +facebook::yoga::FloatOptional facebook::yoga::boundAxisWithinMinAndMax(const facebook::yoga::Node *const node, const facebook::yoga::Direction direction, const facebook::yoga::FlexDirection axis, const facebook::yoga::FloatOptional value, const float axisSize, const float widthSize); +facebook::yoga::Justify facebook::yoga::resolveChildJustification(const facebook::yoga::Node* node, const facebook::yoga::Node* child); +facebook::yoga::MeasureMode facebook::yoga::measureMode(facebook::yoga::SizingMode mode); +facebook::yoga::Node* facebook::yoga::resolveRef(const YGNodeRef ref); +facebook::yoga::PhysicalEdge facebook::yoga::flexEndEdge(facebook::yoga::FlexDirection flexDirection); +facebook::yoga::PhysicalEdge facebook::yoga::flexStartEdge(facebook::yoga::FlexDirection flexDirection); +facebook::yoga::PhysicalEdge facebook::yoga::inlineEndEdge(facebook::yoga::FlexDirection flexDirection, facebook::yoga::Direction direction); +facebook::yoga::PhysicalEdge facebook::yoga::inlineStartEdge(facebook::yoga::FlexDirection flexDirection, facebook::yoga::Direction direction); +facebook::yoga::SizingMode facebook::yoga::sizingMode(facebook::yoga::MeasureMode mode); +float facebook::yoga::boundAxis(const facebook::yoga::Node *const node, const facebook::yoga::FlexDirection axis, const facebook::yoga::Direction direction, const float value, const float axisSize, const float widthSize); +float facebook::yoga::calculateAvailableInnerDimension(const facebook::yoga::Node *const node, const facebook::yoga::Direction direction, const facebook::yoga::Dimension dimension, const float availableDim, float paddingAndBorder, const float ownerDim, const float ownerWidth); +float facebook::yoga::calculateBaseline(const facebook::yoga::Node* node); +float facebook::yoga::getPositionOfOppositeEdge(float position, facebook::yoga::FlexDirection axis, const facebook::yoga::Node *const containingNode, const facebook::yoga::Node *const node); +float facebook::yoga::paddingAndBorderForAxis(const facebook::yoga::Node *const node, const facebook::yoga::FlexDirection axis, const facebook::yoga::Direction direction, const float widthSize); +float facebook::yoga::roundValueToPixelGrid(double value, double pointScaleFactor, bool forceCeil, bool forceFloor); +template +constexpr int32_t facebook::yoga::ordinalCount(); +template +auto facebook::yoga::ordinals(); +template +constexpr int32_t facebook::yoga::bitCount(); +template +bool facebook::yoga::inexactEquals(const std::array& val1, const std::array& val2); +void facebook::yoga::assertFatal(bool condition, const char* message); +void facebook::yoga::assertFatalWithConfig(const facebook::yoga::Config* config, bool condition, const char* message); +void facebook::yoga::assertFatalWithNode(const facebook::yoga::Node* node, bool condition, const char* message); +void facebook::yoga::calculateLayout(facebook::yoga::Node* node, float ownerWidth, float ownerHeight, facebook::yoga::Direction ownerDirection); +void facebook::yoga::cleanupContentsNodesRecursively(facebook::yoga::Node *const node); +void facebook::yoga::constrainMaxSizeForMode(const facebook::yoga::Node* node, facebook::yoga::Direction direction, facebook::yoga::FlexDirection axis, float ownerAxisSize, float ownerWidth, facebook::yoga::SizingMode* mode, float* size); +void facebook::yoga::fatalWithMessage(const char* message); +void facebook::yoga::layoutAbsoluteChild(const facebook::yoga::Node* containingNode, const facebook::yoga::Node* node, facebook::yoga::Node* child, float containingBlockWidth, float containingBlockHeight, facebook::yoga::SizingMode widthMode, facebook::yoga::Direction direction, facebook::yoga::LayoutData& layoutMarkerData, uint32_t depth, uint32_t generationCount); +void facebook::yoga::log(const facebook::yoga::Config* config, facebook::yoga::LogLevel level, const char* format, ...) noexcept; +void facebook::yoga::log(const facebook::yoga::Node* node, facebook::yoga::LogLevel level, const char* format, ...) noexcept; +void facebook::yoga::log(facebook::yoga::LogLevel level, const char* format, ...) noexcept; +void facebook::yoga::roundLayoutResultsToPixelGrid(facebook::yoga::Node* node, double absoluteLeft, double absoluteTop); +void facebook::yoga::setChildTrailingPosition(const facebook::yoga::Node *const node, facebook::yoga::Node *const child, const facebook::yoga::FlexDirection axis); +void facebook::yoga::zeroOutLayoutRecursively(facebook::yoga::Node *const node); +constexpr bool facebook::yoga::operator<(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr bool facebook::yoga::operator<=(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr bool facebook::yoga::operator==(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr bool facebook::yoga::operator==(facebook::yoga::FloatOptional lhs, float rhs); +constexpr bool facebook::yoga::operator==(float lhs, facebook::yoga::FloatOptional rhs); +constexpr bool facebook::yoga::operator>(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr bool facebook::yoga::operator>=(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr facebook::yoga::FloatOptional facebook::yoga::operator+(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); + +class facebook::yoga::Config : public YGConfig { + public Config(YGLogger logger); + public YGNodeRef cloneNode(YGNodeConstRef node, YGNodeConstRef owner, size_t childIndex) const; + public bool hasErrata(facebook::yoga::Errata errata) const; + public bool isExperimentalFeatureEnabled(facebook::yoga::ExperimentalFeature feature) const; + public bool useWebDefaults() const; + public facebook::yoga::Errata getErrata() const; + public facebook::yoga::ExperimentalFeatureSet getEnabledExperiments() const; + public float getPointScaleFactor() const; + public static const facebook::yoga::Config& getDefault(); + public uint32_t getVersion() const noexcept; + public void addErrata(facebook::yoga::Errata errata); + public void log(const facebook::yoga::Node* node, facebook::yoga::LogLevel logLevel, const char* format, va_list args) const; + public void removeErrata(facebook::yoga::Errata errata); + public void setCloneNodeCallback(YGCloneNodeFunc cloneNode); + public void setContext(void* context); + public void setErrata(facebook::yoga::Errata errata); + public void setExperimentalFeatureEnabled(facebook::yoga::ExperimentalFeature feature, bool enabled); + public void setLogger(YGLogger logger); + public void setPointScaleFactor(float pointScaleFactor); + public void setUseWebDefaults(bool useWebDefaults); + public void* getContext() const; +} + +class facebook::yoga::Node : public YGNode { + public Node(); + public Node(const facebook::yoga::Config* config); + public Node(const facebook::yoga::Node& node) = default; + public Node(facebook::yoga::Node&& node) noexcept; + public YGDirtiedFunc getDirtiedFunc() const; + public YGSize measure(float availableWidth, facebook::yoga::MeasureMode widthMode, float availableHeight, facebook::yoga::MeasureMode heightMode); + public bool alwaysFormsContainingBlock() const; + public bool getHasNewLayout() const; + public bool hasBaselineFunc() const noexcept; + public bool hasContentsChildren() const; + public bool hasDefiniteLength(facebook::yoga::Dimension dimension, float ownerSize); + public bool hasErrata(facebook::yoga::Errata errata) const; + public bool hasMeasureFunc() const noexcept; + public bool isDirty() const; + public bool isLayoutDimensionDefined(facebook::yoga::FlexDirection axis); + public bool isNodeFlexible(); + public bool isReferenceBaseline() const; + public bool removeChild(facebook::yoga::Node* child); + public const facebook::yoga::Config* getConfig() const; + public const facebook::yoga::LayoutResults& getLayout() const; + public const facebook::yoga::Style& style() const; + public const std::vector& getChildren() const; + public facebook::yoga::Direction resolveDirection(facebook::yoga::Direction ownerDirection); + public facebook::yoga::FloatOptional getResolvedDimension(facebook::yoga::Direction direction, facebook::yoga::Dimension dimension, float referenceLength, float ownerWidth) const; + public facebook::yoga::FloatOptional resolveFlexBasis(facebook::yoga::Direction direction, facebook::yoga::FlexDirection flexDirection, float referenceLength, float ownerWidth) const; + public facebook::yoga::LayoutResults& getLayout(); + public facebook::yoga::Node& operator=(const facebook::yoga::Node&) = delete; + public facebook::yoga::Node* getChild(size_t index) const; + public facebook::yoga::Node* getOwner() const; + public facebook::yoga::Node::LayoutableChildren getLayoutChildren() const; + public facebook::yoga::NodeType getNodeType() const; + public facebook::yoga::Style& style(); + public facebook::yoga::Style::SizeLength getProcessedDimension(facebook::yoga::Dimension dimension) const; + public facebook::yoga::Style::SizeLength processFlexBasis() const; + public float baseline(float width, float height) const; + public float dimensionWithMargin(facebook::yoga::FlexDirection axis, float widthSize); + public float relativePosition(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float axisSize) const; + public float resolveFlexGrow() const; + public float resolveFlexShrink() const; + public size_t getChildCount() const; + public size_t getLayoutChildCount() const; + public size_t getLineIndex() const; + public using LayoutableChildren = facebook::yoga::LayoutableChildren; + public void clearChildren(); + public void cloneChildrenIfNeeded(); + public void cloneContentsChildrenIfNeeded(); + public void insertChild(facebook::yoga::Node* child, size_t index); + public void markDirtyAndPropagate(); + public void processDimensions(); + public void removeChild(size_t index); + public void replaceChild(facebook::yoga::Node* child, size_t index); + public void replaceChild(facebook::yoga::Node* oldChild, facebook::yoga::Node* newChild); + public void reset(); + public void setAlwaysFormsContainingBlock(bool alwaysFormsContainingBlock); + public void setBaselineFunc(YGBaselineFunc baseLineFunc); + public void setChildren(const std::vector& children); + public void setConfig(facebook::yoga::Config* config); + public void setContext(void* context); + public void setDirtiedFunc(YGDirtiedFunc dirtiedFunc); + public void setDirty(bool isDirty); + public void setHasNewLayout(bool hasNewLayout); + public void setIsReferenceBaseline(bool isReferenceBaseline); + public void setLayout(const facebook::yoga::LayoutResults& layout); + public void setLayoutBorder(float border, facebook::yoga::PhysicalEdge edge); + public void setLayoutComputedFlexBasis(facebook::yoga::FloatOptional computedFlexBasis); + public void setLayoutComputedFlexBasisGeneration(uint32_t computedFlexBasisGeneration); + public void setLayoutDimension(float lengthValue, facebook::yoga::Dimension dimension); + public void setLayoutDirection(facebook::yoga::Direction direction); + public void setLayoutHadOverflow(bool hadOverflow); + public void setLayoutLastOwnerDirection(facebook::yoga::Direction direction); + public void setLayoutMargin(float margin, facebook::yoga::PhysicalEdge edge); + public void setLayoutMeasuredDimension(float measuredDimension, facebook::yoga::Dimension dimension); + public void setLayoutPadding(float padding, facebook::yoga::PhysicalEdge edge); + public void setLayoutPosition(float position, facebook::yoga::PhysicalEdge edge); + public void setLineIndex(size_t lineIndex); + public void setMeasureFunc(YGMeasureFunc measureFunc); + public void setNodeType(facebook::yoga::NodeType nodeType); + public void setOwner(facebook::yoga::Node* owner); + public void setPosition(facebook::yoga::Direction direction, float ownerWidth, float ownerHeight); + public void setStyle(const facebook::yoga::Style& style); + public void* getContext() const; +} + +class facebook::yoga::Style { + public bool flexEndMarginIsAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool flexStartMarginIsAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool horizontalInsetsDefined() const; + public bool inlineEndMarginIsAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool inlineStartMarginIsAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isFlexEndPositionAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isFlexEndPositionDefined(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isFlexStartPositionAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isFlexStartPositionDefined(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isInlineEndPositionAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isInlineEndPositionDefined(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isInlineStartPositionAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isInlineStartPositionDefined(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool operator==(const facebook::yoga::Style& other) const; + public bool verticalInsetsDefined() const; + public const facebook::yoga::GridLine& gridColumnEnd() const; + public const facebook::yoga::GridLine& gridColumnStart() const; + public const facebook::yoga::GridLine& gridRowEnd() const; + public const facebook::yoga::GridLine& gridRowStart() const; + public const facebook::yoga::GridTrackList& gridAutoColumns() const; + public const facebook::yoga::GridTrackList& gridAutoRows() const; + public const facebook::yoga::GridTrackList& gridTemplateColumns() const; + public const facebook::yoga::GridTrackList& gridTemplateRows() const; + public facebook::yoga::Align alignContent() const; + public facebook::yoga::Align alignItems() const; + public facebook::yoga::Align alignSelf() const; + public facebook::yoga::BoxSizing boxSizing() const; + public facebook::yoga::Direction direction() const; + public facebook::yoga::Display display() const; + public facebook::yoga::FlexDirection flexDirection() const; + public facebook::yoga::FloatOptional aspectRatio() const; + public facebook::yoga::FloatOptional flex() const; + public facebook::yoga::FloatOptional flexGrow() const; + public facebook::yoga::FloatOptional flexShrink() const; + public facebook::yoga::FloatOptional resolvedMaxDimension(facebook::yoga::Direction direction, facebook::yoga::Dimension axis, float referenceLength, float ownerWidth) const; + public facebook::yoga::FloatOptional resolvedMinDimension(facebook::yoga::Direction direction, facebook::yoga::Dimension axis, float referenceLength, float ownerWidth) const; + public facebook::yoga::Justify justifyContent() const; + public facebook::yoga::Justify justifyItems() const; + public facebook::yoga::Justify justifySelf() const; + public facebook::yoga::Overflow overflow() const; + public facebook::yoga::PositionType positionType() const; + public facebook::yoga::Style::Length border(facebook::yoga::Edge edge) const; + public facebook::yoga::Style::Length gap(facebook::yoga::Gutter gutter) const; + public facebook::yoga::Style::Length margin(facebook::yoga::Edge edge) const; + public facebook::yoga::Style::Length padding(facebook::yoga::Edge edge) const; + public facebook::yoga::Style::Length position(facebook::yoga::Edge edge) const; + public facebook::yoga::Style::SizeLength dimension(facebook::yoga::Dimension axis) const; + public facebook::yoga::Style::SizeLength flexBasis() const; + public facebook::yoga::Style::SizeLength maxDimension(facebook::yoga::Dimension axis) const; + public facebook::yoga::Style::SizeLength minDimension(facebook::yoga::Dimension axis) const; + public facebook::yoga::Wrap flexWrap() const; + public float computeBorderForAxis(facebook::yoga::FlexDirection axis) const; + public float computeFlexEndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public float computeFlexEndMargin(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexEndPadding(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexEndPaddingAndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexEndPosition(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float axisSize) const; + public float computeFlexStartBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public float computeFlexStartMargin(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexStartPadding(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexStartPaddingAndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexStartPosition(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float axisSize) const; + public float computeGapForAxis(facebook::yoga::FlexDirection axis, float ownerSize) const; + public float computeGapForDimension(facebook::yoga::Dimension dimension, float ownerSize) const; + public float computeInlineEndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public float computeInlineEndMargin(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineEndPadding(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineEndPaddingAndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineEndPosition(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float axisSize) const; + public float computeInlineStartBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public float computeInlineStartMargin(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineStartPadding(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineStartPaddingAndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineStartPosition(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float axisSize) const; + public float computeMarginForAxis(facebook::yoga::FlexDirection axis, float widthSize) const; + public float computePaddingAndBorderForDimension(facebook::yoga::Direction direction, facebook::yoga::Dimension dimension, float widthSize) const; + public static constexpr float DefaultFlexGrow; + public static constexpr float DefaultFlexShrink; + public static constexpr float WebDefaultFlexShrink; + public using Length = facebook::yoga::StyleLength; + public using SizeLength = facebook::yoga::StyleSizeLength; + public void resizeGridAutoColumns(size_t count); + public void resizeGridAutoRows(size_t count); + public void resizeGridTemplateColumns(size_t count); + public void resizeGridTemplateRows(size_t count); + public void setAlignContent(facebook::yoga::Align value); + public void setAlignItems(facebook::yoga::Align value); + public void setAlignSelf(facebook::yoga::Align value); + public void setAspectRatio(facebook::yoga::FloatOptional value); + public void setBorder(facebook::yoga::Edge edge, facebook::yoga::Style::Length value); + public void setBoxSizing(facebook::yoga::BoxSizing value); + public void setDimension(facebook::yoga::Dimension axis, facebook::yoga::Style::SizeLength value); + public void setDirection(facebook::yoga::Direction value); + public void setDisplay(facebook::yoga::Display value); + public void setFlex(facebook::yoga::FloatOptional value); + public void setFlexBasis(facebook::yoga::Style::SizeLength value); + public void setFlexDirection(facebook::yoga::FlexDirection value); + public void setFlexGrow(facebook::yoga::FloatOptional value); + public void setFlexShrink(facebook::yoga::FloatOptional value); + public void setFlexWrap(facebook::yoga::Wrap value); + public void setGap(facebook::yoga::Gutter gutter, facebook::yoga::Style::Length value); + public void setGridAutoColumnAt(size_t index, facebook::yoga::GridTrackSize value); + public void setGridAutoColumns(facebook::yoga::GridTrackList value); + public void setGridAutoRowAt(size_t index, facebook::yoga::GridTrackSize value); + public void setGridAutoRows(facebook::yoga::GridTrackList value); + public void setGridColumnEnd(facebook::yoga::GridLine value); + public void setGridColumnStart(facebook::yoga::GridLine value); + public void setGridRowEnd(facebook::yoga::GridLine value); + public void setGridRowStart(facebook::yoga::GridLine value); + public void setGridTemplateColumnAt(size_t index, facebook::yoga::GridTrackSize value); + public void setGridTemplateColumns(facebook::yoga::GridTrackList value); + public void setGridTemplateRowAt(size_t index, facebook::yoga::GridTrackSize value); + public void setGridTemplateRows(facebook::yoga::GridTrackList value); + public void setJustifyContent(facebook::yoga::Justify value); + public void setJustifyItems(facebook::yoga::Justify value); + public void setJustifySelf(facebook::yoga::Justify value); + public void setMargin(facebook::yoga::Edge edge, facebook::yoga::Style::Length value); + public void setMaxDimension(facebook::yoga::Dimension axis, facebook::yoga::Style::SizeLength value); + public void setMinDimension(facebook::yoga::Dimension axis, facebook::yoga::Style::SizeLength value); + public void setOverflow(facebook::yoga::Overflow value); + public void setPadding(facebook::yoga::Edge edge, facebook::yoga::Style::Length value); + public void setPosition(facebook::yoga::Edge edge, facebook::yoga::Style::Length value); + public void setPositionType(facebook::yoga::PositionType value); +} + +class facebook::yoga::StyleLength { + public constexpr StyleLength() = default; + public constexpr bool inexactEquals(const facebook::yoga::StyleLength& other) const; + public constexpr bool isAuto() const; + public constexpr bool isDefined() const; + public constexpr bool isPercent() const; + public constexpr bool isPoints() const; + public constexpr bool isUndefined() const; + public constexpr bool operator==(const facebook::yoga::StyleLength& rhs) const; + public constexpr facebook::yoga::FloatOptional resolve(float referenceLength); + public constexpr facebook::yoga::FloatOptional value() const; + public constexpr operator YGValue() const; + public static constexpr facebook::yoga::StyleLength ofAuto(); + public static constexpr facebook::yoga::StyleLength percent(float value); + public static constexpr facebook::yoga::StyleLength points(float value); + public static constexpr facebook::yoga::StyleLength undefined(); +} + +class facebook::yoga::StyleSizeLength { + public constexpr StyleSizeLength() = default; + public constexpr bool inexactEquals(const facebook::yoga::StyleSizeLength& other) const; + public constexpr bool isAuto() const; + public constexpr bool isDefined() const; + public constexpr bool isFitContent() const; + public constexpr bool isMaxContent() const; + public constexpr bool isPercent() const; + public constexpr bool isPoints() const; + public constexpr bool isStretch() const; + public constexpr bool isUndefined() const; + public constexpr bool operator==(const facebook::yoga::StyleSizeLength& rhs) const; + public constexpr facebook::yoga::FloatOptional resolve(float referenceLength) const; + public constexpr facebook::yoga::FloatOptional value() const; + public constexpr operator YGValue() const; + public static constexpr facebook::yoga::StyleSizeLength ofAuto(); + public static constexpr facebook::yoga::StyleSizeLength ofFitContent(); + public static constexpr facebook::yoga::StyleSizeLength ofMaxContent(); + public static constexpr facebook::yoga::StyleSizeLength ofStretch(); + public static constexpr facebook::yoga::StyleSizeLength percent(float value); + public static constexpr facebook::yoga::StyleSizeLength points(float value); + public static constexpr facebook::yoga::StyleSizeLength stretch(float fraction); + public static constexpr facebook::yoga::StyleSizeLength undefined(); +} + +class facebook::yoga::StyleValueHandle { + public constexpr bool isAuto() const; + public constexpr bool isDefined() const; + public constexpr bool isUndefined() const; + public static constexpr facebook::yoga::StyleValueHandle ofAuto(); +} + +class facebook::yoga::StyleValuePool { + public facebook::yoga::FloatOptional getNumber(facebook::yoga::StyleValueHandle handle) const; + public facebook::yoga::StyleLength getLength(facebook::yoga::StyleValueHandle handle) const; + public facebook::yoga::StyleSizeLength getSize(facebook::yoga::StyleValueHandle handle) const; + public void store(facebook::yoga::StyleValueHandle& handle, facebook::yoga::FloatOptional number); + public void store(facebook::yoga::StyleValueHandle& handle, facebook::yoga::StyleLength length); + public void store(facebook::yoga::StyleValueHandle& handle, facebook::yoga::StyleSizeLength sizeValue); +} + +enum facebook::yoga::Align : uint8_t { + Auto, + Baseline, + Center, + End, + FlexEnd, + FlexStart, + SpaceAround, + SpaceBetween, + SpaceEvenly, + Start, + Stretch, +} + +enum facebook::yoga::BoxSizing : uint8_t { + BorderBox, + ContentBox, +} + +enum facebook::yoga::Dimension : uint8_t { + Height, + Width, +} + +enum facebook::yoga::Direction : uint8_t { + Inherit, + LTR, + RTL, +} + +enum facebook::yoga::Display : uint8_t { + Contents, + Flex, + Grid, + None, +} + +enum facebook::yoga::Edge : uint8_t { + All, + Bottom, + End, + Horizontal, + Left, + Right, + Start, + Top, + Vertical, +} + +enum facebook::yoga::Errata : uint32_t { + AbsolutePercentAgainstInnerSize, + AbsolutePositionWithoutInsetsExcludesPadding, + All, + Classic, + None, + StretchFlexBasis, +} + +enum facebook::yoga::ExperimentalFeature : uint8_t { + FixFlexBasisFitContent, + WebFlexBasis, +} + +enum facebook::yoga::FlexDirection : uint8_t { + Column, + ColumnReverse, + Row, + RowReverse, +} + +enum facebook::yoga::GridLineType : uint8_t { + Auto, + Integer, + Span, +} + +enum facebook::yoga::GridTrackType : uint8_t { + Auto, + Fr, + Minmax, + Percent, + Points, +} + +enum facebook::yoga::Gutter : uint8_t { + All, + Column, + Row, +} + +enum facebook::yoga::Justify : uint8_t { + Auto, + Center, + End, + FlexEnd, + FlexStart, + SpaceAround, + SpaceBetween, + SpaceEvenly, + Start, + Stretch, +} + +enum facebook::yoga::LayoutPassReason : int { + COUNT, + kAbsLayout, + kAbsMeasureChild, + kFlexLayout, + kFlexMeasure, + kGridLayout, + kInitial, + kMeasureChild, + kMultilineStretch, + kStretch, +} + +enum facebook::yoga::LayoutType : int { + kCachedLayout, + kCachedMeasure, + kLayout, + kMeasure, +} + +enum facebook::yoga::LogLevel : uint8_t { + Debug, + Error, + Fatal, + Info, + Verbose, + Warn, +} + +enum facebook::yoga::MeasureMode : uint8_t { + AtMost, + Exactly, + Undefined, +} + +enum facebook::yoga::NodeType : uint8_t { + Default, + Text, +} + +enum facebook::yoga::Overflow : uint8_t { + Hidden, + Scroll, + Visible, +} + +enum facebook::yoga::PhysicalEdge : uint32_t { + Bottom, + Left, + Right, + Top, +} + +enum facebook::yoga::PositionType : uint8_t { + Absolute, + Relative, + Static, +} + +enum facebook::yoga::SizingMode { + FitContent, + MaxContent, + StretchFit, +} + +enum facebook::yoga::Unit : uint8_t { + Auto, + FitContent, + MaxContent, + Percent, + Point, + Stretch, + Undefined, +} + +enum facebook::yoga::Wrap : uint8_t { + NoWrap, + Wrap, + WrapReverse, +} + +struct facebook::yoga::CachedMeasurement { + public bool operator==(facebook::yoga::CachedMeasurement measurement) const; + public facebook::yoga::SizingMode heightSizingMode; + public facebook::yoga::SizingMode widthSizingMode; + public float availableHeight; + public float availableWidth; + public float computedHeight; + public float computedWidth; +} + +struct facebook::yoga::Event { + public static void reset(); + public static void subscribe(std::function&& subscriber); + public using Subscriber = void(YGNodeConstRef, facebook::yoga::Event::Type, facebook::yoga::Event::Data); + public using Subscribers = std::vector>; + template + public static void publish(YGNodeConstRef node, const facebook::yoga::Event::TypedData& eventData = {}); +} + +class facebook::yoga::Event::Data { + template + public Data(const facebook::yoga::Event::TypedData& data); + template + public const facebook::yoga::Event::TypedData& get() const; +} + +enum facebook::yoga::Event::Type { + LayoutPassEnd, + LayoutPassStart, + MeasureCallbackEnd, + MeasureCallbackStart, + NodeAllocation, + NodeBaselineEnd, + NodeBaselineStart, + NodeDeallocation, + NodeLayout, +} + +template +struct facebook::yoga::Event::TypedData { +} + +struct facebook::yoga::Event::TypedData { + public facebook::yoga::LayoutData* layoutData; +} + +struct facebook::yoga::Event::TypedData { + public YGMeasureMode heightMeasureMode; + public YGMeasureMode widthMeasureMode; + public const facebook::yoga::LayoutPassReason reason; + public float height; + public float measuredHeight; + public float measuredWidth; + public float width; +} + +struct facebook::yoga::Event::TypedData { + public YGConfigConstRef config; +} + +struct facebook::yoga::Event::TypedData { + public YGConfigConstRef config; +} + +struct facebook::yoga::Event::TypedData { + public facebook::yoga::LayoutType layoutType; +} + +struct facebook::yoga::FlexLine { + public const float sizeConsumed; + public const size_t numberOfAutoMargins; + public const std::vector itemsInFlow; + public facebook::yoga::FlexLineRunningLayout layout; +} + +struct facebook::yoga::FlexLineRunningLayout { + public float crossDim; + public float mainDim; + public float remainingFreeSpace; + public float totalFlexGrowFactors; + public float totalFlexShrinkScaledFactors; +} + +struct facebook::yoga::FloatOptional { + public constexpr FloatOptional() = default; + public constexpr FloatOptional(float value); + public constexpr bool isDefined() const; + public constexpr bool isUndefined() const; + public constexpr float unwrap() const; + public constexpr float unwrapOrDefault(float defaultValue) const; +} + +struct facebook::yoga::GridLine { + public bool operator==(const facebook::yoga::GridLine& other) const = default; + public constexpr bool isAuto() const; + public constexpr bool isInteger() const; + public constexpr bool isSpan() const; + public facebook::yoga::GridLineType type; + public int32_t integer; + public static constexpr facebook::yoga::GridLine auto_(); + public static constexpr facebook::yoga::GridLine fromInteger(int32_t value); + public static constexpr facebook::yoga::GridLine span(int32_t value); +} + +struct facebook::yoga::GridTrackSize { + public bool infinitelyGrowable; + public bool operator==(const facebook::yoga::GridTrackSize& other) const = default; + public facebook::yoga::StyleSizeLength maxSizingFunction; + public facebook::yoga::StyleSizeLength minSizingFunction; + public float baseSize; + public float growthLimit; + public static constexpr facebook::yoga::GridTrackSize auto_(); + public static constexpr facebook::yoga::GridTrackSize fr(float fraction); + public static constexpr facebook::yoga::GridTrackSize length(float points); + public static constexpr facebook::yoga::GridTrackSize minmax(facebook::yoga::StyleSizeLength min, facebook::yoga::StyleSizeLength max); + public static constexpr facebook::yoga::GridTrackSize percent(float percentage); +} + +struct facebook::yoga::LayoutData { + public int cachedLayouts; + public int cachedMeasures; + public int layouts; + public int measureCallbacks; + public int measures; + public std::array(facebook::yoga::LayoutPassReason::COUNT)> measureCallbackReasonsCount; + public uint32_t maxMeasureCache; +} + +struct facebook::yoga::LayoutResults { + public bool hadOverflow() const; + public bool operator==(facebook::yoga::LayoutResults layout) const; + public facebook::yoga::CachedMeasurement cachedLayout; + public facebook::yoga::Direction direction() const; + public facebook::yoga::Direction lastOwnerDirection; + public facebook::yoga::FloatOptional computedFlexBasis; + public float border(facebook::yoga::PhysicalEdge physicalEdge) const; + public float dimension(facebook::yoga::Dimension axis) const; + public float margin(facebook::yoga::PhysicalEdge physicalEdge) const; + public float measuredDimension(facebook::yoga::Dimension axis) const; + public float padding(facebook::yoga::PhysicalEdge physicalEdge) const; + public float position(facebook::yoga::PhysicalEdge physicalEdge) const; + public float rawDimension(facebook::yoga::Dimension axis) const; + public static constexpr int32_t MaxCachedMeasurements; + public std::array cachedMeasurements; + public uint32_t computedFlexBasisGeneration; + public uint32_t configVersion; + public uint32_t generationCount; + public uint32_t nextCachedMeasurementsIndex; + public void setBorder(facebook::yoga::PhysicalEdge physicalEdge, float dimension); + public void setDimension(facebook::yoga::Dimension axis, float dimension); + public void setDirection(facebook::yoga::Direction direction); + public void setHadOverflow(bool hadOverflow); + public void setMargin(facebook::yoga::PhysicalEdge physicalEdge, float dimension); + public void setMeasuredDimension(facebook::yoga::Dimension axis, float dimension); + public void setPadding(facebook::yoga::PhysicalEdge physicalEdge, float dimension); + public void setPosition(facebook::yoga::PhysicalEdge physicalEdge, float dimension); + public void setRawDimension(facebook::yoga::Dimension axis, float dimension); +} + +template +class facebook::yoga::SmallValueBuffer { + public SmallValueBuffer() = default; + public SmallValueBuffer(const facebook::yoga::SmallValueBuffer& other); + public SmallValueBuffer(facebook::yoga::SmallValueBuffer&& other) noexcept = default; + public facebook::yoga::SmallValueBuffer& operator=(const facebook::yoga::SmallValueBuffer& other); + public facebook::yoga::SmallValueBuffer& operator=(facebook::yoga::SmallValueBuffer&& other) noexcept = default; + public uint16_t push(uint32_t value); + public uint16_t push(uint64_t value); + public uint16_t replace(uint16_t index, uint32_t value); + public uint16_t replace(uint16_t index, uint64_t value); + public uint32_t get32(uint16_t index) const; + public uint64_t get64(uint16_t index) const; +} + +template +class facebook::yoga::LayoutableChildren { + public LayoutableChildren(const T* node); + public facebook::yoga::LayoutableChildren::Iterator begin() const; + public facebook::yoga::LayoutableChildren::Iterator end() const; +} + +struct facebook::yoga::LayoutableChildren::Iterator { + public Iterator() = default; + public Iterator(const T* node, size_t childIndex); + public T* operator*() const; + public facebook::yoga::LayoutableChildren::Iterator operator++(int); + public facebook::yoga::LayoutableChildren::Iterator& operator++(); + public using difference_type = std::ptrdiff_t; + public using iterator_category = std::input_iterator_tag; + public using pointer = T*; + public using reference = T*; + public using value_type = T*; +} + + +JNIEnv* facebook::yoga::vanillajni::getCurrentEnv(); +facebook::yoga::vanillajni::ScopedGlobalRef facebook::yoga::vanillajni::newGlobalRef(JNIEnv* env, jobject obj); +facebook::yoga::vanillajni::ScopedLocalRef facebook::yoga::vanillajni::callStaticObjectMethod(JNIEnv* env, jclass clazz, jmethodID methodId, ...); +jfieldID facebook::yoga::vanillajni::getFieldId(JNIEnv* env, jclass clazz, const char* fieldName, const char* fieldSignature); +jfloat facebook::yoga::vanillajni::callFloatMethod(JNIEnv* env, jobject obj, jmethodID methodId, ...); +jint facebook::yoga::vanillajni::ensureInitialized(JNIEnv** env, JavaVM* vm); +jlong facebook::yoga::vanillajni::callLongMethod(JNIEnv* env, jobject obj, jmethodID methodId, ...); +jmethodID facebook::yoga::vanillajni::getMethodId(JNIEnv* env, jclass clazz, const char* methodName, const char* methodDescriptor); +jmethodID facebook::yoga::vanillajni::getStaticMethodId(JNIEnv* env, jclass clazz, const char* methodName, const char* methodDescriptor); +template +facebook::yoga::vanillajni::ScopedGlobalRef facebook::yoga::vanillajni::make_global_ref(T globalRef); +template +facebook::yoga::vanillajni::ScopedLocalRef facebook::yoga::vanillajni::make_local_ref(JNIEnv* env, T localRef); +void facebook::yoga::vanillajni::assertNoPendingJniException(JNIEnv* env); +void facebook::yoga::vanillajni::assertNoPendingJniExceptionIf(JNIEnv* env, bool condition); +void facebook::yoga::vanillajni::callVoidMethod(JNIEnv* env, jobject obj, jmethodID methodId, ...); +void facebook::yoga::vanillajni::logErrorMessageAndDie(const char* message); +void facebook::yoga::vanillajni::registerNatives(JNIEnv* env, const char* className, const JNINativeMethod methods[], size_t numMethods); + +class facebook::yoga::vanillajni::LayoutContext { + public static PtrJNodeMapVanilla* getNodeMap(); +} + +struct facebook::yoga::vanillajni::LayoutContext::Provider { + public Provider(PtrJNodeMapVanilla* data); + public ~Provider(); +} + +class facebook::yoga::vanillajni::YogaJniException : public std::exception { + public YogaJniException(); + public YogaJniException(const facebook::yoga::vanillajni::YogaJniException& rhs); + public YogaJniException(facebook::yoga::vanillajni::YogaJniException&& rhs) noexcept; + public YogaJniException(jthrowable throwable); + public facebook::yoga::vanillajni::ScopedLocalRef getThrowable() const noexcept; + public ~YogaJniException() override; +} + +template +class facebook::yoga::vanillajni::ScopedGlobalRef { + public ScopedGlobalRef(); + public ScopedGlobalRef(T globalRef); + public ScopedGlobalRef(const facebook::yoga::vanillajni::ScopedGlobalRef& ref) = delete; + public ScopedGlobalRef(facebook::yoga::vanillajni::ScopedGlobalRef&& s) noexcept; + public T get() const; + public T release(); + public facebook::yoga::vanillajni::ScopedGlobalRef& operator=(const facebook::yoga::vanillajni::ScopedGlobalRef& other) = delete; + public facebook::yoga::vanillajni::ScopedGlobalRef& operator=(facebook::yoga::vanillajni::ScopedGlobalRef&& s) noexcept; + public operator bool() const; + public void reset(T ptr = NULL); + public ~ScopedGlobalRef(); +} + +template +class facebook::yoga::vanillajni::ScopedLocalRef { + public ScopedLocalRef(JNIEnv* env); + public ScopedLocalRef(JNIEnv* env, T localRef); + public ScopedLocalRef(const facebook::yoga::vanillajni::ScopedLocalRef& ref) = delete; + public ScopedLocalRef(facebook::yoga::vanillajni::ScopedLocalRef&& s) noexcept; + public T get() const; + public T release(); + public facebook::yoga::vanillajni::ScopedLocalRef& operator=(const facebook::yoga::vanillajni::ScopedLocalRef& other) = delete; + public facebook::yoga::vanillajni::ScopedLocalRef& operator=(facebook::yoga::vanillajni::ScopedLocalRef&& s) noexcept; + public operator bool() const; + public void reset(T ptr = NULL); + public ~ScopedLocalRef(); +} + + +void facebook::gloginit::initialize(const char* tag = "ReactNativeJNI"); + + +struct std::hash { + public size_t operator()(const facebook::react::AttributedString& attributedString) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::AttributedStringBox& attributedStringBox) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::EventAnimationDriverKey& key) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::LayoutConstraints& constraints) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::LayoutMetrics& layoutMetrics) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::LineMeasureCacheKey& key) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::ParagraphAttributes& attributes) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::Point& point) const noexcept; +} + +struct std::hash { + public size_t operator()(const facebook::react::PreparedTextCacheKey& key) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::Rect& rect) const noexcept; +} + +struct std::hash { + public size_t operator()(const facebook::react::ShadowView& shadowView) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::SharedColor& color) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::Size& size) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::TextAttributes& textAttributes) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::TextMeasureCacheKey& key) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::Transform& transform) const; +} + +template +struct std::hash> { + public size_t operator()(const facebook::react::RectangleCorners& corners) const noexcept; +} + +template +struct std::hash> { + public size_t operator()(const facebook::react::RectangleEdges& edges) const noexcept; +} + +struct std::hash { + public size_t operator()(const facebook::react::AttributedString::Fragment& fragment) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::jsinspector_modern::ConsoleTaskId& id) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::jsinspector_modern::ExecutionContextSelector& selector) const; +} + +template +struct std::hash> { + public size_t operator()(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; +} + + +void YGJNIVanilla::registerNatives(JNIEnv* env); \ No newline at end of file diff --git a/scripts/cxx-api/api-snapshots/ReactAppleDebugCxx.api b/scripts/cxx-api/api-snapshots/ReactAppleDebugCxx.api new file mode 100644 index 00000000000..92de0f970b1 --- /dev/null +++ b/scripts/cxx-api/api-snapshots/ReactAppleDebugCxx.api @@ -0,0 +1,17332 @@ +// @generated by scripts/cxx-api + +category NSTextStorage(FontScaling) { + public virtual void scaleFontSizeToFitSize:minimumFontSize:maximumFontSize:(CGSize size, CGFloat minimumFontSize, CGFloat maximumFontSize); + public virtual void scaleFontSizeWithRatio:minimumFontSize:maximumFontSize:(CGFloat ratio, CGFloat minimumFontSize, CGFloat maximumFontSize); +} + +category RCTBridge(Inspector) { + public @property (assign, readonly) BOOL inspectable; + public @property (assign, readonly) facebook::react::jsinspector_modern::HostTarget* inspectorTarget; +} + +category RCTBridge(RCTAccessibilityManager) { + public @property (assign, readonly) RCTAccessibilityManager* accessibilityManager; +} + +category RCTBridge(RCTDevMenu) { + public @property (assign, readonly) RCTDevMenu* devMenu; +} + +category RCTBridge(RCTDevSettings) { + public @property (assign, readonly) RCTDevSettings* devSettings; +} + +category RCTBridge(RCTEventDispatcher) { + public virtual id eventDispatcher(); +} + +category RCTBridge(RCTImageLoader) { + public @property (assign, readonly) RCTImageLoader* imageLoader; +} + +category RCTBridge(RCTImageStoreManager) { + public @property (assign, readonly) RCTImageStoreManager* imageStoreManager; +} + +category RCTBridge(RCTNetworking) { + public @property (assign, readonly) RCTNetworking* networking; +} + +category RCTBridge(RCTSurfacePresenterStub) { + public virtual id surfacePresenter(); + public virtual void setSurfacePresenter:(id presenter); +} + +category RCTBridge(RCTTurboModule) { + public virtual std::shared_ptr jsCallInvoker(); + public virtual std::shared_ptr decorateNativeMethodCallInvoker:(std::shared_ptr nativeMethodCallInvoker); +} + +category RCTBridge(RCTUIManager) { + public @property (assign, readonly) RCTUIManager* uiManager; +} + +category RCTBridge(RCTWebSocketModule) { + public virtual RCTWebSocketModule* webSocketModule(); +} + +category RCTBridgeProxy(Cxx) { + public @property (assign) std::shared_ptr jsCallInvoker; +} + +category RCTBridgeProxy(RCTAccessibilityManager) { + public @property (assign, readonly) RCTAccessibilityManager* accessibilityManager; +} + +category RCTBridgeProxy(RCTDevMenu) { + public @property (assign, readonly) RCTDevMenu* devMenu; +} + +category RCTBridgeProxy(RCTDevSettings) { + public @property (assign, readonly) RCTDevSettings* devSettings; +} + +category RCTBridgeProxy(RCTEventDispatcher) { + public virtual id eventDispatcher(); +} + +category RCTBridgeProxy(RCTImageLoader) { + public @property (assign, readonly) RCTImageLoader* imageLoader; +} + +category RCTBridgeProxy(RCTImageStoreManager) { + public @property (assign, readonly) RCTImageStoreManager* imageStoreManager; +} + +category RCTBridgeProxy(RCTNetworking) { + public @property (assign, readonly) RCTNetworking* networking; +} + +category RCTBridgeProxy(RCTSurfacePresenterStub) { + public virtual id surfacePresenter(); + public virtual void setSurfacePresenter:(id presenter); +} + +category RCTBridgeProxy(RCTUIManager) { + public @property (assign, readonly) RCTUIManager* uiManager; +} + +category RCTBridgeProxy(RCTWebSocketModule) { + public virtual RCTWebSocketModule* webSocketModule(); +} + +category RCTConvert(CoreLocation) { + public virtual static CLLocationCoordinate2D CLLocationCoordinate2D:(id json); + public virtual static CLLocationDegrees CLLocationDegrees:(id json); + public virtual static CLLocationDistance CLLocationDistance:(id json); +} + +category RCTConvert(Deprecated) { + protected typedef NSArray NSArrayArray; + protected typedef NSArray NSDictionaryArray; + protected typedef NSArray NSNumberArray; + protected typedef NSArray NSStringArray; + protected typedef NSArray NSStringArrayArray; + protected typedef NSArray NSURLArray; + protected typedef NSArray RCTFileURLArray; + protected typedef NSArray UIColorArray; + public virtual static CGImageRef CGImage:(id json); + public virtual static UIImage* UIImage:(id json); +} + +category RCTConvert(DynamicTypeRamp) { + public virtual static RCTDynamicTypeRamp RCTDynamicTypeRamp:(_Nullable id json); +} + +category RCTConvert(ImageSource) { + public virtual static NSArray* RCTImageSourceArray:(id json); + public virtual static RCTImageSource* RCTImageSource:(id json); +} + +category RCTConvert(RCTFont) { + public virtual static UIFont* UIFont:(id json); +} + +category RCTConvert(RCTResizeMode) { + public virtual static RCTResizeMode RCTResizeMode:(id json); +} + +category RCTConvert(RCTTextSelection) { + public virtual static RCTTextSelection* RCTTextSelection:(id json); +} + +category RCTConvert(Text) { + public virtual static RCTTextTransform RCTTextTransform:(_Nullable id json); + public virtual static UITextAutocorrectionType UITextAutocorrectionType:(_Nullable id json); + public virtual static UITextSmartInsertDeleteType UITextSmartInsertDeleteType:(_Nullable id json); + public virtual static UITextSpellCheckingType UITextSpellCheckingType:(_Nullable id json); +} + +category RCTConvert(Transform) { + public virtual static CATransform3D CATransform3D:(id json); + public virtual static RCTTransformOrigin RCTTransformOrigin:(id json); +} + +category RCTConvert(UIActivityIndicatorView) { + public virtual static UIActivityIndicatorViewStyle UIActivityIndicatorViewStyle:(id json); +} + +category RCTConvert(UIScrollView) { + public virtual static UIScrollViewKeyboardDismissMode UIScrollViewKeyboardDismissMode:(id json); +} + +category RCTConvert(UIStatusBar) { + public virtual static UIStatusBarAnimation UIStatusBarAnimation:(id json); + public virtual static UIStatusBarStyle UIStatusBarStyle:(id json); +} + +category RCTCxxConvert(NativeAccessibilityManager_SpecAnnounceForAccessibilityWithOptionsOptions) { + public virtual static RCTManagedPointer* JS_NativeAccessibilityManager_SpecAnnounceForAccessibilityWithOptionsOptions:(id json); +} + +category RCTCxxConvert(NativeAccessibilityManager_SpecSetAccessibilityContentSizeMultipliersJSMultipliers) { + public virtual static RCTManagedPointer* JS_NativeAccessibilityManager_SpecSetAccessibilityContentSizeMultipliersJSMultipliers:(id json); +} + +category RCTCxxConvert(NativeActionSheetManager_SpecShowActionSheetWithOptionsOptions) { + public virtual static RCTManagedPointer* JS_NativeActionSheetManager_SpecShowActionSheetWithOptionsOptions:(id json); +} + +category RCTCxxConvert(NativeActionSheetManager_SpecShowShareActionSheetWithOptionsOptions) { + public virtual static RCTManagedPointer* JS_NativeActionSheetManager_SpecShowShareActionSheetWithOptionsOptions:(id json); +} + +category RCTCxxConvert(NativeAlertManager_Args) { + public virtual static RCTManagedPointer* JS_NativeAlertManager_Args:(id json); +} + +category RCTCxxConvert(NativeAnimatedModule_EventMapping) { + public virtual static RCTManagedPointer* JS_NativeAnimatedModule_EventMapping:(id json); +} + +category RCTCxxConvert(NativeAnimatedTurboModule_EventMapping) { + public virtual static RCTManagedPointer* JS_NativeAnimatedTurboModule_EventMapping:(id json); +} + +category RCTCxxConvert(NativeExceptionsManager_ExceptionData) { + public virtual static RCTManagedPointer* JS_NativeExceptionsManager_ExceptionData:(id json); +} + +category RCTCxxConvert(NativeExceptionsManager_StackFrame) { + public virtual static RCTManagedPointer* JS_NativeExceptionsManager_StackFrame:(id json); +} + +category RCTCxxConvert(NativeFrameRateLogger_SpecSetGlobalOptionsOptions) { + public virtual static RCTManagedPointer* JS_NativeFrameRateLogger_SpecSetGlobalOptionsOptions:(id json); +} + +category RCTCxxConvert(NativeImageEditor_Options) { + public virtual static RCTManagedPointer* JS_NativeImageEditor_Options:(id json); +} + +category RCTCxxConvert(NativeImageEditor_OptionsDisplaySize) { + public virtual static RCTManagedPointer* JS_NativeImageEditor_OptionsDisplaySize:(id json); +} + +category RCTCxxConvert(NativeImageEditor_OptionsOffset) { + public virtual static RCTManagedPointer* JS_NativeImageEditor_OptionsOffset:(id json); +} + +category RCTCxxConvert(NativeImageEditor_OptionsSize) { + public virtual static RCTManagedPointer* JS_NativeImageEditor_OptionsSize:(id json); +} + +category RCTCxxConvert(NativeNetworkingIOS_SpecSendRequestQuery) { + public virtual static RCTManagedPointer* JS_NativeNetworkingIOS_SpecSendRequestQuery:(id json); +} + +category RCTCxxConvert(NativePushNotificationManagerIOS_Notification) { + public virtual static RCTManagedPointer* JS_NativePushNotificationManagerIOS_Notification:(id json); +} + +category RCTCxxConvert(NativePushNotificationManagerIOS_SpecRequestPermissionsPermission) { + public virtual static RCTManagedPointer* JS_NativePushNotificationManagerIOS_SpecRequestPermissionsPermission:(id json); +} + +category RCTCxxConvert(NativeReactDevToolsRuntimeSettingsModule_PartialReloadAndProfileConfig) { + public virtual static RCTManagedPointer* JS_NativeReactDevToolsRuntimeSettingsModule_PartialReloadAndProfileConfig:(id json); +} + +category RCTCxxConvert(NativeShareModule_SpecShareContent) { + public virtual static RCTManagedPointer* JS_NativeShareModule_SpecShareContent:(id json); +} + +category RCTCxxConvert(NativeWebSocketModule_SpecConnectOptions) { + public virtual static RCTManagedPointer* JS_NativeWebSocketModule_SpecConnectOptions:(id json); +} + +category RCTFabricSurface(Deprecated) { + public virtual instancetype initWithBridge:moduleName:initialProperties:(RCTBridge* bridge, NSString* moduleName, NSDictionary* initialProperties); +} + +category RCTFabricSurface(Internal) { + public virtual const facebook::react::SurfaceHandler& surfaceHandler(); +} + +category RCTImageStoreManager(Deprecated) { + public virtual NSString* storeImage:(UIImage* image); + public virtual UIImage* imageForTag:(NSString* imageTag); + public virtual void getImageForTag:withBlock:(NSString* imageTag, void(^)(UIImage* image) block); +} + +category RCTRootView(Deprecated) { + public @property (assign, readonly) CGSize intrinsicSize; + public virtual void cancelTouches(); +} + +category RCTScrollView(Internal) { + public virtual void updateContentSizeIfNeeded(); +} + +category RCTScrollViewComponentView(ScrollableProtocol) { +} + +category RCTShadowView(Layout) { + public @property (assign, readonly) CGRect contentFrame; + public @property (assign, readonly) CGSize availableSize; + public @property (assign, readonly) UIEdgeInsets borderAsInsets; + public @property (assign, readonly) UIEdgeInsets compoundInsets; + public @property (assign, readonly) UIEdgeInsets paddingAsInsets; + public virtual void clearLayout(); + public virtual void dirtyLayout(); +} + +category RCTSurfacePresenter(Surface) { + public @property (assign, readonly) RCTMountingManager* mountingManager; + public @property (assign, readonly) RCTScheduler* scheduler; + public virtual _Nullable RCTFabricSurface* surfaceForRootTag:(ReactTag rootTag); + public virtual _Nullable UIView* findComponentViewWithTag_DO_NOT_USE_DEPRECATED:(NSInteger tag); + public virtual id createFabricSurfaceForModuleName:initialProperties:(NSString* moduleName, NSDictionary* initialProperties); + public virtual void addObserver:(id observer); + public virtual void registerSurface:(RCTFabricSurface* surface); + public virtual void removeObserver:(id observer); + public virtual void schedulerDidSynchronouslyUpdateViewOnUIThread:props:(ReactTag tag, folly::dynamic props); + public virtual void setupAnimationDriverWithSurfaceHandler:(const facebook::react::SurfaceHandler& surfaceHandler); + public virtual void synchronouslyUpdateViewOnUIThread:props:(NSNumber* reactTag, NSDictionary* props); + public virtual void unregisterSurface:(RCTFabricSurface* surface); +} + +category UIImage(React) { + public @property (assign) NSInteger reactDecodedImageBytes; +} + +category UIView(ComponentViewProtocol) { + public virtual _Nullable NSSet* propKeysManagedByAnimated_DO_NOT_USE_THIS_IS_BROKEN(); + public virtual facebook::react::Props::Shared props(); + public virtual static std::vector supplementalComponentDescriptorProviders(); + public virtual void finalizeUpdates:(RNComponentViewUpdateMask updateMask); + public virtual void invalidate(); + public virtual void mountChildComponentView:index:(UIView* childComponentView, NSInteger index); + public virtual void prepareForRecycle(); + public virtual void setIsJSResponder:(BOOL isJSResponder); + public virtual void setPropKeysManagedByAnimated_DO_NOT_USE_THIS_IS_BROKEN:(_Nullable NSSet* props); + public virtual void unmountChildComponentView:index:(UIView* childComponentView, NSInteger index); + public virtual void updateClippedSubviewsWithClipRect:relativeToView:(CGRect clipRect, UIView* clipView); + public virtual void updateEventEmitter:(const facebook::react::EventEmitter::Shared& eventEmitter); + public virtual void updateLayoutMetrics:oldLayoutMetrics:(const facebook::react::LayoutMetrics& layoutMetrics, const facebook::react::LayoutMetrics& oldLayoutMetrics); + public virtual void updateProps:oldProps:(const facebook::react::Props::Shared& props, const facebook::react::Props::Shared& oldProps); + public virtual void updateState:oldState:(const facebook::react::State::Shared& state, const facebook::react::State::Shared& oldState); +} + +category UIView(RCTScrollView) { + public virtual void reactUpdateResponderOffsetForScrollView:(RCTScrollView* scrollView); +} + +category UIView(RCTScrollViewComponentView) { + public virtual void reactUpdateResponderOffsetForScrollView:(RCTScrollViewComponentView* scrollView); +} + +category UIView(React) { + public @property (assign) BOOL shouldAccessibilityIgnoresInvertColors; + public @property (assign) CATransform3D reactTransform; + public @property (assign) NSInteger reactZIndex; + public @property (assign) RCTTransformOrigin reactTransformOrigin; + public @property (assign) UIAccessibilityTraits accessibilityRoleTraits; + public @property (assign) UIAccessibilityTraits roleTraits; + public @property (assign) UIUserInterfaceLayoutDirection reactLayoutDirection; + public @property (assign) YGDisplay reactDisplay; + public @property (assign, readonly) CGRect reactContentFrame; + public @property (assign, readonly) UIEdgeInsets reactBorderInsets; + public @property (assign, readonly) UIEdgeInsets reactCompoundInsets; + public @property (assign, readonly) UIEdgeInsets reactPaddingInsets; + public @property (assign, readonly) UIView* reactAccessibilityElement; + public @property (copy) NSArray* accessibilityActions; + public @property (copy) NSDictionary* accessibilityValueInternal; + public @property (copy) NSDictionary* accessibilityState; + public @property (copy) NSString* accessibilityLanguage; + public @property (copy) NSString* accessibilityRole; + public @property (copy) NSString* nativeID; + public @property (copy) NSString* role; + public virtual NSArray* reactSubviews(); + public virtual NSArray* reactZIndexSortedSubviews(); + public virtual NSString* react_recursiveDescription(); + public virtual UIView* reactSuperview(); + public virtual UIViewController* reactViewController(); + public virtual void didSetProps:(NSArray* changedProps); + public virtual void didUpdateReactSubviews(); + public virtual void insertReactSubview:atIndex:(UIView* subview, NSInteger atIndex); + public virtual void reactAddControllerToClosestParent:(UIViewController* controller); + public virtual void reactBlur(); + public virtual void reactFocus(); + public virtual void reactFocusIfNeeded(); + public virtual void reactSetFrame:(CGRect frame); + public virtual void removeReactSubview:(UIView* subview); +} + +class ObjCTimerRegistry : public facebook::react::PlatformTimerRegistry { + public ObjCTimerRegistry(); + public RCTTiming* _Null_unspecified timing; + public virtual void createRecurringTimer(uint32_t timerID, double delayMS) override; + public virtual void createTimer(uint32_t timerID, double delayMS) override; + public virtual void deleteTimer(uint32_t timerID) override; + public void setTimerManager(std::weak_ptr timerManager); +} + +class RCTComponentViewClassDescriptor { + public Class viewClass; + public bool observesMountingTransactionDidMount; + public bool observesMountingTransactionWillMount; + public bool shouldBeRecycled; +} + +class RCTComponentViewDescriptor { + public __strong UIView* const view; + public const bool observesMountingTransactionDidMount; + public const bool observesMountingTransactionWillMount; + public const bool shouldBeRecycled; +} + +class RCTMountingTransactionObserverCoordinator { + public void notifyObserversMountingTransactionDidMount(const facebook::react::MountingTransaction& transaction, const facebook::react::SurfaceTelemetry& surfaceTelemetry) const; + public void notifyObserversMountingTransactionWillMount(const facebook::react::MountingTransaction& transaction, const facebook::react::SurfaceTelemetry& surfaceTelemetry) const; + public void registerViewComponentDescriptor(const RCTComponentViewDescriptor& componentViewDescriptor, facebook::react::SurfaceId surfaceId); + public void unregisterViewComponentDescriptor(const RCTComponentViewDescriptor& componentViewDescriptor, facebook::react::SurfaceId surfaceId); +} + +interface CommonHostMetadata : public NSObject { + public @property (strong) NSString* appDisplayName; + public @property (strong) NSString* appIdentifier; + public @property (strong) NSString* deviceName; + public @property (strong) NSString* platform; + public @property (strong) NSString* reactNativeVersion; +} + +interface EventEmitterCallbackWrapper : public NSObject { + public facebook::react::EventEmitterCallback _eventEmitterCallback; +} + +interface NativeAccessibilityInfoSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeAccessibilityManagerSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeActionSheetManagerSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeAlertManagerSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeAnimatedModuleSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeAnimatedTurboModuleSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeAppStateSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeAppearanceSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeBlobModuleSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeClipboardSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeDevLoadingViewSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeDevMenuSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeDevSettingsSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeDeviceEventManagerSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeDeviceInfoSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeExceptionsManagerSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeFileReaderModuleSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeFrameRateLoggerSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeHeadlessJsTaskSupportSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeI18nManagerSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeImageEditorSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeImageLoaderIOSSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeImageStoreIOSSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeJSCHeapCaptureSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeKeyboardObserverSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeLinkingManagerSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeLogBoxSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeModalManagerSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeNetworkingIOSSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativePlatformConstantsIOSSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativePushNotificationManagerIOSSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeReactDevToolsRuntimeSettingsModuleSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeReactDevToolsSettingsManagerSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeRedBoxSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeSegmentFetcherSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeSettingsManagerSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeShareModuleSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeSoundManagerSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeSourceCodeSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeStatusBarManagerIOSSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeTimingSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeVibrationSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeWebSocketModuleSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface RCTAccessibilityElement : public UIAccessibilityElement { + public @property (assign) CGRect frameInContainerSpace; +} + +interface RCTAccessibilityManager : public NSObject { + public @property (assign) BOOL isBoldTextEnabled; + public @property (assign) BOOL isDarkerSystemColorsEnabled; + public @property (assign) BOOL isGrayscaleEnabled; + public @property (assign) BOOL isInvertColorsEnabled; + public @property (assign) BOOL isReduceMotionEnabled; + public @property (assign) BOOL isReduceTransparencyEnabled; + public @property (assign) BOOL isVoiceOverEnabled; + public @property (assign) BOOL prefersCrossFadeTransitions; + public @property (assign, readonly) CGFloat multiplier; + public @property (copy) NSDictionary* multipliers; +} + +interface RCTActionSheetManager : public NSObject { +} + +interface RCTActivityIndicatorView : public UIActivityIndicatorView { +} + +interface RCTActivityIndicatorViewComponentView : public RCTViewComponentView { +} + +interface RCTActivityIndicatorViewManager : public RCTViewManager { +} + +interface RCTAdditionAnimatedNode : public RCTValueAnimatedNode { +} + +interface RCTAlertController : public UIAlertController { + public virtual void hide(); + public virtual void show:completion:(BOOL animated, void(^)(void) completion); +} + +interface RCTAlertManager : public NSObject { +} + +interface RCTAnimatedImage : public UIImage { +} + +interface RCTAnimatedModuleProvider : public NSObject { + public virtual std::shared_ptr getTurboModule:jsInvoker:(const std::string& name, std::shared_ptr jsInvoker); + public virtual void invalidate(); +} + +interface RCTAnimatedNode : public NSObject { + public @property (assign, readonly) BOOL needsUpdate; + public @property (assign, readonly) NSNumber* nodeTag; + public @property (copy, readonly) NSDictionary* config; + public @property (copy, readonly) NSMapTable* childNodes; + public @property (copy, readonly) NSMapTable* parentNodes; + public @property (weak) RCTNativeAnimatedNodesManager* manager; + public virtual BOOL isManagedByFabric(); + public virtual instancetype initWithTag:config:(NSNumber* tag, NSDictionary* config); + public virtual void addChild:(RCTAnimatedNode* child); + public virtual void detachNode(); + public virtual void onAttachedToNode:(RCTAnimatedNode* parent); + public virtual void onDetachedFromNode:(RCTAnimatedNode* parent); + public virtual void performUpdate(); + public virtual void removeChild:(RCTAnimatedNode* child); + public virtual void setNeedsUpdate(); + public virtual void updateNodeIfNecessary(); +} + +interface RCTAppDelegate : public RCTDefaultReactNativeFactoryDelegate { + public @property (assign) BOOL automaticallyLoadReactNativeWindow; + public @property (assign) RCTBridge* bridge; + public @property (assign) RCTSurfacePresenterBridgeAdapter* bridgeAdapter; + public @property (strong) NSDictionary* initialProps; + public @property (strong) NSString* moduleName; + public @property (strong) RCTReactNativeFactory* reactNativeFactory; + public @property (strong) UIWindow* window; + public virtual RCTRootViewFactory* rootViewFactory(); +} + +interface RCTAppDependencyProvider : public NSObject { +} + +interface RCTAppState : public RCTEventEmitter { +} + +interface RCTAppearance : public RCTEventEmitter { + public virtual instancetype init(); +} + +interface RCTBackedTextFieldDelegateAdapter : public NSObject { + public virtual instancetype initWithTextField:(UITextField* backedTextInputView); + public virtual void selectedTextRangeWasSet(); + public virtual void skipNextTextInputDidChangeSelectionEventWithTextRange:(UITextRange* textRange); +} + +interface RCTBackedTextViewDelegateAdapter : public NSObject { + public virtual instancetype initWithTextView:(UITextView* backedTextInputView); + public virtual void skipNextTextInputDidChangeSelectionEventWithTextRange:(UITextRange* textRange); +} + +interface RCTBackgroundImageUtils : public NSObject { + public virtual static CALayer* createBackgroundImageLayerWithSize:paintingArea:itemSize:backgroundPosition:backgroundRepeat:itemLayer:(const CGRect& positioningArea, const CGRect& paintingArea, const CGSize& itemSize, const facebook::react::BackgroundPosition& backgroundPosition, const facebook::react::BackgroundRepeat& backgroundRepeat, CALayer* itemLayer); + public virtual static CGSize calculateBackgroundImageSize:itemIntrinsicSize:backgroundSize:backgroundRepeat:(const CGRect& positioningArea, CGSize itemIntrinsicSize, const facebook::react::BackgroundSize& backgroundSize, const facebook::react::BackgroundRepeat& backgroundRepeat); +} + +interface RCTBaseTextInputShadowView : public RCTBaseTextShadowView { + public @property (assign) NSInteger maximumNumberOfLines; + public @property (copy) NSString* placeholder; + public @property (copy) NSString* text; + public @property (copy) RCTDirectEventBlock onContentSizeChange; + public virtual instancetype initWithBridge:(RCTBridge* bridge); + public virtual void uiManagerWillPerformMounting(); +} + +interface RCTBaseTextInputView : public RCTView { + public @property (assign) BOOL autoFocus; + public @property (assign) BOOL clearTextOnFocus; + public @property (assign) BOOL secureTextEntry; + public @property (assign) BOOL selectTextOnFocus; + public @property (assign) BOOL showSoftInputOnFocus; + public @property (assign) NSInteger mostRecentEventCount; + public @property (assign) UIEdgeInsets reactBorderInsets; + public @property (assign) UIEdgeInsets reactPaddingInsets; + public @property (assign) UIKeyboardType keyboardType; + public @property (assign, readonly) NSInteger nativeEventCount; + public @property (assign, readonly) UIView* backedTextInputView; + public @property (copy) NSAttributedString* attributedText; + public @property (copy) NSString* inputAccessoryViewID; + public @property (copy) NSString* submitBehavior; + public @property (copy) RCTDirectEventBlock onChange; + public @property (copy) RCTDirectEventBlock onChangeSync; + public @property (copy) RCTDirectEventBlock onContentSizeChange; + public @property (copy) RCTDirectEventBlock onScroll; + public @property (copy) RCTDirectEventBlock onSelectionChange; + public @property (copy) RCTTextSelection* selection; + public @property (strong) NSNumber* maxLength; + public @property (strong) NSString* inputAccessoryViewButtonLabel; + public @property (strong) RCTTextAttributes* textAttributes; + public virtual instancetype initWithBridge:(RCTBridge* bridge); + public virtual void setSelectionStart:selectionEnd:(NSInteger start, NSInteger end); +} + +interface RCTBaseTextInputViewManager : public RCTBaseTextViewManager { +} + +interface RCTBaseTextShadowView : public RCTShadowView { + protected NSAttributedString* _Nullable cachedAttributedText; + protected RCTTextAttributes* _Nullable cachedTextAttributes; + public @property (strong) RCTTextAttributes* textAttributes; + public virtual NSAttributedString* attributedTextWithBaseTextAttributes:(_Nullable RCTTextAttributes* baseTextAttributes); +} + +interface RCTBaseTextViewManager : public RCTViewManager { +} + +interface RCTBlobManager : public NSObject { + public virtual NSData* resolve:(NSDictionary* blob); + public virtual NSData* resolve:offset:size:(NSString* blobId, NSInteger offset, NSInteger size); + public virtual NSData* resolveURL:(NSURL* url); + public virtual NSString* store:(NSData* data); + public virtual NSUInteger lengthOfBlobWithId:(NSString* blobId); + public virtual void createFromParts:withId:(NSArray*>* parts, NSString* blobId); + public virtual void remove:(NSString* blobId); + public virtual void store:withId:(NSData* data, NSString* blobId); +} + +interface RCTBridge : public NSObject { + public @property (assign, readonly) BOOL loading; + public @property (assign, readonly) BOOL valid; + public @property (copy, readonly) NSArray* moduleClasses; + public @property (copy, readonly) NSDictionary* launchOptions; + public @property (strong) Class executorClass; + public @property (strong, readonly) NSURL* bundleURL; + public @property (strong, readonly) RCTPerformanceLogger* performanceLogger; + public @property (weak, readonly) id delegate; + public virtual BOOL isBatchActive(); + public virtual BOOL moduleIsInitialized:(Class moduleClass); + public virtual NSArray* modulesConformingToProtocol:(Protocol* protocol); + public virtual RCTBridgeModuleDecorator* bridgeModuleDecorator(); + public virtual id moduleForClass:(Class moduleClass); + public virtual id moduleForName:(NSString* moduleName); + public virtual id moduleForName:lazilyLoadIfNecessary:(NSString* moduleName, BOOL lazilyLoad); + public virtual instancetype initWithBundleURL:moduleProvider:launchOptions:(NSURL* bundleURL, RCTBridgeModuleListProvider block, NSDictionary* launchOptions); + public virtual instancetype initWithDelegate:launchOptions:(id delegate, NSDictionary* launchOptions); + public virtual void enqueueJSCall:args:(NSString* moduleDotMethod, NSArray* args); + public virtual void enqueueJSCall:method:args:completion:(NSString* module, NSString* method, NSArray* args, dispatch_block_t completion); + public virtual void onFastRefresh(); + public virtual void registerSegmentWithId:path:(NSUInteger segmentId, NSString* path); + public virtual void reload(); + public virtual void reloadWithReason:(NSString* reason); + public virtual void requestReload(); + public virtual void setRCTTurboModuleRegistry:(id turboModuleRegistry); +} + +interface RCTBridgeModuleDecorator : public NSObject { + public @property (strong, readonly) RCTBundleManager* bundleManager; + public @property (strong, readonly) RCTCallableJSModules* callableJSModules; + public @property (strong, readonly) RCTModuleRegistry* moduleRegistry; + public @property (strong, readonly) RCTViewRegistry* viewRegistry_DEPRECATED; + public virtual instancetype initWithViewRegistry:moduleRegistry:bundleManager:callableJSModules:(RCTViewRegistry* viewRegistry, RCTModuleRegistry* moduleRegistry, RCTBundleManager* bundleManager, RCTCallableJSModules* callableJSModules); + public virtual void attachInteropAPIsToModule:(id bridgeModule); +} + +interface RCTBridgeProxy : public NSProxy { + public virtual NSMethodSignature* methodSignatureForSelector:(SEL sel); + public virtual id moduleForClass:(Class moduleClass); + public virtual id moduleForName:lazilyLoadIfNecessary:(NSString* moduleName, BOOL lazilyLoad); + public virtual instancetype initWithViewRegistry:moduleRegistry:bundleManager:callableJSModules:dispatchToJSThread:registerSegmentWithId:runtime:launchOptions:(RCTViewRegistry* viewRegistry, RCTModuleRegistry* moduleRegistry, RCTBundleManager* bundleManager, RCTCallableJSModules* callableJSModules, void(^)(dispatch_block_t) dispatchToJSThread, void(^)(NSNumber*, NSString*) registerSegmentWithId, void* runtime, _Nullable NSDictionary* launchOptions); + public virtual void forwardInvocation:(NSInvocation* invocation); + public virtual void logError:cmd:(NSString* message, SEL cmd); + public virtual void logWarning:cmd:(NSString* message, SEL cmd); +} + +interface RCTBundleAssetImageLoader : public NSObject { +} + +interface RCTBundleConfiguration : public NSObject { + public @property (assign, readonly) NSString* bundlePath; + public @property (assign, readonly) NSString* packagerServerHost; + public @property (assign, readonly) NSString* packagerServerScheme; + public @property (assign, readonly) NSURL* bundleFilePath; + public @property (copy) RCTPackagerOptionsUpdater packagerOptionsUpdater; + public virtual _Nonnull NSString* getPackagerServerHost(); + public virtual _Nonnull NSString* getPackagerServerScheme(); + public virtual _Nonnull instancetype initWithBundleFilePath:(_Nullable NSURL* bundleFilePath); + public virtual _Nonnull instancetype initWithPackagerServerScheme:packagerServerHost:bundlePath:(_Nullable NSString* packagerServerScheme, _Nullable NSString* packagerServerHost, _Nullable NSString* bundlePath); + public virtual _Nullable NSURL* getBundleURL(); + public virtual static _Nonnull instancetype defaultConfiguration(); +} + +interface RCTBundleManager : public NSObject { + public @property (assign) NSURL* bundleURL; + public @property (assign) RCTBundleConfiguration* bundleConfig; + public virtual _Nullable instancetype initWithBundleConfig:(_Nullable RCTBundleConfiguration* bundleConfig); + public virtual void resetBundleURL(); + public virtual void setBridge:(_Nullable RCTBridge* bridge); + public virtual void setBridgelessBundleURLGetter:andSetter:andDefaultGetter:(_Nullable RCTBridgelessBundleURLGetter getter, _Nullable RCTBridgelessBundleURLSetter setter, _Nullable RCTBridgelessBundleURLGetter defaultGetter); +} + +interface RCTBundleURLProvider : public NSObject { + public @property (assign) BOOL enableDev; + public @property (assign) BOOL enableMinification; + public @property (assign) BOOL inlineSourceMap; + public @property (copy) NSString* jsLocation; + public @property (copy) NSString* packagerScheme; + public virtual NSString* packagerServerHost(); + public virtual NSString* packagerServerHostPort(); + public virtual NSURL* _Nullable jsBundleURLForBundleRoot:(NSString* bundleRoot); + public virtual NSURL* _Nullable jsBundleURLForBundleRoot:fallbackExtension:(NSString* bundleRoot, NSString* _Nullable extension); + public virtual NSURL* _Nullable jsBundleURLForBundleRoot:fallbackURLProvider:(NSString* bundleRoot, NSURL* _Nullable(^)(void) fallbackURLProvider); + public virtual NSURL* _Nullable jsBundleURLForBundleRoot:packagerServerScheme:packagerServerHost:packagerOptionsUpdater:(NSString* bundleRoot, NSString* packagerServerScheme, NSString* packagerServerHost, RCTPackagerOptionsUpdater packagerOptionsUpdater); + public virtual NSURL* _Nullable jsBundleURLForFallbackExtension:(NSString* _Nullable extension); + public virtual NSURL* _Nullable jsBundleURLForSplitBundleRoot:(NSString* bundleRoot); + public virtual NSURL* _Nullable resourceURLForResourceRoot:resourceName:resourceExtension:offlineBundle:(NSString* root, NSString* name, NSString* extension, NSBundle* offlineBundle); + public virtual static BOOL isPackagerRunning:(NSString* hostPort); + public virtual static BOOL isPackagerRunning:scheme:(NSString* hostPort, NSString* _Nullable scheme); + public virtual static NSArray* createJSBundleURLQuery:packagerScheme:enableDev:enableMinification:inlineSourceMap:modulesOnly:runModule:additionalOptions:(NSString* packagerHost, NSString* _Nullable scheme, BOOL enableDev, BOOL enableMinification, BOOL inlineSourceMap, BOOL modulesOnly, BOOL runModule, NSDictionary* _Nullable additionalOptions); + public virtual static NSURL* _Nullable jsBundleURLForBundleRoot:packagerHost:enableDev:enableMinification:inlineSourceMap:(NSString* bundleRoot, NSString* packagerHost, BOOL enableDev, BOOL enableMinification, BOOL inlineSourceMap); + public virtual static NSURL* _Nullable jsBundleURLForBundleRoot:packagerHost:enableDev:enableMinification:inlineSourceMap:additionalOptions:(NSString* bundleRoot, NSString* packagerHost, BOOL enableDev, BOOL enableMinification, BOOL inlineSourceMap, NSDictionary* _Nullable additionalOptions); + public virtual static NSURL* _Nullable jsBundleURLForBundleRoot:packagerHost:packagerScheme:enableDev:enableMinification:inlineSourceMap:modulesOnly:runModule:(NSString* bundleRoot, NSString* packagerHost, NSString* _Nullable scheme, BOOL enableDev, BOOL enableMinification, BOOL inlineSourceMap, BOOL modulesOnly, BOOL runModule); + public virtual static NSURL* _Nullable jsBundleURLForBundleRoot:packagerHost:packagerScheme:enableDev:enableMinification:inlineSourceMap:modulesOnly:runModule:additionalOptions:(NSString* bundleRoot, NSString* packagerHost, NSString* _Nullable scheme, BOOL enableDev, BOOL enableMinification, BOOL inlineSourceMap, BOOL modulesOnly, BOOL runModule, NSDictionary* _Nullable additionalOptions); + public virtual static NSURL* resourceURLForResourcePath:packagerHost:scheme:query:(NSString* path, NSString* packagerHost, NSString* _Nullable scheme, NSString* _Nullable query); + public virtual static NSURL* resourceURLForResourcePath:packagerHost:scheme:queryItems:(NSString* path, NSString* packagerHost, NSString* scheme, NSArray* _Nullable queryItems); + public virtual static instancetype sharedSettings(); + public virtual static void isPackagerRunningAsync:completion:(NSString* hostPort, void(^)(BOOL isRunning) completion); + public virtual static void isPackagerRunningAsync:scheme:completion:(NSString* hostPort, NSString* _Nullable scheme, void(^)(BOOL isRunning) completion); + public virtual void resetToDefaults(); +} + +interface RCTCallInvoker : public NSObject { + public virtual instancetype initWithCallInvoker:(std::shared_ptr callInvoker); + public virtual std::shared_ptr callInvoker(); +} + +interface RCTCallableJSModules : public NSObject { + public virtual void invokeModule:method:withArgs:(NSString* moduleName, NSString* methodName, NSArray* args); + public virtual void invokeModule:method:withArgs:onComplete:(NSString* moduleName, NSString* methodName, NSArray* args, dispatch_block_t onComplete); + public virtual void setBridge:(RCTBridge* bridge); + public virtual void setBridgelessJSModuleMethodInvoker:(RCTBridgelessJSModuleMethodInvoker bridgelessJSModuleMethodInvoker); +} + +interface RCTClipboard : public NSObject { +} + +interface RCTColorAnimatedNode : public RCTAnimatedNode { + public @property (assign) int32_t color; +} + +interface RCTColorSpaceUtils : public NSObject { + public virtual static void applyDefaultColorSpace:(RCTColorSpace colorSpace); +} + +interface RCTComponentData : public NSObject { + public @property (assign, readonly) Class managerClass; + public @property (copy) void(^eventInterceptor)(NSString* eventName, NSDictionary* event, NSNumber* reactTag); + public @property (copy, readonly) NSString* name; + public @property (strong, readonly) RCTViewManager* bridgelessViewManager; + public @property (weak, readonly) RCTViewManager* manager; + public virtual NSDictionary* viewConfig(); + public virtual RCTShadowView* createShadowViewWithTag:(NSNumber* tag); + public virtual UIView* createViewWithTag:rootTag:(_Nullable NSNumber* tag, _Nullable NSNumber* rootTag); + public virtual instancetype initWithManagerClass:bridge:eventDispatcher:(Class managerClass, RCTBridge* bridge, id eventDispatcher); + public virtual static NSDictionary* viewConfigForViewMangerClass:(Class managerClass); + public virtual void setProps:forShadowView:(NSDictionary* props, RCTShadowView* shadowView); + public virtual void setProps:forView:(NSDictionary* props, id view); +} + +interface RCTComponentEvent : public NSObject { + public virtual instancetype initWithName:viewTag:body:(NSString* name, NSNumber* viewTag, NSDictionary* body); +} + +interface RCTComponentViewFactory : public NSObject { + public @property (weak) id thirdPartyFabricComponentsProvider; + public virtual RCTComponentViewDescriptor createComponentViewWithComponentHandle:(facebook::react::ComponentHandle componentHandle); + public virtual facebook::react::ComponentDescriptorRegistry::Shared createComponentDescriptorRegistryWithParameters:(facebook::react::ComponentDescriptorParameters parameters); + public virtual static RCTComponentViewFactory* currentComponentViewFactory(); + public virtual void registerComponentViewClass:(Class componentViewClass); +} + +interface RCTComponentViewRegistry : public NSObject { + public @property (strong, readonly) RCTComponentViewFactory* componentViewFactory; + public virtual _Nullable UIView* findComponentViewWithTag:(facebook::react::Tag tag); + public virtual const RCTComponentViewDescriptor& componentViewDescriptorWithTag:(facebook::react::Tag tag); + public virtual const RCTComponentViewDescriptor& dequeueComponentViewWithComponentHandle:tag:(facebook::react::ComponentHandle componentHandle, facebook::react::Tag tag); + public virtual void enqueueComponentViewWithComponentHandle:tag:componentViewDescriptor:(facebook::react::ComponentHandle componentHandle, facebook::react::Tag tag, RCTComponentViewDescriptor componentViewDescriptor); +} + +interface RCTComposedViewRegistry : public NSMutableDictionary { + public virtual instancetype initWithUIManager:andRegistry:(RCTUIManager* uiManager, NSDictionary* registry); +} + +interface RCTConvert : public NSObject { + public typedef BOOL css_backface_visibility_t; + public typedef NSArray CGColorArray; + public typedef NSURL RCTFileURL; + public typedef id NSPropertyList; + public virtual static BOOL BOOL:(id json); + public virtual static CGAffineTransform CGAffineTransform:(id json); + public virtual static CGColorRef CGColor:(id json); + public virtual static CGFloat CGFloat:(id json); + public virtual static CGLineCap CGLineCap:(id json); + public virtual static CGLineJoin CGLineJoin:(id json); + public virtual static CGPoint CGPoint:(id json); + public virtual static CGRect CGRect:(id json); + public virtual static CGSize CGSize:(id json); + public virtual static NSArray* NSArray:(id json); + public virtual static NSArray* NSArrayArray:(id json); + public virtual static NSArray*>* NSStringArrayArray:(id json); + public virtual static NSArray* NSDictionaryArray:(id json); + public virtual static NSArray* NSNumberArray:(id json); + public virtual static NSArray* NSStringArray:(id json); + public virtual static NSArray* NSURLArray:(id json); + public virtual static NSArray* RCTFileURLArray:(id json); + public virtual static NSArray* UIColorArray:(id json); + public virtual static NSData* NSData:(id json); + public virtual static NSDate* NSDate:(id json); + public virtual static NSDictionary* NSDictionary:(id json); + public virtual static NSIndexSet* NSIndexSet:(id json); + public virtual static NSInteger NSInteger:(id json); + public virtual static NSLineBreakMode NSLineBreakMode:(id json); + public virtual static NSLineBreakStrategy NSLineBreakStrategy:(id json); + public virtual static NSLocale* NSLocale:(id json); + public virtual static NSNumber* NSNumber:(id json); + public virtual static NSSet* NSSet:(id json); + public virtual static NSString* NSString:(id json); + public virtual static NSTextAlignment NSTextAlignment:(id json); + public virtual static NSTimeInterval NSTimeInterval:(id json); + public virtual static NSTimeZone* NSTimeZone:(id json); + public virtual static NSUInteger NSUInteger:(id json); + public virtual static NSURL* NSURL:(id json); + public virtual static NSURLRequest* NSURLRequest:(id json); + public virtual static NSURLRequestCachePolicy NSURLRequestCachePolicy:(id json); + public virtual static NSUnderlineStyle NSUnderlineStyle:(id json); + public virtual static NSWritingDirection NSWritingDirection:(id json); + public virtual static RCTAnimationType RCTAnimationType:(id json); + public virtual static RCTBorderCurve RCTBorderCurve:(id json); + public virtual static RCTBorderStyle RCTBorderStyle:(id json); + public virtual static RCTColorSpace RCTColorSpaceFromString:(NSString* colorSpace); + public virtual static RCTConvert::CGColorArray* CGColorArray:(id json); + public virtual static RCTConvert::NSPropertyList NSPropertyList:(id json); + public virtual static RCTConvert::RCTFileURL* RCTFileURL:(id json); + public virtual static RCTConvert::css_backface_visibility_t css_backface_visibility_t:(id json); + public virtual static RCTCursor RCTCursor:(id json); + public virtual static RCTPointerEvents RCTPointerEvents:(id json); + public virtual static RCTTextDecorationLineType RCTTextDecorationLineType:(id json); + public virtual static UIColor* UIColor:(id json); + public virtual static UIColor* UIColorWithRed:green:blue:alpha:(CGFloat red, CGFloat green, CGFloat blue, CGFloat alpha); + public virtual static UIColor* UIColorWithRed:green:blue:alpha:andColorSpace:(CGFloat red, CGFloat green, CGFloat blue, CGFloat alpha, RCTColorSpace colorSpace); + public virtual static UIDataDetectorTypes UIDataDetectorTypes:(id json); + public virtual static UIEdgeInsets UIEdgeInsets:(id json); + public virtual static UIInterfaceOrientationMask UIInterfaceOrientationMask:(NSString* orientation); + public virtual static UIKeyboardAppearance UIKeyboardAppearance:(id json); + public virtual static UIKeyboardType UIKeyboardType:(id json); + public virtual static UIModalPresentationStyle UIModalPresentationStyle:(id json); + public virtual static UIReturnKeyType UIReturnKeyType:(id json); + public virtual static UITextAutocapitalizationType UITextAutocapitalizationType:(id json); + public virtual static UITextFieldViewMode UITextFieldViewMode:(id json); + public virtual static UIUserInterfaceStyle UIUserInterfaceStyle:(id json); + public virtual static UIViewContentMode UIViewContentMode:(id json); + public virtual static YGAlign YGAlign:(id json); + public virtual static YGDirection YGDirection:(id json); + public virtual static YGDisplay YGDisplay:(id json); + public virtual static YGFlexDirection YGFlexDirection:(id json); + public virtual static YGJustify YGJustify:(id json); + public virtual static YGOverflow YGOverflow:(id json); + public virtual static YGPositionType YGPositionType:(id json); + public virtual static YGValue YGValue:(id json); + public virtual static YGWrap YGWrap:(id json); + public virtual static double double:(id json); + public virtual static float float:(id json); + public virtual static id id:(id json); + public virtual static int64_t int64_t:(id json); + public virtual static int int:(id json); + public virtual static uint64_t uint64_t:(id json); +} + +interface RCTCxxConvert : public NSObject { +} + +interface RCTCxxMethod : public NSObject { + public virtual instancetype initWithCxxMethod:(const facebook::xplat::module::CxxModule::Method& cxxMethod); +} + +interface RCTDataRequestHandler : public NSObject { +} + +interface RCTDebuggingOverlay : public RCTView { + public virtual void clearElementsHighlights(); + public virtual void highlightElements:(NSArray* rectangles); + public virtual void highlightTraceUpdates:(NSArray* updates); +} + +interface RCTDebuggingOverlayComponentView : public RCTViewComponentView { +} + +interface RCTDebuggingOverlayManager : public RCTViewManager { +} + +interface RCTDecayAnimation : public NSObject { +} + +interface RCTDefaultReactNativeFactoryDelegate : public UIResponder { +} + +interface RCTDevLoadingView : public NSObject { +} + +interface RCTDevMenu : public NSObject { + public @property (assign) BOOL devMenuEnabled; + public @property (assign) BOOL hotLoadingEnabled; + public @property (assign) BOOL hotkeysEnabled; + public @property (assign) BOOL keyboardShortcutsEnabled; + public @property (assign) BOOL profilingEnabled; + public @property (assign) BOOL shakeToShow; + public @property (copy, readonly) NSArray* presentedItems; + public virtual BOOL isActionSheetShown(); + public virtual void addItem:(RCTDevMenuItem* item); + public virtual void addItem:handler:(NSString* title, void(^)(void) handler); + public virtual void disableReloadCommand(); + public virtual void reload(); + public virtual void show(); +} + +interface RCTDevMenuConfiguration : public NSObject { + public virtual static instancetype defaultConfiguration(); +} + +interface RCTDevMenuConfigurationDecorator : public NSObject { +} + +interface RCTDevMenuItem : public NSObject { + public @property (assign) BOOL disabled; + public virtual static instancetype buttonItemWithTitle:handler:(NSString* title, dispatch_block_t handler); + public virtual static instancetype buttonItemWithTitleBlock:handler:(RCTDevMenuItemTitleBlock titleBlock, dispatch_block_t handler); +} + +interface RCTDevSettings : public RCTEventEmitter { + public @property (assign) BOOL isHotLoadingEnabled; + public @property (assign) BOOL isPerfMonitorShown; + public @property (assign) BOOL isProfilingEnabled; + public @property (assign) BOOL isShakeGestureEnabled; + public @property (assign) BOOL isShakeToShowDevMenuEnabled; + public @property (assign) BOOL startSamplingProfilerOnLaunch; + public @property (assign, readonly) BOOL isDeviceDebuggingAvailable; + public @property (assign, readonly) BOOL isElementInspectorShown; + public @property (assign, readonly) BOOL isHotLoadingAvailable; + public virtual instancetype initWithDataSource:(id dataSource); + public virtual void setupHMRClientWithAdditionalBundleURL:(NSURL* bundleURL); + public virtual void setupHMRClientWithBundleURL:(NSURL* bundleURL); + public virtual void toggleElementInspector(); +} + +interface RCTDevSupportHttpHeaders : public NSObject { + public virtual NSDictionary* allHeaders(); + public virtual static instancetype sharedInstance(); + public virtual void addRequestHeader:value:(NSString* name, NSString* value); + public virtual void applyHeadersToRequest:(NSMutableURLRequest* request); + public virtual void removeRequestHeader:(NSString* name); +} + +interface RCTDevToolsRuntimeSettingsModule : public NSObject { +} + +interface RCTDeviceInfo : public NSObject { + public virtual instancetype initWithDimensionsProvider:(NSDictionary*(^)(void) dimensionsProvider); +} + +interface RCTDiffClampAnimatedNode : public RCTValueAnimatedNode { +} + +interface RCTDisplayLink : public NSObject { + public virtual instancetype init(); + public virtual void addToRunLoop:(NSRunLoop* runLoop); + public virtual void invalidate(); + public virtual void registerModuleForFrameUpdates:withModuleHolder:(id module, id moduleHolder); +} + +interface RCTDisplayWeakRefreshable : public NSObject { + public @property (weak) id refreshable; + public virtual static CADisplayLink* displayLinkWithWeakRefreshable:(id refreshable); +} + +interface RCTDivisionAnimatedNode : public RCTValueAnimatedNode { +} + +interface RCTEnhancedScrollView : public UIScrollView { + public @property (assign) BOOL centerContent; + public @property (assign) BOOL disableIntervalMomentum; + public @property (assign) BOOL pinchGestureEnabled; + public @property (assign) BOOL snapToEnd; + public @property (assign) BOOL snapToStart; + public @property (assign) CGFloat snapToInterval; + public @property (copy) NSArray* snapToOffsets; + public @property (copy) NSString* snapToAlignment; + public @property (strong, readonly) RCTGenericDelegateSplitter>* delegateSplitter; + public @property (weak) id overridingDelegate; + public virtual void preserveContentOffsetWithBlock:(void(^)() block); +} + +interface RCTErrorInfo : public NSObject { + public @property (copy, readonly) NSArray* stack; + public @property (copy, readonly) NSString* errorMessage; + public virtual instancetype initWithErrorMessage:stack:(NSString* errorMessage, NSArray* stack); +} + +interface RCTEventAnimation : public NSObject { + public @property (weak, readonly) RCTValueAnimatedNode* valueNode; + public virtual instancetype initWithEventPath:valueNode:(NSArray* eventPath, RCTValueAnimatedNode* valueNode); + public virtual void updateWithEvent:(id event); +} + +interface RCTEventDispatcher : public NSObject { +} + +interface RCTEventEmitter : public NSObject { + public @property (weak) RCTBridge* bridge; + public @property (weak) RCTModuleRegistry* moduleRegistry; + public @property (weak) RCTViewRegistry* viewRegistry_DEPRECATED; + public virtual NSArray* supportedEvents(); + public virtual instancetype initWithDisabledObservation(); + public virtual void addListener:(NSString* eventName); + public virtual void invalidate(); + public virtual void removeListeners:(double count); + public virtual void sendEventWithName:body:(NSString* name, id body); + public virtual void startObserving(); + public virtual void stopObserving(); +} + +interface RCTExceptionsManager : public NSObject { + public @property (assign) NSUInteger maxReloadAttempts; + public @property (weak) id delegate; + public virtual instancetype initWithDelegate:(id delegate); + public virtual void reportFatalException:stack:exceptionId:(_Nullable NSString* message, _Nullable NSArray* stack, double exceptionId); + public virtual void reportJsException:stack:exceptionId:isFatal:(_Nullable NSString* message, _Nullable NSArray* stack, double exceptionId, bool isFatal); + public virtual void reportSoftException:stack:exceptionId:(_Nullable NSString* message, _Nullable NSArray* stack, double exceptionId); +} + +interface RCTFabricModalHostViewController : public UIViewController { + public @property (assign) UIInterfaceOrientationMask supportedInterfaceOrientations; + public @property (weak) id delegate; +} + +interface RCTFabricSurface : public NSObject { + public @property (assign, readonly) CGPoint viewportOffset; + public @property (assign, readonly) CGSize intrinsicSize; + public @property (assign, readonly) CGSize maximumSize; + public @property (assign, readonly) CGSize minimumSize; + public virtual BOOL synchronouslyWaitFor:(NSTimeInterval timeout); + public virtual CGSize sizeThatFitsMinimumSize:maximumSize:(CGSize minimumSize, CGSize maximumSize); + public virtual RCTSurfaceView* view(); + public virtual instancetype initWithSurfacePresenter:moduleName:initialProperties:(RCTSurfacePresenter* surfacePresenter, NSString* moduleName, NSDictionary* initialProperties); + public virtual void resetWithSurfacePresenter:(RCTSurfacePresenter* surfacePresenter); + public virtual void setSize:(CGSize size); +} + +interface RCTFileReaderModule : public NSObject { +} + +interface RCTFileRequestHandler : public NSObject { +} + +interface RCTFont : public NSObject { + public virtual static UIFont* updateFont:withFamily:(UIFont* font, NSString* family); + public virtual static UIFont* updateFont:withFamily:size:weight:style:variant:scaleMultiplier:(UIFont* font, NSString* family, NSNumber* size, NSString* weight, NSString* style, NSArray* variant, CGFloat scaleMultiplier); + public virtual static UIFont* updateFont:withSize:(UIFont* font, NSNumber* size); + public virtual static UIFont* updateFont:withStyle:(UIFont* font, NSString* style); + public virtual static UIFont* updateFont:withWeight:(UIFont* font, NSString* weight); +} + +interface RCTFrameAnimation : public NSObject { +} + +interface RCTFrameTimingsObserver : public NSObject { + public virtual instancetype initWithScreenshotsEnabled:callback:(BOOL screenshotsEnabled, RCTFrameTimingCallback callback); + public virtual void start(); + public virtual void stop(); +} + +interface RCTFrameUpdate : public NSObject { + public @property (assign, readonly) NSTimeInterval deltaTime; + public @property (assign, readonly) NSTimeInterval timestamp; + public virtual instancetype initWithDisplayLink:(CADisplayLink* displayLink); +} + +interface RCTGIFImageDecoder : public NSObject { +} + +interface RCTGenericDelegateSplitter : public NSObject { + public @property (copy) void(^delegateUpdateBlock)(DelegateT _Nullable delegate); + public virtual instancetype initWithDelegateUpdateBlock:(void(^)(DelegateT _Nullable delegate) block); + public virtual void addDelegate:(DelegateT delegate); + public virtual void removeAllDelegates(); + public virtual void removeDelegate:(DelegateT delegate); +} + +interface RCTGradientUtils : public NSObject { + public virtual static std::pair pointsForCAGradientLayerLinearGradient:endPoint:bounds:(CGPoint startPoint, CGPoint endPoint, CGSize bounds); + public virtual static std::vector getFixedColorStops:gradientLineLength:(const std::vector& colorStops, CGFloat gradientLineLength); + public virtual static void getColors:andLocations:fromColorStops:(NSMutableArray* colors, NSMutableArray* locations, const std::vector& colorStops); +} + +interface RCTHTTPRequestHandler : public NSObject { +} + +interface RCTHost : public NSObject { + public @property (assign, readonly) RCTModuleRegistry* moduleRegistry; + public @property (assign, readonly) RCTSurfacePresenter* surfacePresenter; + public @property (weak) id runtimeDelegate; + public virtual RCTFabricSurface* createSurfaceWithModuleName:initialProperties:(NSString* moduleName, NSDictionary* properties); + public virtual RCTFabricSurface* createSurfaceWithModuleName:mode:initialProperties:(NSString* moduleName, facebook::react::DisplayMode displayMode, NSDictionary* properties); + public virtual instancetype initWithBundleURL:hostDelegate:turboModuleManagerDelegate:jsEngineProvider:launchOptions:(NSURL* bundleURL, id hostDelegate, id turboModuleManagerDelegate, RCTHostJSEngineProvider jsEngineProvider, _Nullable NSDictionary* launchOptions); + public virtual instancetype initWithBundleURLProvider:hostDelegate:turboModuleManagerDelegate:jsEngineProvider:launchOptions:(RCTHostBundleURLProvider provider, id hostDelegate, id turboModuleManagerDelegate, RCTHostJSEngineProvider jsEngineProvider, _Nullable NSDictionary* launchOptions); + public virtual instancetype initWithBundleURLProvider:hostDelegate:turboModuleManagerDelegate:jsEngineProvider:launchOptions:bundleConfiguration:devMenuConfiguration:(RCTHostBundleURLProvider provider, id hostDelegate, id turboModuleManagerDelegate, RCTHostJSEngineProvider jsEngineProvider, _Nullable NSDictionary* launchOptions, RCTBundleConfiguration* bundleConfiguration, RCTDevMenuConfiguration* devMenuConfiguration); + public virtual void callFunctionOnJSModule:method:args:(NSString* moduleName, NSString* method, NSArray* args); + public virtual void start(); +} + +interface RCTI18nManager : public NSObject { +} + +interface RCTI18nUtil : public NSObject { + public virtual BOOL doLeftAndRightSwapInRTL(); + public virtual BOOL isRTL(); + public virtual BOOL isRTLAllowed(); + public virtual BOOL isRTLForced(); + public virtual static instancetype sharedInstance(); + public virtual void allowRTL:(BOOL value); + public virtual void forceRTL:(BOOL value); + public virtual void swapLeftAndRightInRTL:(BOOL value); +} + +interface RCTImageCache : public NSObject { + protected void RCTSetImageCacheLimits(NSUInteger maxCacheableDecodedImageSizeInBytes, NSUInteger imageCacheTotalCostLimit); +} + +interface RCTImageComponentView : public RCTViewComponentView { + protected RCTUIImageViewAnimated* _imageView; +} + +interface RCTImageEditingManager : public NSObject { +} + +interface RCTImageLoader : public NSObject { + public virtual instancetype init(); + public virtual instancetype initWithRedirectDelegate:(id redirectDelegate); + public virtual instancetype initWithRedirectDelegate:loadersProvider:decodersProvider:(id redirectDelegate, NSArray>*(^)(RCTModuleRegistry*) getLoaders, NSArray>*(^)(RCTModuleRegistry*) getDecoders); +} + +interface RCTImageManager : public NSObject { + public virtual facebook::react::ImageRequest requestImage:surfaceId:(facebook::react::ImageSource imageSource, facebook::react::SurfaceId surfaceId); + public virtual instancetype initWithImageLoader:(id imageLoader); +} + +interface RCTImageShadowView : public RCTShadowView { +} + +interface RCTImageSource : public NSObject { + public @property (assign, readonly) CGFloat scale; + public @property (assign, readonly) CGSize size; + public @property (copy, readonly) NSURLRequest* request; + public virtual instancetype imageSourceWithSize:scale:(CGSize size, CGFloat scale); + public virtual instancetype initWithURLRequest:size:scale:(NSURLRequest* request, CGSize size, CGFloat scale); +} + +interface RCTImageStoreManager : public NSObject { + public virtual void getImageDataForTag:withBlock:(NSString* imageTag, void(^)(NSData* imageData) block); + public virtual void removeImageForTag:withBlock:(NSString* imageTag, void(^)(void) block); + public virtual void storeImage:withBlock:(UIImage* image, void(^)(NSString* imageTag) block); + public virtual void storeImageData:withBlock:(NSData* imageData, void(^)(NSString* imageTag) block); +} + +interface RCTImageURLLoaderRequest : public NSObject { + public @property (copy, readonly) RCTImageLoaderCancellationBlock cancellationBlock; + public @property (strong, readonly) NSString* requestId; + public @property (strong, readonly) NSURL* imageURL; + public virtual instancetype initWithRequestId:imageURL:cancellationBlock:(NSString* requestId, NSURL* imageURL, RCTImageLoaderCancellationBlock cancellationBlock); + public virtual void cancel(); +} + +interface RCTImageView : public RCTView { + public @property (assign) CGFloat blurRadius; + public @property (assign) RCTResizeMode resizeMode; + public @property (assign) UIEdgeInsets capInsets; + public @property (assign) UIImageRenderingMode renderingMode; + public @property (copy) NSArray* imageSources; + public @property (copy) NSString* internal_analyticTag; + public @property (strong) UIImage* defaultImage; + public virtual instancetype initWithBridge:(RCTBridge* bridge); +} + +interface RCTImageViewManager : public RCTViewManager { +} + +interface RCTInputAccessoryComponentView : public RCTViewComponentView { +} + +interface RCTInputAccessoryContentView : public UIView { +} + +interface RCTInputAccessoryShadowView : public RCTShadowView { +} + +interface RCTInputAccessoryView : public UIView { + public virtual instancetype initWithBridge:(RCTBridge* bridge); +} + +interface RCTInputAccessoryViewContent : public UIView { +} + +interface RCTInputAccessoryViewManager : public RCTViewManager { +} + +interface RCTInspectorNetworkHelper : public NSObject { + public virtual instancetype init(); + public virtual void loadNetworkResourceWithParams:executor:(const RCTInspectorLoadNetworkResourceRequest& params, RCTInspectorNetworkExecutor executor); +} + +interface RCTInspectorNetworkReporter : public NSObject { + public virtual static void maybeStoreResponseBody:data:base64Encoded:(NSString* requestId, NSData* data, bool base64Encoded); + public virtual static void maybeStoreResponseBodyIncremental:data:(NSString* requestId, NSString* data); + public virtual static void reportConnectionTiming:request:(NSString* requestId, NSURLRequest* request); + public virtual static void reportDataReceived:data:(NSString* requestId, NSData* data); + public virtual static void reportRequestFailed:cancelled:(NSString* requestId, BOOL cancelled); + public virtual static void reportRequestStart:request:encodedDataLength:(NSString* requestId, NSURLRequest* request, int encodedDataLength); + public virtual static void reportResponseEnd:encodedDataLength:(NSString* requestId, int encodedDataLength); + public virtual static void reportResponseStart:response:statusCode:headers:(NSString* requestId, NSURLResponse* response, int statusCode, NSDictionary* headers); +} + +interface RCTInspectorUtils : public NSObject { + public virtual static CommonHostMetadata* getHostMetadata(); +} + +interface RCTInstance : public NSObject { + public @property (strong, readonly) RCTSurfacePresenter* surfacePresenter; + public virtual instancetype initWithDelegate:jsRuntimeFactory:bundleManager:turboModuleManagerDelegate:moduleRegistry:parentInspectorTarget:launchOptions:(id delegate, std::shared_ptr jsRuntimeFactory, RCTBundleManager* bundleManager, id turboModuleManagerDelegate, RCTModuleRegistry* moduleRegistry, facebook::react::jsinspector_modern::HostTarget* parentInspectorTarget, _Nullable NSDictionary* launchOptions); + public virtual instancetype initWithDelegate:jsRuntimeFactory:bundleManager:turboModuleManagerDelegate:moduleRegistry:parentInspectorTarget:launchOptions:devMenuConfiguration:(id delegate, std::shared_ptr jsRuntimeFactory, RCTBundleManager* bundleManager, id turboModuleManagerDelegate, RCTModuleRegistry* moduleRegistry, facebook::react::jsinspector_modern::HostTarget* parentInspectorTarget, _Nullable NSDictionary* launchOptions, RCTDevMenuConfiguration* _Nullable devMenuConfiguration); + public virtual void callFunctionOnBufferedRuntimeExecutor:(std::function&& executor); + public virtual void callFunctionOnJSModule:method:args:(NSString* moduleName, NSString* method, NSArray* args); + public virtual void invalidate(); + public virtual void registerSegmentWithId:path:(NSNumber* segmentId, NSString* path); +} + +interface RCTInterpolationAnimatedNode : public RCTValueAnimatedNode { +} + +interface RCTJSStackFrame : public NSObject { + public @property (assign, readonly) BOOL collapse; + public @property (assign, readonly) NSInteger column; + public @property (assign, readonly) NSInteger lineNumber; + public @property (copy, readonly) NSString* file; + public @property (copy, readonly) NSString* methodName; + public virtual NSDictionary* toDictionary(); + public virtual instancetype initWithMethodName:file:lineNumber:column:collapse:(NSString* methodName, NSString* file, NSInteger lineNumber, NSInteger column, BOOL collapse); + public virtual static NSArray* stackFramesWithDictionaries:(NSArray* dicts); + public virtual static NSArray* stackFramesWithLines:(NSString* lines); + public virtual static instancetype stackFrameWithDictionary:(NSDictionary* dict); + public virtual static instancetype stackFrameWithLine:(NSString* line); +} + +interface RCTJSThreadManager : public NSObject { + public virtual std::shared_ptr jsMessageThread(); + public virtual void dispatchToJSThread:(dispatch_block_t block); +} + +interface RCTJSTimerExecutor : public NSObject { + public virtual void setTimerManager:(std::weak_ptr timerManager); +} + +interface RCTJavaScriptLoader : public NSObject { + public virtual static NSData* attemptSynchronousLoadOfBundleAtURL:sourceLength:error:(NSURL* scriptURL, int64_t* sourceLength, NSError** error); + public virtual static void loadBundleAtURL:onProgress:onComplete:(NSURL* scriptURL, RCTSourceLoadProgressBlock onProgress, RCTSourceLoadBlock onComplete); +} + +interface RCTKeyCommands : public NSObject { + public virtual BOOL isKeyCommandRegisteredForInput:modifierFlags:(NSString* input, UIKeyModifierFlags flags); + public virtual static instancetype sharedInstance(); + public virtual void registerKeyCommandWithInput:modifierFlags:action:(NSString* input, UIKeyModifierFlags flags, void(^)(UIKeyCommand* command) block); + public virtual void unregisterKeyCommandWithInput:modifierFlags:(NSString* input, UIKeyModifierFlags flags); +} + +interface RCTKeyboardObserver : public RCTEventEmitter { +} + +interface RCTLayoutAnimation : public NSObject { + public @property (assign, readonly) CGFloat initialVelocity; + public @property (assign, readonly) CGFloat springDamping; + public @property (assign, readonly) NSTimeInterval delay; + public @property (assign, readonly) NSTimeInterval duration; + public @property (assign, readonly) RCTAnimationType animationType; + public @property (copy, readonly) NSString* property; + public virtual instancetype initWithDuration:config:(NSTimeInterval duration, NSDictionary* config); + public virtual instancetype initWithDuration:delay:property:springDamping:initialVelocity:animationType:(NSTimeInterval duration, NSTimeInterval delay, NSString* property, CGFloat springDamping, CGFloat initialVelocity, RCTAnimationType animationType); + public virtual static void initializeStatics(); + public virtual void performAnimations:withCompletionBlock:(void(^)(void) animations, void(^)(BOOL completed) completionBlock); +} + +interface RCTLayoutAnimationGroup : public NSObject { + public @property (assign, readonly) RCTLayoutAnimation* creatingLayoutAnimation; + public @property (assign, readonly) RCTLayoutAnimation* deletingLayoutAnimation; + public @property (assign, readonly) RCTLayoutAnimation* updatingLayoutAnimation; + public @property (copy) RCTResponseSenderBlock callback; + public virtual instancetype initWithConfig:callback:(NSDictionary* config, RCTResponseSenderBlock callback); + public virtual instancetype initWithCreatingLayoutAnimation:updatingLayoutAnimation:deletingLayoutAnimation:callback:(RCTLayoutAnimation* creatingLayoutAnimation, RCTLayoutAnimation* updatingLayoutAnimation, RCTLayoutAnimation* deletingLayoutAnimation, RCTResponseSenderBlock callback); +} + +interface RCTLegacyViewManagerInteropComponentView : public RCTViewComponentView { + public virtual UIView* paperView(); + public virtual static BOOL isSupported:(NSString* componentName); + public virtual static void supportLegacyViewManagerWithName:(NSString* componentName); + public virtual static void supportLegacyViewManagersWithPrefix:(NSString* prefix); +} + +interface RCTLegacyViewManagerInteropCoordinator : public NSObject { + public virtual NSString* componentViewName(); + public virtual UIView* createPaperViewWithTag:(NSInteger tag); + public virtual instancetype initWithComponentData:bridge:bridgeProxy:bridgelessInteropData:(RCTComponentData* componentData, _Nullable RCTBridge* bridge, _Nullable RCTBridgeProxy* bridgeProxy, RCTBridgeModuleDecorator* bridgelessInteropData); + public virtual void addObserveForTag:usingBlock:(NSInteger tag, InterceptorBlock block); + public virtual void handleCommand:args:reactTag:paperView:(NSString* commandName, NSArray* args, NSInteger tag, UIView* paperView); + public virtual void removeObserveForTag:(NSInteger tag); + public virtual void setProps:forView:(NSDictionary* props, UIView* view); +} + +interface RCTLegacyViewManagerInteropCoordinatorAdapter : public NSObject { + public @property (copy) void(^eventInterceptor)(std::string eventName, folly::dynamic&& event); + public @property (strong) UIView* paperView; + public virtual instancetype initWithCoordinator:reactTag:(RCTLegacyViewManagerInteropCoordinator* coordinator, NSInteger tag); + public virtual void handleCommand:args:(NSString* commandName, NSArray* args); + public virtual void setProps:(const folly::dynamic& props); +} + +interface RCTLinearGradient : public NSObject { + public virtual static CALayer* gradientLayerWithSize:gradient:(CGSize size, const facebook::react::LinearGradient& gradient); +} + +interface RCTLinkingManager : public RCTEventEmitter { + public virtual static BOOL application:continueUserActivity:restorationHandler:(_Nonnull UIApplication* application, _Nonnull NSUserActivity* userActivity, _Nonnull void(^)(NSArray>* _Nullable) restorationHandler); + public virtual static BOOL application:openURL:options:(_Nonnull UIApplication* app, _Nonnull NSURL* URL, _Nonnull NSDictionary* options); + public virtual static BOOL application:openURL:sourceApplication:annotation:(_Nonnull UIApplication* application, _Nonnull NSURL* URL, _Nullable NSString* sourceApplication, _Nonnull id annotation); +} + +interface RCTLoadingProgress : public NSObject { + public @property (copy) NSString* status; + public @property (strong) NSNumber* done; + public @property (strong) NSNumber* percent; + public @property (strong) NSNumber* total; +} + +interface RCTLocalAssetImageLoader { +} + +interface RCTLocalizationProvider : public NSObject { + public virtual static NSString* RCTLocalizedString:withDescription:(NSString* oldString, NSString* description); +} + +interface RCTLogBox : public NSObject { +} + +interface RCTLogBoxView : public UIWindow { + public virtual instancetype initWithFrame:(CGRect frame); + public virtual instancetype initWithWindow:bridge:(UIWindow* window, RCTBridge* bridge); + public virtual instancetype initWithWindow:surfacePresenter:(UIWindow* window, id surfacePresenter); + public virtual void createRootViewController:(UIView* view); + public virtual void show(); +} + +interface RCTManagedPointer : public NSObject { + public @property (assign, readonly) void* voidPointer; + public virtual instancetype initWithPointer:(std::shared_ptr pointer); +} + +interface RCTMethodArgument : public NSObject { + public @property (assign, readonly) BOOL unused; + public @property (assign, readonly) RCTNullability nullability; + public @property (copy, readonly) NSString* type; +} + +interface RCTModalHostView : public UIView { + public @property (assign) BOOL allowSwipeDismissal; + public @property (assign) BOOL animated; + public @property (assign) BOOL hardwareAccelerated; + public @property (assign) BOOL statusBarTranslucent; + public @property (assign) BOOL transparent; + public @property (assign) BOOL visible; + public @property (assign) UIModalPresentationStyle presentationStyle; + public @property (copy) NSArray* supportedOrientations; + public @property (copy) NSNumber* identifier; + public @property (copy) NSString* animationType; + public @property (copy) RCTDirectEventBlock onDismiss; + public @property (copy) RCTDirectEventBlock onOrientationChange; + public @property (copy) RCTDirectEventBlock onShow; + public @property (weak) id delegate; + public virtual instancetype initWithBridge:(RCTBridge* bridge); +} + +interface RCTModalHostViewComponentView : public RCTViewComponentView { + public virtual void dismissViewController:animated:completion:(UIViewController* modalViewController, BOOL animated, void(^)(void) completion); + public virtual void presentViewController:animated:completion:(UIViewController* modalViewController, BOOL animated, void(^)(void) completion); +} + +interface RCTModalHostViewController : public UIViewController { + public @property (assign) UIInterfaceOrientationMask supportedInterfaceOrientations; + public @property (copy) void(^boundsDidChangeBlock)(CGRect newBounds); +} + +interface RCTModalHostViewManager : public RCTViewManager { + public @property (strong) RCTModalViewInteractionBlock dismissalBlock; + public @property (strong) RCTModalViewInteractionBlock presentationBlock; +} + +interface RCTModalManager : public RCTEventEmitter { + public virtual void modalDismissed:(NSNumber* modalID); +} + +interface RCTModuleData : public NSObject { + public @property (assign) BOOL requiresMainQueueSetup; + public @property (assign, readonly) BOOL hasConstantsToExport; + public @property (assign, readonly) BOOL hasInstance; + public @property (assign, readonly) BOOL implementsBatchDidComplete; + public @property (copy, readonly) NSArray>* methods; + public @property (copy, readonly) NSDictionary>* methodsByName; + public @property (copy, readonly) NSDictionary* exportedConstants; + public @property (copy, readonly) NSString* name; + public @property (strong) id instance; + public @property (strong, readonly) Class moduleClass; + public @property (strong, readonly) dispatch_queue_t methodQueue; + public @property (weak) id callInvokerProvider; + public virtual instancetype initWithModuleClass:bridge:moduleRegistry:viewRegistry_DEPRECATED:bundleManager:callableJSModules:(Class moduleClass, RCTBridge* bridge, RCTModuleRegistry* moduleRegistry, RCTViewRegistry* viewRegistry_DEPRECATED, RCTBundleManager* bundleManager, RCTCallableJSModules* callableJSModules); + public virtual instancetype initWithModuleInstance:bridge:moduleRegistry:viewRegistry_DEPRECATED:bundleManager:callableJSModules:(id instance, RCTBridge* bridge, RCTModuleRegistry* moduleRegistry, RCTViewRegistry* viewRegistry_DEPRECATED, RCTBundleManager* bundleManager, RCTCallableJSModules* callableJSModules); + public virtual void gatherConstants(); +} + +interface RCTModuleMethod : public NSObject { + public @property (assign, readonly) Class moduleClass; + public @property (assign, readonly) SEL selector; + public virtual instancetype initWithExportedMethod:moduleClass:(const RCTMethodInfo* exportMethod, Class moduleClass); +} + +interface RCTModuleProviders : public NSObject { + public virtual static NSDictionary>* moduleProviders(); +} + +interface RCTModuleRegistry : public NSObject { + public virtual BOOL moduleIsInitialized:(Class moduleClass); + public virtual id moduleForClass:(Class moduleClass); + public virtual id moduleForName:(const char* moduleName); + public virtual id moduleForName:lazilyLoadIfNecessary:(const char* moduleName, BOOL lazilyLoad); + public virtual void setBridge:(RCTBridge* bridge); + public virtual void setTurboModuleRegistry:(id turboModuleRegistry); +} + +interface RCTModulesConformingToProtocolsProvider : public NSObject { + public virtual static NSArray* URLRequestHandlerClassNames(); + public virtual static NSArray* imageDataDecoderClassNames(); + public virtual static NSArray* imageURLLoaderClassNames(); +} + +interface RCTModuloAnimatedNode : public RCTValueAnimatedNode { +} + +interface RCTMountingManager : public NSObject { + public @property (strong) RCTComponentViewRegistry* componentViewRegistry; + public @property (weak) id delegate; + public virtual void attachSurfaceToView:surfaceId:(UIView* view, facebook::react::SurfaceId surfaceId); + public virtual void detachSurfaceFromView:surfaceId:(UIView* view, facebook::react::SurfaceId surfaceId); + public virtual void dispatchCommand:commandName:args:(ReactTag reactTag, NSString* commandName, NSArray* args); + public virtual void scheduleTransaction:(std::shared_ptr mountingCoordinator); + public virtual void sendAccessibilityEvent:eventType:(ReactTag reactTag, NSString* eventType); + public virtual void setContextContainer:(std::shared_ptr contextContainer); + public virtual void setIsJSResponder:blockNativeResponder:forShadowView:(BOOL isJSResponder, BOOL blockNativeResponder, const facebook::react::ShadowView& shadowView); + public virtual void synchronouslyUpdateViewOnUIThread:changedProps:componentDescriptor:(ReactTag reactTag, folly::dynamic props, const facebook::react::ComponentDescriptor& componentDescriptor); +} + +interface RCTMultilineTextInputView : public RCTBaseTextInputView { +} + +interface RCTMultilineTextInputViewManager : public RCTBaseTextInputViewManager { +} + +interface RCTMultipartDataTask : public NSObject { + public virtual instancetype initWithURL:partHandler:progressHandler:(NSURL* url, RCTMultipartDataTaskCallback partHandler, RCTMultipartProgressCallback progressHandler); + public virtual void startTask(); +} + +interface RCTMultipartStreamReader : public NSObject { + public virtual BOOL readAllPartsWithCompletionCallback:progressCallback:(RCTMultipartCallback callback, RCTMultipartProgressCallback progressCallback); + public virtual instancetype initWithInputStream:boundary:(NSInputStream* stream, NSString* boundary); +} + +interface RCTMultiplicationAnimatedNode : public RCTValueAnimatedNode { +} + +interface RCTNativeAnimatedModule : public RCTEventEmitter { +} + +interface RCTNativeAnimatedNodesManager : public NSObject { + public virtual BOOL isNodeManagedByFabric:(NSNumber* tag); + public virtual NSSet* getTagsOfConnectedNodesFrom:andEvent:(NSNumber* tag, NSString* eventName); + public virtual _Nonnull instancetype initWithBridge:surfacePresenter:(_Nullable RCTBridge* bridge, id surfacePresenter); + public virtual void addAnimatedEventToView:eventName:eventMapping:(NSNumber* viewTag, NSString* eventName, NSDictionary* eventMapping); + public virtual void connectAnimatedNodeToView:viewTag:viewName:(NSNumber* nodeTag, NSNumber* viewTag, _Nullable NSString* viewName); + public virtual void connectAnimatedNodes:childTag:(NSNumber* parentTag, NSNumber* childTag); + public virtual void createAnimatedNode:config:(NSNumber* tag, NSDictionary* config); + public virtual void disconnectAnimatedNodeFromView:viewTag:(NSNumber* nodeTag, NSNumber* viewTag); + public virtual void disconnectAnimatedNodes:childTag:(NSNumber* parentTag, NSNumber* childTag); + public virtual void dropAnimatedNode:(NSNumber* tag); + public virtual void extractAnimatedNodeOffset:(NSNumber* nodeTag); + public virtual void flattenAnimatedNodeOffset:(NSNumber* nodeTag); + public virtual void getValue:saveCallback:(NSNumber* nodeTag, RCTResponseSenderBlock saveCallback); + public virtual void handleAnimatedEvent:(id event); + public virtual void removeAnimatedEventFromView:eventName:animatedNodeTag:(NSNumber* viewTag, NSString* eventName, NSNumber* animatedNodeTag); + public virtual void restoreDefaultValues:(NSNumber* nodeTag); + public virtual void setAnimatedNodeOffset:offset:(NSNumber* nodeTag, NSNumber* offset); + public virtual void setAnimatedNodeValue:value:(NSNumber* nodeTag, NSNumber* value); + public virtual void startAnimatingNode:nodeTag:config:endCallback:(NSNumber* animationId, NSNumber* nodeTag, NSDictionary* config, _Nullable RCTResponseSenderBlock callBack); + public virtual void startListeningToAnimatedNodeValue:valueObserver:(NSNumber* tag, id valueObserver); + public virtual void stepAnimations:(CADisplayLink* displaylink); + public virtual void stopAnimation:(NSNumber* animationId); + public virtual void stopAnimationLoop(); + public virtual void stopListeningToAnimatedNodeValue:(NSNumber* tag); + public virtual void updateAnimatedNodeConfig:config:(NSNumber* tag, NSDictionary* config); + public virtual void updateAnimations(); +} + +interface RCTNativeAnimatedTurboModule : public RCTEventEmitter { +} + +interface RCTNetworkTask : public NSObject { + public @property (assign, readonly) NSNumber* requestID; + public @property (assign, readonly) NSString* devToolsRequestId; + public @property (assign, readonly) NSURLRequest* request; + public @property (assign, readonly) NSURLResponse* response; + public @property (assign, readonly) RCTNetworkTaskStatus status; + public @property (copy) RCTURLRequestCompletionBlock completionBlock; + public @property (copy) RCTURLRequestIncrementalDataBlock incrementalDataBlock; + public @property (copy) RCTURLRequestProgressBlock downloadProgressBlock; + public @property (copy) RCTURLRequestProgressBlock uploadProgressBlock; + public @property (copy) RCTURLRequestResponseBlock responseBlock; + public @property (weak, readonly) id requestToken; + public virtual instancetype initWithDevToolsRequestId:request:handler:callbackQueue:(NSString* devToolsRequestId, NSURLRequest* request, id handler, dispatch_queue_t callbackQueue); + public virtual instancetype initWithRequest:handler:callbackQueue:(NSURLRequest* request, id handler, dispatch_queue_t callbackQueue); + public virtual void cancel(); + public virtual void start(); +} + +interface RCTNetworking : public RCTEventEmitter { + public virtual BOOL canHandleRequest:(NSURLRequest* request); + public virtual RCTNetworkTask* networkTaskWithDevToolsRequestId:request:completionBlock:(NSString* devToolsRequestId, NSURLRequest* request, RCTURLRequestCompletionBlock completionBlock); + public virtual RCTNetworkTask* networkTaskWithRequest:completionBlock:(NSURLRequest* request, RCTURLRequestCompletionBlock completionBlock); + public virtual instancetype init(); + public virtual instancetype initWithHandlersProvider:(NSArray>*(^)(RCTModuleRegistry*) getHandlers); + public virtual void addRequestHandler:(id handler); + public virtual void addResponseHandler:(id handler); + public virtual void removeRequestHandler:(id handler); + public virtual void removeResponseHandler:(id handler); +} + +interface RCTObjectAnimatedNode : public RCTAnimatedNode { + public @property (strong, readonly) id value; +} + +interface RCTParagraphComponentAccessibilityProvider : public NSObject { + public virtual BOOL isUpToDate:(facebook::react::AttributedString currentAttributedString); + public virtual NSArray* accessibilityElements(); + public virtual instancetype initWithString:layoutManager:paragraphAttributes:frame:view:(facebook::react::AttributedString attributedString, RCTTextLayoutManager* layoutManager, facebook::react::ParagraphAttributes paragraphAttributes, CGRect frame, UIView* view); +} + +interface RCTParagraphComponentView : public RCTViewComponentView { + public @property (assign, readonly) NSAttributedString* attributedText; +} + +interface RCTPausedInDebuggerOverlayController : public NSObject { + public virtual void hide(); + public virtual void showWithMessage:onResume:(NSString* message, void(^)(void) onResume); +} + +interface RCTPerformanceLogger : public NSObject { + public virtual NSArray* valuesForTags(); + public virtual int64_t durationForTag:(RCTPLTag tag); + public virtual int64_t valueForTag:(RCTPLTag tag); + public virtual void addValue:forTag:(int64_t value, RCTPLTag tag); + public virtual void appendStartForTag:(RCTPLTag tag); + public virtual void appendStopForTag:(RCTPLTag tag); + public virtual void markStartForTag:(RCTPLTag tag); + public virtual void markStopForTag:(RCTPLTag tag); + public virtual void setValue:forTag:(int64_t value, RCTPLTag tag); +} + +interface RCTPlatform : public NSObject { +} + +interface RCTPropsAnimatedNode : public RCTAnimatedNode { + public virtual void connectToView:viewName:bridge:surfacePresenter:(NSNumber* viewTag, NSString* viewName, RCTBridge* bridge, id surfacePresenter); + public virtual void disconnectFromView:(NSNumber* viewTag); + public virtual void restoreDefaultValues(); +} + +interface RCTPullToRefreshViewComponentView : public RCTViewComponentView { +} + +interface RCTRadialGradient : public NSObject { + public virtual static CALayer* gradientLayerWithSize:gradient:(CGSize size, const facebook::react::RadialGradient& gradient); +} + +interface RCTRawTextShadowView : public RCTShadowView { + public @property (copy) NSString* text; +} + +interface RCTRawTextViewManager : public RCTViewManager { +} + +interface RCTReactNativeFactory : public NSObject { + public @property (assign) RCTBridge* bridge; + public @property (assign) RCTDevMenuConfiguration* devMenuConfiguration; + public @property (assign) RCTSurfacePresenterBridgeAdapter* bridgeAdapter; + public @property (strong) RCTBundleConfiguration* bundleConfiguration; + public @property (strong) RCTRootViewFactory* rootViewFactory; + public @property (weak) id delegate; + public virtual instancetype initWithDelegate:(id delegate); + public virtual instancetype initWithDelegate:releaseLevel:(id delegate, RCTReleaseLevel releaseLevel); + public virtual void startReactNativeWithModuleName:inWindow:(NSString* moduleName, UIWindow* _Nullable window); + public virtual void startReactNativeWithModuleName:inWindow:initialProperties:launchOptions:(NSString* moduleName, UIWindow* _Nullable window, NSDictionary* _Nullable initialProperties, NSDictionary* _Nullable launchOptions); + public virtual void startReactNativeWithModuleName:inWindow:launchOptions:(NSString* moduleName, UIWindow* _Nullable window, NSDictionary* _Nullable launchOptions); +} + +interface RCTReactTaggedView : public NSObject { + protected NSInteger _tag; + protected UIView* _view; + public virtual BOOL isEqual:(id other); + public virtual NSInteger tag(); + public virtual NSUInteger hash(); + public virtual _Nullable UIView* view(); + public virtual instancetype initWithView:(UIView* view); + public virtual static RCTReactTaggedView* wrap:(UIView* view); +} + +interface RCTRedBox : public NSObject { + public @property (strong) NSURL* overrideBundleURL; + public @property (strong) dispatch_block_t overrideReloadAction; + public virtual void addCustomButton:onPressHandler:(NSString* title, RCTRedBoxButtonPressHandler handler); + public virtual void dismiss(); + public virtual void registerErrorCustomizer:(id errorCustomizer); + public virtual void showError:(NSError* error); + public virtual void showErrorMessage:(NSString* message); + public virtual void showErrorMessage:withDetails:(NSString* message, NSString* details); + public virtual void showErrorMessage:withParsedStack:(NSString* message, NSArray* stack); + public virtual void showErrorMessage:withParsedStack:errorCookie:(NSString* message, NSArray* stack, int errorCookie); + public virtual void showErrorMessage:withRawStack:(NSString* message, NSString* rawStack); + public virtual void showErrorMessage:withRawStack:errorCookie:(NSString* message, NSString* rawStack, int errorCookie); + public virtual void showErrorMessage:withStack:(NSString* message, NSArray* stack); + public virtual void showErrorMessage:withStack:errorCookie:(NSString* message, NSArray* stack, int errorCookie); + public virtual void updateErrorMessage:withParsedStack:(NSString* message, NSArray* stack); + public virtual void updateErrorMessage:withParsedStack:errorCookie:(NSString* message, NSArray* stack, int errorCookie); + public virtual void updateErrorMessage:withStack:(NSString* message, NSArray* stack); + public virtual void updateErrorMessage:withStack:errorCookie:(NSString* message, NSArray* stack, int errorCookie); +} + +interface RCTRedBoxExtraDataViewController : public UIViewController { + public @property (weak) id actionDelegate; + public virtual void addExtraData:forIdentifier:(NSDictionary* data, NSString* identifier); +} + +interface RCTRefreshControl : public UIRefreshControl { + public @property (copy) NSString* title; + public @property (copy) RCTDirectEventBlock onRefresh; + public @property (weak) UIScrollView* scrollView; +} + +interface RCTRefreshControlManager : public RCTViewManager { +} + +interface RCTRootComponentView : public RCTViewComponentView { +} + +interface RCTRootContentView : public RCTView { + public @property (assign) BOOL passThroughTouches; + public @property (assign) RCTRootViewSizeFlexibility sizeFlexibility; + public @property (assign, readonly) BOOL contentHasAppeared; + public @property (assign, readonly) CGSize availableSize; + public @property (strong, readonly) RCTTouchHandler* touchHandler; + public @property (weak, readonly) RCTBridge* bridge; + public virtual instancetype initWithFrame:bridge:reactTag:sizeFlexibility:(CGRect frame, RCTBridge* bridge, NSNumber* reactTag, RCTRootViewSizeFlexibility sizeFlexibility); +} + +interface RCTRootShadowView : public RCTShadowView { + public @property (assign) CGSize availableSize; + public @property (assign) CGSize minimumSize; + public @property (assign) YGDirection baseDirection; + public virtual void layoutWithAffectedShadowViews:(NSPointerArray* affectedShadowViews); +} + +interface RCTRootView : public UIView { + public @property (assign) BOOL passThroughTouches; + public @property (assign) CGSize intrinsicContentSize; + public @property (assign) CGSize minimumSize; + public @property (assign) NSTimeInterval loadingViewFadeDelay; + public @property (assign) NSTimeInterval loadingViewFadeDuration; + public @property (assign) RCTRootViewSizeFlexibility sizeFlexibility; + public @property (copy) NSDictionary* appProperties; + public @property (copy, readonly) NSString* moduleName; + public @property (strong) UIView* loadingView; + public @property (strong, readonly) RCTBridge* bridge; + public @property (strong, readonly) UIView* contentView; + public @property (strong, readonly) UIView* view; + public @property (weak) UIViewController* reactViewController; + public @property (weak) id delegate; + public virtual instancetype initWithBridge:moduleName:initialProperties:(RCTBridge* bridge, NSString* moduleName, _Nullable NSDictionary* initialProperties); + public virtual instancetype initWithBundleURL:moduleName:initialProperties:launchOptions:(NSURL* bundleURL, NSString* moduleName, _Nullable NSDictionary* initialProperties, _Nullable NSDictionary* launchOptions); + public virtual instancetype initWithFrame:bridge:moduleName:initialProperties:(CGRect frame, RCTBridge* bridge, NSString* moduleName, _Nullable NSDictionary* initialProperties); + public virtual void contentViewInvalidated(); +} + +interface RCTRootViewFactory : public NSObject { + public @property (strong) RCTBridge* bridge; + public @property (strong) RCTHost* reactHost; + public @property (strong) RCTSurfacePresenterBridgeAdapter* bridgeAdapter; + public virtual RCTHost* createReactHost:(NSDictionary* _Nullable launchOptions); + public virtual RCTHost* createReactHost:bundleConfiguration:devMenuConfiguration:(NSDictionary* _Nullable launchOptions, RCTBundleConfiguration* bundleConfiguration, RCTDevMenuConfiguration* devMenuConfiguration); + public virtual UIView* _Nonnull viewWithModuleName:(NSString* moduleName); + public virtual UIView* _Nonnull viewWithModuleName:initialProperties:(NSString* moduleName, NSDictionary* _Nullable initialProperties); + public virtual UIView* _Nonnull viewWithModuleName:initialProperties:launchOptions:(NSString* moduleName, NSDictionary* _Nullable initialProperties, NSDictionary* _Nullable launchOptions); + public virtual UIView* _Nonnull viewWithModuleName:initialProperties:launchOptions:bundleConfiguration:devMenuConfiguration:(NSString* moduleName, NSDictionary* _Nullable initialProperties, NSDictionary* _Nullable launchOptions, RCTBundleConfiguration* bundleConfiguration, RCTDevMenuConfiguration* devMenuConfiguration); + public virtual instancetype initWithConfiguration:(RCTRootViewFactoryConfiguration* configuration); + public virtual instancetype initWithConfiguration:andTurboModuleManagerDelegate:(RCTRootViewFactoryConfiguration* configuration, id _Nullable turboModuleManagerDelegate); + public virtual instancetype initWithTurboModuleDelegate:hostDelegate:configuration:(id turboModuleManagerDelegate, id hostDelegate, RCTRootViewFactoryConfiguration* configuration); + public virtual void initializeReactHostWithLaunchOptions:bundleConfiguration:devMenuConfiguration:(NSDictionary* _Nullable launchOptions, RCTBundleConfiguration* bundleConfiguration, RCTDevMenuConfiguration* devMenuConfiguration); +} + +interface RCTRootViewFactoryConfiguration : public NSObject { + public @property (assign) RCTBridgeDidNotFindModuleBlock bridgeDidNotFindModule; + public @property (assign) RCTBundleURLBlock bundleURLBlock; + public @property (assign) RCTCreateBridgeWithDelegateBlock createBridgeWithDelegate; + public @property (assign) RCTCreateRootViewWithBridgeBlock createRootViewWithBridge; + public @property (assign) RCTCustomizeRootViewBlock customizeRootView; + public @property (assign) RCTExtraLazyModuleClassesForBridge extraLazyModuleClassesForBridge; + public @property (assign) RCTExtraModulesForBridgeBlock extraModulesForBridge; + public @property (assign) RCTLoadSourceForBridgeBlock loadSourceForBridge; + public @property (assign) RCTLoadSourceForBridgeWithProgressBlock loadSourceForBridgeWithProgress; + public @property (assign) RCTSourceURLForBridgeBlock sourceURLForBridge; + public @property (assign, readonly) BOOL bridgelessEnabled; + public @property (assign, readonly) BOOL fabricEnabled; + public @property (assign, readonly) BOOL turboModuleEnabled; + public @property (weak) id jsRuntimeConfiguratorDelegate; + public virtual instancetype initWithBundleURL:newArchEnabled:(NSURL* bundleURL, BOOL newArchEnabled); + public virtual instancetype initWithBundleURL:newArchEnabled:turboModuleEnabled:bridgelessEnabled:(NSURL* bundleURL, BOOL newArchEnabled, BOOL turboModuleEnabled, BOOL bridgelessEnabled); + public virtual instancetype initWithBundleURLBlock:newArchEnabled:(RCTBundleURLBlock bundleURLBlock, BOOL newArchEnabled); + public virtual instancetype initWithBundleURLBlock:newArchEnabled:turboModuleEnabled:bridgelessEnabled:(RCTBundleURLBlock bundleURLBlock, BOOL newArchEnabled, BOOL turboModuleEnabled, BOOL bridgelessEnabled); +} + +interface RCTSafeAreaShadowView : public RCTShadowView { +} + +interface RCTSafeAreaView : public RCTView { + public virtual instancetype initWithBridge:(RCTBridge* bridge); +} + +interface RCTSafeAreaViewComponentView : public RCTViewComponentView { +} + +interface RCTSafeAreaViewLocalData : public NSObject { + public @property (assign, readonly) UIEdgeInsets insets; + public virtual instancetype initWithInsets:(UIEdgeInsets insets); +} + +interface RCTSafeAreaViewManager : public RCTViewManager { +} + +interface RCTScheduler : public NSObject { + public @property (assign, readonly) const std::shared_ptr uiManager; + public @property (weak) id delegate; + public virtual const facebook::react::ComponentDescriptor* findComponentDescriptorByHandle_DO_NOT_USE_THIS_IS_BROKEN:(facebook::react::ComponentHandle handle); + public virtual instancetype initWithToolbox:(facebook::react::SchedulerToolbox toolbox); + public virtual void addEventListener:(const std::shared_ptr& listener); + public virtual void animationTick(); + public virtual void onAllAnimationsComplete(); + public virtual void onAnimationStarted(); + public virtual void registerSurface:(const facebook::react::SurfaceHandler& surfaceHandler); + public virtual void removeEventListener:(const std::shared_ptr& listener); + public virtual void reportMount:(facebook::react::SurfaceId surfaceId); + public virtual void setupAnimationDriver:(const facebook::react::SurfaceHandler& surfaceHandler); + public virtual void unregisterSurface:(const facebook::react::SurfaceHandler& surfaceHandler); +} + +interface RCTScrollContentShadowView : public RCTShadowView { +} + +interface RCTScrollContentView : public RCTView { +} + +interface RCTScrollContentViewManager : public RCTViewManager { +} + +interface RCTScrollEvent : public NSObject { + public virtual instancetype initWithEventName:reactTag:scrollViewContentOffset:scrollViewContentInset:scrollViewContentSize:scrollViewFrame:scrollViewZoomScale:userData:coalescingKey:(NSString* eventName, NSNumber* reactTag, CGPoint scrollViewContentOffset, UIEdgeInsets scrollViewContentInset, CGSize scrollViewContentSize, CGRect scrollViewFrame, CGFloat scrollViewZoomScale, NSDictionary* userData, uint16_t coalescingKey); +} + +interface RCTScrollView : public RCTView { + public @property (assign) BOOL DEPRECATED_sendUpdatedChildFrames; + public @property (assign) BOOL automaticallyAdjustContentInsets; + public @property (assign) BOOL automaticallyAdjustKeyboardInsets; + public @property (assign) BOOL centerContent; + public @property (assign) BOOL disableIntervalMomentum; + public @property (assign) BOOL inverted; + public @property (assign) BOOL scrollToOverflowEnabled; + public @property (assign) BOOL snapToEnd; + public @property (assign) BOOL snapToStart; + public @property (assign) CGRect firstResponderFocus; + public @property (assign) NSTimeInterval scrollEventThrottle; + public @property (assign) UIEdgeInsets contentInset; + public @property (assign) int snapToInterval; + public @property (assign, readonly) UIScrollView* scrollView; + public @property (assign, readonly) UIView* contentView; + public @property (copy) NSArray* snapToOffsets; + public @property (copy) NSDictionary* maintainVisibleContentPosition; + public @property (copy) NSString* snapToAlignment; + public @property (copy) RCTDirectEventBlock onMomentumScrollBegin; + public @property (copy) RCTDirectEventBlock onMomentumScrollEnd; + public @property (copy) RCTDirectEventBlock onScroll; + public @property (copy) RCTDirectEventBlock onScrollBeginDrag; + public @property (copy) RCTDirectEventBlock onScrollEndDrag; + public @property (copy) RCTDirectEventBlock onScrollToTop; + public @property (weak) UIView* firstResponderViewOutsideScrollView; + public virtual instancetype initWithEventDispatcher:(id eventDispatcher); +} + +interface RCTScrollViewComponentView { + protected __pad0__; + public @property (assign) CGRect firstResponderFocus; + public @property (strong, readonly) RCTGenericDelegateSplitter>* scrollViewDelegateSplitter; + public @property (strong, readonly) UIScrollView* scrollView; + public @property (strong, readonly) UIView* containerView; + public @property (weak) UIView* firstResponderViewOutsideScrollView; + public virtual static _Nullable RCTScrollViewComponentView* findScrollViewComponentViewForView:(UIView* view); +} + +interface RCTScrollViewManager : public RCTViewManager { +} + +interface RCTSettingsManager : public NSObject { + public virtual instancetype initWithUserDefaults:(NSUserDefaults* defaults); +} + +interface RCTShadowView : public NSObject { + public @property (assign) BOOL newView; + public @property (assign) CGSize intrinsicContentSize; + public @property (assign) CGSize size; + public @property (assign) RCTLayoutMetrics layoutMetrics; + public @property (assign) YGAlign alignContent; + public @property (assign) YGAlign alignItems; + public @property (assign) YGAlign alignSelf; + public @property (assign) YGDirection direction; + public @property (assign) YGDisplay display; + public @property (assign) YGFlexDirection flexDirection; + public @property (assign) YGJustify justifyContent; + public @property (assign) YGOverflow overflow; + public @property (assign) YGPositionType position; + public @property (assign) YGValue bottom; + public @property (assign) YGValue columnGap; + public @property (assign) YGValue end; + public @property (assign) YGValue flexBasis; + public @property (assign) YGValue gap; + public @property (assign) YGValue height; + public @property (assign) YGValue left; + public @property (assign) YGValue margin; + public @property (assign) YGValue marginBottom; + public @property (assign) YGValue marginEnd; + public @property (assign) YGValue marginHorizontal; + public @property (assign) YGValue marginLeft; + public @property (assign) YGValue marginRight; + public @property (assign) YGValue marginStart; + public @property (assign) YGValue marginTop; + public @property (assign) YGValue marginVertical; + public @property (assign) YGValue maxHeight; + public @property (assign) YGValue maxWidth; + public @property (assign) YGValue minHeight; + public @property (assign) YGValue minWidth; + public @property (assign) YGValue padding; + public @property (assign) YGValue paddingBottom; + public @property (assign) YGValue paddingEnd; + public @property (assign) YGValue paddingHorizontal; + public @property (assign) YGValue paddingLeft; + public @property (assign) YGValue paddingRight; + public @property (assign) YGValue paddingStart; + public @property (assign) YGValue paddingTop; + public @property (assign) YGValue paddingVertical; + public @property (assign) YGValue right; + public @property (assign) YGValue rowGap; + public @property (assign) YGValue start; + public @property (assign) YGValue top; + public @property (assign) YGValue width; + public @property (assign) YGWrap flexWrap; + public @property (assign) float aspectRatio; + public @property (assign) float borderBottomWidth; + public @property (assign) float borderEndWidth; + public @property (assign) float borderLeftWidth; + public @property (assign) float borderRightWidth; + public @property (assign) float borderStartWidth; + public @property (assign) float borderTopWidth; + public @property (assign) float borderWidth; + public @property (assign) float flex; + public @property (assign) float flexGrow; + public @property (assign) float flexShrink; + public @property (assign, readonly) YGNodeRef yogaNode; + public @property (copy) NSString* viewName; + public @property (copy) RCTDirectEventBlock onLayout; + public @property (weak, readonly) RCTRootShadowView* rootView; + public @property (weak, readonly) RCTShadowView* superview; + public virtual BOOL canHaveSubviews(); + public virtual BOOL isYogaLeafNode(); + public virtual BOOL viewIsDescendantOf:(RCTShadowView* ancestor); + public virtual CGRect measureLayoutRelativeToAncestor:(RCTShadowView* ancestor); + public virtual CGSize sizeThatFitsMinimumSize:maximumSize:(CGSize minimumSize, CGSize maximumSize); + public virtual NSArray* reactSubviews(); + public virtual RCTShadowView* reactSuperview(); + public virtual static YGConfigRef yogaConfig(); + public virtual void didSetProps:(NSArray* changedProps); + public virtual void didUpdateReactSubviews(); + public virtual void insertReactSubview:atIndex:(RCTShadowView* subview, NSInteger atIndex); + public virtual void layoutSubviewsWithContext:(RCTLayoutContext layoutContext); + public virtual void layoutWithMetrics:layoutContext:(RCTLayoutMetrics layoutMetrics, RCTLayoutContext layoutContext); + public virtual void layoutWithMinimumSize:maximumSize:layoutDirection:layoutContext:(CGSize minimumSize, CGSize maximumSize, UIUserInterfaceLayoutDirection layoutDirection, RCTLayoutContext layoutContext); + public virtual void removeReactSubview:(RCTShadowView* subview); + public virtual void setLocalData:(NSObject* localData); +} + +interface RCTSinglelineTextInputView : public RCTBaseTextInputView { +} + +interface RCTSinglelineTextInputViewManager : public RCTBaseTextInputViewManager { +} + +interface RCTSource : public NSObject { + public @property (assign, readonly) NSInteger filesChangedCount; + public @property (assign, readonly) NSUInteger length; + public @property (strong, readonly) NSData* data; + public @property (strong, readonly) NSURL* url; +} + +interface RCTSourceCode : public NSObject { +} + +interface RCTSpringAnimation : public NSObject { +} + +interface RCTStatusBarManager : public RCTEventEmitter { +} + +interface RCTStyleAnimatedNode : public RCTAnimatedNode { + public virtual NSDictionary* propsDictionary(); +} + +interface RCTSubtractionAnimatedNode : public RCTValueAnimatedNode { +} + +interface RCTSurface { + protected __pad0__; + public @property (assign, readonly) CGSize maximumSize; + public @property (assign, readonly) CGSize minimumSize; + public virtual BOOL synchronouslyWaitForStage:timeout:(RCTSurfaceStage stage, NSTimeInterval timeout); + public virtual void mountReactComponentWithBridge:moduleName:params:(RCTBridge* bridge, NSString* moduleName, NSDictionary* params); + public virtual void setSize:(CGSize size); + public virtual void unmountReactComponentWithBridge:rootViewTag:(RCTBridge* bridge, NSNumber* rootViewTag); +} + +interface RCTSurfaceHostingProxyRootView : public RCTSurfaceHostingView { + public @property (assign) BOOL passThroughTouches; + public @property (assign) CGSize minimumSize; + public @property (assign) NSTimeInterval loadingViewFadeDelay; + public @property (assign) NSTimeInterval loadingViewFadeDuration; + public @property (assign) RCTRootViewSizeFlexibility sizeFlexibility; + public @property (copy) NSDictionary* appProperties; + public @property (copy, readonly) NSString* moduleName; + public @property (strong) UIView* loadingView; + public @property (strong, readonly) RCTBridge* bridge; + public @property (strong, readonly) UIView* contentView; + public @property (strong, readonly) UIView* view; + public @property (weak) UIViewController* reactViewController; + public @property (weak) id delegate; + public virtual instancetype initWithSurface:(id surface); + public virtual void cancelTouches(); +} + +interface RCTSurfaceHostingView : public UIView { + public @property (assign) RCTSurfaceSizeMeasureMode sizeMeasureMode; + public @property (copy) RCTSurfaceHostingViewActivityIndicatorViewFactory activityIndicatorViewFactory; + public @property (strong, readonly) id surface; + public virtual instancetype initWithSurface:sizeMeasureMode:(id surface, RCTSurfaceSizeMeasureMode sizeMeasureMode); + public virtual void disableActivityIndicatorAutoHide:(BOOL disabled); +} + +interface RCTSurfacePointerHandler : public UIGestureRecognizer { + public @property (assign) CGPoint viewOriginOffset; + public virtual void attachToView:(UIView* view); + public virtual void detachFromView:(UIView* view); +} + +interface RCTSurfacePresenter : public NSObject { + public @property (assign) facebook::react::RuntimeExecutor runtimeExecutor; + public @property (assign) std::shared_ptr contextContainer; + public virtual BOOL resume(); + public virtual BOOL suspend(); + public virtual instancetype initWithContextContainer:runtimeExecutor:bridgelessBindingsExecutor:(std::shared_ptr contextContainer, facebook::react::RuntimeExecutor runtimeExecutor, std::optional bridgelessBindingsExecutor); +} + +interface RCTSurfacePresenterBridgeAdapter : public NSObject { + public @property (assign, readonly) RCTSurfacePresenter* surfacePresenter; + public @property (weak) RCTBridge* bridge; + public virtual instancetype initWithBridge:contextContainer:(RCTBridge* bridge, std::shared_ptr contextContainer); +} + +interface RCTSurfaceRegistry : public NSObject { + public virtual _Nullable RCTFabricSurface* surfaceForRootTag:(ReactTag rootTag); + public virtual void enumerateWithBlock:(RCTSurfaceEnumeratorBlock block); + public virtual void registerSurface:(RCTFabricSurface* surface); + public virtual void unregisterSurface:(RCTFabricSurface* surface); +} + +interface RCTSurfaceRootShadowView { + protected __pad0__; + protected assign; + protected readonly CGSize minimumSize; + public @property (assign) YGDirection baseDirection; + public @property (assign, readonly) CGSize intrinsicSize; + public @property (assign, readonly) CGSize maximumSize; + public @property (weak) id delegate; + public virtual void layoutWithAffectedShadowViews:(NSPointerArray* affectedShadowViews); + public virtual void setMinimumSize:maximumSize:(CGSize size, CGSize maximumSize); +} + +interface RCTSurfaceRootView : public RCTView { +} + +interface RCTSurfaceTouchHandler : public UIGestureRecognizer { + public @property (assign) CGPoint viewOriginOffset; + public virtual void attachToView:(UIView* view); + public virtual void detachFromView:(UIView* view); +} + +interface RCTSurfaceView : public UIView { + public @property (weak, readonly) id surface; + public virtual instancetype initWithSurface:(id surface); +} + +interface RCTSwiftUIContainerViewWrapper : public NSObject { + public virtual UIView* _Nullable contentView(); + public virtual UIView* _Nullable hostingView(); + public virtual void resetStyles(); + public virtual void updateBlurRadius:(NSNumber* radius); + public virtual void updateContentView:(UIView* view); + public virtual void updateContrast:(NSNumber* contrast); + public virtual void updateDropShadow:x:y:color:(NSNumber* standardDeviation, NSNumber* x, NSNumber* y, UIColor* color); + public virtual void updateGrayscale:(NSNumber* grayscale); + public virtual void updateHueRotate:(NSNumber* degrees); + public virtual void updateLayoutWithBounds:(CGRect bounds); + public virtual void updateSaturation:(NSNumber* saturation); +} + +interface RCTSwitch : public UISwitch { + public @property (assign) BOOL wasOn; + public @property (copy) RCTBubblingEventBlock onChange; +} + +interface RCTSwitchComponentView : public RCTViewComponentView { +} + +interface RCTSwitchManager : public RCTViewManager { +} + +interface RCTSyncImageManager : public NSObject { + public virtual facebook::react::ImageRequest requestImage:surfaceId:(facebook::react::ImageSource imageSource, facebook::react::SurfaceId surfaceId); + public virtual instancetype initWithImageLoader:(id imageLoader); +} + +interface RCTTextAttributes : public NSObject { + public @property (assign) BOOL allowFontScaling; + public @property (assign) BOOL isHighlighted; + public @property (assign) CGFloat fontSize; + public @property (assign) CGFloat fontSizeMultiplier; + public @property (assign) CGFloat letterSpacing; + public @property (assign) CGFloat lineHeight; + public @property (assign) CGFloat maxFontSizeMultiplier; + public @property (assign) CGFloat opacity; + public @property (assign) CGFloat textShadowRadius; + public @property (assign) CGSize textShadowOffset; + public @property (assign) NSLineBreakMode lineBreakMode; + public @property (assign) NSLineBreakStrategy lineBreakStrategy; + public @property (assign) NSTextAlignment alignment; + public @property (assign) NSUnderlineStyle textDecorationStyle; + public @property (assign) NSWritingDirection baseWritingDirection; + public @property (assign) RCTDynamicTypeRamp dynamicTypeRamp; + public @property (assign) RCTTextDecorationLineType textDecorationLine; + public @property (assign) RCTTextTransform textTransform; + public @property (assign) UIUserInterfaceLayoutDirection layoutDirection; + public @property (copy) NSArray* fontVariant; + public @property (copy) NSString* fontFamily; + public @property (copy) NSString* fontStyle; + public @property (copy) NSString* fontWeight; + public @property (strong) NSNumber* tag; + public @property (strong) UIColor* backgroundColor; + public @property (strong) UIColor* foregroundColor; + public @property (strong) UIColor* textDecorationColor; + public @property (strong) UIColor* textShadowColor; + public virtual CGFloat effectiveFontSizeMultiplier(); + public virtual NSDictionary* effectiveTextAttributes(); + public virtual NSParagraphStyle* _Nullable effectiveParagraphStyle(); + public virtual NSString* applyTextAttributesToText:(NSString* text); + public virtual UIColor* effectiveBackgroundColor(); + public virtual UIColor* effectiveForegroundColor(); + public virtual UIFont* effectiveFont(); + public virtual void applyTextAttributes:(RCTTextAttributes* textAttributes); +} + +interface RCTTextInputComponentView : public RCTViewComponentView { +} + +interface RCTTextLayoutManager : public NSObject { + public virtual facebook::react::LinesMeasurements getLinesForAttributedString:paragraphAttributes:size:(facebook::react::AttributedString attributedString, facebook::react::ParagraphAttributes paragraphAttributes, CGSize size); + public virtual facebook::react::TextMeasurement measureAttributedString:paragraphAttributes:layoutContext:layoutConstraints:(facebook::react::AttributedString attributedString, facebook::react::ParagraphAttributes paragraphAttributes, facebook::react::TextLayoutContext layoutContext, facebook::react::LayoutConstraints layoutConstraints); + public virtual facebook::react::TextMeasurement measureNSAttributedString:paragraphAttributes:layoutContext:layoutConstraints:(NSAttributedString* attributedString, facebook::react::ParagraphAttributes paragraphAttributes, facebook::react::TextLayoutContext layoutContext, facebook::react::LayoutConstraints layoutConstraints); + public virtual std::shared_ptr getEventEmitterWithAttributeString:paragraphAttributes:frame:atPoint:(facebook::react::AttributedString attributedString, facebook::react::ParagraphAttributes paragraphAttributes, CGRect frame, CGPoint point); + public virtual void drawAttributedString:paragraphAttributes:frame:drawHighlightPath:(facebook::react::AttributedString attributedString, facebook::react::ParagraphAttributes paragraphAttributes, CGRect frame, void(^)(UIBezierPath* highlightPath) block); + public virtual void getRectWithAttributedString:paragraphAttributes:enumerateAttribute:frame:usingBlock:(facebook::react::AttributedString attributedString, facebook::react::ParagraphAttributes paragraphAttributes, NSString* enumerateAttribute, CGRect frame, RCTTextLayoutFragmentEnumerationBlock block); +} + +interface RCTTextSelection : public NSObject { + public @property (assign, readonly) NSInteger end; + public @property (assign, readonly) NSInteger start; + public virtual instancetype initWithStart:end:(NSInteger start, NSInteger end); +} + +interface RCTTextShadowView : public RCTBaseTextShadowView { + public @property (assign) BOOL adjustsFontSizeToFit; + public @property (assign) CGFloat minimumFontScale; + public @property (assign) NSInteger maximumNumberOfLines; + public @property (assign) NSLineBreakMode lineBreakMode; + public @property (copy) RCTDirectEventBlock onTextLayout; + public virtual instancetype initWithBridge:(RCTBridge* bridge); + public virtual void uiManagerWillPerformMounting(); +} + +interface RCTTextView : public UIView { + public @property (assign) BOOL selectable; + public @property (assign) RCTBubblingEventBlock onClick; + public virtual void setTextStorage:contentFrame:descendantViews:(NSTextStorage* textStorage, CGRect contentFrame, NSArray* descendantViews); +} + +interface RCTTextViewManager : public RCTBaseTextViewManager { +} + +interface RCTThirdPartyComponentsProvider : public NSObject { + public virtual static NSDictionary>* thirdPartyFabricComponents(); +} + +interface RCTTiming : public NSObject { + public virtual instancetype initWithDelegate:(id delegate); + public virtual void createTimerForNextFrame:duration:jsSchedulingTime:repeats:(NSNumber* callbackID, NSTimeInterval jsDuration, _Nullable NSDate* jsSchedulingTime, BOOL repeats); + public virtual void deleteTimer:(double timerID); +} + +interface RCTTouchEvent : public NSObject { + public virtual instancetype initWithEventName:reactTag:reactTouches:changedIndexes:coalescingKey:(NSString* eventName, NSNumber* reactTag, NSArray* reactTouches, NSArray* changedIndexes, uint16_t coalescingKey); +} + +interface RCTTouchHandler : public UIGestureRecognizer { + public virtual instancetype initWithBridge:(RCTBridge* bridge); + public virtual void attachToView:(UIView* view); + public virtual void cancel(); + public virtual void detachFromView:(UIView* view); +} + +interface RCTTrackingAnimatedNode : public RCTAnimatedNode { +} + +interface RCTTransformAnimatedNode : public RCTAnimatedNode { + public virtual NSDictionary* propsDictionary(); +} + +interface RCTTurboModuleManager : public NSObject { + public virtual instancetype initWithBridge:delegate:jsInvoker:(RCTBridge* bridge, id delegate, std::shared_ptr jsInvoker); + public virtual instancetype initWithBridgeProxy:bridgeModuleDecorator:delegate:jsInvoker:(RCTBridgeProxy* bridgeProxy, RCTBridgeModuleDecorator* bridgeModuleDecorator, id delegate, std::shared_ptr jsInvoker); + public virtual instancetype initWithBridgeProxy:bridgeModuleDecorator:delegate:jsInvoker:devMenuConfigurationDecorator:(RCTBridgeProxy* bridgeProxy, RCTBridgeModuleDecorator* bridgeModuleDecorator, id delegate, std::shared_ptr jsInvoker, RCTDevMenuConfigurationDecorator* devMenuConfigurationDecorator); + public virtual void installJSBindings:(facebook::jsi::Runtime& runtime); + public virtual void invalidate(); +} + +interface RCTUIImageViewAnimated : public UIImageView { +} + +interface RCTUIManager : public NSObject { + public @property (retain, readonly) RCTUIManagerObserverCoordinator* observerCoordinator; + public virtual NSString* viewNameForReactTag:(NSNumber* reactTag); + public virtual RCTShadowView* shadowViewForReactTag:(NSNumber* reactTag); + public virtual UIView* viewForNativeID:withRootTag:(NSString* nativeID, NSNumber* rootTag); + public virtual UIView* viewForReactTag:(NSNumber* reactTag); + public virtual static UIView* JSResponder(); + public virtual void addUIBlock:(RCTViewManagerUIBlock block); + public virtual void prependUIBlock:(RCTViewManagerUIBlock block); + public virtual void registerRootView:(UIView* rootView); + public virtual void registerRootViewTag:(NSNumber* rootTag); + public virtual void rootViewForReactTag:withCompletion:(NSNumber* reactTag, void(^)(UIView* view) completion); + public virtual void setAvailableSize:forRootView:(CGSize availableSize, UIView* rootView); + public virtual void setIntrinsicContentSize:forView:(CGSize intrinsicContentSize, UIView* view); + public virtual void setLocalData:forView:(NSObject* localData, UIView* view); + public virtual void setNativeID:forView:(NSString* nativeID, UIView* view); + public virtual void setNeedsLayout(); + public virtual void setNextLayoutAnimationGroup:(RCTLayoutAnimationGroup* layoutAnimationGroup); + public virtual void setSize:forView:(CGSize size, UIView* view); + public virtual void synchronouslyUpdateViewOnUIThread:viewName:props:(NSNumber* reactTag, NSString* viewName, NSDictionary* props); +} + +interface RCTUIManagerObserverCoordinator : public NSObject { + public virtual void addObserver:(id observer); + public virtual void removeObserver:(id observer); +} + +interface RCTUITextField : public UITextField { + public @property (assign) BOOL caretHidden; + public @property (assign) BOOL contextMenuHidden; + public @property (assign) BOOL disableKeyboardShortcuts; + public @property (assign) BOOL editable; + public @property (assign) BOOL scrollEnabled; + public @property (assign) UIEdgeInsets textContainerInset; + public @property (assign, readonly) BOOL dictationRecognizing; + public @property (assign, readonly) BOOL textWasPasted; + public @property (assign, readonly) CGFloat zoomScale; + public @property (assign, readonly) CGPoint contentOffset; + public @property (assign, readonly) UIEdgeInsets contentInset; + public @property (strong) NSString* inputAccessoryViewButtonLabel; + public @property (strong) NSString* inputAccessoryViewID; + public @property (strong) UIColor* placeholderColor; + public @property (weak) id textInputDelegate; +} + +interface RCTUITextView : public UITextView { + public @property (assign) BOOL caretHidden; + public @property (assign) BOOL contextMenuHidden; + public @property (assign) BOOL disableKeyboardShortcuts; + public @property (assign) CGFloat preferredMaxLayoutWidth; + public @property (assign) UITextFieldViewMode clearButtonMode; + public @property (assign, readonly) BOOL dictationRecognizing; + public @property (assign, readonly) BOOL textWasPasted; + public @property (copy) NSString* placeholder; + public @property (strong) NSString* inputAccessoryViewButtonLabel; + public @property (strong) NSString* inputAccessoryViewID; + public @property (strong) UIColor* placeholderColor; + public @property (weak) id textInputDelegate; +} + +interface RCTUnimplementedNativeComponentView : public RCTViewComponentView { +} + +interface RCTUnimplementedViewComponentView : public RCTViewComponentView { +} + +interface RCTUnstableModulesRequiringMainQueueSetupProvider : public NSObject { + public virtual static NSArray* modules(); +} + +interface RCTUtilsUIOverride : public NSObject { + public virtual static BOOL hasPresentedViewController(); + public virtual static UIViewController* presentedViewController(); + public virtual static void setPresentedViewController:(UIViewController* presentedViewController); +} + +interface RCTValueAnimatedNode : public RCTAnimatedNode { + public @property (assign) CGFloat value; + public @property (strong, readonly) id animatedObject; + public @property (weak) id valueObserver; + public virtual void extractOffset(); + public virtual void flattenOffset(); + public virtual void setOffset:(CGFloat offset); +} + +interface RCTVibration : public NSObject { +} + +interface RCTView : public UIView { + public @property (assign) BOOL removeClippedSubviews; + public @property (assign) CGFloat borderBlockEndWidth; + public @property (assign) CGFloat borderBlockStartWidth; + public @property (assign) CGFloat borderBlockWidth; + public @property (assign) CGFloat borderBottomEndRadius; + public @property (assign) CGFloat borderBottomLeftRadius; + public @property (assign) CGFloat borderBottomRightRadius; + public @property (assign) CGFloat borderBottomStartRadius; + public @property (assign) CGFloat borderBottomWidth; + public @property (assign) CGFloat borderEndEndRadius; + public @property (assign) CGFloat borderEndStartRadius; + public @property (assign) CGFloat borderEndWidth; + public @property (assign) CGFloat borderLeftWidth; + public @property (assign) CGFloat borderRadius; + public @property (assign) CGFloat borderRightWidth; + public @property (assign) CGFloat borderStartEndRadius; + public @property (assign) CGFloat borderStartStartRadius; + public @property (assign) CGFloat borderStartWidth; + public @property (assign) CGFloat borderTopEndRadius; + public @property (assign) CGFloat borderTopLeftRadius; + public @property (assign) CGFloat borderTopRightRadius; + public @property (assign) CGFloat borderTopStartRadius; + public @property (assign) CGFloat borderTopWidth; + public @property (assign) CGFloat borderWidth; + public @property (assign) RCTBorderCurve borderCurve; + public @property (assign) RCTBorderStyle borderStyle; + public @property (assign) RCTBubblingEventBlock onClick; + public @property (assign) RCTBubblingEventBlock onGotPointerCapture; + public @property (assign) RCTBubblingEventBlock onLostPointerCapture; + public @property (assign) RCTBubblingEventBlock onPointerCancel; + public @property (assign) RCTBubblingEventBlock onPointerDown; + public @property (assign) RCTBubblingEventBlock onPointerMove; + public @property (assign) RCTBubblingEventBlock onPointerOut; + public @property (assign) RCTBubblingEventBlock onPointerOver; + public @property (assign) RCTBubblingEventBlock onPointerUp; + public @property (assign) RCTCapturingEventBlock onPointerEnter; + public @property (assign) RCTCapturingEventBlock onPointerLeave; + public @property (assign) RCTCursor cursor; + public @property (assign) RCTPointerEvents pointerEvents; + public @property (assign) UIEdgeInsets hitTestEdgeInsets; + public @property (assign) UIUserInterfaceLayoutDirection reactLayoutDirection; + public @property (copy) RCTDirectEventBlock onAccessibilityAction; + public @property (copy) RCTDirectEventBlock onAccessibilityEscape; + public @property (copy) RCTDirectEventBlock onAccessibilityTap; + public @property (copy) RCTDirectEventBlock onMagicTap; + public @property (strong) UIColor* borderBlockColor; + public @property (strong) UIColor* borderBlockEndColor; + public @property (strong) UIColor* borderBlockStartColor; + public @property (strong) UIColor* borderBottomColor; + public @property (strong) UIColor* borderColor; + public @property (strong) UIColor* borderEndColor; + public @property (strong) UIColor* borderLeftColor; + public @property (strong) UIColor* borderRightColor; + public @property (strong) UIColor* borderStartColor; + public @property (strong) UIColor* borderTopColor; + public virtual static void autoAdjustInsetsForView:withScrollView:updateOffset:(UIView* parentView, UIScrollView* scrollView, BOOL updateOffset); + public virtual void updateClippedSubviews(); +} + +interface RCTViewComponentView : public UIView { + protected facebook::react::LayoutMetrics _layoutMetrics; + protected facebook::react::SharedViewEventEmitter _eventEmitter; + protected facebook::react::SharedViewProps _props; + public @property (assign) UIEdgeInsets hitTestEdgeInsets; + public @property (strong) NSString* nativeId; + public @property (strong) UIView* contentView; + public @property (strong, readonly) NSObject* accessibilityElement; + public virtual BOOL wantsToCooptLabel(); + public virtual NSString* accessibilityLabelForCoopting(); + public virtual NSString* componentViewName_DO_NOT_USE_THIS_IS_BROKEN(); + public virtual UIView* betterHitTest:withEvent:(CGPoint point, UIEvent* event); + public virtual void finalizeUpdates:(RNComponentViewUpdateMask updateMask); + public virtual void prepareForRecycle(); + public virtual void updateEventEmitter:(const facebook::react::EventEmitter::Shared& eventEmitter); + public virtual void updateLayoutMetrics:oldLayoutMetrics:(const facebook::react::LayoutMetrics& layoutMetrics, const facebook::react::LayoutMetrics& oldLayoutMetrics); + public virtual void updateProps:oldProps:(const facebook::react::Props::Shared& props, const facebook::react::Props::Shared& oldProps); +} + +interface RCTViewManager : public NSObject { + public @property (weak) RCTBridge* bridge; + public CGFloat RCTJSONParseOnlyNumber(id json); + public virtual NSArray* customBubblingEventTypes(); + public virtual RCTShadowView* shadowView(); + public virtual UIView* view(); +} + +interface RCTViewRegistry : public NSObject { + public virtual UIView* viewForReactTag:(NSNumber* reactTag); + public virtual void addUIBlock:(RCTViewRegistryUIBlock block); + public virtual void setBridge:(RCTBridge* bridge); + public virtual void setBridgelessComponentViewProvider:(RCTBridgelessComponentViewProvider bridgelessComponentViewProvider); +} + +interface RCTVirtualTextShadowView : public RCTBaseTextShadowView { +} + +interface RCTVirtualTextView : public UIView { + public @property (assign) RCTBubblingEventBlock onClick; +} + +interface RCTVirtualTextViewManager : public RCTBaseTextViewManager { +} + +interface RCTVirtualViewComponentView : public RCTViewComponentView { + public virtual instancetype initWithFrame:(CGRect frame); +} + +interface RCTVirtualViewContainerState : public NSObject { + public virtual instancetype initWithScrollView:(RCTScrollViewComponentView* scrollView); + public virtual void onChange:(id virtualView); + public virtual void remove:(id virtualView); +} + +interface RCTWebSocketModule : public RCTEventEmitter { + public virtual void sendData:forSocketID:(NSData* data, _Nonnull NSNumber* socketID); + public virtual void setContentHandler:forSocketID:(id _Nullable handler, NSNumber* socketID); +} + +interface RCTWrapperExampleView : public UIView { +} + +interface RCTWrapperExampleViewController : public UIViewController { +} + +interface RCTWrapperReactRootViewController : public UIViewController { + public virtual instancetype initWithBridge:(RCTBridge* bridge); +} + +interface RCTWrapperReactRootViewManager : public RCTWrapperViewManager { +} + +interface RCTWrapperShadowView : public RCTShadowView { + public virtual instancetype initWithBridge:(RCTBridge* bridge); +} + +interface RCTWrapperView : public UIView { + public @property (assign, readonly) RCTWrapperMeasureBlock measureBlock; + public @property (retain) UIView* contentView; + public virtual instancetype initWithBridge:(RCTBridge* bridge); +} + +interface RCTWrapperViewController : public UIViewController { + public virtual instancetype initWithContentView:(UIView* contentView); +} + +interface RCTWrapperViewControllerHostingView : public UIView { + public @property (retain) UIViewController* contentViewController; +} + +interface RCTWrapperViewManager : public RCTViewManager { + public virtual RCTWrapperView* view(); +} + +interface TraceUpdateTuple : public NSObject { + public @property (copy, readonly) dispatch_block_t cleanupBlock; + public @property (strong, readonly) UIView* view; + public virtual instancetype initWithView:cleanupBlock:(UIView* view, dispatch_block_t cleanupBlock); +} + +interface _RCTTypedModuleConstants : public NSDictionary { + public virtual static instancetype newWithUnsafeDictionary:(NSDictionary* dictionary); +} + +protocol NativeAccessibilityInfoSpec : public RCTBridgeModule, public RCTTurboModule { + public virtual void announceForAccessibility:(NSString* announcement); + public virtual void getRecommendedTimeoutMillis:onSuccess:(double mSec, RCTResponseSenderBlock onSuccess); + public virtual void isAccessibilityServiceEnabled:(RCTResponseSenderBlock onSuccess); + public virtual void isGrayscaleEnabled:(RCTResponseSenderBlock onSuccess); + public virtual void isHighTextContrastEnabled:(RCTResponseSenderBlock onSuccess); + public virtual void isInvertColorsEnabled:(RCTResponseSenderBlock onSuccess); + public virtual void isReduceMotionEnabled:(RCTResponseSenderBlock onSuccess); + public virtual void isTouchExplorationEnabled:(RCTResponseSenderBlock onSuccess); + public virtual void setAccessibilityFocus:(double reactTag); +} + +protocol NativeAccessibilityManagerSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void announceForAccessibility:(NSString* announcement); + public virtual void announceForAccessibilityWithOptions:options:(NSString* announcement, JS::NativeAccessibilityManager::SpecAnnounceForAccessibilityWithOptionsOptions& options); + public virtual void getCurrentBoldTextState:onError:(RCTResponseSenderBlock onSuccess, RCTResponseSenderBlock onError); + public virtual void getCurrentDarkerSystemColorsState:onError:(RCTResponseSenderBlock onSuccess, RCTResponseSenderBlock onError); + public virtual void getCurrentGrayscaleState:onError:(RCTResponseSenderBlock onSuccess, RCTResponseSenderBlock onError); + public virtual void getCurrentInvertColorsState:onError:(RCTResponseSenderBlock onSuccess, RCTResponseSenderBlock onError); + public virtual void getCurrentPrefersCrossFadeTransitionsState:onError:(RCTResponseSenderBlock onSuccess, RCTResponseSenderBlock onError); + public virtual void getCurrentReduceMotionState:onError:(RCTResponseSenderBlock onSuccess, RCTResponseSenderBlock onError); + public virtual void getCurrentReduceTransparencyState:onError:(RCTResponseSenderBlock onSuccess, RCTResponseSenderBlock onError); + public virtual void getCurrentVoiceOverState:onError:(RCTResponseSenderBlock onSuccess, RCTResponseSenderBlock onError); + public virtual void setAccessibilityContentSizeMultipliers:(JS::NativeAccessibilityManager::SpecSetAccessibilityContentSizeMultipliersJSMultipliers& JSMultipliers); + public virtual void setAccessibilityFocus:(double reactTag); +} + +protocol NativeActionSheetManagerSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void dismissActionSheet(); + public virtual void showActionSheetWithOptions:callback:(JS::NativeActionSheetManager::SpecShowActionSheetWithOptionsOptions& options, RCTResponseSenderBlock callback); + public virtual void showShareActionSheetWithOptions:failureCallback:successCallback:(JS::NativeActionSheetManager::SpecShowShareActionSheetWithOptionsOptions& options, RCTResponseSenderBlock failureCallback, RCTResponseSenderBlock successCallback); +} + +protocol NativeAlertManagerSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void alertWithArgs:callback:(JS::NativeAlertManager::Args& args, RCTResponseSenderBlock callback); +} + +protocol NativeAnimatedModuleSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void addAnimatedEventToView:eventName:eventMapping:(double viewTag, NSString* eventName, JS::NativeAnimatedModule::EventMapping& eventMapping); + public virtual void addListener:(NSString* eventName); + public virtual void connectAnimatedNodeToShadowNodeFamily:shadowNode:(double nodeTag, NSDictionary* shadowNode); + public virtual void connectAnimatedNodeToView:viewTag:(double nodeTag, double viewTag); + public virtual void connectAnimatedNodes:childTag:(double parentTag, double childTag); + public virtual void createAnimatedNode:config:(double tag, NSDictionary* config); + public virtual void disconnectAnimatedNodeFromView:viewTag:(double nodeTag, double viewTag); + public virtual void disconnectAnimatedNodes:childTag:(double parentTag, double childTag); + public virtual void dropAnimatedNode:(double tag); + public virtual void extractAnimatedNodeOffset:(double nodeTag); + public virtual void finishOperationBatch(); + public virtual void flattenAnimatedNodeOffset:(double nodeTag); + public virtual void getValue:saveValueCallback:(double tag, RCTResponseSenderBlock saveValueCallback); + public virtual void queueAndExecuteBatchedOperations:(NSArray* operationsAndArgs); + public virtual void removeAnimatedEventFromView:eventName:animatedNodeTag:(double viewTag, NSString* eventName, double animatedNodeTag); + public virtual void removeListeners:(double count); + public virtual void restoreDefaultValues:(double nodeTag); + public virtual void setAnimatedNodeOffset:offset:(double nodeTag, double offset); + public virtual void setAnimatedNodeValue:value:(double nodeTag, double value); + public virtual void startAnimatingNode:nodeTag:config:endCallback:(double animationId, double nodeTag, NSDictionary* config, RCTResponseSenderBlock endCallback); + public virtual void startListeningToAnimatedNodeValue:(double tag); + public virtual void startOperationBatch(); + public virtual void stopAnimation:(double animationId); + public virtual void stopListeningToAnimatedNodeValue:(double tag); + public virtual void updateAnimatedNodeConfig:config:(double tag, NSDictionary* config); +} + +protocol NativeAnimatedTurboModuleSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void addAnimatedEventToView:eventName:eventMapping:(double viewTag, NSString* eventName, JS::NativeAnimatedTurboModule::EventMapping& eventMapping); + public virtual void addListener:(NSString* eventName); + public virtual void connectAnimatedNodeToView:viewTag:(double nodeTag, double viewTag); + public virtual void connectAnimatedNodes:childTag:(double parentTag, double childTag); + public virtual void createAnimatedNode:config:(double tag, NSDictionary* config); + public virtual void disconnectAnimatedNodeFromView:viewTag:(double nodeTag, double viewTag); + public virtual void disconnectAnimatedNodes:childTag:(double parentTag, double childTag); + public virtual void dropAnimatedNode:(double tag); + public virtual void extractAnimatedNodeOffset:(double nodeTag); + public virtual void finishOperationBatch(); + public virtual void flattenAnimatedNodeOffset:(double nodeTag); + public virtual void getValue:saveValueCallback:(double tag, RCTResponseSenderBlock saveValueCallback); + public virtual void queueAndExecuteBatchedOperations:(NSArray* operationsAndArgs); + public virtual void removeAnimatedEventFromView:eventName:animatedNodeTag:(double viewTag, NSString* eventName, double animatedNodeTag); + public virtual void removeListeners:(double count); + public virtual void restoreDefaultValues:(double nodeTag); + public virtual void setAnimatedNodeOffset:offset:(double nodeTag, double offset); + public virtual void setAnimatedNodeValue:value:(double nodeTag, double value); + public virtual void startAnimatingNode:nodeTag:config:endCallback:(double animationId, double nodeTag, NSDictionary* config, RCTResponseSenderBlock endCallback); + public virtual void startListeningToAnimatedNodeValue:(double tag); + public virtual void startOperationBatch(); + public virtual void stopAnimation:(double animationId); + public virtual void stopListeningToAnimatedNodeValue:(double tag); + public virtual void updateAnimatedNodeConfig:config:(double tag, NSDictionary* config); +} + +protocol NativeAppStateSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual facebook::react::ModuleConstants constantsToExport(); + public virtual facebook::react::ModuleConstants getConstants(); + public virtual void addListener:(NSString* eventName); + public virtual void getCurrentAppState:error:(RCTResponseSenderBlock success, RCTResponseSenderBlock error); + public virtual void removeListeners:(double count); +} + +protocol NativeAppearanceSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual NSString* _Nullable getColorScheme(); + public virtual void addListener:(NSString* eventName); + public virtual void removeListeners:(double count); + public virtual void setColorScheme:(NSString* colorScheme); +} + +protocol NativeBlobModuleSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual facebook::react::ModuleConstants constantsToExport(); + public virtual facebook::react::ModuleConstants getConstants(); + public virtual void addNetworkingHandler(); + public virtual void addWebSocketHandler:(double id); + public virtual void createFromParts:withId:(NSArray* parts, NSString* withId); + public virtual void release:(NSString* blobId); + public virtual void removeWebSocketHandler:(double id); + public virtual void sendOverSocket:socketID:(NSDictionary* blob, double socketID); +} + +protocol NativeClipboardSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void getString:reject:(RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); + public virtual void setString:(NSString* content); +} + +protocol NativeDevLoadingViewSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void hide(); + public virtual void showMessage:withColor:withBackgroundColor:withDismissButton:(NSString* message, NSNumber* withColor, NSNumber* withBackgroundColor, NSNumber* withDismissButton); +} + +protocol NativeDevMenuSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void reload(); + public virtual void setHotLoadingEnabled:(BOOL enabled); + public virtual void setProfilingEnabled:(BOOL enabled); + public virtual void show(); +} + +protocol NativeDevSettingsSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void addListener:(NSString* eventName); + public virtual void addMenuItem:(NSString* title); + public virtual void onFastRefresh(); + public virtual void openDebugger(); + public virtual void reload(); + public virtual void reloadWithReason:(NSString* reason); + public virtual void removeListeners:(double count); + public virtual void setHotLoadingEnabled:(BOOL isHotLoadingEnabled); + public virtual void setIsShakeToShowDevMenuEnabled:(BOOL enabled); + public virtual void setProfilingEnabled:(BOOL isProfilingEnabled); + public virtual void toggleElementInspector(); +} + +protocol NativeDeviceEventManagerSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void invokeDefaultBackPressHandler(); +} + +protocol NativeDeviceInfoSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual facebook::react::ModuleConstants constantsToExport(); + public virtual facebook::react::ModuleConstants getConstants(); +} + +protocol NativeExceptionsManagerSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void dismissRedbox(); + public virtual void reportException:(JS::NativeExceptionsManager::ExceptionData& data); + public virtual void reportFatalException:stack:exceptionId:(NSString* message, NSArray* stack, double exceptionId); + public virtual void reportSoftException:stack:exceptionId:(NSString* message, NSArray* stack, double exceptionId); +} + +protocol NativeFileReaderModuleSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void readAsDataURL:resolve:reject:(NSDictionary* data, RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); + public virtual void readAsText:encoding:resolve:reject:(NSDictionary* data, NSString* encoding, RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); +} + +protocol NativeFrameRateLoggerSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void beginScroll(); + public virtual void endScroll(); + public virtual void setContext:(NSString* context); + public virtual void setGlobalOptions:(JS::NativeFrameRateLogger::SpecSetGlobalOptionsOptions& options); +} + +protocol NativeHeadlessJsTaskSupportSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void notifyTaskFinished:(double taskId); + public virtual void notifyTaskRetry:resolve:reject:(double taskId, RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); +} + +protocol NativeI18nManagerSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual facebook::react::ModuleConstants constantsToExport(); + public virtual facebook::react::ModuleConstants getConstants(); + public virtual void allowRTL:(BOOL allowRTL); + public virtual void forceRTL:(BOOL forceRTL); + public virtual void swapLeftAndRightInRTL:(BOOL flipStyles); +} + +protocol NativeImageEditorSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void cropImage:cropData:successCallback:errorCallback:(NSString* uri, JS::NativeImageEditor::Options& cropData, RCTResponseSenderBlock successCallback, RCTResponseSenderBlock errorCallback); +} + +protocol NativeImageLoaderIOSSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void getSize:resolve:reject:(NSString* uri, RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); + public virtual void getSizeWithHeaders:headers:resolve:reject:(NSString* uri, NSDictionary* headers, RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); + public virtual void prefetchImage:resolve:reject:(NSString* uri, RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); + public virtual void prefetchImageWithMetadata:queryRootName:rootTag:resolve:reject:(NSString* uri, NSString* queryRootName, double rootTag, RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); + public virtual void queryCache:resolve:reject:(NSArray* uris, RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); +} + +protocol NativeImageStoreIOSSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void addImageFromBase64:successCallback:errorCallback:(NSString* base64ImageData, RCTResponseSenderBlock successCallback, RCTResponseSenderBlock errorCallback); + public virtual void getBase64ForTag:successCallback:errorCallback:(NSString* uri, RCTResponseSenderBlock successCallback, RCTResponseSenderBlock errorCallback); + public virtual void hasImageForTag:callback:(NSString* uri, RCTResponseSenderBlock callback); + public virtual void removeImageForTag:(NSString* uri); +} + +protocol NativeJSCHeapCaptureSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void captureComplete:error:(NSString* path, NSString* _Nullable error); +} + +protocol NativeKeyboardObserverSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void addListener:(NSString* eventName); + public virtual void removeListeners:(double count); +} + +protocol NativeLinkingManagerSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void addListener:(NSString* eventName); + public virtual void canOpenURL:resolve:reject:(NSString* url, RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); + public virtual void getInitialURL:reject:(RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); + public virtual void openSettings:reject:(RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); + public virtual void openURL:resolve:reject:(NSString* url, RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); + public virtual void removeListeners:(double count); +} + +protocol NativeLogBoxSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void hide(); + public virtual void show(); +} + +protocol NativeModalManagerSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void addListener:(NSString* eventName); + public virtual void removeListeners:(double count); +} + +protocol NativeNetworkingIOSSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void abortRequest:(double requestId); + public virtual void addListener:(NSString* eventName); + public virtual void clearCookies:(RCTResponseSenderBlock callback); + public virtual void removeListeners:(double count); + public virtual void sendRequest:callback:(JS::NativeNetworkingIOS::SpecSendRequestQuery& query, RCTResponseSenderBlock callback); +} + +protocol NativePlatformConstantsIOSSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual facebook::react::ModuleConstants constantsToExport(); + public virtual facebook::react::ModuleConstants getConstants(); +} + +protocol NativePushNotificationManagerIOSSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void abandonPermissions(); + public virtual void addListener:(NSString* eventType); + public virtual void cancelAllLocalNotifications(); + public virtual void cancelLocalNotifications:(NSDictionary* userInfo); + public virtual void checkPermissions:(RCTResponseSenderBlock callback); + public virtual void getApplicationIconBadgeNumber:(RCTResponseSenderBlock callback); + public virtual void getAuthorizationStatus:(RCTResponseSenderBlock callback); + public virtual void getDeliveredNotifications:(RCTResponseSenderBlock callback); + public virtual void getInitialNotification:reject:(RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); + public virtual void getScheduledLocalNotifications:(RCTResponseSenderBlock callback); + public virtual void onFinishRemoteNotification:fetchResult:(NSString* notificationId, NSString* fetchResult); + public virtual void presentLocalNotification:(JS::NativePushNotificationManagerIOS::Notification& notification); + public virtual void removeAllDeliveredNotifications(); + public virtual void removeDeliveredNotifications:(NSArray* identifiers); + public virtual void removeListeners:(double count); + public virtual void requestPermissions:resolve:reject:(JS::NativePushNotificationManagerIOS::SpecRequestPermissionsPermission& permission, RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); + public virtual void scheduleLocalNotification:(JS::NativePushNotificationManagerIOS::Notification& notification); + public virtual void setApplicationIconBadgeNumber:(double num); +} + +protocol NativeReactDevToolsRuntimeSettingsModuleSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual NSDictionary* getReloadAndProfileConfig(); + public virtual void setReloadAndProfileConfig:(JS::NativeReactDevToolsRuntimeSettingsModule::PartialReloadAndProfileConfig& config); +} + +protocol NativeReactDevToolsSettingsManagerSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual NSString* _Nullable getGlobalHookSettings(); + public virtual void setGlobalHookSettings:(NSString* settings); +} + +protocol NativeRedBoxSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void dismiss(); + public virtual void setExtraData:forIdentifier:(NSDictionary* extraData, NSString* forIdentifier); +} + +protocol NativeSegmentFetcherSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void fetchSegment:options:callback:(double segmentId, NSDictionary* options, RCTResponseSenderBlock callback); + public virtual void getSegment:options:callback:(double segmentId, NSDictionary* options, RCTResponseSenderBlock callback); +} + +protocol NativeSettingsManagerSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual facebook::react::ModuleConstants constantsToExport(); + public virtual facebook::react::ModuleConstants getConstants(); + public virtual void deleteValues:(NSArray* values); + public virtual void setValues:(NSDictionary* values); +} + +protocol NativeShareModuleSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void share:dialogTitle:resolve:reject:(JS::NativeShareModule::SpecShareContent& content, NSString* dialogTitle, RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); +} + +protocol NativeSoundManagerSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void playTouchSound(); +} + +protocol NativeSourceCodeSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual facebook::react::ModuleConstants constantsToExport(); + public virtual facebook::react::ModuleConstants getConstants(); +} + +protocol NativeStatusBarManagerIOSSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual facebook::react::ModuleConstants constantsToExport(); + public virtual facebook::react::ModuleConstants getConstants(); + public virtual void addListener:(NSString* eventType); + public virtual void getHeight:(RCTResponseSenderBlock callback); + public virtual void removeListeners:(double count); + public virtual void setHidden:withAnimation:(BOOL hidden, NSString* withAnimation); + public virtual void setNetworkActivityIndicatorVisible:(BOOL visible); + public virtual void setStyle:animated:(NSString* _Nullable statusBarStyle, BOOL animated); +} + +protocol NativeTimingSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void createTimer:duration:jsSchedulingTime:repeats:(double callbackID, double duration, double jsSchedulingTime, BOOL repeats); + public virtual void deleteTimer:(double timerID); + public virtual void setSendIdleEvents:(BOOL sendIdleEvents); +} + +protocol NativeVibrationSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void cancel(); + public virtual void vibrate:(double pattern); + public virtual void vibrateByPattern:repeat:(NSArray* pattern, double repeat); +} + +protocol NativeWebSocketModuleSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void addListener:(NSString* eventName); + public virtual void close:reason:socketID:(double code, NSString* reason, double socketID); + public virtual void connect:protocols:options:socketID:(NSString* url, NSArray* _Nullable protocols, JS::NativeWebSocketModule::SpecConnectOptions& options, double socketID); + public virtual void ping:(double socketID); + public virtual void removeListeners:(double count); + public virtual void send:forSocketID:(NSString* message, double forSocketID); + public virtual void sendBinary:forSocketID:(NSString* base64String, double forSocketID); +} + +protocol RCTActivityIndicatorViewViewProtocol : public NSObject { +} + +protocol RCTAndroidDrawerLayoutViewProtocol : public NSObject { + public virtual void closeDrawer(); + public virtual void openDrawer(); +} + +protocol RCTAndroidHorizontalScrollContentViewViewProtocol : public NSObject { +} + +protocol RCTAndroidProgressBarViewProtocol : public NSObject { +} + +protocol RCTAndroidSwipeRefreshLayoutViewProtocol : public NSObject { + public virtual void setNativeRefreshing:(BOOL value); +} + +protocol RCTAndroidSwitchViewProtocol : public NSObject { + public virtual void setNativeValue:(BOOL value); +} + +protocol RCTAnimatedImage : public NSObject { + public @property (assign, readonly) NSUInteger animatedImageFrameCount; + public @property (assign, readonly) NSUInteger animatedImageLoopCount; + public virtual NSTimeInterval animatedImageDurationAtIndex:(NSUInteger index); + public virtual _Nullable UIImage* animatedImageFrameAtIndex:(NSUInteger index); +} + +protocol RCTAnimationDriver : public NSObject { + public @property (assign, readonly) BOOL animationHasBegun; + public @property (assign, readonly) BOOL animationHasFinished; + public @property (assign, readonly) NSNumber* animationId; + public @property (assign, readonly) RCTValueAnimatedNode* valueNode; + public virtual instancetype initWithId:config:forNode:callBack:(NSNumber* animationId, NSDictionary* config, RCTValueAnimatedNode* valueNode, _Nullable RCTResponseSenderBlock callback); + public virtual void resetAnimationConfig:(NSDictionary* config); + public virtual void startAnimation(); + public virtual void stepAnimationWithTime:(NSTimeInterval currentTime); + public virtual void stopAnimation(); +} + +protocol RCTArchConfiguratorProtocol { + public virtual BOOL bridgelessEnabled(); + public virtual BOOL fabricEnabled(); + public virtual BOOL newArchEnabled(); + public virtual BOOL turboModuleEnabled(); +} + +protocol RCTAutoInsetsProtocol { + public @property (assign) BOOL automaticallyAdjustContentInsets; + public @property (assign) UIEdgeInsets contentInset; + public virtual void refreshContentInset(); +} + +protocol RCTBackedTextInputDelegate : public NSObject { + public virtual BOOL textInputShouldBeginEditing(); + public virtual BOOL textInputShouldEndEditing(); + public virtual BOOL textInputShouldReturn(); + public virtual BOOL textInputShouldSubmitOnReturn(); + public virtual NSString* textInputShouldChangeText:inRange:(NSString* text, NSRange range); + public virtual void scrollViewDidScroll:(UIScrollView* scrollView); + public virtual void textInputDidBeginEditing(); + public virtual void textInputDidChange(); + public virtual void textInputDidChangeSelection(); + public virtual void textInputDidEndEditing(); + public virtual void textInputDidReturn(); +} + +protocol RCTBackedTextInputViewProtocol : public UITextInput { + public @property (assign) BOOL caretHidden; + public @property (assign) BOOL contextMenuHidden; + public @property (assign) BOOL disableKeyboardShortcuts; + public @property (assign) BOOL editable; + public @property (assign) BOOL enablesReturnKeyAutomatically; + public @property (assign) BOOL scrollEnabled; + public @property (assign) UIDataDetectorTypes dataDetectorTypes; + public @property (assign) UIEdgeInsets textContainerInset; + public @property (assign) UITextFieldViewMode clearButtonMode; + public @property (assign, readonly) BOOL dictationRecognizing; + public @property (assign, readonly) BOOL textWasPasted; + public @property (assign, readonly) CGFloat zoomScale; + public @property (assign, readonly) CGPoint contentOffset; + public @property (assign, readonly) CGSize contentSize; + public @property (assign, readonly) UIEdgeInsets contentInset; + public @property (copy) NSAttributedString* attributedText; + public @property (copy) NSDictionary* typingAttributes; + public @property (copy) NSString* placeholder; + public @property (strong) NSArray* acceptDragAndDropTypes; + public @property (strong) NSDictionary* defaultTextAttributes; + public @property (strong) NSString* inputAccessoryViewButtonLabel; + public @property (strong) NSString* inputAccessoryViewID; + public @property (strong) UIColor* placeholderColor; + public @property (strong) UIView* inputAccessoryView; + public @property (strong) UIView* inputView; + public @property (weak) id textInputDelegate; + public virtual void scrollRangeToVisible:(NSRange selectedTextRange); + public virtual void setSelectedTextRange:notifyDelegate:(_Nullable UITextRange* selectedTextRange, BOOL notifyDelegate); +} + +protocol RCTBridgeDelegate : public NSObject { + public virtual BOOL bridge:didNotFindModule:(RCTBridge* bridge, NSString* moduleName); + public virtual NSArray>* extraModulesForBridge:(RCTBridge* bridge); + public virtual NSDictionary* extraLazyModuleClassesForBridge:(RCTBridge* bridge); + public virtual NSURL* _Nullable sourceURLForBridge:(RCTBridge* bridge); + public virtual void loadSourceForBridge:onProgress:onComplete:(RCTBridge* bridge, RCTSourceLoadProgressBlock onProgress, RCTSourceLoadBlock loadCallback); + public virtual void loadSourceForBridge:withBlock:(RCTBridge* bridge, RCTSourceLoadBlock loadCallback); +} + +protocol RCTBridgeMethod : public NSObject { + public @property (assign, readonly) RCTFunctionType functionType; + public @property (assign, readonly) const char* JSMethodName; + public virtual id invokeWithBridge:module:arguments:(RCTBridge* bridge, id module, NSArray* arguments); +} + +protocol RCTBridgeModule : public NSObject { + public @property (strong, readonly) dispatch_queue_t methodQueue; + public @property (weak) RCTBundleManager* bundleManager; + public @property (weak) RCTCallableJSModules* callableJSModules; + public @property (weak) RCTModuleRegistry* moduleRegistry; + public @property (weak) RCTViewRegistry* viewRegistry_DEPRECATED; + public @property (weak, readonly) RCTBridge* bridge; + public virtual NSArray>* methodsToExport(); + public virtual NSDictionary* constantsToExport(); + public virtual static BOOL requiresMainQueueSetup(); + public virtual static NSString* moduleName(); + public virtual void batchDidComplete(); +} + +protocol RCTCallInvokerModule : public NSObject { + public @property (assign) RCTCallInvoker* callInvoker; +} + +protocol RCTComponent : public NSObject { + public @property (copy) NSNumber* reactTag; + public @property (copy) NSNumber* rootTag; + public virtual BOOL isReactRootView(); + public virtual NSArray>* reactSubviews(); + public virtual NSNumber* reactTagAtPoint:(CGPoint point); + public virtual id reactSuperview(); + public virtual void didSetProps:(NSArray* changedProps); + public virtual void didUpdateReactSubviews(); + public virtual void insertReactSubview:atIndex:(id subview, NSInteger atIndex); + public virtual void removeReactSubview:(id subview); +} + +protocol RCTComponentViewFactoryComponentProvider : public NSObject { + public virtual NSDictionary>* thirdPartyFabricComponents(); +} + +protocol RCTComponentViewProtocol : public NSObject { + public virtual BOOL isJSResponder(); + public virtual _Nullable NSSet* propKeysManagedByAnimated_DO_NOT_USE_THIS_IS_BROKEN(); + public virtual facebook::react::Props::Shared props(); + public virtual static facebook::react::ComponentDescriptorProvider componentDescriptorProvider(); + public virtual static std::vector supplementalComponentDescriptorProviders(); + public virtual void finalizeUpdates:(RNComponentViewUpdateMask updateMask); + public virtual void handleCommand:args:(const NSString* commandName, const NSArray* args); + public virtual void invalidate(); + public virtual void mountChildComponentView:index:(UIView* childComponentView, NSInteger index); + public virtual void prepareForRecycle(); + public virtual void setIsJSResponder:(BOOL isJSResponder); + public virtual void setPropKeysManagedByAnimated_DO_NOT_USE_THIS_IS_BROKEN:(_Nullable NSSet* props); + public virtual void unmountChildComponentView:index:(UIView* childComponentView, NSInteger index); + public virtual void updateEventEmitter:(const facebook::react::EventEmitter::Shared& eventEmitter); + public virtual void updateLayoutMetrics:oldLayoutMetrics:(const facebook::react::LayoutMetrics& layoutMetrics, const facebook::react::LayoutMetrics& oldLayoutMetrics); + public virtual void updateProps:oldProps:(const facebook::react::Props::Shared& props, const facebook::react::Props::Shared& oldProps); + public virtual void updateState:oldState:(const facebook::react::State::Shared& state, const facebook::react::State::Shared& oldState); +} + +protocol RCTContextContainerHandling : public NSObject { + public virtual void didCreateContextContainer:(std::shared_ptr contextContainer); +} + +protocol RCTCustomPullToRefreshViewProtocol { +} + +protocol RCTCustomRefreshContolProtocol : public RCTCustomRefreshControlProtocol { +} + +protocol RCTCustomRefreshControlProtocol { + public @property (assign, readonly) BOOL refreshing; + public @property (copy) RCTDirectEventBlock onRefresh; + public @property (weak) UIScrollView* scrollView; +} + +protocol RCTCxxBridgeDelegate : public RCTBridgeDelegate { + public virtual std::unique_ptr jsExecutorFactoryForBridge:(RCTBridge* bridge); +} + +protocol RCTDebuggingOverlayViewProtocol : public NSObject { + public virtual void clearElementsHighlights(); + public virtual void highlightElements:(const NSArray* elements); + public virtual void highlightTraceUpdates:(const NSArray* updates); +} + +protocol RCTDependencyProvider : public NSObject { + public virtual NSArray* URLRequestHandlerClassNames(); + public virtual NSArray* imageDataDecoderClassNames(); + public virtual NSArray* imageURLLoaderClassNames(); + public virtual NSArray* unstableModulesRequiringMainQueueSetup(); + public virtual NSDictionary>* thirdPartyFabricComponents(); + public virtual _Nonnull NSDictionary>* moduleProviders(); +} + +protocol RCTDevLoadingViewProtocol : public NSObject { + public virtual static void setEnabled:(BOOL enabled); + public virtual void hide(); + public virtual void showMessage:color:backgroundColor:dismissButton:(NSString* message, UIColor* color, UIColor* backgroundColor, BOOL dismissButton); + public virtual void showWithURL:(NSURL* URL); + public virtual void updateProgress:(RCTLoadingProgress* progress); +} + +protocol RCTDevSettingsDataSource : public NSObject { + public virtual id settingForKey:(NSString* key); + public virtual void updateSettingWithValue:forKey:(id value, NSString* key); +} + +protocol RCTDevSettingsInspectable : public NSObject { + public @property (assign) BOOL isInspectable; +} + +protocol RCTDisplayLinkModuleHolder { + public virtual Class moduleClass(); + public virtual dispatch_queue_t methodQueue(); + public virtual id instance(); +} + +protocol RCTDisplayRefreshable { + public virtual void displayDidRefresh:(CADisplayLink* displayLink); +} + +protocol RCTEnhancedScrollViewOverridingDelegate : public NSObject { + public virtual BOOL touchesShouldCancelInContentView:(UIView* view); +} + +protocol RCTErrorCustomizer : public NSObject { + public virtual _Nonnull RCTErrorInfo* customizeErrorInfo:(_Nonnull RCTErrorInfo* info); +} + +protocol RCTEvent : public NSObject { + public @property (assign, readonly) uint16_t coalescingKey; + public @property (copy, readonly) NSString* eventName; + public @property (strong, readonly) NSNumber* viewTag; + public virtual BOOL canCoalesce(); + public virtual NSArray* arguments(); + public virtual id coalesceWithEvent:(id newEvent); + public virtual static NSString* moduleDotMethod(); +} + +protocol RCTEventDispatcherObserver : public NSObject { + public virtual void eventDispatcherWillDispatchEvent:(id event); +} + +protocol RCTEventDispatcherProtocol : public RCTBridgeModule, public RCTJSDispatcherModule { + public virtual void addDispatchObserver:(id observer); + public virtual void notifyObserversOfEvent:(id event); + public virtual void removeDispatchObserver:(id observer); + public virtual void sendAppEventWithName:body:(NSString* name, id body); + public virtual void sendDeviceEventWithName:body:(NSString* name, id body); + public virtual void sendEvent:(id event); + public virtual void sendTextEventWithType:reactTag:text:key:eventCount:(RCTTextEventType type, NSNumber* reactTag, NSString* text, NSString* key, NSInteger eventCount); + public virtual void sendViewEventWithName:reactTag:(NSString* name, NSNumber* reactTag); +} + +protocol RCTExceptionsManagerDelegate : public NSObject { + public virtual NSDictionary* decorateJSExceptionData:(NSDictionary* exceptionData); + public virtual void handleFatalJSExceptionWithMessage:stack:exceptionId:extraDataAsJSON:(_Nullable NSString* message, _Nullable NSArray* stack, NSNumber* exceptionId, _Nullable NSString* extraDataAsJSON); + public virtual void handleSoftJSExceptionWithMessage:stack:exceptionId:extraDataAsJSON:(_Nullable NSString* message, _Nullable NSArray* stack, NSNumber* exceptionId, _Nullable NSString* extraDataAsJSON); +} + +protocol RCTFabricModalHostViewControllerDelegate : public NSObject { + public virtual void boundsDidChange:(CGRect newBounds); +} + +protocol RCTFrameUpdateObserver : public NSObjectNSObject { + public @property (assign, readonly) BOOL paused; + public @property (copy) dispatch_block_t pauseCallback; + public virtual void didUpdateFrame:(RCTFrameUpdate* update); +} + +protocol RCTHostDelegate : public NSObject { + public virtual NSArray* unstableModulesRequiringMainQueueSetup(); + public virtual void host:didInitializeRuntime:(RCTHost* host, facebook::jsi::Runtime& runtime); + public virtual void host:didReceiveJSErrorStack:message:originalMessage:name:componentStack:exceptionId:isFatal:extraData:(RCTHost* host, NSArray*>* stack, NSString* message, NSString* _Nullable originalMessage, NSString* _Nullable name, NSString* _Nullable componentStack, NSUInteger exceptionId, BOOL isFatal, NSDictionary* extraData); + public virtual void hostDidStart:(RCTHost* host); + public virtual void loadBundleAtURL:onProgress:onComplete:(NSURL* sourceURL, RCTSourceLoadProgressBlock onProgress, RCTSourceLoadBlock loadCallback); +} + +protocol RCTHostRuntimeDelegate : public NSObject { + public virtual void host:didInitializeRuntime:(RCTHost* host, facebook::jsi::Runtime& runtime); +} + +protocol RCTImageCache : public NSObject { + public virtual UIImage* imageForUrl:size:scale:resizeMode:(NSString* url, CGSize size, CGFloat scale, RCTResizeMode resizeMode); + public virtual void addImageToCache:URL:size:scale:resizeMode:response:(UIImage* image, NSString* url, CGSize size, CGFloat scale, RCTResizeMode resizeMode, NSURLResponse* response); +} + +protocol RCTImageDataDecoder : public RCTBridgeModule { + public virtual BOOL canDecodeImageData:(NSData* imageData); + public virtual RCTImageLoaderCancellationBlock decodeImageData:size:scale:resizeMode:completionHandler:(NSData* imageData, CGSize size, CGFloat scale, RCTResizeMode resizeMode, RCTImageLoaderCompletionBlock completionHandler); + public virtual float decoderPriority(); +} + +protocol RCTImageLoaderLoggable { + public virtual BOOL shouldEnablePerfLogging(); +} + +protocol RCTImageLoaderLoggableProtocol : public NSObject { + public virtual BOOL shouldEnablePerfLoggingForRequestUrl:(NSURL* url); +} + +protocol RCTImageLoaderProtocol : public RCTURLRequestHandler { + public @property (assign) NSUInteger maxConcurrentDecodingBytes; + public @property (assign) NSUInteger maxConcurrentDecodingTasks; + public @property (assign) NSUInteger maxConcurrentLoadingTasks; + public virtual NSDictionary* getImageCacheStatus:(NSArray* requests); + public virtual RCTImageLoaderCancellationBlock decodeImageData:size:scale:clipped:resizeMode:completionBlock:(NSData* imageData, CGSize size, CGFloat scale, BOOL clipped, RCTResizeMode resizeMode, RCTImageLoaderCompletionBlock completionBlock); + public virtual RCTImageLoaderCancellationBlock getImageSizeForURLRequest:block:(NSURLRequest* imageURLRequest, void(^)(NSError* error, CGSize size) completionBlock); + public virtual _Nullable RCTImageLoaderCancellationBlock loadImageWithURLRequest:callback:(NSURLRequest* imageURLRequest, RCTImageLoaderCompletionBlock callback); + public virtual _Nullable RCTImageLoaderCancellationBlock loadImageWithURLRequest:priority:callback:(NSURLRequest* imageURLRequest, RCTImageLoaderPriority priority, RCTImageLoaderCompletionBlock callback); + public virtual _Nullable RCTImageLoaderCancellationBlock loadImageWithURLRequest:size:scale:clipped:resizeMode:progressBlock:partialLoadBlock:completionBlock:(NSURLRequest* imageURLRequest, CGSize size, CGFloat scale, BOOL clipped, RCTResizeMode resizeMode, RCTImageLoaderProgressBlock progressBlock, RCTImageLoaderPartialLoadBlock partialLoadBlock, RCTImageLoaderCompletionBlock completionBlock); + public virtual void setImageCache:(id cache); +} + +protocol RCTImageLoaderWithAttributionProtocol : public RCTImageLoaderProtocol, public RCTImageLoaderLoggableProtocol { + public virtual RCTImageURLLoaderRequest* loadImageWithURLRequest:size:scale:clipped:resizeMode:priority:attribution:progressBlock:partialLoadBlock:completionBlock:(NSURLRequest* imageURLRequest, CGSize size, CGFloat scale, BOOL clipped, RCTResizeMode resizeMode, RCTImageLoaderPriority priority, const facebook::react::ImageURLLoaderAttribution& attribution, RCTImageLoaderProgressBlock progressBlock, RCTImageLoaderPartialLoadBlock partialLoadBlock, RCTImageLoaderCompletionBlockWithMetadata completionBlock); + public virtual void trackURLImageDidDestroy:(RCTImageURLLoaderRequest* loaderRequest); + public virtual void trackURLImageRequestDidDestroy:(RCTImageURLLoaderRequest* loaderRequest); + public virtual void trackURLImageVisibilityForRequest:imageView:(RCTImageURLLoaderRequest* loaderRequest, UIView* imageView); +} + +protocol RCTImageManagerProtocol : public NSObject { + public virtual facebook::react::ImageRequest requestImage:surfaceId:(facebook::react::ImageSource imageSource, facebook::react::SurfaceId surfaceId); +} + +protocol RCTImageRedirectProtocol { + public virtual NSURL* redirectAssetsURL:(NSURL* URL); +} + +protocol RCTImageResponseDelegate : public NSObject { + public virtual void didReceiveFailure:fromObserver:(NSError* error, const void* observer); + public virtual void didReceiveImage:metadata:fromObserver:(UIImage* image, id metadata, const void* observer); + public virtual void didReceiveProgress:loaded:total:fromObserver:(float progress, int64_t loaded, int64_t total, const void* observer); +} + +protocol RCTImageURLLoader : public RCTBridgeModule { + public virtual BOOL canLoadImageURL:(NSURL* requestURL); + public virtual BOOL requiresScheduling(); + public virtual BOOL shouldCacheLoadedImages(); + public virtual _Nullable RCTImageLoaderCancellationBlock loadImageForURL:size:scale:resizeMode:progressHandler:partialLoadHandler:completionHandler:(NSURL* imageURL, CGSize size, CGFloat scale, RCTResizeMode resizeMode, RCTImageLoaderProgressBlock progressHandler, RCTImageLoaderPartialLoadBlock partialLoadHandler, RCTImageLoaderCompletionBlock completionHandler); + public virtual _Nullable RCTImageLoaderCancellationBlock loadImageForURL:size:scale:resizeMode:progressHandler:partialLoadHandler:completionHandlerWithMetadata:(NSURL* imageURL, CGSize size, CGFloat scale, RCTResizeMode resizeMode, RCTImageLoaderProgressBlock progressHandler, RCTImageLoaderPartialLoadBlock partialLoadHandler, RCTImageLoaderCompletionBlockWithMetadata completionHandlerWithMetadata); + public virtual float loaderPriority(); +} + +protocol RCTImageURLLoaderWithAttribution : public NSObjectRCTImageURLLoader, public RCTImageLoaderLoggable { + public virtual RCTImageURLLoaderRequest* loadImageForURL:size:scale:resizeMode:requestId:priority:attribution:progressHandler:partialLoadHandler:completionHandler:(NSURL* imageURL, CGSize size, CGFloat scale, RCTResizeMode resizeMode, NSString* requestId, RCTImageLoaderPriority priority, const facebook::react::ImageURLLoaderAttribution& attribution, RCTImageLoaderProgressBlock progressHandler, RCTImageLoaderPartialLoadBlock partialLoadHandler, RCTImageLoaderCompletionBlockWithMetadata completionHandler); + public virtual void trackURLImageDidDestroy:(RCTImageURLLoaderRequest* loaderRequest); + public virtual void trackURLImageRequestDidDestroy:(RCTImageURLLoaderRequest* loaderRequest); + public virtual void trackURLImageVisibilityForRequest:imageView:(RCTImageURLLoaderRequest* loaderRequest, UIView* imageView); +} + +protocol RCTInitializing : public NSObject { + public virtual void initialize(); +} + +protocol RCTInputAccessoryViewProtocol : public NSObject { +} + +protocol RCTInstanceDelegate : public RCTContextContainerHandling { + public virtual BOOL instance:didReceiveJSErrorStack:message:originalMessage:name:componentStack:exceptionId:isFatal:extraData:(RCTInstance* instance, NSArray*>* stack, NSString* message, NSString* _Nullable originalMessage, NSString* _Nullable name, NSString* _Nullable componentStack, NSUInteger exceptionId, BOOL isFatal, NSDictionary* extraData); + public virtual NSArray* unstableModulesRequiringMainQueueSetup(); + public virtual void instance:didInitializeRuntime:(RCTInstance* instance, facebook::jsi::Runtime& runtime); + public virtual void loadBundleAtURL:onProgress:onComplete:(NSURL* sourceURL, RCTSourceLoadProgressBlock onProgress, RCTSourceLoadBlock loadCallback); +} + +protocol RCTInvalidating : public NSObject { + public virtual void invalidate(); +} + +protocol RCTJSDispatcherModule { + public @property (copy) void(^dispatchToJSThread)(dispatch_block_t block); +} + +protocol RCTJSRuntimeConfiguratorProtocol { + public virtual JSRuntimeFactoryRef createJSRuntimeFactory(); +} + +protocol RCTJavaScriptExecutor : public RCTInvalidating, public RCTBridgeModule { + public @property (assign, readonly) BOOL valid; + public virtual void callFunctionOnModule:method:arguments:callback:(NSString* module, NSString* method, NSArray* args, RCTJavaScriptCallback onComplete); + public virtual void executeApplicationScript:sourceURL:onComplete:(NSData* script, NSURL* sourceURL, RCTJavaScriptCompleteBlock onComplete); + public virtual void executeAsyncBlockOnJavaScriptQueue:(dispatch_block_t block); + public virtual void executeBlockOnJavaScriptQueue:(dispatch_block_t block); + public virtual void flushedQueue:(RCTJavaScriptCallback onComplete); + public virtual void injectJSONText:asGlobalObjectNamed:callback:(NSString* script, NSString* objectName, RCTJavaScriptCompleteBlock onComplete); + public virtual void invokeCallbackID:arguments:callback:(NSNumber* cbID, NSArray* args, RCTJavaScriptCallback onComplete); + public virtual void setUp(); +} + +protocol RCTLocalizationProtocol : public NSObject { + public virtual NSString* localizedString:withDescription:(NSString* oldString, NSString* description); +} + +protocol RCTModalHostViewInteractor : public NSObject { + public virtual void dismissModalHostView:withViewController:animated:(RCTModalHostView* modalHostView, RCTModalHostViewController* viewController, BOOL animated); + public virtual void presentModalHostView:withViewController:animated:(RCTModalHostView* modalHostView, RCTModalHostViewController* viewController, BOOL animated); +} + +protocol RCTModalHostViewViewProtocol : public NSObject { +} + +protocol RCTModuleDataCallInvokerProvider : public NSObject { + public virtual RCTCallInvoker* callInvokerForModuleData:(RCTModuleData* moduleData); +} + +protocol RCTModuleProvider : public NSObjectNSObject { + public virtual std::shared_ptr getTurboModule:(const facebook::react::ObjCTurboModule::InitParams& params); +} + +protocol RCTMountingManagerDelegate : public NSObject { + public virtual void mountingManager:didMountComponentsWithRootTag:(RCTMountingManager* mountingManager, ReactTag rootTag); + public virtual void mountingManager:willMountComponentsWithRootTag:(RCTMountingManager* mountingManager, ReactTag MountingManager); +} + +protocol RCTMountingTransactionObserving : public NSObject { + public virtual void mountingTransactionDidMount:withSurfaceTelemetry:(const facebook::react::MountingTransaction& transaction, const facebook::react::SurfaceTelemetry& surfaceTelemetry); + public virtual void mountingTransactionWillMount:withSurfaceTelemetry:(const facebook::react::MountingTransaction& transaction, const facebook::react::SurfaceTelemetry& surfaceTelemetry); +} + +protocol RCTNetworkingRequestHandler : public NSObject { + public virtual BOOL canHandleNetworkingRequest:(NSDictionary* data); + public virtual NSDictionary* handleNetworkingRequest:(NSDictionary* data); +} + +protocol RCTNetworkingResponseHandler : public NSObject { + public virtual BOOL canHandleNetworkingResponse:(NSString* responseType); + public virtual id handleNetworkingResponse:data:(NSURLResponse* response, NSData* data); +} + +protocol RCTPullToRefreshViewViewProtocol : public NSObject { + public virtual void setNativeRefreshing:(BOOL refreshing); +} + +protocol RCTReactNativeFactoryDelegate : public RCTBridgeDelegate, public RCTUIConfiguratorProtocol, public RCTHostDelegate, public RCTTurboModuleManagerDelegate, public RCTComponentViewFactoryComponentProvider, public RCTJSRuntimeConfiguratorProtocol, public RCTArchConfiguratorProtocol { + public @property (strong) id dependencyProvider; + public virtual NSDictionary>* thirdPartyFabricComponents(); + public virtual NSURL* _Nullable bundleURL(); + public virtual RCTBridge* createBridgeWithDelegate:launchOptions:(id delegate, NSDictionary* launchOptions); + public virtual UIView* createRootViewWithBridge:moduleName:initProps:(RCTBridge* bridge, NSString* moduleName, NSDictionary* initProps); +} + +protocol RCTRedBoxExtraDataActionDelegate : public NSObject { + public virtual void reload(); +} + +protocol RCTRefreshableProtocol { + public virtual void setRefreshing:(BOOL refreshing); +} + +protocol RCTReloadListener { + public virtual void didReceiveReloadCommand(); +} + +protocol RCTRendererInteropLayerAdapting { + public virtual UIView* paperView(); +} + +protocol RCTRootViewDelegate : public NSObject { + public virtual void rootViewDidChangeIntrinsicSize:(RCTRootView* rootView); +} + +protocol RCTSafeAreaViewViewProtocol : public NSObject { +} + +protocol RCTSchedulerDelegate { + public virtual void schedulerDidDispatchCommand:commandName:args:(const facebook::react::ShadowView& shadowView, const std::string& commandName, const folly::dynamic& args); + public virtual void schedulerDidFinishTransaction:(std::shared_ptr mountingCoordinator); + public virtual void schedulerDidSendAccessibilityEvent:eventType:(const facebook::react::ShadowView& shadowView, const std::string& eventType); + public virtual void schedulerDidSetIsJSResponder:blockNativeResponder:forShadowView:(BOOL isJSResponder, BOOL blockNativeResponder, const facebook::react::ShadowView& shadowView); + public virtual void schedulerDidSynchronouslyUpdateViewOnUIThread:props:(facebook::react::Tag reactTag, folly::dynamic props); + public virtual void schedulerShouldMergeReactRevision:(facebook::react::SurfaceId surfaceId); + public virtual void schedulerShouldRenderTransactions:(std::shared_ptr mountingCoordinator); +} + +protocol RCTScrollViewProtocol : public NSObject { + public virtual void flashScrollIndicators(); + public virtual void scrollTo:y:animated:(double x, double y, BOOL animated); + public virtual void scrollToEnd:(BOOL animated); + public virtual void zoomToRect:animated:(CGRect rect, BOOL animated); +} + +protocol RCTScrollableProtocol { + public @property (assign, readonly) CGSize contentSize; + public virtual void addScrollListener:(NSObject* scrollListener); + public virtual void removeScrollListener:(NSObject* scrollListener); + public virtual void scrollToEnd:(BOOL animated); + public virtual void scrollToOffset:(CGPoint offset); + public virtual void scrollToOffset:animated:(CGPoint offset, BOOL animated); + public virtual void zoomToRect:animated:(CGRect rect, BOOL animated); +} + +protocol RCTSurfaceDelegate : public NSObject { + public virtual void surface:didChangeIntrinsicSize:(RCTSurface* surface, CGSize intrinsicSize); + public virtual void surface:didChangeStage:(RCTSurface* surface, RCTSurfaceStage stage); +} + +protocol RCTSurfacePresenterObserver : public NSObject { + public virtual void didMountComponentsWithRootTag:(NSInteger rootTag); + public virtual void willMountComponentsWithRootTag:(NSInteger rootTag); +} + +protocol RCTSurfacePresenterStub : public NSObject { + public virtual _Nullable UIView* findComponentViewWithTag_DO_NOT_USE_DEPRECATED:(NSInteger tag); + public virtual id createFabricSurfaceForModuleName:initialProperties:(NSString* moduleName, NSDictionary* initialProperties); + public virtual void addObserver:(id observer); + public virtual void removeObserver:(id observer); + public virtual void synchronouslyUpdateViewOnUIThread:props:(NSNumber* reactTag, NSDictionary* props); +} + +protocol RCTSurfaceProtocol : public NSObject { + public @property (assign, readonly) CGSize intrinsicSize; + public @property (assign, readonly) NSInteger rootTag; + public @property (assign, readonly) NSNumber* rootViewTag; + public @property (assign, readonly) NSString* moduleName; + public @property (assign, readonly) RCTSurfaceStage stage; + public @property (copy) NSDictionary* properties; + public @property (weak) id delegate; + public virtual CGSize sizeThatFitsMinimumSize:maximumSize:(CGSize minimumSize, CGSize maximumSize); + public virtual RCTSurfaceView* view(); + public virtual void setMinimumSize:maximumSize:(CGSize minimumSize, CGSize maximumSize); + public virtual void setMinimumSize:maximumSize:viewportOffset:(CGSize minimumSize, CGSize maximumSize, CGPoint viewportOffset); + public virtual void start(); + public virtual void stop(); +} + +protocol RCTSurfaceRootShadowViewDelegate : public NSObject { + public virtual void rootShadowView:didChangeIntrinsicSize:(RCTSurfaceRootShadowView* rootShadowView, CGSize intrinsicSize); + public virtual void rootShadowViewDidStartLayingOut:(RCTSurfaceRootShadowView* rootShadowView); + public virtual void rootShadowViewDidStartRendering:(RCTSurfaceRootShadowView* rootShadowView); +} + +protocol RCTSwitchViewProtocol : public NSObject { + public virtual void setValue:(BOOL value); +} + +protocol RCTTextInputViewProtocol : public NSObject { + public virtual void blur(); + public virtual void focus(); + public virtual void setTextAndSelection:value:start:end:(NSInteger eventCount, NSString* _Nullable value, NSInteger start, NSInteger end); +} + +protocol RCTTimingDelegate { + public virtual void callIdleCallbacks:(NSNumber* absoluteFrameStartMS); + public virtual void callTimers:(NSArray* timers); + public virtual void immediatelyCallTimer:(NSNumber* callbackID); +} + +protocol RCTTouchableComponentViewProtocol : public NSObject { + public virtual facebook::react::SharedTouchEventEmitter touchEventEmitterAtPoint:(CGPoint point); +} + +protocol RCTTurboModule : public RCTModuleProvider { + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +protocol RCTTurboModuleManagerDelegate : public NSObject { + public virtual Class getModuleClassFromName:(const char* name); + public virtual NSArray>* extraModulesForBridge:((deprecated("Please make all native modules returned from this method TurboModule-compatible.")) __attribute); + public virtual id getModuleProvider:(const char* name); + public virtual id getModuleInstanceFromClass:(Class moduleClass); + public virtual std::shared_ptr getTurboModule:jsInvoker:(const std::string& name, std::shared_ptr jsInvoker); +} + +protocol RCTTurboModuleRegistry : public NSObject { + public virtual BOOL moduleIsInitialized:(const char* moduleName); + public virtual id moduleForName:(const char* moduleName); + public virtual id moduleForName:warnOnLookupFailure:(const char* moduleName, BOOL warnOnLookupFailure); +} + +protocol RCTTurboModuleWithJSIBindings : public NSObject { + public virtual void installJSIBindingsWithRuntime:(facebook::jsi::Runtime& runtime); + public virtual void installJSIBindingsWithRuntime:callInvoker:(facebook::jsi::Runtime& runtime, const std::shared_ptr& callinvoker); +} + +protocol RCTUIConfiguratorProtocol { + public virtual RCTColorSpace defaultColorSpace(); + public virtual UIViewController* createRootViewController(); + public virtual void customizeRootView:(RCTRootView* rootView); + public virtual void setRootView:toRootViewController:(UIView* rootView, UIViewController* rootViewController); +} + +protocol RCTUIManagerObserver : public NSObject { + public virtual BOOL uiManager:performMountingWithBlock:(RCTUIManager* manager, RCTUIManagerMountingBlock block); + public virtual void uiManagerDidPerformLayout:(RCTUIManager* manager); + public virtual void uiManagerDidPerformMounting:(RCTUIManager* manager); + public virtual void uiManagerWillPerformLayout:(RCTUIManager* manager); + public virtual void uiManagerWillPerformMounting:(RCTUIManager* manager); +} + +protocol RCTURLRequestDelegate : public NSObject { + public virtual void URLRequest:didCompleteWithError:(id requestToken, NSError* error); + public virtual void URLRequest:didReceiveData:(id requestToken, NSData* data); + public virtual void URLRequest:didReceiveResponse:(id requestToken, NSURLResponse* response); + public virtual void URLRequest:didSendDataWithProgress:(id requestToken, int64_t bytesSent); +} + +protocol RCTURLRequestHandler : public RCTBridgeModule { + public virtual BOOL canHandleRequest:(NSURLRequest* request); + public virtual float handlerPriority(); + public virtual id sendRequest:withDelegate:(NSURLRequest* request, id delegate); + public virtual void cancelRequest:(id requestToken); +} + +protocol RCTUnimplementedNativeViewViewProtocol : public NSObject { +} + +protocol RCTValueAnimatedNodeObserver : public NSObject { + public virtual void animatedNode:didUpdateValue:(RCTValueAnimatedNode* node, CGFloat value); +} + +protocol RCTVirtualViewContainerProtocol { + public virtual RCTVirtualViewContainerState* virtualViewContainerState(); +} + +protocol RCTVirtualViewExperimentalViewProtocol : public NSObject { +} + +protocol RCTVirtualViewProtocol : public NSObject { + public virtual CGRect containerRelativeRect:(UIView* view); + public virtual NSString* virtualViewID(); + public virtual void onModeChange:targetRect:thresholdRect:(RCTVirtualViewMode newMode, CGRect targetRect, CGRect thresholdRect); +} + +protocol RCTVirtualViewViewProtocol : public NSObject { +} + +protocol RCTWebSocketContentHandler : public NSObject { + public virtual id processWebsocketMessage:forSocketID:withType:(id _Nullable message, NSNumber* socketID, NSString* _Nonnull __autoreleasing* _Nonnull type); +} + +struct RCTBorderColors { + public UIColor* bottom; + public UIColor* left; + public UIColor* right; + public UIColor* top; +} + +struct RCTCornerInsets { + public CGSize bottomLeft; + public CGSize bottomRight; + public CGSize topLeft; + public CGSize topRight; +} + +struct RCTCornerRadii { + public CGFloat bottomLeftHorizontal; + public CGFloat bottomLeftVertical; + public CGFloat bottomRightHorizontal; + public CGFloat bottomRightVertical; + public CGFloat topLeftHorizontal; + public CGFloat topLeftVertical; + public CGFloat topRightHorizontal; + public CGFloat topRightVertical; +} + +struct RCTFontProperties { + public CGFloat size; + public CGFloat sizeMultiplier; + public NSString* family; + public RCTFontStyle style; + public RCTFontVariant variant; + public UIFontWeight weight; +} + +struct RCTLayoutContext { + public CGPoint absolutePosition; + public __unsafe_unretained NSHashTable* _Nonnull other; + public __unsafe_unretained NSPointerArray* _Nonnull affectedShadowViews; +} + +struct RCTLayoutMetrics { + public CGRect contentFrame; + public CGRect frame; + public RCTDisplayType displayType; + public UIEdgeInsets borderWidth; + public UIUserInterfaceLayoutDirection layoutDirection; +} + +struct RCTMethodInfo { + public const BOOL isSync; + public const char* const jsName; + public const char* const objcName; +} + +struct RCTTransformOrigin { + public CGFloat z; + public YGValue x; + public YGValue y; +} + +struct YGConfig { +} + +struct YGNode { +} + +struct YGSize { + public float height; + public float width; +} + +struct YGValue { + public YGUnit unit; + public float value; +} + +template +class TinyMap { + public TinyMap::Iterator begin(); + public TinyMap::Iterator end(); + public TinyMap::Iterator find(KeyT key); + public using Iterator = TinyMap::Pair*; + public using Pair = std::pair; + public void erase(TinyMap::Iterator iterator); + public void insert(TinyMap::Pair pair); +} + +template +struct RCTRequired { + public RCTRequired& operator=(RCTRequired&&) = default; + public RCTRequired& operator=(const RCTRequired&) = default; + public RCTRequired(RCTRequired&&) = default; + public RCTRequired(const RCTRequired&) = default; + public T& get(); + public const T& get() const; + public operator T&(); + public operator T() const; + public ~RCTRequired() = default; + template + public RCTRequired(Args &&... args); +} + + +bool facebook::xplat::jsArgAsBool(const folly::dynamic& args, size_t n); +double facebook::xplat::jsArgAsDouble(const folly::dynamic& args, size_t n); +int64_t facebook::xplat::jsArgAsInt(const folly::dynamic& args, size_t n); +std::string facebook::xplat::jsArgAsString(const folly::dynamic& args, size_t n); +template +R facebook::xplat::jsArg(const folly::dynamic& arg, R(folly::dynamic::*asFoo)() const &, const T &... desc); +template +R facebook::xplat::jsArg(const folly::dynamic& arg, R(folly::dynamic::*asFoo)() const, const T &... desc); +template +R facebook::xplat::jsArgN(const folly::dynamic& args, size_t n, R(folly::dynamic::*asFoo)() const &); +template +R facebook::xplat::jsArgN(const folly::dynamic& args, size_t n, R(folly::dynamic::*asFoo)() const); +template +facebook::xplat::detail::is_dynamic::type& facebook::xplat::jsArgAsArray(T&& args, size_t n); +template +facebook::xplat::detail::is_dynamic::type& facebook::xplat::jsArgAsDynamic(T&& args, size_t n); +template +facebook::xplat::detail::is_dynamic::type& facebook::xplat::jsArgAsObject(T&& args, size_t n); + +class facebook::xplat::JsArgumentException : public std::logic_error { + public JsArgumentException(const std::string& msg); +} + + +class facebook::xplat::module::CxxModule { + public static constexpr AsyncTagType AsyncTag; + public static constexpr SyncTagType SyncTag; + public std::weak_ptr getInstance(); + public using Callback = std::function)>; + public using Provider = std::function()>; + public virtual std::map getConstants(); + public virtual std::string getName() = 0; + public virtual std::vector getMethods() = 0; + public virtual ~CxxModule() = default; + public void setInstance(std::weak_ptr instance); +} + +struct facebook::xplat::module::CxxModule::Method { + public Method(std::string aname, std::function&& afunc, SyncTagType); + public Method(std::string aname, std::function&& afunc, SyncTagType); + public Method(std::string aname, std::function&& afunc); + public Method(std::string aname, std::function&& afunc); + public Method(std::string aname, std::function&& afunc); + public Method(std::string aname, std::function&& afunc); + public Method(std::string aname, std::function&& afunc, AsyncTagType); + public bool isPromise; + public const char* getType(); + public size_t callbacks; + public std::function syncFunc; + public std::function func; + public std::string name; + template + public Method(std::string aname, T* t, void(T::*method)()); + template + public Method(std::string aname, T* t, void(T::*method)(folly::dynamic)); + template + public Method(std::string aname, T* t, void(T::*method)(folly::dynamic, facebook::xplat::module::CxxModule::Callback)); + template + public Method(std::string aname, T* t, void(T::*method)(folly::dynamic, facebook::xplat::module::CxxModule::Callback, facebook::xplat::module::CxxModule::Callback)); + template + public Method(std::string aname, T* t, void(T::*method)(folly::dynamic, facebook::xplat::module::CxxModule::Callback, facebook::xplat::module::CxxModule::Callback), AsyncTagType); +} + + +std::string facebook::xplat::detail::toStringHelper(); +template +R facebook::xplat::detail::jsArg1(const folly::dynamic& arg, M asFoo, const T &... desc); +template +std::string facebook::xplat::detail::toStringHelper(const T& value, const Rest &... rest); +template +facebook::xplat::detail::is_dynamic::type& facebook::xplat::detail::jsArgAsType(T&& args, size_t n, const char* required, bool(folly::dynamic::*isFoo)() const); +template +std::string facebook::xplat::detail::toStringHelper(const char* value, const Rest &... rest); + +template +struct facebook::xplat::detail::is_dynamic { + public using type = typename std::enable_if::value, T>::type; +} + + +class facebook::hermes::IHermes : public facebook::jsi::ICast { + protected ~IHermes() = default; + public static constexpr facebook::jsi::UUID uuid; + public virtual ICast* getHermesRootAPI() = 0; + public virtual SHRuntime* getSHRuntime() noexcept = 0; + public virtual const hermes::vm::GCExecTrace& getGCExecTrace() const = 0; + public virtual debugger::Debugger& getDebugger() = 0; + public virtual facebook::jsi::Value evaluateJavaScriptWithSourceMap(const std::shared_ptr& buffer, const std::shared_ptr& sourceMapBuf, const std::string& sourceURL) = 0; + public virtual facebook::jsi::Value evaluateSHUnit(SHUnitCreator shUnitCreator) = 0; + public virtual facebook::jsi::Value getObjectForID(uint64_t id) = 0; + public virtual sampling_profiler::Profile dumpSampledTraceToProfile() = 0; + public virtual std::string getIOTrackingInfoJSON() = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::BigInt& s) const = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::Object& o) const = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::PropNameID& pni) const = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::String& s) const = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::Symbol& sym) const = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::Value& val) const = 0; + public virtual void asyncTriggerTimeout() = 0; + public virtual void debugJavaScript(const std::string& src, const std::string& sourceURL, const facebook::hermes::IHermes::DebugFlags& debugFlags) = 0; + public virtual void loadSegment(std::unique_ptr buffer, const facebook::jsi::Value& context) = 0; + public virtual void registerForProfiling() = 0; + public virtual void resetTimezoneCache() = 0; + public virtual void sampledTraceToStreamInDevToolsFormat(std::ostream& stream) = 0; + public virtual void unregisterForProfiling() = 0; + public virtual void unwatchTimeLimit() = 0; + public virtual void watchTimeLimit(uint32_t timeoutInMs) = 0; + public virtual void* getVMRuntimeUnsafe() const = 0; +} + +struct facebook::hermes::IHermes::DebugFlags { +} + +class facebook::hermes::IHermesSHUnit : public facebook::jsi::ICast { + protected ~IHermesSHUnit() = default; + public static constexpr facebook::jsi::UUID uuid; + public virtual SHUnitCreator getSHUnitCreator() const = 0; +} + + +const char facebook::react::AndroidProgressBarComponentName[]; +const char facebook::react::AndroidSwitchComponentName[]; +const char facebook::react::AppleSwitchComponentName[]; +const char facebook::react::ImageComponentName[]; +const char facebook::react::ImageManagerKey[]; +const char facebook::react::InputAccessoryComponentName[]; +const char facebook::react::LegacyViewManagerAndroidInteropComponentName[]; +const char facebook::react::LegacyViewManagerInteropComponentName[]; +const char facebook::react::ModalHostViewComponentName[]; +const char facebook::react::ParagraphComponentName[]; +const char facebook::react::RawTextComponentName[]; +const char facebook::react::RootComponentName[]; +const char facebook::react::RuntimeSchedulerKey[]; +const char facebook::react::SafeAreaViewComponentName[]; +const char facebook::react::ScrollViewComponentName[]; +const char facebook::react::TextComponentName[]; +const char facebook::react::TextInputComponentName[]; +const char facebook::react::UnimplementedViewComponentName[]; +const char facebook::react::ViewComponentName[]; +const facebook::react::EventTag facebook::react::EMPTY_EVENT_TAG; +constexpr auto facebook::react::kSimpleThreadSafeCacheSizeCap; +constexpr char facebook::react::LayoutConformanceShadowNodeComponentName[]; +constexpr char facebook::react::VirtualViewComponentName[]; +constexpr char* const facebook::react::TextLayoutManagerKey; +constexpr facebook::react::HighResDuration facebook::react::DEFAULT_DURATION_THRESHOLD; +constexpr facebook::react::HighResDuration facebook::react::LONG_TASK_DURATION_THRESHOLD; +constexpr facebook::react::ReactNativeVersionType facebook::react::ReactNativeVersion; +constexpr float facebook::react::kDefaultEpsilon; +constexpr size_t facebook::react::EVENT_BUFFER_SIZE; +constexpr size_t facebook::react::LONG_TASK_BUFFER_SIZE; +constexpr size_t facebook::react::RESOURCE_TIMING_BUFFER_SIZE; +constexpr uint32_t facebook::react::INITIAL_BUCKETS_SIZE; +static const facebook::react::LayoutMetrics facebook::react::EmptyLayoutMetrics; +static const facebook::react::TelemetryTimePoint facebook::react::kTelemetryUndefinedTimePoint; +static const int facebook::react::NO_VIEW_TAG; +static constexpr auto facebook::react::kPropNameLengthHardCap; +static constexpr double facebook::react::SingleFrameIntervalMs; +static constexpr double facebook::react::TicksPerMs; +static constexpr facebook::react::RawPropsValueIndex facebook::react::kRawPropsValueIndexEmpty; +static constexpr std::string_view facebook::react::ExtrapolateTypeClamp; +static constexpr std::string_view facebook::react::ExtrapolateTypeExtend; +static constexpr std::string_view facebook::react::ExtrapolateTypeIdentity; +template +using facebook::react::CSSCompoundDataType = std::variant; +template +using facebook::react::CSSCommaSeparatedList = facebook::react::CSSList; +template +using facebook::react::CSSWhitespaceSeparatedList = facebook::react::CSSList; +template +using facebook::react::CSSMergedDataTypes = typename facebook::react::detail::merge_data_types::type; +template +using facebook::react::CSSVariantWithTypes = typename facebook::react::detail::merge_variant::type; +template +using facebook::react::LazyVector = FB::LazyVector; +template +using facebook::react::ModuleConstants = _RCTTypedModuleConstants*; +template +using facebook::react::EventListenerT = std::function; +typedef std::function facebook::react::ValueListenerCallback; +typedef void(*facebook::react::WarnOnUsageLogger)(std::string message); +using facebook::react::ActivePointerRegistry = std::unordered_map; +using facebook::react::ActivityIndicatorViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::ActivityIndicatorViewShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::ActivityIndicatorViewState = facebook::react::StateData; +using facebook::react::AndroidDrawerLayoutComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::AndroidDrawerLayoutShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::AndroidDrawerLayoutState = facebook::react::StateData; +using facebook::react::AndroidSwipeRefreshLayoutComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::AndroidSwipeRefreshLayoutShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::AndroidSwipeRefreshLayoutState = facebook::react::StateData; +using facebook::react::AnimationEndCallback = facebook::react::AsyncCallback; +using facebook::react::AnimationTimestamp = std::chrono::duration; +using facebook::react::BackgroundExecutor = std::function&& callback)>; +using facebook::react::BackgroundImage = std::variant; +using facebook::react::BackgroundSize = std::variant; +using facebook::react::BorderColors = facebook::react::RectangleEdges; +using facebook::react::BorderCurves = facebook::react::RectangleCorners; +using facebook::react::BorderRadii = facebook::react::RectangleCorners; +using facebook::react::BorderStyles = facebook::react::RectangleEdges; +using facebook::react::BorderWidths = facebook::react::RectangleEdges; +using facebook::react::CSSBackgroundImage = facebook::react::CSSCompoundDataType; +using facebook::react::CSSBackgroundImageList = facebook::react::CSSCommaSeparatedList; +using facebook::react::CSSFilterFunction = facebook::react::CSSCompoundDataType; +using facebook::react::CSSFilterList = facebook::react::CSSWhitespaceSeparatedList; +using facebook::react::CSSFontVariantList = facebook::react::CSSWhitespaceSeparatedList; +using facebook::react::CSSLengthPercentage = facebook::react::CSSCompoundDataType; +using facebook::react::CSSPreservedToken = facebook::react::CSSToken; +using facebook::react::CSSRadialGradientSize = std::variant; +using facebook::react::CSSShadowList = facebook::react::CSSCommaSeparatedList; +using facebook::react::CSSTransformFunction = facebook::react::CSSCompoundDataType; +using facebook::react::CSSTransformList = facebook::react::CSSWhitespaceSeparatedList; +using facebook::react::CallFunc = std::function; +using facebook::react::Callback = std::function; +using facebook::react::CallbackHandle = facebook::jsi::Object; +using facebook::react::CallbackId = uint64_t; +using facebook::react::CaptureTargetOverrideRegistry = std::unordered_map>; +using facebook::react::CascadedBorderColors = facebook::react::CascadedRectangleEdges; +using facebook::react::CascadedBorderCurves = facebook::react::CascadedRectangleCorners; +using facebook::react::CascadedBorderRadii = facebook::react::CascadedRectangleCorners; +using facebook::react::CascadedBorderStyles = facebook::react::CascadedRectangleEdges; +using facebook::react::CascadedBorderWidths = facebook::react::CascadedRectangleEdges; +using facebook::react::ComponentDescriptorConstructor = facebook::react::ComponentDescriptor::Unique(const facebook::react::ComponentDescriptorParameters& parameters); +using facebook::react::ComponentDescriptorProviderRequest = std::function; +using facebook::react::ComponentHandle = int64_t; +using facebook::react::ComponentName = const char*; +using facebook::react::ComponentRegistryFactory = std::function& contextContainer)>; +using facebook::react::CornerInsets = facebook::react::RectangleCorners; +using facebook::react::CrashManagerProvider = std::function()>; +using facebook::react::DebuggingOverlayComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::DebuggingOverlayShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::DebuggingOverlayState = facebook::react::StateData; +using facebook::react::DispatchEvent = std::function; +using facebook::react::EdgeInsets = facebook::react::RectangleEdges; +using facebook::react::EndResult = facebook::react::NativeAnimatedTurboModuleEndResult, std::optional>; +using facebook::react::EventEmitterCallback = std::function; +using facebook::react::EventEmitterListener = facebook::react::EventListenerT; +using facebook::react::EventEmitterListenerContainer = facebook::react::EventListenerContainerT; +using facebook::react::EventListener = std::function; +using facebook::react::EventPipe = std::function; +using facebook::react::EventPipeConclusion = std::function; +using facebook::react::EventTag = unsigned int; +using facebook::react::Float = CGFloat; +using facebook::react::GarbageCollectionTrigger = std::function; +using facebook::react::GradientDirection = std::variant; +using facebook::react::HasComponentProviderFunctionType = std::function; +using facebook::react::Headers = std::map; +using facebook::react::HostPlatformTouch = facebook::react::BaseTouch; +using facebook::react::HostPlatformViewEventEmitter = facebook::react::BaseViewEventEmitter; +using facebook::react::ImageSources = std::vector; +using facebook::react::InteractionTypesMap = std::unordered_map; +using facebook::react::IntersectionObserverObserverId = int32_t; +using facebook::react::JSIScopedTimeoutInvoker = std::function& invokee, std::function errorMessageProducer)>; +using facebook::react::LayoutConformanceComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::LegacyViewManagerAndroidInteropShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::LegacyViewManagerInteropShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::LineMeasureCache = facebook::react::SimpleThreadSafeCache; +using facebook::react::LinesMeasurements = std::vector; +using facebook::react::Logger = std::function; +using facebook::react::MeasureInWindowOnSuccessCallback = facebook::react::SyncCallback; +using facebook::react::MeasureLayoutOnSuccessCallback = facebook::react::SyncCallback; +using facebook::react::MeasureOnSuccessCallback = facebook::react::SyncCallback; +using facebook::react::MethodCallResult = std::optional; +using facebook::react::ModalHostViewSupportedOrientationsMask = uint32_t; +using facebook::react::MountingTransactionCallback = std::function; +using facebook::react::MutationObserverId = int32_t; +using facebook::react::NativeIntersectionObserverEntry = facebook::react::NativeIntersectionObserverNativeIntersectionObserverEntry; +using facebook::react::NativeIntersectionObserverIntersectionObserverId = int32_t; +using facebook::react::NativeIntersectionObserverObserveOptions = facebook::react::NativeIntersectionObserverNativeIntersectionObserverObserveOptions>, std::shared_ptr, std::vector, std::optional>, std::optional>; +using facebook::react::NativeMethodCallFunc = std::function; +using facebook::react::NativeMutationObserverObserveOptions = facebook::react::NativeMutationObserverNativeMutationObserverObserveOptions, bool>; +using facebook::react::NativeMutationRecord = facebook::react::NativeMutationObserverNativeMutationRecord, std::vector>; +using facebook::react::NativePartialReloadAndProfileConfig = facebook::react::NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfig, std::optional>; +using facebook::react::NativePerformancePerformanceObserverCallback = facebook::react::AsyncCallback<>; +using facebook::react::NativePerformancePerformanceObserverObserveOptions = facebook::react::NativePerformancePerformanceObserverInit>, std::optional, std::optional, std::optional>; +using facebook::react::NativeReloadAndProfileConfig = facebook::react::NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfig; +using facebook::react::NativeRequestIdleCallbackOptions = facebook::react::NativeIdleCallbacksRequestIdleCallbackOptions>; +using facebook::react::OnMutations = std::function&)>; +using facebook::react::ParagraphProps = HostPlatformParagraphProps; +using facebook::react::PerformanceEntry = std::variant; +using facebook::react::PerformanceEntryInteractionId = uint32_t; +using facebook::react::PerformanceObserverCallback = std::function; +using facebook::react::PerformanceObserverEntryTypeFilter = std::unordered_set; +using facebook::react::PointerHoverTrackerRegistry = std::unordered_map; +using facebook::react::PointerIdentifier = int32_t; +using facebook::react::PromiseSetupFunctionType = std::function)>; +using facebook::react::PullToRefreshViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::PullToRefreshViewShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::PullToRefreshViewState = facebook::react::StateData; +using facebook::react::RawCallback = std::function; +using facebook::react::RawPropsPropNameHash = uint32_t; +using facebook::react::RawPropsPropNameLength = uint16_t; +using facebook::react::RawPropsValueIndex = uint16_t; +using facebook::react::RawTextComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::RectAsTuple = std::tuple; +using facebook::react::RootComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::RuntimeExecutor = std::function&& callback)>; +using facebook::react::RuntimeSchedulerRenderingUpdate = std::function; +using facebook::react::RuntimeSchedulerTaskErrorHandler = std::function; +using facebook::react::ScrollViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::ScrollViewProps = HostPlatformScrollViewProps; +using facebook::react::ShadowTreeCommitTransaction = std::function; +using facebook::react::ShadowViewMutationList = std::vector; +using facebook::react::SharedComponentDescriptor = std::shared_ptr; +using facebook::react::SharedComponentDescriptorRegistry = std::shared_ptr; +using facebook::react::SharedEventEmitter = std::shared_ptr; +using facebook::react::SharedEventPayload = std::shared_ptr; +using facebook::react::SharedEventTarget = std::shared_ptr; +using facebook::react::SharedParagraphAttributes = std::shared_ptr; +using facebook::react::SharedRawTextProps = std::shared_ptr; +using facebook::react::SharedScrollViewProps = std::shared_ptr; +using facebook::react::SharedShadowNodeFamily = std::shared_ptr; +using facebook::react::SharedTextAttributes = std::shared_ptr; +using facebook::react::SharedTouchEventEmitter = std::shared_ptr; +using facebook::react::SharedViewEventEmitter = std::shared_ptr; +using facebook::react::SharedViewProps = std::shared_ptr; +using facebook::react::SnapshotMap = std::unordered_map>; +using facebook::react::StatePipe = std::function; +using facebook::react::SurfaceId = int32_t; +using facebook::react::Tag = int32_t; +using facebook::react::TelemetryClock = std::chrono::steady_clock; +using facebook::react::TelemetryDuration = std::chrono::nanoseconds; +using facebook::react::TelemetryTimePoint = facebook::react::TelemetryClock::time_point; +using facebook::react::TextComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::TextEventEmitter = facebook::react::TouchEventEmitter; +using facebook::react::TextLayoutManagerExtended = facebook::react::detail::TextLayoutManagerExtended; +using facebook::react::TextMeasureCache = facebook::react::SimpleThreadSafeCache; +using facebook::react::TimePointFunction = std::chrono::steady_clock::time_point(*)(); +using facebook::react::TimerHandle = int; +using facebook::react::TimerManagerDelegate = facebook::react::PlatformTimerRegistry; +using facebook::react::Touch = facebook::react::HostPlatformTouch; +using facebook::react::Touches = std::unordered_set; +using facebook::react::TraceSectionUnwrapped = facebook::react::DummyTraceSection; +using facebook::react::TurboModuleProviderFunctionTypeWithRuntime = std::function(facebook::jsi::Runtime& runtime, const std::string& name)>; +using facebook::react::UiTask = std::function; +using facebook::react::UnimplementedNativeViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::UnimplementedNativeViewShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::UnimplementedNativeViewState = facebook::react::StateData; +using facebook::react::UnimplementedViewShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::UserTimingDetailProvider = std::function; +using facebook::react::ValueFactory = std::function; +using facebook::react::ViewEventEmitter = facebook::react::HostPlatformViewEventEmitter; +using facebook::react::ViewNodePairScope = std::deque; +using facebook::react::ViewProps = facebook::react::HostPlatformViewProps; +using facebook::react::VirtualViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::parsePlatformColorFn = facebook::react::SharedColor(*)(const facebook::react::ContextContainer&, int32_t, const facebook::react::RawValue&); +template +concept facebook::react::CacheGeneratorFunction = std::invocable && std::same_as, ValueT>; +template +concept facebook::react::CSSUniqueComponentValueVisitors = CSSSyntaxVisitorReturn&& (CSSComponentValueVisitor && ...) && + ((CSSFunctionVisitor ? 1 : 0) + ... + 0) <= 1&& + ((CSSPreservedTokenVisitor ? 1 : 0) + ... + 0) <= 1&& + ((CSSSimpleBlockVisitor ? 1 : 0) + ... + 0) <= 1; +template +concept facebook::react::CSSFunctionBlockSink = requires(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser) { + { T::consumeFunctionBlock(func, parser) } -> std::convertible_to; +}; +template +concept facebook::react::CSSParserSink = requires(facebook::react::CSSValueParser& parser) { + { T::consume(parser) } -> std::convertible_to; +}; +template +concept facebook::react::CSSPreservedTokenSink = requires(const facebook::react::CSSPreservedToken& token) { + { T::consumePreservedToken(token) } -> std::convertible_to; +}; +template +concept facebook::react::CSSSimpleBlockSink = requires(const facebook::react::CSSSimpleBlock& block, facebook::react::CSSValueParser& parser) { + { T::consumeSimpleBlock(block, parser) } -> std::convertible_to; +}; +template +concept facebook::react::CSSValidDataTypeParser = ((CSSFunctionBlockSink || CSSSimpleBlockSink || CSSPreservedTokenSink) && + !CSSParserSink) || +CSSParserSink; +template +concept facebook::react::CSSComponentValueVisitor = CSSSyntaxVisitorReturn&& + (CSSFunctionVisitor || CSSPreservedTokenVisitor || CSSSimpleBlockVisitor); +template +concept facebook::react::CSSFunctionVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSFunctionBlock func, facebook::react::CSSSyntaxParser& blockParser) { + { visitor(func, blockParser) } -> std::convertible_to; +}; +template +concept facebook::react::CSSPreservedTokenVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSPreservedToken token) { + { visitor(token) } -> std::convertible_to; +}; +template +concept facebook::react::CSSSimpleBlockVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSSimpleBlock block, facebook::react::CSSSyntaxParser& blockParser) { + { visitor(block, blockParser) } -> std::convertible_to; +}; +template +concept facebook::react::CSSDataType = CSSValidDataTypeParser, std::optional> && std::equality_comparable; +template +concept facebook::react::CSSKeywordSet = std::is_enum_v && std::is_same_v, std::underlying_type_t>; +template +concept facebook::react::CSSMaybeCompoundDataType = CSSDataType || CSSValidCompoundDataType; +template +concept facebook::react::CSSSyntaxVisitorReturn = std::is_default_constructible_v && std::equality_comparable; +template +concept facebook::react::CSSValidCompoundDataType = facebook::react::detail::is_variant_of_data_types::value; +template +concept facebook::react::Hashable = !std::is_same_v&& (requires(T a) { + { std::hash{}(a) } -> std::convertible_to; +}); +template +concept facebook::react::RawPropsFilterable = requires(facebook::react::RawProps& rawProps) { + { T::filterRawProps(rawProps) } -> std::same_as; +}; +template +concept facebook::react::TextLayoutManagerWithPreparedTextLayout = requires( + TextLayoutManagerT textLayoutManager, + facebook::react::AttributedString attributedString, + facebook::react::ParagraphAttributes paragraphAttributes, + facebook::react::TextLayoutContext layoutContext, + facebook::react::LayoutConstraints layoutConstraints, + typename TextLayoutManagerT::PreparedTextLayout preparedTextLayout) { + sizeof(typename TextLayoutManagerT::PreparedTextLayout); + { + textLayoutManager.prepareLayout(attributedString, paragraphAttributes, layoutContext, layoutConstraints) + } -> std::same_as; + { + textLayoutManager.measurePreparedLayout(preparedTextLayout, layoutContext, layoutConstraints) + } -> std::same_as; +}; +NSArray* facebook::react::extractKeysFromFollyDynamic(const folly::dynamic& dyn); +NSError* facebook::react::tryAndReturnError(const std::function& func); +NSString* facebook::react::deriveSourceURL(NSURL* url); +YGDirection facebook::react::yogaDirectionFromLayoutDirection(facebook::react::LayoutDirection direction); +bool facebook::react::areAttributedStringFragmentsEquivalentDisplayWise(const facebook::react::AttributedString::Fragment& lhs, const facebook::react::AttributedString::Fragment& rhs); +bool facebook::react::areAttributedStringFragmentsEquivalentLayoutWise(const facebook::react::AttributedString::Fragment& lhs, const facebook::react::AttributedString::Fragment& rhs); +bool facebook::react::areAttributedStringsEquivalentDisplayWise(const facebook::react::AttributedString& lhs, const facebook::react::AttributedString& rhs); +bool facebook::react::areAttributedStringsEquivalentLayoutWise(const facebook::react::AttributedString& lhs, const facebook::react::AttributedString& rhs); +bool facebook::react::areTextAttributesEquivalentLayoutWise(const facebook::react::TextAttributes& lhs, const facebook::react::TextAttributes& rhs); +bool facebook::react::hasAccurateCPUTimeNanosForBenchmarks(); +bool facebook::react::hostPlatformColorIsColorMeaningful(facebook::react::Color color) noexcept; +bool facebook::react::isColorMeaningful(const facebook::react::SharedColor& color) noexcept; +bool facebook::react::isHermesBytecodeBundle(const facebook::react::BundleHeader& header); +bool facebook::react::isZero(facebook::react::Float n); +const char* facebook::react::stringForScriptTag(const facebook::react::ScriptTag& tag); +const facebook::react::InteractionTypesMap& facebook::react::getInteractionTypes(); +const std::unordered_set& facebook::react::getDirectManipulationAllowlist(); +constexpr auto facebook::react::to_underlying(auto e) noexcept; +constexpr bool facebook::react::iequals(std::string_view a, std::string_view b); +constexpr char facebook::react::toLower(char c); +constexpr float facebook::react::canonicalize(float value, facebook::react::CSSAngleUnit unit); +constexpr std::optional facebook::react::parseCSSAngleUnit(std::string_view unit); +constexpr std::optional facebook::react::parseCSSLengthUnit(std::string_view unit); +constexpr uint32_t facebook::react::fnv1aLowercase(std::string_view string); +double facebook::react::ceil(double value) noexcept; +double facebook::react::floor(double value) noexcept; +double facebook::react::getCPUTimeNanos(); +double facebook::react::interpolate(double inputValue, double inputMin, double inputMax, double outputMin, double outputMax, std::string_view extrapolateLeft, std::string_view extrapolateRight); +double facebook::react::round(double value) noexcept; +facebook::jsi::Value facebook::react::createPromiseAsJSIValue(facebook::jsi::Runtime& rt, facebook::react::PromiseSetupFunctionType&& func); +facebook::react::AttributedString facebook::react::ensurePlaceholderIfEmpty_DO_NOT_USE(const facebook::react::AttributedString& attributedString); +facebook::react::Color facebook::react::hostPlatformColorFromComponents(facebook::react::ColorComponents components); +facebook::react::Color facebook::react::hostPlatformColorFromRGBA(uint8_t r, uint8_t g, uint8_t b, uint8_t a); +facebook::react::ColorComponents facebook::react::colorComponentsFromColor(facebook::react::SharedColor color); +facebook::react::ColorComponents facebook::react::colorComponentsFromHostPlatformColor(facebook::react::Color color); +facebook::react::ColorSpace facebook::react::getDefaultColorSpace(); +facebook::react::ComponentBuilder facebook::react::simpleComponentBuilder(std::shared_ptr contextContainer = nullptr); +facebook::react::ComponentRegistryFactory facebook::react::getDefaultComponentRegistryFactory(); +facebook::react::DisplayType facebook::react::displayTypeFromYGDisplay(YGDisplay display); +facebook::react::FilterType facebook::react::filterTypeFromVariant(const facebook::react::CSSFilterFunction& filter); +facebook::react::Float facebook::react::floatFromYogaFloat(float value); +facebook::react::Float facebook::react::floatFromYogaOptionalFloat(facebook::yoga::FloatOptional value); +facebook::react::JSIExecutor::RuntimeInstaller facebook::react::RCTJSIExecutorRuntimeInstaller(facebook::react::JSIExecutor::RuntimeInstaller runtimeInstallerToWrap); +facebook::react::LayoutMetrics facebook::react::layoutMetricsFromYogaNode(facebook::yoga::Node& yogaNode); +facebook::react::ParagraphAttributes facebook::react::convertRawProp(const facebook::react::PropsParserContext& context, const facebook::react::RawProps& rawProps, const facebook::react::ParagraphAttributes& sourceParagraphAttributes, const facebook::react::ParagraphAttributes& defaultParagraphAttributes); +facebook::react::Rect facebook::react::insetBy(const facebook::react::Rect& rect, const facebook::react::EdgeInsets& insets) noexcept; +facebook::react::Rect facebook::react::outsetBy(const facebook::react::Rect& rect, const facebook::react::EdgeInsets& outsets) noexcept; +facebook::react::ScriptTag facebook::react::parseTypeFromHeader(const facebook::react::BundleHeader& header); +facebook::react::ShadowView facebook::react::shadowViewFromShadowNode(const facebook::react::ShadowNode& shadowNode); +facebook::react::ShadowViewMutation::List facebook::react::calculateShadowViewMutations(const facebook::react::ShadowNode& oldRootShadowNode, const facebook::react::ShadowNode& newRootShadowNode); +facebook::react::SharedColor facebook::react::blackColor(); +facebook::react::SharedColor facebook::react::clearColor(); +facebook::react::SharedColor facebook::react::coerceColor(const facebook::react::RawValue& value, const facebook::react::PropsParserContext& context); +facebook::react::SharedColor facebook::react::colorFromComponents(facebook::react::ColorComponents components); +facebook::react::SharedColor facebook::react::colorFromRGBA(uint8_t r, uint8_t g, uint8_t b, uint8_t a); +facebook::react::SharedColor facebook::react::fromCSSColor(const facebook::react::CSSColor& cssColor); +facebook::react::SharedColor facebook::react::parsePlatformColor(const facebook::react::ContextContainer& contextContainer, int32_t surfaceId, const facebook::react::RawValue& value); +facebook::react::SharedColor facebook::react::whiteColor(); +facebook::react::Size facebook::react::ModalHostViewScreenSize(void); +facebook::react::Size facebook::react::yogaMeassureToSize(int64_t value); +facebook::react::StubViewTree facebook::react::buildStubViewTreeUsingDifferentiator(const facebook::react::ShadowNode& rootShadowNode); +facebook::react::StubViewTree facebook::react::buildStubViewTreeWithoutUsingDifferentiator(const facebook::react::ShadowNode& rootShadowNode); +facebook::react::SurfaceId facebook::react::getNextRootViewTag() noexcept; +facebook::react::TurboModuleMethodValueKind facebook::react::getTurboModuleMethodValueKind(facebook::jsi::Runtime& rt, const facebook::jsi::Value* value); +facebook::react::ValueUnit facebook::react::cssLengthPercentageToValueUnit(const std::variant& value); +facebook::react::ValueUnit facebook::react::toValueUnit(const facebook::react::RawValue& value); +facebook::yoga::FloatOptional facebook::react::convertAspectRatio(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value); +facebook::yoga::FloatOptional facebook::react::yogaOptionalFloatFromFloat(facebook::react::Float value); +float facebook::react::alphaFromHostPlatformColor(facebook::react::Color color); +float facebook::react::blueFromHostPlatformColor(facebook::react::Color color); +float facebook::react::ceil(float value) noexcept; +float facebook::react::floor(float value) noexcept; +float facebook::react::greenFromHostPlatformColor(facebook::react::Color color); +float facebook::react::redFromHostPlatformColor(facebook::react::Color color); +float facebook::react::round(float value) noexcept; +float facebook::react::yogaFloatFromFloat(facebook::react::Float value); +folly::dynamic facebook::react::convertIdToFollyDynamic(id json); +folly::dynamic facebook::react::diffDynamicProps(const folly::dynamic& oldProps, const folly::dynamic& newProps); +folly::dynamic facebook::react::mergeDynamicProps(const folly::dynamic& source, const folly::dynamic& patch, facebook::react::NullValueStrategy nullValueStrategy); +folly::dynamic facebook::react::toDynamic(const facebook::react::SubmitBehavior& value); +id facebook::react::convertFollyDynamicToId(const folly::dynamic& dyn); +int facebook::react::toInt(const facebook::react::DisplayType& displayType); +int facebook::react::toInt(const facebook::react::LayoutDirection& layoutDirection); +long double facebook::react::ceil(long double value) noexcept; +long double facebook::react::floor(long double value) noexcept; +long double facebook::react::round(long double value) noexcept; +size_t facebook::react::attributedStringFragmentHashDisplayWise(const facebook::react::AttributedString::Fragment& fragment); +size_t facebook::react::attributedStringFragmentHashLayoutWise(const facebook::react::AttributedString::Fragment& fragment); +size_t facebook::react::attributedStringHashDisplayWise(const facebook::react::AttributedString& attributedString); +size_t facebook::react::attributedStringHashLayoutWise(const facebook::react::AttributedString& attributedString); +size_t facebook::react::textAttributesHashLayoutWise(const facebook::react::TextAttributes& textAttributes); +std::function facebook::react::makeCallback(std::weak_ptr instance, const folly::dynamic& callbackId); +std::optional facebook::react::blendModeFromString(std::string_view blendModeName); +std::optional facebook::react::fromCSSShadow(const facebook::react::CSSShadow& cssShadow); +std::optional facebook::react::parseBoxShadowRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value); +std::optional facebook::react::fromCSSFilter(const facebook::react::CSSFilterFunction& cssFilter); +std::optional facebook::react::parseDropShadow(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value); +std::optional facebook::react::parseFilterRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value); +std::optional facebook::react::filterTypeFromString(std::string_view filterName); +std::optional facebook::react::coerceAmount(const facebook::react::RawValue& value); +std::optional facebook::react::coerceAngle(const facebook::react::RawValue& value); +std::optional facebook::react::coerceLength(const facebook::react::RawValue& value); +std::optional facebook::react::optionalFloatFromYogaValue(const facebook::yoga::Style::Length& length, std::optional base = {}); +std::optional facebook::react::toRadians(const facebook::react::RawValue& value); +std::optional facebook::react::fontVariantFromCSSFontVariant(facebook::react::CSSFontVariant cssVariant); +std::optional facebook::react::isolationFromString(std::string_view isolationSetting); +std::optional facebook::react::fromCSSTransformFunction(const facebook::react::CSSTransformFunction& cssTransform); +std::pair facebook::react::calculateAnimationProgress(uint64_t now, const facebook::react::LayoutAnimation& animation, const facebook::react::AnimationConfig& mutationConfig); +std::string facebook::react::base64Encode(const std::string_view s); +std::string facebook::react::componentNameByReactViewName(std::string viewName); +std::string facebook::react::generateRandomUuidString(); +std::string facebook::react::toString(const facebook::react::AccessibilityRole& accessibilityRole); +std::string facebook::react::toString(const facebook::react::AttributedString::Range& range); +std::string facebook::react::toString(const facebook::react::BlendMode& blendMode); +std::string facebook::react::toString(const facebook::react::DisplayType& displayType); +std::string facebook::react::toString(const facebook::react::DynamicTypeRamp& dynamicTypeRamp); +std::string facebook::react::toString(const facebook::react::EllipsizeMode& ellipsisMode); +std::string facebook::react::toString(const facebook::react::FilterType& filterType); +std::string facebook::react::toString(const facebook::react::FontStyle& fontStyle); +std::string facebook::react::toString(const facebook::react::FontVariant& fontVariant); +std::string facebook::react::toString(const facebook::react::FontWeight& fontWeight); +std::string facebook::react::toString(const facebook::react::HyphenationFrequency& hyphenationFrequency); +std::string facebook::react::toString(const facebook::react::ImageResizeMode& value); +std::string facebook::react::toString(const facebook::react::ImageSource& value); +std::string facebook::react::toString(const facebook::react::ImportantForAccessibility& importantForAccessibility); +std::string facebook::react::toString(const facebook::react::LayoutDirection& layoutDirection); +std::string facebook::react::toString(const facebook::react::LineBreakMode& lineBreakMode); +std::string facebook::react::toString(const facebook::react::LineBreakStrategy& lineBreakStrategy); +std::string facebook::react::toString(const facebook::react::Role& role); +std::string facebook::react::toString(const facebook::react::ScrollViewSnapToAlignment& value); +std::string facebook::react::toString(const facebook::react::SharedColor& value); +std::string facebook::react::toString(const facebook::react::TextAlignment& textAlignment); +std::string facebook::react::toString(const facebook::react::TextAlignmentVertical& textAlignment); +std::string facebook::react::toString(const facebook::react::TextBreakStrategy& textBreakStrategy); +std::string facebook::react::toString(const facebook::react::TextDecorationLineType& textDecorationLineType); +std::string facebook::react::toString(const facebook::react::TextDecorationStyle& textDecorationStyle); +std::string facebook::react::toString(const facebook::react::TextTransform& textTransform); +std::string facebook::react::toString(const facebook::react::WritingDirection& writingDirection); +std::string facebook::react::toString(double doubleValue, char suffix); +std::string facebook::react::toString(facebook::react::AccessibilityLiveRegion accessibilityLiveRegion); +std::string facebook::react::toString(facebook::react::PointerEventsMode value); +std::string_view facebook::react::getInteractionTypeForEvent(std::string_view eventName); +std::unordered_map(std::shared_ptr jsInvoker)>>& facebook::react::globalExportedCxxTurboModuleMap(); +std::vector facebook::react::longestIncreasingSubsequence(const std::vector& values, const std::vector& include); +std::vector facebook::react::parseNormalizedRootMargin(const std::string& marginStr); +std::vector facebook::react::parseMethodCalls(folly::dynamic&& jsonData); +std::vector facebook::react::sliceChildShadowNodeViewPairs(const facebook::react::ShadowViewNodePair& shadowNodePair, facebook::react::ViewNodePairScope& viewNodePairScope, bool allowFlattened, facebook::react::Point layoutOffset, const facebook::react::CullingContext& cullingContext); +std::vector> facebook::react::createNativeModules(NSArray* modules, RCTBridge* bridge, const std::shared_ptr& instance); +template +constexpr std::optional facebook::react::parseCSSKeyword(std::string_view ident); +template +constexpr facebook::react::CSSVariantWithTypes, std::monostate> facebook::react::parseCSSProperty(std::string_view css); +template +facebook::react::Float facebook::react::roundToPixel(facebook::react::Float value, facebook::react::Float scaleFactor); +template +facebook::react::Point facebook::react::roundToPixel(facebook::react::Point value, facebook::react::Float scaleFactor); +template +facebook::react::Rect facebook::react::roundToPixel(facebook::react::Rect value, facebook::react::Float scaleFactor); +template +facebook::react::Size facebook::react::roundToPixel(facebook::react::Size value, facebook::react::Float scaleFactor); +template +std::size_t facebook::react::hash_combine(const T& v, const Args &... args); +template +void facebook::react::hash_combine(std::size_t& seed, const T& v, const Rest &... rest); +template ::type> +facebook::react::MoveWrapper facebook::react::makeMoveWrapper(T&& t); +template +constexpr std::optional facebook::react::parseCSSColorFunction(std::string_view colorFunction, facebook::react::CSSValueParser& parser); +template +constexpr std::optional facebook::react::parseCSSHexColor(std::string_view hexColorValue); +template +constexpr std::optional facebook::react::parseCSSNamedColor(std::string_view name); +template +constexpr uint32_t facebook::react::fnv1a(std::string_view string) noexcept; +template +facebook::react::ComponentDescriptor::Unique facebook::react::concreteComponentDescriptorConstructor(const facebook::react::ComponentDescriptorParameters& parameters); +template +facebook::react::ComponentDescriptorProvider facebook::react::concreteComponentDescriptorProvider(); +template +DestinationTimePointT facebook::react::clockCast(SourceTimePointT timePoint); +template +RCTManagedPointer* facebook::react::managedPointer(P initializer); +template +T facebook::react::convertRawProp(const facebook::react::PropsParserContext& context, const facebook::react::RawProps& rawProps, const char* name, const T& sourceValue, const U& defaultValue, const char* namePrefix = nullptr, const char* nameSuffix = nullptr); +template +T facebook::react::get(const facebook::react::AnimatedPropBase& animatedProp); +template +T facebook::react::get(const std::unique_ptr& animatedProp); +template +bool facebook::react::floatEquality(T a, T b, T epsilon = static_cast(facebook::react::kDefaultEpsilon)); +template +facebook::react::ModuleConstants facebook::react::typedConstants(typename T::Builder::Input&& value); +template +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, T& result); +template +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, T& result, T defaultValue); +template +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, std::optional& result); +template +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, std::vector& result); +template +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, std::vector>& result); +template +std::shared_ptr facebook::react::getManagerByName(std::shared_ptr& contextContainer, const char name[]); +uint8_t facebook::react::alphaFromColor(facebook::react::SharedColor color) noexcept; +uint8_t facebook::react::blueFromColor(facebook::react::SharedColor color) noexcept; +uint8_t facebook::react::greenFromColor(facebook::react::SharedColor color) noexcept; +uint8_t facebook::react::redFromColor(facebook::react::SharedColor color) noexcept; +void facebook::react::FBReactNativeSpec_registerComponentDescriptorsFromCodegen(std::shared_ptr registry); +void facebook::react::RCTDefaultCxxLogFunction(ReactNativeLogLevel level, const char* message); +void facebook::react::bindHasComponentProvider(facebook::jsi::Runtime& runtime, facebook::react::HasComponentProviderFunctionType&& provider); +void facebook::react::bindNativeLogger(facebook::jsi::Runtime& runtime, facebook::react::Logger logger); +void facebook::react::bindNativePerformanceNow(facebook::jsi::Runtime& runtime); +void facebook::react::cloneProp(facebook::react::BaseViewProps& viewProps, const facebook::react::AnimatedPropBase& animatedProp); +void facebook::react::defineReadOnlyGlobal(facebook::jsi::Runtime& runtime, const std::string& propName, facebook::jsi::Value&& value); +void facebook::react::executeSynchronouslyOnSameThread_CAN_DEADLOCK(const facebook::react::RuntimeExecutor& runtimeExecutor, std::function&& runtimeWork); +void facebook::react::fromRawValue(const facebook::react::ContextContainer& contextContainer, int32_t surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, YGValue& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityAction& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityLabelledBy& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityLiveRegion& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityRole& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityState& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityTraits& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AttributedString::Range& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AutocapitalizationType& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BackfaceVisibility& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BorderCurve& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BorderStyle& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ContentInsetAdjustmentBehavior& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::CornerInsets& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Cursor& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::DynamicTypeRamp& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::EdgeInsets& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::EllipsizeMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontStyle& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontVariant& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontWeight& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::HyphenationFrequency& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ImageResizeMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ImageSource& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ImportantForAccessibility& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::KeyboardAppearance& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::KeyboardType& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::LineBreakStrategy& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::OutlineStyle& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Point& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::PointerEventsMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ReturnKeyType& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Role& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewIndicatorStyle& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewKeyboardDismissMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewMaintainVisibleContentPosition& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewSnapToAlignment& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Selection& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::SharedColor& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Size& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextAlignment& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextBreakStrategy& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextDecorationLineType& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextDecorationStyle& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextInputAccessoryVisibilityMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextTransform& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Transform& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TransformOrigin& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::WritingDirection& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Align& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Direction& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Display& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::FlexDirection& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::FloatOptional& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Justify& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Overflow& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::PositionType& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Style::Length& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Wrap& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::AccessibilityValue& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::BlendMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Isolation& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::LayoutConformance& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::LineBreakMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::SubmitBehavior& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::TextAlignmentVertical& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::ValueUnit& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::yoga::BoxSizing& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::yoga::Style::SizeLength& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::fromRawValueShared(const facebook::react::ContextContainer& contextContainer, int32_t surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result, facebook::react::parsePlatformColorFn parsePlatformColor); +void facebook::react::fromString(const std::string& string, facebook::react::AccessibilityTraits& result); +void facebook::react::g_setNativeAnimatedNowTimestampFunction(facebook::react::TimePointFunction nowFunction); +void facebook::react::installLegacyUIManagerConstantsProviderBinding(facebook::jsi::Runtime& runtime); +void facebook::react::parseProcessedBackgroundImage(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::parseProcessedBoxShadow(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::parseProcessedFilter(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::parseProcessedFontVariant(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::FontVariant& result); +void facebook::react::parseProcessedTransform(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Transform& result); +void facebook::react::parseProcessedTransformOrigin(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::TransformOrigin& result); +void facebook::react::parseUnprocessedBackgroundImageList(const facebook::react::PropsParserContext& context, const std::vector& value, std::vector& result); +void facebook::react::parseUnprocessedBackgroundImageString(const std::string& value, std::vector& result); +void facebook::react::parseUnprocessedBoxShadow(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::parseUnprocessedBoxShadowList(const facebook::react::PropsParserContext& context, std::vector&& value, std::vector& result); +void facebook::react::parseUnprocessedBoxShadowString(std::string&& value, std::vector& result); +void facebook::react::parseUnprocessedFilter(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::parseUnprocessedFilterList(const facebook::react::PropsParserContext& context, std::vector&& value, std::vector& result); +void facebook::react::parseUnprocessedFilterString(std::string&& value, std::vector& result); +void facebook::react::parseUnprocessedFontVariant(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontVariant& result); +void facebook::react::parseUnprocessedFontVariantString(const std::string& value, facebook::react::FontVariant& result); +void facebook::react::parseUnprocessedTransform(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Transform& result); +void facebook::react::parseUnprocessedTransformOrigin(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TransformOrigin& result); +void facebook::react::parseUnprocessedTransformOriginString(const std::string& value, facebook::react::TransformOrigin& result); +void facebook::react::parseUnprocessedTransformString(const std::string& value, facebook::react::Transform& result); +void facebook::react::registerCxxModuleToGlobalModuleMap(std::string name, std::function(std::shared_ptr jsInvoker)> moduleProviderFunc); +void facebook::react::serializeTransformAxis(const facebook::react::TransformOperation& operation, const std::string& operationName, float defaultValue, folly::dynamic& resultTranslateArray); +void facebook::react::serializeTransformOperationValue(const std::string& operationName, const facebook::react::ValueUnit& valueUnit, folly::dynamic& resultArray); +void facebook::react::setDefaultColorSpace(facebook::react::ColorSpace newColorSpace); +void facebook::react::setTouchPayloadOnObject(facebook::jsi::Object& object, facebook::jsi::Runtime& runtime, const facebook::react::BaseTouch& touch); +void facebook::react::unsafeExecuteOnMainThreadSync(std::function work); +void facebook::react::updateMountedFlag(const std::vector>& oldChildren, const std::vector>& newChildren, facebook::react::ShadowTreeCommitSource commitSource); +void facebook::react::updateProp(const facebook::react::PropName propName, facebook::react::BaseViewProps& viewProps, const facebook::react::PropsSnapshot& snapshot); +void facebook::react::updateTransformProps(const facebook::react::Transform& transform, const facebook::react::TransformOperation& operation, folly::dynamic& resultTranslateArray); +bool facebook::react::operator==(const facebook::react::AttributedStringBox& lhs, const facebook::react::AttributedStringBox& rhs); +bool facebook::react::operator==(const facebook::react::LayoutConstraints& lhs, const facebook::react::LayoutConstraints& rhs); +bool facebook::react::operator==(const facebook::react::LayoutContext& lhs, const facebook::react::LayoutContext& rhs); +bool facebook::react::operator==(const facebook::react::LineMeasureCacheKey& lhs, const facebook::react::LineMeasureCacheKey& rhs); +bool facebook::react::operator==(const facebook::react::PerformanceObserver& lhs, const facebook::react::PerformanceObserver& rhs); +bool facebook::react::operator==(const facebook::react::PreparedTextCacheKey& lhs, const facebook::react::PreparedTextCacheKey& rhs); +bool facebook::react::operator==(const facebook::react::RawPropsKey& lhs, const facebook::react::RawPropsKey& rhs) noexcept; +bool facebook::react::operator==(const facebook::react::Size& rhs, const facebook::react::Size& lhs) noexcept; +bool facebook::react::operator==(const facebook::react::StubView& lhs, const facebook::react::StubView& rhs); +bool facebook::react::operator==(const facebook::react::StubViewTree& lhs, const facebook::react::StubViewTree& rhs); +bool facebook::react::operator==(const facebook::react::TextMeasureCacheKey& lhs, const facebook::react::TextMeasureCacheKey& rhs); +constexpr bool facebook::react::operator&(facebook::react::ModalHostViewSupportedOrientationsMask const lhs, enum facebook::react::ModalHostViewSupportedOrientations const rhs); +constexpr bool facebook::react::operator==(const facebook::react::AccessibilityState& lhs, const facebook::react::AccessibilityState& rhs); +constexpr bool facebook::react::operator==(const facebook::react::AccessibilityValue& lhs, const facebook::react::AccessibilityValue& rhs); +constexpr enum facebook::react::AccessibilityTraits facebook::react::operator&(const enum facebook::react::AccessibilityTraits lhs, const enum facebook::react::AccessibilityTraits rhs); +constexpr enum facebook::react::AccessibilityTraits facebook::react::operator|(const enum facebook::react::AccessibilityTraits lhs, const enum facebook::react::AccessibilityTraits rhs); +constexpr facebook::react::HighResDuration facebook::react::operator-(const facebook::react::HighResTimeStamp& lhs, const facebook::react::HighResTimeStamp& rhs); +constexpr facebook::react::HighResTimeStamp facebook::react::operator+(const facebook::react::HighResTimeStamp& lhs, const facebook::react::HighResDuration& rhs); +constexpr facebook::react::HighResTimeStamp facebook::react::operator-(const facebook::react::HighResTimeStamp& lhs, const facebook::react::HighResDuration& rhs); +constexpr facebook::react::ModalHostViewSupportedOrientationsMask facebook::react::operator|(facebook::react::ModalHostViewSupportedOrientationsMask const lhs, enum facebook::react::ModalHostViewSupportedOrientations const rhs); +constexpr void facebook::react::operator|=(facebook::react::ModalHostViewSupportedOrientationsMask& lhs, enum facebook::react::ModalHostViewSupportedOrientations const rhs); +facebook::react::EdgeInsets facebook::react::operator*(const facebook::react::EdgeInsets& edgeInsets, const facebook::react::Transform& transform); +facebook::react::Point facebook::react::operator*(const facebook::react::Point& point, const facebook::react::Transform& transform); +facebook::react::Rect facebook::react::operator*(const facebook::react::Rect& rect, const facebook::react::Transform& transform); +facebook::react::Size facebook::react::operator*(const facebook::react::Size& size, const facebook::react::Transform& transform); +facebook::react::Vector facebook::react::operator*(const facebook::react::Transform& transform, const facebook::react::Vector& vector); +template +facebook::react::RectangleEdges facebook::react::operator+(const facebook::react::RectangleEdges& lhs, const facebook::react::RectangleEdges& rhs) noexcept; +template +facebook::react::RectangleEdges facebook::react::operator-(const facebook::react::RectangleEdges& lhs, const facebook::react::RectangleEdges& rhs) noexcept; +JSI_EXPORT const char facebook::react::ActivityIndicatorViewComponentName[]; +JSI_EXPORT const char facebook::react::AndroidDrawerLayoutComponentName[]; +JSI_EXPORT const char facebook::react::AndroidSwipeRefreshLayoutComponentName[]; +JSI_EXPORT const char facebook::react::DebuggingOverlayComponentName[]; +JSI_EXPORT const char facebook::react::PullToRefreshViewComponentName[]; +JSI_EXPORT const char facebook::react::UnimplementedNativeViewComponentName[]; + +class facebook::react::AccessibilityProps { + public AccessibilityProps() = default; + public AccessibilityProps(const facebook::react::PropsParserContext& context, const facebook::react::AccessibilityProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool accessibilityElementsHidden; + public bool accessibilityIgnoresInvertColors; + public bool accessibilityRespondsToUserInteraction; + public bool accessibilityShowsLargeContentViewer; + public bool accessibilityViewIsModal; + public bool accessible; + public bool onAccessibilityAction; + public bool onAccessibilityEscape; + public bool onAccessibilityMagicTap; + public bool onAccessibilityTap; + public facebook::react::AccessibilityLabelledBy accessibilityLabelledBy; + public facebook::react::AccessibilityLiveRegion accessibilityLiveRegion; + public facebook::react::AccessibilityTraits accessibilityTraits; + public facebook::react::AccessibilityValue accessibilityValue; + public facebook::react::ImportantForAccessibility importantForAccessibility; + public facebook::react::Role role; + public std::optional accessibilityState; + public std::string accessibilityHint; + public std::string accessibilityLabel; + public std::string accessibilityLanguage; + public std::string accessibilityLargeContentTitle; + public std::string accessibilityRole; + public std::string testId; + public std::vector accessibilityActions; + public std::vector accessibilityOrder; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::ActivityIndicatorViewEventEmitter : public facebook::react::BaseViewEventEmitter { +} + +class facebook::react::ActivityIndicatorViewProps : public facebook::react::HostPlatformViewProps { + public ActivityIndicatorViewProps() = default; + public ActivityIndicatorViewProps(const facebook::react::PropsParserContext& context, const facebook::react::ActivityIndicatorViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool animating; + public bool hidesWhenStopped; + public facebook::react::ActivityIndicatorViewSize size; + public facebook::react::SharedColor color; +} + +class facebook::react::AdditionAnimatedNode : public facebook::react::OperatorAnimatedNode { + public AdditionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::AndroidDrawerLayoutEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onDrawerClose(facebook::react::AndroidDrawerLayoutEventEmitter::OnDrawerClose value) const; + public void onDrawerOpen(facebook::react::AndroidDrawerLayoutEventEmitter::OnDrawerOpen value) const; + public void onDrawerSlide(facebook::react::AndroidDrawerLayoutEventEmitter::OnDrawerSlide value) const; + public void onDrawerStateChanged(facebook::react::AndroidDrawerLayoutEventEmitter::OnDrawerStateChanged value) const; +} + +struct facebook::react::AndroidDrawerLayoutEventEmitter::OnDrawerClose { +} + +struct facebook::react::AndroidDrawerLayoutEventEmitter::OnDrawerOpen { +} + +struct facebook::react::AndroidDrawerLayoutEventEmitter::OnDrawerSlide { + public facebook::react::Float offset; +} + +struct facebook::react::AndroidDrawerLayoutEventEmitter::OnDrawerStateChanged { + public int drawerState; +} + +class facebook::react::AndroidDrawerLayoutProps : public facebook::react::HostPlatformViewProps { + public AndroidDrawerLayoutProps() = default; + public AndroidDrawerLayoutProps(const facebook::react::PropsParserContext& context, const facebook::react::AndroidDrawerLayoutProps& sourceProps, const facebook::react::RawProps& rawProps); + public facebook::react::AndroidDrawerLayoutDrawerLockMode drawerLockMode; + public facebook::react::AndroidDrawerLayoutDrawerPosition drawerPosition; + public facebook::react::AndroidDrawerLayoutKeyboardDismissMode keyboardDismissMode; + public facebook::react::Float drawerWidth; + public facebook::react::SharedColor drawerBackgroundColor; + public facebook::react::SharedColor statusBarBackgroundColor; +} + +class facebook::react::AndroidHorizontalScrollContentViewEventEmitter : public facebook::react::BaseViewEventEmitter { +} + +class facebook::react::AndroidHorizontalScrollContentViewProps : public facebook::react::HostPlatformViewProps { + public AndroidHorizontalScrollContentViewProps() = default; + public AndroidHorizontalScrollContentViewProps(const facebook::react::PropsParserContext& context, const facebook::react::AndroidHorizontalScrollContentViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool removeClippedSubviews; +} + +class facebook::react::AndroidProgressBarComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public AndroidProgressBarComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); + public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; +} + +class facebook::react::AndroidProgressBarEventEmitter : public facebook::react::BaseViewEventEmitter { +} + +class facebook::react::AndroidProgressBarMeasurementsManager { + public AndroidProgressBarMeasurementsManager(const std::shared_ptr& contextContainer); + public facebook::react::Size measure(facebook::react::SurfaceId surfaceId, const facebook::react::AndroidProgressBarProps& props, facebook::react::LayoutConstraints layoutConstraints) const; +} + +class facebook::react::AndroidProgressBarProps : public facebook::react::HostPlatformViewProps { + public AndroidProgressBarProps() = default; + public AndroidProgressBarProps(const facebook::react::PropsParserContext& context, const facebook::react::AndroidProgressBarProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool animating; + public bool indeterminate; + public double progress; + public facebook::react::SharedColor color; + public std::string styleAttr; + public std::string testID; + public std::string typeAttr; +} + +class facebook::react::AndroidProgressBarShadowNode : public facebook::react::ConcreteViewShadowNode { + public AndroidProgressBarShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public AndroidProgressBarShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; + public void setAndroidProgressBarMeasurementsManager(const std::shared_ptr& measurementsManager); +} + +class facebook::react::AndroidSwipeRefreshLayoutEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onRefresh(facebook::react::AndroidSwipeRefreshLayoutEventEmitter::OnRefresh value) const; +} + +struct facebook::react::AndroidSwipeRefreshLayoutEventEmitter::OnRefresh { +} + +class facebook::react::AndroidSwipeRefreshLayoutProps : public facebook::react::HostPlatformViewProps { + public AndroidSwipeRefreshLayoutProps() = default; + public AndroidSwipeRefreshLayoutProps(const facebook::react::PropsParserContext& context, const facebook::react::AndroidSwipeRefreshLayoutProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool enabled; + public bool refreshing; + public facebook::react::AndroidSwipeRefreshLayoutSize size; + public facebook::react::Float progressViewOffset; + public facebook::react::SharedColor progressBackgroundColor; + public std::vector colors; +} + +class facebook::react::AndroidSwitchComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public AndroidSwitchComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); + public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; +} + +class facebook::react::AndroidSwitchEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onChange(facebook::react::AndroidSwitchEventEmitter::OnChange value) const; +} + +struct facebook::react::AndroidSwitchEventEmitter::OnChange { + public bool value; + public int target; +} + +class facebook::react::AndroidSwitchMeasurementsManager { + public AndroidSwitchMeasurementsManager(const std::shared_ptr& contextContainer); + public facebook::react::Size measure(facebook::react::SurfaceId surfaceId, facebook::react::LayoutConstraints layoutConstraints) const; +} + +class facebook::react::AndroidSwitchProps : public facebook::react::HostPlatformViewProps { + public AndroidSwitchProps() = default; + public AndroidSwitchProps(const facebook::react::PropsParserContext& context, const facebook::react::AndroidSwitchProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool disabled; + public bool enabled; + public bool on; + public bool value; + public facebook::react::SharedColor thumbColor; + public facebook::react::SharedColor thumbTintColor; + public facebook::react::SharedColor trackColorForFalse; + public facebook::react::SharedColor trackColorForTrue; + public facebook::react::SharedColor trackTintColor; +} + +class facebook::react::AndroidSwitchShadowNode : public facebook::react::ConcreteViewShadowNode { + public AndroidSwitchShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public AndroidSwitchShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; + public void setAndroidSwitchMeasurementsManager(const std::shared_ptr& measurementsManager); +} + +class facebook::react::AnimatedModule : public facebook::react::NativeAnimatedModuleCxxSpec, public facebook::react::TurboModuleWithJSIBindings { + public AnimatedModule(std::shared_ptr jsInvoker, std::shared_ptr nodesManagerProvider); + public void addAnimatedEventToView(facebook::jsi::Runtime& rt, facebook::react::Tag viewTag, std::string eventName, facebook::jsi::Object eventMapping); + public void addListener(facebook::jsi::Runtime& rt, const std::string& eventName); + public void connectAnimatedNodeToShadowNodeFamily(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::jsi::Object shadowNode); + public void connectAnimatedNodeToView(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::react::Tag viewTag); + public void connectAnimatedNodes(facebook::jsi::Runtime& rt, facebook::react::Tag parentTag, facebook::react::Tag childTag); + public void createAnimatedNode(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::jsi::Object config); + public void disconnectAnimatedNodeFromView(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::react::Tag viewTag); + public void disconnectAnimatedNodes(facebook::jsi::Runtime& rt, facebook::react::Tag parentTag, facebook::react::Tag childTag); + public void dropAnimatedNode(facebook::jsi::Runtime& rt, facebook::react::Tag tag); + public void extractAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); + public void finishOperationBatch(facebook::jsi::Runtime& rt); + public void flattenAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); + public void getValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::react::AsyncCallback saveValueCallback); + public void queueAndExecuteBatchedOperations(facebook::jsi::Runtime& rt, facebook::jsi::Array operationsAndArgs); + public void removeAnimatedEventFromView(facebook::jsi::Runtime& rt, facebook::react::Tag viewTag, std::string eventName, facebook::react::Tag animatedNodeTag); + public void removeListeners(facebook::jsi::Runtime& rt, int count); + public void restoreDefaultValues(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); + public void setAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, double offset); + public void setAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, double value); + public void startAnimatingNode(facebook::jsi::Runtime& rt, int animationId, facebook::react::Tag nodeTag, facebook::jsi::Object config, facebook::react::AnimationEndCallback endCallback); + public void startListeningToAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag); + public void startOperationBatch(facebook::jsi::Runtime& rt); + public void stopAnimation(facebook::jsi::Runtime& rt, int animationId); + public void stopListeningToAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag); + public void updateAnimatedNodeConfig(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::jsi::Object config); +} + +class facebook::react::AnimatedMountingOverrideDelegate : public facebook::react::MountingOverrideDelegate { + public AnimatedMountingOverrideDelegate(facebook::react::NativeAnimatedNodesManager& animatedManager, const facebook::react::Scheduler& scheduler); + public virtual bool shouldOverridePullTransaction() const override; + public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number transactionNumber, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const override; +} + +class facebook::react::AnimatedNode { + protected facebook::react::AnimatedNode* getChildNode(facebook::react::Tag tag); + protected facebook::react::AnimatedNodeType type_; + protected facebook::react::NativeAnimatedNodesManager* manager_; + protected facebook::react::Tag tag_; + protected std::unordered_set children_; + public AnimatedNode(const facebook::react::AnimatedNode&) = default; + public AnimatedNode(facebook::react::AnimatedNode&&) noexcept = default; + public AnimatedNode(facebook::react::Tag tag, folly::dynamic config, facebook::react::NativeAnimatedNodesManager& manager, facebook::react::AnimatedNodeType type); + public const folly::dynamic& getConfig() const noexcept; + public const std::unordered_set& getChildren() const noexcept; + public facebook::react::AnimatedNode& operator=(const facebook::react::AnimatedNode&) = default; + public facebook::react::AnimatedNode& operator=(facebook::react::AnimatedNode&&) noexcept = default; + public facebook::react::AnimatedNodeType type() const noexcept; + public facebook::react::Tag tag() const noexcept; + public int activeIncomingNodes; + public int bfsColor; + public static constexpr int INITIAL_BFS_COLOR; + public static std::optional getNodeTypeByName(const std::string& nodeTypeName); + public std::string debugID() const; + public virtual void onAttachToNode(facebook::react::Tag); + public virtual void onDetachedFromNode(facebook::react::Tag); + public virtual void update(); + public virtual ~AnimatedNode() = default; + public void addChild(facebook::react::Tag tag); + public void removeChild(facebook::react::Tag tag); +} + +class facebook::react::AnimatedPropsRegistry { + public std::pair>&, facebook::react::SnapshotMap&> getMap(facebook::react::SurfaceId surfaceId); + public void clear(facebook::react::SurfaceId surfaceId); + public void update(const std::unordered_map& surfaceUpdates); +} + +class facebook::react::AnimationBackend : public facebook::react::UIManagerAnimationBackend { + public AnimationBackend(std::shared_ptr animationChoreographer, std::shared_ptr uiManager); + public using PauseCallback = std::function; + public using ResumeCallback = std::function; + public virtual facebook::react::CallbackId start(const facebook::react::UIManagerAnimationBackend::Callback& callback) override; + public virtual void clearRegistry(facebook::react::SurfaceId surfaceId) override; + public virtual void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) override; + public virtual void registerJSInvoker(std::shared_ptr jsInvoker) override; + public virtual void stop(facebook::react::CallbackId callbackId) override; + public virtual void trigger() override; + public void commitUpdates(facebook::react::SurfaceId surfaceId, facebook::react::SurfaceUpdates& surfaceUpdates); + public void requestAsyncFlushForSurfaces(const std::set& surfaces); + public void synchronouslyUpdateProps(const std::unordered_map& updates); +} + +class facebook::react::AnimationBackendCommitHook : public facebook::react::UIManagerCommitHook { + public AnimationBackendCommitHook(facebook::react::UIManager& uiManager, std::shared_ptr animatedPropsRegistry); + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions& commitOptions) noexcept override; + public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept override; + public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept override; +} + +class facebook::react::AnimationChoreographer { + public virtual void pause() = 0; + public virtual void resume() = 0; + public virtual ~AnimationChoreographer() = default; + public void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) const; + public void setAnimationBackend(std::weak_ptr animationBackend); +} + +class facebook::react::AnimationDriver { + protected bool ignoreCompletedHandlers_; + protected bool isComplete_; + protected bool isStarted_; + protected double startFrameTimeMs_; + protected facebook::react::NativeAnimatedNodesManager* manager_; + protected facebook::react::Tag animatedValueTag_; + protected folly::dynamic config_; + protected int currentIteration_; + protected int id_; + protected int iterations_; + protected std::optional endCallback_; + protected virtual bool update(double, bool); + protected void markNodeUpdated(facebook::react::Tag tag); + public AnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); + public bool getIsComplete() const noexcept; + public facebook::react::Tag getAnimatedValueTag() const noexcept; + public int getId() const noexcept; + public static std::optional getDriverTypeByName(const std::string& driverTypeName); + public std::string debugID() const; + public virtual void updateConfig(folly::dynamic config); + public virtual ~AnimationDriver() = default; + public void runAnimationStep(double renderingTime); + public void startAnimation(); + public void stopAnimation(bool ignoreCompletedHandlers = false); +} + +class facebook::react::AppRegistryBinding { + public AppRegistryBinding() = delete; + public static void setSurfaceProps(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& initialProps, facebook::react::DisplayMode displayMode); + public static void startSurface(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& initialProps, facebook::react::DisplayMode displayMode); + public static void stopSurface(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId); +} + +class facebook::react::AppleEventBeat : public facebook::react::EventBeat, public facebook::react::RunLoopObserver::Delegate { + public AppleEventBeat(std::shared_ptr ownerBox, std::unique_ptr uiRunLoopObserver, facebook::react::RuntimeScheduler& RuntimeScheduler); + public virtual void activityDidChange(const facebook::react::RunLoopObserver::Delegate* delegate, facebook::react::RunLoopObserver::Activity activity) const noexcept override; +} + +class facebook::react::AttributedString : public facebook::react::Sealable, public facebook::react::DebugStringConvertible { + public bool compareTextAttributesWithoutFrame(const facebook::react::AttributedString& rhs) const; + public bool isContentEqual(const facebook::react::AttributedString& rhs) const; + public bool isEmpty() const; + public bool operator==(const facebook::react::AttributedString& rhs) const; + public const facebook::react::AttributedString::Fragments& getFragments() const; + public const facebook::react::TextAttributes& getBaseTextAttributes() const; + public facebook::react::AttributedString::Fragments& getFragments(); + public std::string getString() const; + public using Fragments = std::vector; + public void appendFragment(facebook::react::AttributedString::Fragment&& fragment); + public void prependFragment(facebook::react::AttributedString::Fragment&& fragment); + public void setBaseTextAttributes(const facebook::react::TextAttributes& defaultAttributes); +} + +class facebook::react::AttributedString::Fragment { + public bool isAttachment() const; + public bool isContentEqual(const facebook::react::AttributedString::Fragment& rhs) const; + public bool operator==(const facebook::react::AttributedString::Fragment& rhs) const; + public facebook::react::ShadowView parentShadowView; + public facebook::react::TextAttributes textAttributes; + public static std::string AttachmentCharacter(); + public std::string string; +} + +class facebook::react::AttributedString::Range { + public int length; + public int location; +} + +class facebook::react::AttributedStringBox { + public AttributedStringBox(); + public AttributedStringBox(const facebook::react::AttributedString& value); + public AttributedStringBox(const facebook::react::AttributedStringBox& other) = default; + public AttributedStringBox(facebook::react::AttributedStringBox&& other) noexcept; + public AttributedStringBox(std::shared_ptr opaquePointer); + public const facebook::react::AttributedString& getValue() const; + public facebook::react::AttributedStringBox& operator=(const facebook::react::AttributedStringBox& other) = default; + public facebook::react::AttributedStringBox& operator=(facebook::react::AttributedStringBox&& other) noexcept; + public facebook::react::AttributedStringBox::Mode getMode() const; + public std::shared_ptr getOpaquePointer() const; +} + +enum facebook::react::AttributedStringBox::Mode { + OpaquePointer, + Value, +} + +class facebook::react::BaseParagraphProps : public facebook::react::HostPlatformViewProps, public facebook::react::BaseTextProps { + public BaseParagraphProps() = default; + public BaseParagraphProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseParagraphProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool isSelectable; + public bool onTextLayout; + public facebook::react::ParagraphAttributes paragraphAttributes; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::BaseScrollViewProps : public facebook::react::HostPlatformViewProps { + public BaseScrollViewProps() = default; + public BaseScrollViewProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseScrollViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool alwaysBounceHorizontal; + public bool alwaysBounceVertical; + public bool automaticallyAdjustContentInsets; + public bool automaticallyAdjustKeyboardInsets; + public bool automaticallyAdjustsScrollIndicatorInsets; + public bool bounces; + public bool bouncesZoom; + public bool canCancelContentTouches; + public bool centerContent; + public bool directionalLockEnabled; + public bool disableIntervalMomentum; + public bool horizontal; + public bool isInvertedVirtualizedList; + public bool pagingEnabled; + public bool persistentScrollbar; + public bool pinchGestureEnabled; + public bool scrollEnabled; + public bool scrollToOverflowEnabled; + public bool scrollsToTop; + public bool showsHorizontalScrollIndicator; + public bool showsVerticalScrollIndicator; + public bool snapToEnd; + public bool snapToStart; + public facebook::react::ContentInsetAdjustmentBehavior contentInsetAdjustmentBehavior; + public facebook::react::EdgeInsets contentInset; + public facebook::react::EdgeInsets scrollIndicatorInsets; + public facebook::react::Float decelerationRate; + public facebook::react::Float endDraggingSensitivityMultiplier; + public facebook::react::Float maximumZoomScale; + public facebook::react::Float minimumZoomScale; + public facebook::react::Float scrollEventThrottle; + public facebook::react::Float snapToInterval; + public facebook::react::Float zoomScale; + public facebook::react::Point contentOffset; + public facebook::react::ScrollViewIndicatorStyle indicatorStyle; + public facebook::react::ScrollViewKeyboardDismissMode keyboardDismissMode; + public facebook::react::ScrollViewSnapToAlignment snapToAlignment; + public std::optional maintainVisibleContentPosition; + public std::vector snapToOffsets; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::BaseTextInputProps : public facebook::react::HostPlatformViewProps, public facebook::react::BaseTextProps { + public BaseTextInputProps() = default; + public BaseTextInputProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseTextInputProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool autoFocus; + public bool disableKeyboardShortcuts; + public bool editable; + public bool multiline; + public bool readOnly; + public facebook::react::ParagraphAttributes paragraphAttributes; + public facebook::react::SharedColor cursorColor; + public facebook::react::SharedColor placeholderTextColor; + public facebook::react::SharedColor selectionColor; + public facebook::react::SharedColor selectionHandleColor; + public facebook::react::SharedColor underlineColorAndroid; + public facebook::react::SubmitBehavior getNonDefaultSubmitBehavior() const; + public facebook::react::SubmitBehavior submitBehavior; + public facebook::react::TextAttributes getEffectiveTextAttributes(facebook::react::Float fontSizeMultiplier) const; + public int maxLength; + public int mostRecentEventCount; + public std::optional> acceptDragAndDropTypes; + public std::string autoCapitalize; + public std::string defaultValue; + public std::string placeholder; + public std::string text; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::BaseTextProps { + public BaseTextProps() = default; + public BaseTextProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseTextProps& sourceProps, const facebook::react::RawProps& rawProps); + public facebook::react::TextAttributes textAttributes; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::BaseTextShadowNode { + public static void buildAttributedString(const facebook::react::TextAttributes& baseTextAttributes, const facebook::react::ShadowNode& parentNode, facebook::react::AttributedString& outAttributedString, facebook::react::BaseTextShadowNode::Attachments& outAttachments); + public using Attachments = std::vector; +} + +class facebook::react::BaseTextShadowNode::Attachment { + public const facebook::react::ShadowNode* shadowNode; + public size_t fragmentIndex; +} + +class facebook::react::BaseViewEventEmitter : public facebook::react::TouchEventEmitter { + public void onAccessibilityAction(const std::string& name) const; + public void onAccessibilityEscape() const; + public void onAccessibilityMagicTap() const; + public void onAccessibilityTap() const; + public void onBlur() const; + public void onFocus() const; + public void onLayout(const facebook::react::LayoutMetrics& layoutMetrics) const; +} + +class facebook::react::BaseViewProps : public facebook::react::YogaStylableProps, public facebook::react::AccessibilityProps { + public BaseViewProps() = default; + public BaseViewProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseViewProps& sourceProps, const facebook::react::RawProps& rawProps, const std::function& filterObjectKeys = nullptr); + public bool collapsable; + public bool collapsableChildren; + public bool getClipsContentToBounds() const; + public bool onLayout; + public bool removeClippedSubviews; + public bool shouldRasterize; + public facebook::react::BackfaceVisibility backfaceVisibility; + public facebook::react::BlendMode mixBlendMode; + public facebook::react::BorderMetrics resolveBorderMetrics(const facebook::react::LayoutMetrics& layoutMetrics) const; + public facebook::react::CascadedBorderColors borderColors; + public facebook::react::CascadedBorderCurves borderCurves; + public facebook::react::CascadedBorderRadii borderRadii; + public facebook::react::CascadedBorderStyles borderStyles; + public facebook::react::CascadedBorderWidths getBorderWidths() const; + public facebook::react::Cursor cursor; + public facebook::react::EdgeInsets hitSlop; + public facebook::react::Float opacity; + public facebook::react::Float outlineOffset; + public facebook::react::Float outlineWidth; + public facebook::react::Float shadowOpacity; + public facebook::react::Float shadowRadius; + public facebook::react::Isolation isolation; + public facebook::react::OutlineStyle outlineStyle; + public facebook::react::PointerEventsMode pointerEvents; + public facebook::react::SharedColor backgroundColor; + public facebook::react::SharedColor outlineColor; + public facebook::react::SharedColor shadowColor; + public facebook::react::Size shadowOffset; + public facebook::react::Transform resolveTransform(const facebook::react::LayoutMetrics& layoutMetrics) const; + public facebook::react::Transform transform; + public facebook::react::TransformOrigin transformOrigin; + public facebook::react::ViewEvents events; + public static facebook::react::Transform resolveTransform(const facebook::react::Size& frameSize, const facebook::react::Transform& transform, const facebook::react::TransformOrigin& transformOrigin); + public std::optional zIndex; + public std::vector backgroundImage; + public std::vector backgroundPosition; + public std::vector backgroundRepeat; + public std::vector backgroundSize; + public std::vector boxShadow; + public std::vector filter; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::BigStringBuffer : public facebook::jsi::Buffer { + public BigStringBuffer(std::unique_ptr script); + public virtual const uint8_t* data() const override; + public virtual size_t size() const override; +} + +class facebook::react::BindingsInstaller { + public virtual facebook::react::ReactInstance::BindingsInstallFunc getBindingsInstallFunc(); +} + +class facebook::react::BridgelessNativeMethodCallInvoker : public facebook::react::NativeMethodCallInvoker { + public BridgelessNativeMethodCallInvoker(std::shared_ptr messageQueueThread); + public virtual void invokeAsync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) noexcept override; + public virtual void invokeSync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) override; +} + +class facebook::react::BufferedRuntimeExecutor { + public BufferedRuntimeExecutor(facebook::react::RuntimeExecutor runtimeExecutor); + public using Work = std::function; + public void execute(facebook::react::BufferedRuntimeExecutor::Work&& callback); + public void flush(); +} + +struct facebook::react::BufferedRuntimeExecutor::BufferedWork { + public bool operator<(const facebook::react::BufferedRuntimeExecutor::BufferedWork& rhs) const; + public facebook::react::BufferedRuntimeExecutor::Work work_; + public uint64_t index_; +} + +class facebook::react::CSSSyntaxParser { + public constexpr CSSSyntaxParser(const facebook::react::CSSSyntaxParser&) = default; + public constexpr CSSSyntaxParser(facebook::react::CSSSyntaxParser&&) = default; + public constexpr CSSSyntaxParser(std::string_view css); + public constexpr bool consumeDelimiter(facebook::react::CSSDelimiter delimiter); + public constexpr bool isFinished() const; + public constexpr const facebook::react::CSSToken& peek() const; + public constexpr facebook::react::CSSSyntaxParser& operator=(const facebook::react::CSSSyntaxParser&) = default; + public constexpr facebook::react::CSSSyntaxParser& operator=(facebook::react::CSSSyntaxParser&&) = default; + public constexpr void consumeWhitespace(); + template + public constexpr ReturnT consumeComponentValue(const facebook::react::CSSComponentValueVisitor auto &... visitors); + template + public constexpr ReturnT consumeComponentValue(facebook::react::CSSDelimiter delimiter, const facebook::react::CSSComponentValueVisitor auto &... visitors); +} + +class facebook::react::CSSToken { + public constexpr CSSToken(const facebook::react::CSSToken& other) = default; + public constexpr CSSToken(facebook::react::CSSToken&& other) = default; + public constexpr CSSToken(facebook::react::CSSTokenType type); + public constexpr CSSToken(facebook::react::CSSTokenType type, float value); + public constexpr CSSToken(facebook::react::CSSTokenType type, float value, std::string_view unit); + public constexpr CSSToken(facebook::react::CSSTokenType type, std::string_view value); + public constexpr bool operator==(const facebook::react::CSSToken& other) const = default; + public constexpr facebook::react::CSSToken& operator=(const facebook::react::CSSToken& other) = default; + public constexpr facebook::react::CSSToken& operator=(facebook::react::CSSToken&& other) = default; + public constexpr facebook::react::CSSTokenType type() const; + public constexpr float numericValue() const; + public constexpr std::string_view stringValue() const; + public constexpr std::string_view unit() const; +} + +class facebook::react::CSSTokenizer { + public constexpr CSSTokenizer(std::string_view characters); + public constexpr facebook::react::CSSToken next(); +} + +class facebook::react::CSSValueParser { + public constexpr CSSValueParser(const facebook::react::CSSValueParser&) = default; + public constexpr CSSValueParser(facebook::react::CSSSyntaxParser& parser); + public constexpr const facebook::react::CSSSyntaxParser& syntaxParser() const; + public constexpr facebook::react::CSSSyntaxParser& syntaxParser(); + public constexpr facebook::react::CSSValueParser& operator=(const facebook::react::CSSValueParser&) = default; + template + public constexpr facebook::react::CSSVariantWithTypes, std::monostate> parseNextValue(facebook::react::CSSDelimiter delimiter = facebook::react::CSSDelimiter::None); + template + public constexpr facebook::react::CSSVariantWithTypes, std::monostate> peekNextValue(facebook::react::CSSDelimiter delimiter = facebook::react::CSSDelimiter::None); +} + +class facebook::react::CallInvoker { + public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept = 0; + public virtual void invokeAsync(facebook::react::SchedulerPriority, facebook::react::CallFunc&& func) noexcept; + public virtual void invokeAsync(std::function&& func) noexcept; + public virtual void invokeSync(facebook::react::CallFunc&& func) = 0; + public virtual void invokeSync(std::function&& func); + public virtual ~CallInvoker() = default; +} + +class facebook::react::CallbackWrapper : public facebook::react::LongLivedObject { + public facebook::jsi::Function& callback() noexcept; + public facebook::jsi::Runtime& runtime() noexcept; + public facebook::react::CallInvoker& jsInvoker() noexcept; + public static std::weak_ptr createWeak(facebook::jsi::Function&& callback, facebook::jsi::Runtime& runtime, std::shared_ptr jsInvoker); + public std::shared_ptr jsInvokerPtr() noexcept; + public void destroy(); +} + +class facebook::react::CdpMetricsReporter : public facebook::react::PerformanceEntryReporterEventListener { + public CdpMetricsReporter(facebook::react::RuntimeExecutor runtimeExecutor); + public virtual void onEventTimingEntry(const facebook::react::PerformanceEventTiming& entry) override; +} + +class facebook::react::CdpPerfIssuesReporter : public facebook::react::PerformanceEntryReporterEventListener { + public CdpPerfIssuesReporter(facebook::react::RuntimeExecutor runtimeExecutor); + public virtual void onMeasureEntry(const facebook::react::PerformanceMeasure& entry, const std::optional& detailProvider) override; +} + +class facebook::react::ColorAnimatedNode : public facebook::react::AnimatedNode { + public ColorAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public facebook::react::Color getColor(); + public virtual void update() override; +} + +class facebook::react::ComponentBuilder { + public ComponentBuilder(const facebook::react::ComponentBuilder& componentBuilder) = default; + public ComponentBuilder(facebook::react::ComponentBuilder&& componentBuilder) noexcept = default; + public ComponentBuilder(facebook::react::ComponentDescriptorRegistry::Shared componentDescriptorRegistry); + public facebook::react::ComponentBuilder& operator=(const facebook::react::ComponentBuilder& other) = default; + public facebook::react::ComponentBuilder& operator=(facebook::react::ComponentBuilder&& other) = default; + template + public std::shared_ptr build(facebook::react::Element element) const; +} + +class facebook::react::ComponentDescriptor { + protected facebook::react::ComponentDescriptor::Flavor flavor_; + protected facebook::react::EventDispatcher::Weak eventDispatcher_; + protected facebook::react::RawPropsParser rawPropsParser_; + protected friend ShadowNode; + protected std::shared_ptr contextContainer_; + protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const = 0; + public ComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public const std::shared_ptr& getContextContainer() const; + public using Flavor = std::shared_ptr; + public using Shared = std::shared_ptr; + public using Unique = std::unique_ptr; + public virtual facebook::react::ComponentHandle getComponentHandle() const = 0; + public virtual facebook::react::ComponentName getComponentName() const = 0; + public virtual facebook::react::Props::Shared cloneProps(const facebook::react::PropsParserContext& context, const facebook::react::Props::Shared& props, facebook::react::RawProps rawProps) const = 0; + public virtual facebook::react::ShadowNodeFamily::Shared createFamily(const facebook::react::ShadowNodeFamilyFragment& fragment) const = 0; + public virtual facebook::react::ShadowNodeTraits getTraits() const = 0; + public virtual facebook::react::State::Shared createInitialState(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family) const = 0; + public virtual facebook::react::State::Shared createState(const facebook::react::ShadowNodeFamily& family, const facebook::react::StateData::Shared& data) const = 0; + public virtual std::shared_ptr cloneShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) const = 0; + public virtual std::shared_ptr createShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family) const = 0; + public virtual void appendChild(const std::shared_ptr& parentShadowNode, const std::shared_ptr& childShadowNode) const = 0; + public virtual ~ComponentDescriptor() = default; +} + +class facebook::react::ComponentDescriptorParameters { + public facebook::react::ComponentDescriptor::Flavor flavor; + public facebook::react::EventDispatcher::Weak eventDispatcher; + public std::shared_ptr contextContainer; +} + +class facebook::react::ComponentDescriptorProvider { + public facebook::react::ComponentDescriptor::Flavor flavor; + public facebook::react::ComponentDescriptorConstructor* constructor; + public facebook::react::ComponentHandle handle; + public facebook::react::ComponentName name; +} + +class facebook::react::ComponentDescriptorProviderRegistry { + public facebook::react::ComponentDescriptorRegistry::Shared createComponentDescriptorRegistry(const facebook::react::ComponentDescriptorParameters& parameters) const; + public void add(const facebook::react::ComponentDescriptorProvider& provider) const; + public void setComponentDescriptorProviderRequest(facebook::react::ComponentDescriptorProviderRequest request) const; +} + +class facebook::react::ComponentDescriptorRegistry { + public ComponentDescriptorRegistry(facebook::react::ComponentDescriptorParameters parameters, const facebook::react::ComponentDescriptorProviderRegistry& providerRegistry, std::shared_ptr contextContainer); + public bool hasComponentDescriptorAt(facebook::react::ComponentHandle componentHandle) const; + public const facebook::react::ComponentDescriptor& at(const std::string& componentName) const; + public const facebook::react::ComponentDescriptor& at(facebook::react::ComponentHandle componentHandle) const; + public const facebook::react::ComponentDescriptor* findComponentDescriptorByHandle_DO_NOT_USE_THIS_IS_BROKEN(facebook::react::ComponentHandle componentHandle) const; + public facebook::react::ComponentDescriptor::Shared getFallbackComponentDescriptor() const; + public using Shared = std::shared_ptr; + public void setFallbackComponentDescriptor(const facebook::react::SharedComponentDescriptor& descriptor); +} + +class facebook::react::ContextContainer { + public void erase(const std::string& key) const; + public void update(const facebook::react::ContextContainer& contextContainer) const; + template + public T at(const std::string& key) const; + template + public std::optional find(const std::string& key) const; + template + public void insert(const std::string& key, const T& instance) const; +} + +class facebook::react::CxxNativeModule : public facebook::react::NativeModule { + public CxxNativeModule(std::weak_ptr instance, std::string name, facebook::xplat::module::CxxModule::Provider provider, std::shared_ptr messageQueueThread); + public static void setShouldWarnOnUse(bool value); + public virtual facebook::react::MethodCallResult callSerializableNativeHook(unsigned int hookId, folly::dynamic&& args) override; + public virtual folly::dynamic getConstants() override; + public virtual std::string getName() override; + public virtual std::string getSyncMethodName(unsigned int methodId) override; + public virtual std::vector getMethods() override; + public virtual void invoke(unsigned int reactMethodId, folly::dynamic&& params, int callId) override; +} + +class facebook::react::DebugStringConvertible { +} + +class facebook::react::DebuggingOverlayEventEmitter : public facebook::react::BaseViewEventEmitter { +} + +class facebook::react::DebuggingOverlayProps : public facebook::react::HostPlatformViewProps { + public DebuggingOverlayProps() = default; + public DebuggingOverlayProps(const facebook::react::PropsParserContext& context, const facebook::react::DebuggingOverlayProps& sourceProps, const facebook::react::RawProps& rawProps); +} + +class facebook::react::DecayAnimationDriver : public facebook::react::AnimationDriver { + protected virtual bool update(double timeDeltaMs, bool restarting) override; + public DecayAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); +} + +class facebook::react::DevToolsRuntimeSettings { + public DevToolsRuntimeSettings(const facebook::react::DevToolsRuntimeSettings&) = delete; + public DevToolsRuntimeSettings(facebook::react::DevToolsRuntimeSettings&&) = delete; + public facebook::react::NativeReloadAndProfileConfig getReloadAndProfileConfig() const; + public static facebook::react::DevToolsRuntimeSettings& getInstance(); + public void operator=(const facebook::react::DevToolsRuntimeSettings&) = delete; + public void operator=(facebook::react::DevToolsRuntimeSettings&&) = delete; + public void setReloadAndProfileConfig(facebook::react::NativePartialReloadAndProfileConfig config); + public ~DevToolsRuntimeSettings() = default; +} + +class facebook::react::DevToolsRuntimeSettingsModule : public facebook::react::NativeReactDevToolsRuntimeSettingsModuleCxxSpec { + public DevToolsRuntimeSettingsModule(std::shared_ptr jsInvoker); + public facebook::react::NativeReloadAndProfileConfig getReloadAndProfileConfig(facebook::jsi::Runtime& rt); + public void setReloadAndProfileConfig(facebook::jsi::Runtime& rt, facebook::react::NativePartialReloadAndProfileConfig config); +} + +class facebook::react::DiffClampAnimatedNode : public facebook::react::ValueAnimatedNode { + public DiffClampAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::DispatchMessageQueueThread : public facebook::react::MessageQueueThread { + public DispatchMessageQueueThread(RCTModuleData* moduleData); + public virtual void quitSynchronous() override; + public virtual void runOnQueue(std::function&& func) override; + public void runOnQueueSync(std::function&& __unused func) override; +} + +class facebook::react::DivisionAnimatedNode : public facebook::react::OperatorAnimatedNode { + public DivisionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::ElementFragment { + public facebook::react::ComponentHandle componentHandle; + public facebook::react::ComponentName componentName; + public facebook::react::ElementFragment::FinalizeCallback finalizeCallback; + public facebook::react::ElementFragment::List children; + public facebook::react::ElementFragment::ReferenceCallback referenceCallback; + public facebook::react::ElementFragment::StateCallback stateCallback; + public facebook::react::Props::Shared props; + public facebook::react::SurfaceId surfaceId; + public facebook::react::Tag tag; + public using FinalizeCallback = std::function; + public using List = std::vector; + public using ListOfShared = std::vector; + public using ReferenceCallback = std::function& shadowNode)>; + public using Shared = std::shared_ptr; + public using StateCallback = std::function; +} + +class facebook::react::Error { + public Error(const char* message); + public Error(std::string message); + public const std::string& message() const; +} + +class facebook::react::EventAnimationDriver { + protected const facebook::react::Tag animatedValueTag_; + protected std::vector eventPath_; + public EventAnimationDriver(const std::vector& eventPath, facebook::react::Tag animatedValueTag); + public facebook::react::Tag getAnimatedNodeTag() const; + public std::optional getValueFromPayload(const facebook::react::EventPayload& eventPayload); + public ~EventAnimationDriver() = default; +} + +class facebook::react::EventBeat { + protected facebook::react::EventBeat::BeatCallback beatCallback_; + protected mutable std::atomic isEventBeatRequested_; + protected std::function induceCallback_; + protected std::shared_ptr ownerBox_; + protected void induce() const; + public EventBeat(const facebook::react::EventBeat& other) = delete; + public EventBeat(std::shared_ptr ownerBox, facebook::react::RuntimeScheduler& runtimeScheduler); + public facebook::react::EventBeat& operator=(const facebook::react::EventBeat& other) = delete; + public using BeatCallback = std::function; + public using Factory = std::function(std::shared_ptr ownerBox)>; + public virtual void request() const; + public virtual void requestSynchronous() const; + public virtual ~EventBeat() = default; + public void setBeatCallback(facebook::react::EventBeat::BeatCallback beatCallback); + public void unstable_setInduceCallback(std::function callback); +} + +struct facebook::react::EventBeat::OwnerBox { + public std::weak_ptr owner; +} + +class facebook::react::EventDispatcher { + public EventDispatcher(const facebook::react::EventQueueProcessor& eventProcessor, std::unique_ptr eventBeat, facebook::react::StatePipe statePipe, std::weak_ptr eventLogger); + public using Shared = std::shared_ptr; + public using Weak = std::weak_ptr; + public void addListener(std::shared_ptr listener) const; + public void dispatchEvent(facebook::react::RawEvent&& rawEvent) const; + public void dispatchStateUpdate(facebook::react::StateUpdate&& stateUpdate, facebook::react::EventQueue::UpdateMode updateMode) const; + public void dispatchUniqueEvent(facebook::react::RawEvent&& rawEvent) const; + public void experimental_flushSync() const; + public void removeListener(const std::shared_ptr& listener) const; +} + +class facebook::react::EventEmitter { + public EventEmitter(facebook::react::SharedEventTarget eventTarget, facebook::react::EventDispatcher::Weak eventDispatcher); + public const facebook::react::SharedEventTarget& getEventTarget() const; + public static facebook::react::ValueFactory defaultPayloadFactory(); + public static std::mutex& DispatchMutex(); + public static std::string normalizeEventType(std::string type); + public using Shared = std::shared_ptr; + public virtual ~EventEmitter() = default; + public void dispatchEvent(std::string type, const facebook::react::ValueFactory& payloadFactory = facebook::react::EventEmitter::defaultPayloadFactory(), facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified) const; + public void dispatchEvent(std::string type, const facebook::react::ValueFactory& payloadFactory, facebook::react::RawEvent::Category category, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified) const; + public void dispatchEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::RawEvent::Category category, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchEvent(std::string type, folly::dynamic&& payload, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified) const; + public void dispatchEvent(std::string type, folly::dynamic&& payload, facebook::react::RawEvent::Category category, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, const facebook::react::ValueFactory& payloadFactory = facebook::react::EventEmitter::defaultPayloadFactory()) const; + public void dispatchUniqueEvent(std::string type, const facebook::react::ValueFactory& payloadFactory, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload) const; + public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload) const; + public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void setEnabled(bool enabled); + public void setShadowNodeFamily(std::weak_ptr shadowNodeFamily); + template + public void experimental_flushSync(Lambda syncFunc) const; +} + +class facebook::react::EventListenerContainer { + public bool willDispatchEvent(const facebook::react::RawEvent& event); + public void addListener(std::shared_ptr listener); + public void removeListener(const std::shared_ptr& listener); +} + +class facebook::react::EventLogger { + public virtual facebook::react::EventTag onEventStart(std::string_view name, facebook::react::SharedEventTarget target, std::optional eventStartTimeStamp = std::nullopt) = 0; + public virtual void onEventProcessingEnd(facebook::react::EventTag tag) = 0; + public virtual void onEventProcessingStart(facebook::react::EventTag tag) = 0; + public virtual ~EventLogger() = default; +} + +class facebook::react::EventPerformanceLogger : public facebook::react::EventLogger, public facebook::react::RuntimeSchedulerEventTimingDelegate, public facebook::react::UIManagerMountHook { + public EventPerformanceLogger(std::weak_ptr performanceEntryReporter); + public virtual facebook::react::EventTag onEventStart(std::string_view name, facebook::react::SharedEventTarget target, std::optional eventStartTimeStamp = std::nullopt) override; + public virtual void dispatchPendingEventTimingEntries(facebook::react::HighResTimeStamp taskEndTime, const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) override; + public virtual void onEventProcessingEnd(facebook::react::EventTag tag) override; + public virtual void onEventProcessingStart(facebook::react::EventTag tag) override; + public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp mountTime) noexcept override; +} + +class facebook::react::EventQueue { + protected const std::unique_ptr eventBeat_; + protected facebook::react::EventQueueProcessor eventProcessor_; + protected mutable std::mutex queueMutex_; + protected mutable std::vector eventQueue_; + protected mutable std::vector stateUpdateQueue_; + protected void flushEvents(facebook::jsi::Runtime& runtime) const; + protected void flushStateUpdates() const; + protected void onBeat(facebook::jsi::Runtime& runtime) const; + protected void onEnqueue() const; + public EventQueue(facebook::react::EventQueueProcessor eventProcessor, std::unique_ptr eventBeat); + public void enqueueEvent(facebook::react::RawEvent&& rawEvent) const; + public void enqueueStateUpdate(facebook::react::StateUpdate&& stateUpdate, facebook::react::EventQueue::UpdateMode updateMode = facebook::react::EventQueue::UpdateMode::Asynchronous) const; + public void enqueueUniqueEvent(facebook::react::RawEvent&& rawEvent) const; + public void experimental_flushSync() const; +} + +enum facebook::react::EventQueue::UpdateMode { + Asynchronous, + unstable_Immediate, +} + +class facebook::react::EventQueueProcessor { + public EventQueueProcessor(facebook::react::EventPipe eventPipe, facebook::react::EventPipeConclusion eventPipeConclusion, facebook::react::StatePipe statePipe, std::weak_ptr eventLogger); + public void flushEvents(facebook::jsi::Runtime& runtime, std::vector&& events) const; + public void flushStateUpdates(std::vector&& states) const; +} + +class facebook::react::EventSubscription { + public EventSubscription(const facebook::react::EventSubscription&) = delete; + public EventSubscription(facebook::react::EventSubscription&&) noexcept = default; + public EventSubscription(std::function remove); + public facebook::react::EventSubscription& operator=(const facebook::react::EventSubscription&) = delete; + public facebook::react::EventSubscription& operator=(facebook::react::EventSubscription&&) noexcept = default; + public void remove(); + public ~EventSubscription() = default; +} + +class facebook::react::EventTarget { + public EventTarget(facebook::react::InstanceHandle::Shared instanceHandle, facebook::react::SurfaceId surfaceId); + public facebook::jsi::Value getInstanceHandle(facebook::jsi::Runtime& runtime) const; + public facebook::react::EventTarget::Tag getTag() const; + public facebook::react::SurfaceId getSurfaceId() const; + public using Tag = int32_t; + public void release(facebook::jsi::Runtime& runtime); + public void retain(facebook::jsi::Runtime& runtime); + public void setEnabled(bool enabled); +} + +class facebook::react::ExecutorDelegate { + public virtual facebook::react::MethodCallResult callSerializableNativeHook(facebook::react::JSExecutor& executor, unsigned int moduleId, unsigned int methodId, folly::dynamic&& args) = 0; + public virtual std::shared_ptr getModuleRegistry() = 0; + public virtual void callNativeModules(facebook::react::JSExecutor& executor, folly::dynamic&& calls, bool isEndOfBatch) = 0; + public virtual ~ExecutorDelegate() = default; +} + +class facebook::react::FrameAnimationDriver : public facebook::react::AnimationDriver { + protected virtual bool update(double timeDeltaMs, bool restarting) override; + protected virtual void updateConfig(folly::dynamic config) override; + public FrameAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); +} + +class facebook::react::FuseboxTracer { + public FuseboxTracer(const facebook::react::FuseboxTracer&) = delete; + public bool isTracing(); + public bool startTracing(); + public bool stopTracing(const std::function& resultCallback); + public bool stopTracingAndWriteToFile(const std::string& path); + public static facebook::react::FuseboxTracer& getFuseboxTracer(); + public void addEvent(const std::string_view& name, uint64_t start, uint64_t end, const std::optional& track); +} + +class facebook::react::HermesExecutor : public facebook::react::JSIExecutor { + public HermesExecutor(std::shared_ptr runtime, std::shared_ptr delegate, std::shared_ptr jsQueue, const facebook::react::JSIScopedTimeoutInvoker& timeoutInvoker, facebook::react::JSIExecutor::RuntimeInstaller runtimeInstaller, hermes::HermesRuntime& hermesRuntime); + public virtual facebook::react::jsinspector_modern::RuntimeTargetDelegate& getRuntimeTargetDelegate() override; +} + +class facebook::react::HermesExecutorFactory : public facebook::react::JSExecutorFactory { + public HermesExecutorFactory(facebook::react::JSIExecutor::RuntimeInstaller runtimeInstaller, const facebook::react::JSIScopedTimeoutInvoker& timeoutInvoker = facebook::react::JSIExecutor::defaultTimeoutInvoker, hermes::vm::RuntimeConfig runtimeConfig = defaultRuntimeConfig()); + public virtual std::unique_ptr createJSExecutor(std::shared_ptr delegate, std::shared_ptr jsQueue) override; + public void setDebuggerName(const std::string& debuggerName); + public void setEnableDebugger(bool enableDebugger); +} + +class facebook::react::HermesInstance { + public static std::unique_ptr createJSRuntime(std::shared_ptr crashManager, std::shared_ptr msgQueueThread, bool allocInOldGenBeforeTTI) noexcept; +} + +class facebook::react::HighResDuration { + public constexpr HighResDuration(); + public constexpr bool operator!=(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator!=(const std::chrono::steady_clock::duration& rhs) const; + public constexpr bool operator<(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator<(const std::chrono::steady_clock::duration& rhs) const; + public constexpr bool operator<=(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator<=(const std::chrono::steady_clock::duration& rhs) const; + public constexpr bool operator==(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator==(const std::chrono::steady_clock::duration& rhs) const; + public constexpr bool operator>(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator>(const std::chrono::steady_clock::duration& rhs) const; + public constexpr bool operator>=(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator>=(const std::chrono::steady_clock::duration& rhs) const; + public constexpr double toDOMHighResTimeStamp() const; + public constexpr facebook::react::HighResDuration operator+(const facebook::react::HighResDuration& rhs) const; + public constexpr facebook::react::HighResDuration operator+(const std::chrono::steady_clock::duration& rhs) const; + public constexpr facebook::react::HighResDuration operator-(const facebook::react::HighResDuration& rhs) const; + public constexpr facebook::react::HighResDuration operator-(const std::chrono::steady_clock::duration& rhs) const; + public constexpr facebook::react::HighResDuration& operator+=(const facebook::react::HighResDuration& rhs); + public constexpr facebook::react::HighResDuration& operator+=(const std::chrono::steady_clock::duration& rhs); + public constexpr facebook::react::HighResDuration& operator-=(const facebook::react::HighResDuration& rhs); + public constexpr facebook::react::HighResDuration& operator-=(const std::chrono::steady_clock::duration& rhs); + public constexpr int64_t toNanoseconds() const; + public constexpr operator std::chrono::steady_clock::duration() const; + public static constexpr facebook::react::HighResDuration fromChrono(std::chrono::steady_clock::duration chronoDuration); + public static constexpr facebook::react::HighResDuration fromDOMHighResTimeStamp(double units); + public static constexpr facebook::react::HighResDuration fromMilliseconds(int64_t units); + public static constexpr facebook::react::HighResDuration fromNanoseconds(int64_t units); + public static constexpr facebook::react::HighResDuration zero(); +} + +class facebook::react::HighResTimeStamp { + public HighResTimeStamp() noexcept; + public constexpr bool operator!=(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr bool operator<(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr bool operator<=(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr bool operator==(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr bool operator>(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr bool operator>=(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr double toDOMHighResTimeStamp() const; + public constexpr facebook::react::HighResTimeStamp& operator+=(const facebook::react::HighResDuration& rhs); + public constexpr facebook::react::HighResTimeStamp& operator-=(const facebook::react::HighResDuration& rhs); + public constexpr std::chrono::steady_clock::time_point toChronoSteadyClockTimePoint() const; + public static constexpr facebook::react::HighResTimeStamp fromChronoSteadyClockTimePoint(std::chrono::steady_clock::time_point chronoTimePoint); + public static constexpr facebook::react::HighResTimeStamp fromDOMHighResTimeStamp(double units); + public static constexpr facebook::react::HighResTimeStamp max() noexcept; + public static constexpr facebook::react::HighResTimeStamp min() noexcept; + public static facebook::react::HighResDuration unsafeOriginFromUnixTimeStamp() noexcept; + public static facebook::react::HighResTimeStamp now() noexcept; + public static void setTimeStampProviderForTesting(std::function&& timeStampProvider); +} + +class facebook::react::HostPlatformViewProps : public facebook::react::BaseViewProps { + public HostPlatformViewProps() = default; + public HostPlatformViewProps(const facebook::react::PropsParserContext& context, const facebook::react::HostPlatformViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool focusable; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::IAsyncEventEmitter { + public IAsyncEventEmitter() noexcept = default; + public IAsyncEventEmitter(const facebook::react::IAsyncEventEmitter&) = delete; + public IAsyncEventEmitter(facebook::react::IAsyncEventEmitter&&) noexcept = default; + public facebook::react::IAsyncEventEmitter& operator=(const facebook::react::IAsyncEventEmitter&) = delete; + public facebook::react::IAsyncEventEmitter& operator=(facebook::react::IAsyncEventEmitter&&) noexcept = default; + public virtual facebook::jsi::Object get(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker) const = 0; + public virtual ~IAsyncEventEmitter() noexcept = default; +} + +class facebook::react::ImageComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public ImageComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); + public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; +} + +class facebook::react::ImageErrorInfo { + public int responseCode; + public std::string error; + public std::vector> httpResponseHeaders; +} + +class facebook::react::ImageEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onError(const facebook::react::ImageErrorInfo& error) const; + public void onLoad(const facebook::react::ImageSource& source) const; + public void onLoadEnd() const; + public void onLoadStart() const; + public void onPartialLoad() const; + public void onProgress(double progress, int64_t loaded, int64_t total) const; +} + +class facebook::react::ImageLoadError { + public ImageLoadError(std::shared_ptr error); + public std::shared_ptr getError() const; +} + +class facebook::react::ImageManager { + public ImageManager(const std::shared_ptr& contextContainer); + public virtual facebook::react::ImageRequest requestImage(const facebook::react::ImageSource& imageSource, facebook::react::SurfaceId surfaceId, const facebook::react::ImageRequestParams& imageRequestParams = {}, facebook::react::Tag tag = {}) const; + public virtual ~ImageManager(); +} + +class facebook::react::ImageProps : public facebook::react::HostPlatformViewProps { + public ImageProps() = default; + public ImageProps(const facebook::react::PropsParserContext& context, const facebook::react::ImageProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool progressiveRenderingEnabled; + public bool shouldNotifyLoadEvents; + public facebook::react::EdgeInsets capInsets; + public facebook::react::Float blurRadius; + public facebook::react::Float fadeDuration; + public facebook::react::Float resizeMultiplier; + public facebook::react::ImageResizeMode resizeMode; + public facebook::react::ImageSource defaultSource; + public facebook::react::ImageSource loadingIndicatorSource; + public facebook::react::ImageSources sources; + public facebook::react::SharedColor overlayColor; + public facebook::react::SharedColor tintColor; + public std::string internal_analyticTag; + public std::string resizeMethod; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::ImageRequest { + public ImageRequest(const facebook::react::ImageRequest& other) = delete; + public ImageRequest(facebook::react::ImageRequest&& other) noexcept = default; + public ImageRequest(facebook::react::ImageSource imageSource, std::shared_ptr telemetry, facebook::react::SharedFunction<> resumeFunction = {}, facebook::react::SharedFunction<> cancelationFunction = {}); + public const facebook::react::ImageResponseObserverCoordinator& getObserverCoordinator() const; + public const facebook::react::ImageSource& getImageSource() const; + public const std::shared_ptr& getSharedObserverCoordinator() const; + public const std::shared_ptr& getSharedTelemetry() const; + public facebook::react::ImageRequest& operator=(const facebook::react::ImageRequest& other) = delete; + public facebook::react::ImageRequest& operator=(facebook::react::ImageRequest&& other) noexcept = default; + public ~ImageRequest() = default; +} + +class facebook::react::ImageRequestParams { + public ImageRequestParams(); + public ImageRequestParams(facebook::react::Float blurRadius); + public bool operator==(const facebook::react::ImageRequestParams& rhs) const = default; + public facebook::react::Float blurRadius; +} + +class facebook::react::ImageResponse { + public ImageResponse(std::shared_ptr image, std::shared_ptr metadata); + public std::shared_ptr getImage() const; + public std::shared_ptr getMetadata() const; +} + +enum facebook::react::ImageResponse::Status { + Cancelled, + Completed, + Consumed, + Failed, + Loading, +} + +class facebook::react::ImageResponseObserver { + public virtual void didReceiveFailure(const facebook::react::ImageLoadError& error) const = 0; + public virtual void didReceiveImage(const facebook::react::ImageResponse& imageResponse) const = 0; + public virtual void didReceiveProgress(float progress, int64_t loaded, int64_t total) const = 0; + public virtual ~ImageResponseObserver() noexcept = default; +} + +class facebook::react::ImageResponseObserverCoordinator { + public ImageResponseObserverCoordinator(facebook::react::SharedFunction<> resumeFunction, facebook::react::SharedFunction<> cancelationFunction); + public void addObserver(std::shared_ptr observer) const; + public void nativeImageResponseComplete(const facebook::react::ImageResponse& imageResponse) const; + public void nativeImageResponseFailed(const facebook::react::ImageLoadError& loadError) const; + public void nativeImageResponseProgress(float progress, int64_t loaded, int64_t total) const; + public void removeObserver(const std::shared_ptr& observer) const; +} + +class facebook::react::ImageShadowNode : public facebook::react::ConcreteViewShadowNode { + public ImageShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ImageShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ImageState initialStateData(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared&, const facebook::react::ComponentDescriptor& componentDescriptor); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public virtual void layout(facebook::react::LayoutContext layoutContext) override; + public void setImageManager(const std::shared_ptr& imageManager); +} + +class facebook::react::ImageSource { + public bool operator==(const facebook::react::ImageSource& rhs) const; + public facebook::react::Float scale; + public facebook::react::ImageSource::CacheStategy cache; + public facebook::react::ImageSource::Type type; + public facebook::react::Size size; + public std::string body; + public std::string bundle; + public std::string method; + public std::string uri; + public std::vector> headers; +} + +enum facebook::react::ImageSource::CacheStategy { + Default, + ForceCache, + OnlyIfCached, + Reload, +} + +enum facebook::react::ImageSource::Type { + Invalid, + Local, + Remote, +} + +class facebook::react::ImageState { + public ImageState(const facebook::react::ImageSource& imageSource, facebook::react::ImageRequest imageRequest, const facebook::react::ImageRequestParams& imageRequestParams); + public const facebook::react::ImageRequest& getImageRequest() const; + public const facebook::react::ImageRequestParams& getImageRequestParams() const; + public facebook::react::ImageSource getImageSource() const; +} + +class facebook::react::ImageTelemetry { + public ImageTelemetry(const facebook::react::SurfaceId surfaceId); + public facebook::react::SurfaceId getSurfaceId() const; + public facebook::react::TelemetryTimePoint getWillRequestUrlTime() const; +} + +class facebook::react::InputAccessoryComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public InputAccessoryComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; +} + +class facebook::react::InputAccessoryEventEmitter : public facebook::react::BaseViewEventEmitter { +} + +class facebook::react::InputAccessoryProps : public facebook::react::HostPlatformViewProps { + public InputAccessoryProps() = default; + public InputAccessoryProps(const facebook::react::PropsParserContext& context, const facebook::react::InputAccessoryProps& sourceProps, const facebook::react::RawProps& rawProps); + public facebook::react::SharedColor backgroundColor; +} + +class facebook::react::InputAccessoryShadowNode : public facebook::react::ConcreteViewShadowNode { + public InputAccessoryShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public InputAccessoryShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); +} + +class facebook::react::InputAccessoryState { + public InputAccessoryState(); + public InputAccessoryState(facebook::react::Size viewportSize_); + public const facebook::react::Size viewportSize; +} + +class facebook::react::Instance { + public bool isBatchActive(); + public bool isInspectable(); + public bool supportsProfiling(); + public const facebook::react::ModuleRegistry& getModuleRegistry() const; + public facebook::react::ModuleRegistry& getModuleRegistry(); + public facebook::react::RuntimeExecutor getRuntimeExecutor(); + public std::shared_ptr getJSCallInvoker(); + public std::shared_ptr getDecoratedNativeMethodCallInvoker(std::shared_ptr nativeMethodCallInvoker); + public void callJSCallback(uint64_t callbackId, folly::dynamic&& params); + public void callJSFunction(std::string&& module, std::string&& method, folly::dynamic&& params); + public void handleMemoryPressure(int pressureLevel); + public void initializeBridge(std::unique_ptr callback, std::shared_ptr jsef, std::shared_ptr jsQueue, std::shared_ptr moduleRegistry, facebook::react::jsinspector_modern::HostTarget* inspectorTarget = nullptr); + public void initializeRuntime(); + public void loadRAMBundle(std::unique_ptr bundleRegistry, std::unique_ptr startupScript, std::string startupScriptSourceURL, bool loadSynchronously); + public void loadRAMBundleFromFile(const std::string& sourcePath, const std::string& sourceURL, bool loadSynchronously); + public void loadRAMBundleFromString(std::unique_ptr script, const std::string& sourceURL); + public void loadScriptFromString(std::unique_ptr string, std::string sourceURL, bool loadSynchronously); + public void registerBundle(uint32_t bundleId, const std::string& bundlePath); + public void setGlobalVariable(std::string propName, std::unique_ptr jsonValue); + public void setSourceURL(std::string sourceURL); + public void unregisterFromInspector(); + public void* getJavaScriptContext(); + public ~Instance() override; +} + +class facebook::react::InstanceHandle { + public InstanceHandle(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& instanceHandle, facebook::react::Tag tag); + public facebook::jsi::Value getInstanceHandle(facebook::jsi::Runtime& runtime) const; + public facebook::react::Tag getTag() const; + public using Shared = std::shared_ptr; +} + +class facebook::react::InterpolationAnimatedNode : public facebook::react::ValueAnimatedNode { + public InterpolationAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void onAttachToNode(facebook::react::Tag animatedNodeTag) override; + public virtual void onDetachedFromNode(facebook::react::Tag animatedNodeTag) override; + public virtual void update() override; +} + +class facebook::react::IntersectionObserver { + public IntersectionObserver(facebook::react::IntersectionObserverObserverId intersectionObserverId, std::optional observationRootShadowNodeFamily, facebook::react::ShadowNodeFamily::Shared targetShadowNodeFamily, std::vector thresholds, std::optional> rootThresholds, std::vector rootMargins); + public facebook::react::IntersectionObserverObserverId getIntersectionObserverId() const; + public facebook::react::ShadowNodeFamily::Shared getTargetShadowNodeFamily() const; + public std::optional updateIntersectionObservation(const facebook::react::RootShadowNode& rootShadowNode, facebook::react::HighResTimeStamp time); + public std::optional updateIntersectionObservationForSurfaceUnmount(facebook::react::HighResTimeStamp time); + public std::vector getThresholds() const; +} + +class facebook::react::IntersectionObserverManager : public facebook::react::UIManagerMountHook, public facebook::react::RuntimeSchedulerIntersectionObserverDelegate { + public IntersectionObserverManager(); + public std::vector takeRecords(); + public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp time) noexcept override; + public virtual void shadowTreeDidUnmount(facebook::react::SurfaceId surfaceId, facebook::react::HighResTimeStamp time) noexcept override; + public virtual void updateIntersectionObservations(const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) override; + public void connect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager, std::function notifyIntersectionObserversCallback); + public void disconnect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager); + public void observe(facebook::react::IntersectionObserverObserverId intersectionObserverId, const std::optional& observationRootShadowNode, const facebook::react::ShadowNodeFamily::Shared& shadowNode, std::vector thresholds, std::optional> rootThresholds, std::optional rootMargin, const facebook::react::UIManager& uiManager); + public void unobserve(facebook::react::IntersectionObserverObserverId intersectionObserverId, const facebook::react::ShadowNodeFamily::Shared& shadowNode); +} + +class facebook::react::IntersectionObserverState { + public bool isIntersecting() const; + public bool operator==(const facebook::react::IntersectionObserverState& other) const; + public static facebook::react::IntersectionObserverState Initial(); + public static facebook::react::IntersectionObserverState Intersecting(facebook::react::Float threshold); + public static facebook::react::IntersectionObserverState Intersecting(facebook::react::Float threshold, facebook::react::Float rootThreshold); + public static facebook::react::IntersectionObserverState NotIntersecting(); +} + +class facebook::react::JSBigBufferString : public facebook::react::JSBigString { + public JSBigBufferString(size_t size); + public char* mutableData(); + public virtual bool isAscii() const override; + public virtual const char* c_str() const override; + public virtual size_t size() const override; + public ~JSBigBufferString() override; +} + +class facebook::react::JSBigFileString : public facebook::react::JSBigString { + public JSBigFileString(int fd, size_t size, off_t offset = 0); + public int fd() const; + public static std::unique_ptr fromPath(const std::string& sourceURL); + public virtual bool isAscii() const override; + public virtual const char* c_str() const override; + public virtual size_t size() const override; + public ~JSBigFileString() override; +} + +class facebook::react::JSBigStdString : public facebook::react::JSBigString { + public JSBigStdString(std::string str, bool isAscii = false); + public virtual bool isAscii() const override; + public virtual const char* c_str() const override; + public virtual size_t size() const override; +} + +class facebook::react::JSBigString : public facebook::jsi::Buffer { + public JSBigString() = default; + public JSBigString(const facebook::react::JSBigString&) = delete; + public JSBigString(facebook::react::JSBigString&&) = delete; + public facebook::react::JSBigString& operator=(const facebook::react::JSBigString&) = delete; + public facebook::react::JSBigString& operator=(facebook::react::JSBigString&&) = delete; + public virtual bool isAscii() const = 0; + public virtual const char* c_str() const = 0; + public virtual const uint8_t* data() const final; + public virtual size_t size() const override = 0; + public ~JSBigString() override = default; +} + +class facebook::react::JSExecutor { + public static std::string getSyntheticBundlePath(uint32_t bundleId, const std::string& bundlePath); + public virtual bool isInspectable(); + public virtual facebook::react::jsinspector_modern::RuntimeTargetDelegate& getRuntimeTargetDelegate(); + public virtual std::string getDescription() = 0; + public virtual void callFunction(const std::string& moduleId, const std::string& methodId, const folly::dynamic& arguments) = 0; + public virtual void destroy(); + public virtual void flush(); + public virtual void handleMemoryPressure(int pressureLevel); + public virtual void initializeRuntime() = 0; + public virtual void invokeCallback(double callbackId, const folly::dynamic& arguments) = 0; + public virtual void loadBundle(std::unique_ptr script, std::string sourceURL) = 0; + public virtual void registerBundle(uint32_t bundleId, const std::string& bundlePath) = 0; + public virtual void setBundleRegistry(std::unique_ptr bundleRegistry) = 0; + public virtual void setGlobalVariable(std::string propName, std::unique_ptr jsonValue) = 0; + public virtual void* getJavaScriptContext(); + public virtual ~JSExecutor() = default; +} + +class facebook::react::JSExecutorFactory { + public virtual std::unique_ptr createJSExecutor(std::shared_ptr delegate, std::shared_ptr jsQueue) = 0; + public virtual ~JSExecutorFactory() = default; +} + +class facebook::react::JSIExecutor : public facebook::react::JSExecutor { + public JSIExecutor(std::shared_ptr runtime, std::shared_ptr delegate, const facebook::react::JSIScopedTimeoutInvoker& timeoutInvoker, facebook::react::JSIExecutor::RuntimeInstaller runtimeInstaller); + public static void defaultTimeoutInvoker(const std::function& invokee, std::function errorMessageProducer); + public using RuntimeInstaller = std::function; + public virtual bool isInspectable() override; + public virtual std::string getDescription() override; + public virtual void callFunction(const std::string& moduleId, const std::string& methodId, const folly::dynamic& arguments) override; + public virtual void flush() override; + public virtual void handleMemoryPressure(int pressureLevel) override; + public virtual void initializeRuntime() override; + public virtual void invokeCallback(double callbackId, const folly::dynamic& arguments) override; + public virtual void loadBundle(std::unique_ptr script, std::string sourceURL) override; + public virtual void registerBundle(uint32_t bundleId, const std::string& bundlePath) override; + public virtual void setBundleRegistry(std::unique_ptr r) override; + public virtual void setGlobalVariable(std::string propName, std::unique_ptr jsonValue) override; + public virtual void* getJavaScriptContext() override; +} + +class facebook::react::JSINativeModules { + public JSINativeModules(std::shared_ptr moduleRegistry); + public facebook::jsi::Value getModule(facebook::jsi::Runtime& rt, const facebook::jsi::PropNameID& name); + public void reset(); +} + +class facebook::react::JSIRuntimeHolder : public facebook::react::JSRuntime { + public JSIRuntimeHolder(std::unique_ptr runtime); + public virtual facebook::jsi::Runtime& getRuntime() noexcept override; +} + +class facebook::react::JSIndexedRAMBundle : public facebook::react::JSModulesUnbundle { + public JSIndexedRAMBundle(const char* sourcePath); + public JSIndexedRAMBundle(std::unique_ptr script); + public static std::function(std::string)> buildFactory(); + public std::unique_ptr getStartupCode(); + public virtual facebook::react::JSModulesUnbundle::Module getModule(uint32_t moduleId) const override; +} + +class facebook::react::JSModulesUnbundle { + public JSModulesUnbundle(); + public virtual facebook::react::JSModulesUnbundle::Module getModule(uint32_t moduleId) const = 0; + public virtual ~JSModulesUnbundle() = default; +} + +class facebook::react::JSModulesUnbundle::ModuleNotFound : public std::out_of_range { + public ModuleNotFound(uint32_t moduleId); +} + +struct facebook::react::JSModulesUnbundle::Module { + public std::string code; + public std::string name; +} + +class facebook::react::JSRuntime { + public virtual facebook::jsi::Runtime& getRuntime() noexcept = 0; + public virtual facebook::react::jsinspector_modern::RuntimeTargetDelegate& getRuntimeTargetDelegate(); + public virtual void unstable_initializeOnJsThread(); + public virtual ~JSRuntime() = default; +} + +class facebook::react::JSRuntimeFactory { + public virtual std::unique_ptr createJSRuntime(std::shared_ptr msgQueueThread) noexcept = 0; + public virtual ~JSRuntimeFactory() = default; +} + +class facebook::react::JsErrorHandler { + public JsErrorHandler(facebook::react::JsErrorHandler::OnJsError onJsError); + public bool hasHandledFatalError(); + public bool inErrorHandler(); + public bool isRuntimeReady(); + public using OnJsError = std::function; + public void handleError(facebook::jsi::Runtime& runtime, facebook::jsi::JSError& error, bool isFatal, bool logToConsole = true); + public void notifyOfFatalError(); + public void registerErrorListener(const std::function& listener); + public void setRuntimeReady(); + public ~JsErrorHandler(); +} + +struct facebook::react::JsErrorHandler::ProcessedError { + public bool isFatal; + public facebook::jsi::Object extraData; + public int id; + public std::optional componentStack; + public std::optional name; + public std::optional originalMessage; + public std::string message; + public std::vector stack; +} + +struct facebook::react::JsErrorHandler::ProcessedError::StackFrame { + public std::optional column; + public std::optional lineNumber; + public std::optional file; + public std::string methodName; +} + +class facebook::react::LayoutAnimationCallbackWrapper { + public LayoutAnimationCallbackWrapper(); + public LayoutAnimationCallbackWrapper(facebook::jsi::Function&& callback); + public void call(facebook::jsi::Runtime& runtime) const; +} + +class facebook::react::LayoutAnimationDriver : public facebook::react::LayoutAnimationKeyFrameManager { + protected virtual void animationMutationsForFrame(facebook::react::SurfaceId surfaceId, facebook::react::ShadowViewMutation::List& mutationsList, uint64_t now) const override; + public LayoutAnimationDriver(facebook::react::RuntimeExecutor runtimeExecutor, std::shared_ptr& contextContainer, facebook::react::LayoutAnimationStatusDelegate* delegate); +} + +class facebook::react::LayoutAnimationKeyFrameManager : public facebook::react::UIManagerAnimationDelegate, public facebook::react::MountingOverrideDelegate { + protected bool hasComponentDescriptorForShadowView(const facebook::react::ShadowView& shadowView) const; + protected const facebook::react::ComponentDescriptor& getComponentDescriptorForShadowView(const facebook::react::ShadowView& shadowView) const; + protected facebook::react::ShadowView createInterpolatedShadowView(facebook::react::Float progress, const facebook::react::ShadowView& startingView, const facebook::react::ShadowView& finalView) const; + protected facebook::react::SharedComponentDescriptorRegistry componentDescriptorRegistry_; + protected mutable std::mutex currentAnimationMutex_; + protected mutable std::optional currentAnimation_; + protected mutable std::vector inflightAnimations_; + protected virtual void animationMutationsForFrame(facebook::react::SurfaceId surfaceId, facebook::react::ShadowViewMutation::List& mutationsList, uint64_t now) const = 0; + protected void callCallback(const facebook::react::LayoutAnimationCallbackWrapper& callback) const; + protected void queueFinalMutationsForCompletedKeyFrame(const facebook::react::AnimationKeyFrame& keyframe, facebook::react::ShadowViewMutation::List& mutationsList, bool interrupted, const std::string& logPrefix) const; + public LayoutAnimationKeyFrameManager(facebook::react::RuntimeExecutor runtimeExecutor, std::shared_ptr& contextContainer, facebook::react::LayoutAnimationStatusDelegate* delegate); + public virtual bool shouldAnimateFrame() const override; + public virtual bool shouldOverridePullTransaction() const override; + public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const override; + public virtual void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry) override; + public virtual void stopSurface(facebook::react::SurfaceId surfaceId) override; + public virtual void uiManagerDidConfigureNextLayoutAnimation(facebook::jsi::Runtime& runtime, const facebook::react::RawValue& config, const facebook::jsi::Value& successCallbackValue, const facebook::jsi::Value& failureCallbackValue) const override; + public void setClockNow(std::function now); + public void setLayoutAnimationStatusDelegate(facebook::react::LayoutAnimationStatusDelegate* delegate) const; + public void uiManagerDidConfigureNextLayoutAnimation(facebook::react::LayoutAnimation layoutAnimation) const; +} + +class facebook::react::LayoutAnimationStatusDelegate { + public virtual void onAllAnimationsComplete() = 0; + public virtual void onAnimationStarted() = 0; + public virtual ~LayoutAnimationStatusDelegate() = default; +} + +class facebook::react::LayoutConformanceShadowNode : public facebook::react::ConcreteShadowNode { +} + +class facebook::react::LayoutableShadowNode : public facebook::react::ShadowNode { + public LayoutableShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public LayoutableShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public facebook::react::LayoutMetrics getLayoutMetrics() const; + public facebook::react::LayoutMetrics layoutMetrics_; + public facebook::react::LayoutableShadowNode::UnsharedList getLayoutableChildNodes() const; + public static facebook::react::LayoutMetrics computeLayoutMetricsFromRoot(const facebook::react::ShadowNodeFamily& descendantNodeFamily, const facebook::react::LayoutableShadowNode& rootNode, facebook::react::LayoutableShadowNode::LayoutInspectingPolicy policy); + public static facebook::react::LayoutMetrics computeRelativeLayoutMetrics(const facebook::react::ShadowNode::AncestorList& ancestors, facebook::react::LayoutableShadowNode::LayoutInspectingPolicy policy); + public static facebook::react::LayoutMetrics computeRelativeLayoutMetrics(const facebook::react::ShadowNodeFamily& descendantNodeFamily, const facebook::react::LayoutableShadowNode& ancestorNode, facebook::react::LayoutableShadowNode::LayoutInspectingPolicy policy); + public static std::shared_ptr findNodeAtPoint(const std::shared_ptr& node, facebook::react::Point point); + public using UnsharedList = std::vector; + public virtual bool canBeTouchTarget() const; + public virtual bool canChildrenBeTouchTarget() const; + public virtual bool getIsLayoutClean() const = 0; + public virtual facebook::react::Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const; + public virtual facebook::react::Point getContentOriginOffset(bool includeTransform) const; + public virtual facebook::react::Size measure(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public virtual facebook::react::Transform getTransform() const; + public virtual void dirtyLayout() = 0; + public virtual void layout(facebook::react::LayoutContext layoutContext) = 0; + public virtual void layoutTree(facebook::react::LayoutContext layoutContext, facebook::react::LayoutConstraints layoutConstraints) = 0; + public void setLayoutMetrics(facebook::react::LayoutMetrics layoutMetrics); +} + +struct facebook::react::LayoutableShadowNode::LayoutInspectingPolicy { + public bool enableOverflowClipping; + public bool includeTransform; + public bool includeViewportOffset; +} + +class facebook::react::LazyShadowTreeRevisionConsistencyManager : public facebook::react::ShadowTreeRevisionConsistencyManager, public facebook::react::ShadowTreeRevisionProvider { + public LazyShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRegistry& shadowTreeRegistry); + public std::shared_ptr updateCurrentRevision(facebook::react::SurfaceId surfaceId); + public virtual std::shared_ptr getCurrentRevision(facebook::react::SurfaceId surfaceId) override; + public virtual void lockRevisions() override; + public virtual void unlockRevisions() override; +} + +class facebook::react::LeakChecker { + public LeakChecker(facebook::react::RuntimeExecutor runtimeExecutor); + public void stopSurface(facebook::react::SurfaceId surfaceId); + public void uiManagerDidCreateShadowNodeFamily(const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily) const; +} + +class facebook::react::LegacyViewManagerInteropComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; + public LegacyViewManagerInteropComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); + public LegacyViewManagerInteropComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public virtual facebook::react::ComponentHandle getComponentHandle() const override; + public virtual facebook::react::ComponentName getComponentName() const override; +} + +class facebook::react::LegacyViewManagerInteropState { + public std::shared_ptr coordinator; +} + +class facebook::react::LegacyViewManagerInteropViewProps : public facebook::react::HostPlatformViewProps { + public LegacyViewManagerInteropViewProps() = default; + public LegacyViewManagerInteropViewProps(const facebook::react::PropsParserContext& context, const facebook::react::LegacyViewManagerInteropViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public const folly::dynamic otherProps; +} + +class facebook::react::LineMeasureCacheKey { + public facebook::react::AttributedString attributedString; + public facebook::react::ParagraphAttributes paragraphAttributes; + public facebook::react::Size size; +} + +class facebook::react::LongLivedObject { + protected LongLivedObject(facebook::jsi::Runtime& runtime); + protected facebook::jsi::Runtime& runtime_; + protected virtual ~LongLivedObject() = default; + public virtual void allowRelease(); +} + +class facebook::react::LongLivedObjectCollection { + public LongLivedObjectCollection() = default; + public LongLivedObjectCollection(const facebook::react::LongLivedObjectCollection&) = delete; + public size_t size() const; + public static facebook::react::LongLivedObjectCollection& get(facebook::jsi::Runtime& runtime); + public void add(std::shared_ptr o); + public void clear(); + public void operator=(const facebook::react::LongLivedObjectCollection&) = delete; + public void remove(const facebook::react::LongLivedObject* o); +} + +class facebook::react::MainRunLoopObserver : public facebook::react::PlatformRunLoopObserver { + public MainRunLoopObserver(facebook::react::RunLoopObserver::Activity activities, facebook::react::RunLoopObserver::WeakOwner owner); +} + +class facebook::react::MapBuffer { + public MapBuffer(const facebook::react::MapBuffer& buffer) = delete; + public MapBuffer(facebook::react::MapBuffer&& buffer) = default; + public MapBuffer(std::vector data); + public bool getBool(facebook::react::MapBuffer::Key key) const; + public const uint8_t* data() const; + public double getDouble(facebook::react::MapBuffer::Key key) const; + public facebook::react::MapBuffer getMapBuffer(facebook::react::MapBuffer::Key key) const; + public facebook::react::MapBuffer& operator=(const facebook::react::MapBuffer& other) = delete; + public facebook::react::MapBuffer& operator=(facebook::react::MapBuffer&& other) = default; + public int32_t getInt(facebook::react::MapBuffer::Key key) const; + public int64_t getLong(facebook::react::MapBuffer::Key key) const; + public size_t size() const; + public static constexpr uint16_t HEADER_ALIGNMENT; + public std::string getString(facebook::react::MapBuffer::Key key) const; + public std::vector getMapBufferList(facebook::react::MapBuffer::Key key) const; + public uint16_t count() const; + public using Key = uint16_t; +} + +enum facebook::react::MapBuffer::DataType : uint16_t { + Boolean, + Double, + Int, + Long, + Map, + String, +} + +struct facebook::react::MapBuffer::Bucket { + public Bucket(facebook::react::MapBuffer::Key key, uint16_t type, uint64_t data); + public facebook::react::MapBuffer::Key key; + public uint16_t type; + public uint64_t data; +} + +struct facebook::react::MapBuffer::Header { + public uint16_t alignment; + public uint16_t count; + public uint32_t bufferSize; +} + +class facebook::react::MapBufferBuilder { + public MapBufferBuilder(uint32_t initialSize = facebook::react::INITIAL_BUCKETS_SIZE); + public facebook::react::MapBuffer build(); + public static facebook::react::MapBuffer EMPTY(); + public void putBool(facebook::react::MapBuffer::Key key, bool value); + public void putDouble(facebook::react::MapBuffer::Key key, double value); + public void putInt(facebook::react::MapBuffer::Key key, int32_t value); + public void putLong(facebook::react::MapBuffer::Key key, int64_t value); + public void putMapBuffer(facebook::react::MapBuffer::Key key, const facebook::react::MapBuffer& map); + public void putMapBufferList(facebook::react::MapBuffer::Key key, const std::vector& mapBufferList); + public void putString(facebook::react::MapBuffer::Key key, const std::string& value); +} + +class facebook::react::MergedValueDispatcher { + public MergedValueDispatcher(facebook::react::MergedValueDispatcher::DispatchFunction dispatchFunction, facebook::react::MergedValueDispatcher::MergedValueFunction mergedValueFunction); + public using DispatchFunction = std::function&&)>; + public using MergedValueFunction = std::function&& tagToProps)>; + public void dispatch(const std::unordered_map& value); +} + +class facebook::react::MessageQueueThread { + public virtual void quitSynchronous() = 0; + public virtual void runOnQueue(std::function&&) = 0; + public virtual void runOnQueueSync(std::function&&) = 0; + public virtual ~MessageQueueThread() = default; +} + +class facebook::react::ModalHostViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public ModalHostViewComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; +} + +class facebook::react::ModalHostViewEventEmitter : public facebook::react::BaseViewEventEmitter { + public static char const* toString(const facebook::react::ModalHostViewEventEmitter::OnOrientationChangeOrientation value); + public void onDismiss(facebook::react::ModalHostViewEventEmitter::OnDismiss value) const; + public void onOrientationChange(facebook::react::ModalHostViewEventEmitter::OnOrientationChange value) const; + public void onRequestClose(facebook::react::ModalHostViewEventEmitter::OnRequestClose value) const; + public void onShow(facebook::react::ModalHostViewEventEmitter::OnShow value) const; +} + +enum facebook::react::ModalHostViewEventEmitter::OnOrientationChangeOrientation { + Landscape, + Portrait, +} + +struct facebook::react::ModalHostViewEventEmitter::OnDismiss { +} + +struct facebook::react::ModalHostViewEventEmitter::OnOrientationChange { + public facebook::react::ModalHostViewEventEmitter::OnOrientationChangeOrientation orientation; +} + +struct facebook::react::ModalHostViewEventEmitter::OnRequestClose { +} + +struct facebook::react::ModalHostViewEventEmitter::OnShow { +} + +class facebook::react::ModalHostViewProps : public facebook::react::HostPlatformViewProps { + public ModalHostViewProps() = default; + public ModalHostViewProps(const facebook::react::PropsParserContext& context, const facebook::react::ModalHostViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool allowSwipeDismissal; + public bool animated; + public bool hardwareAccelerated; + public bool navigationBarTranslucent; + public bool statusBarTranslucent; + public bool transparent; + public bool visible; + public facebook::react::ModalHostViewAnimationType animationType; + public facebook::react::ModalHostViewPresentationStyle presentationStyle; + public facebook::react::ModalHostViewSupportedOrientationsMask supportedOrientations; + public int identifier; +} + +class facebook::react::ModalHostViewShadowNode : public facebook::react::ConcreteViewShadowNode { + public ModalHostViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ModalHostViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); +} + +class facebook::react::ModalHostViewState { + public ModalHostViewState(); + public ModalHostViewState(facebook::react::Size screenSize_); + public const facebook::react::Size screenSize; + public using Shared = std::shared_ptr; +} + +class facebook::react::ModuleRegistry { + public ModuleRegistry(std::vector> modules, facebook::react::ModuleRegistry::ModuleNotFoundCallback callback = nullptr); + public facebook::react::MethodCallResult callSerializableNativeHook(unsigned int moduleId, unsigned int methodId, folly::dynamic&& params); + public std::optional getConfig(const std::string& name); + public std::string getModuleName(unsigned int moduleId); + public std::string getModuleSyncMethodName(unsigned int moduleId, unsigned int methodId); + public std::vector moduleNames(); + public using ModuleNotFoundCallback = std::function; + public void callNativeMethod(unsigned int moduleId, unsigned int methodId, folly::dynamic&& params, int callId); + public void registerModules(std::vector> modules); +} + +class facebook::react::ModulusAnimatedNode : public facebook::react::ValueAnimatedNode { + public ModulusAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::MountingCoordinator { + public MountingCoordinator(const facebook::react::ShadowTreeRevision& baseRevision); + public bool hasPendingTransactions() const; + public bool waitForTransaction(std::chrono::duration timeout) const; + public const facebook::react::TelemetryController& getTelemetryController() const; + public facebook::react::ShadowTreeRevision getBaseRevision() const; + public facebook::react::SurfaceId getSurfaceId() const; + public std::optional pullTransaction(bool willPerformAsynchronously = false) const; + public void didPerformAsyncTransactions() const; + public void setMountingOverrideDelegate(std::weak_ptr delegate) const; +} + +class facebook::react::MountingOverrideDelegate { + public virtual bool shouldOverridePullTransaction() const = 0; + public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const = 0; + public virtual ~MountingOverrideDelegate() = default; +} + +class facebook::react::MountingTransaction { + public MountingTransaction(const facebook::react::MountingTransaction& mountingTransaction) = default; + public MountingTransaction(facebook::react::MountingTransaction&& mountingTransaction) noexcept = default; + public MountingTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, facebook::react::ShadowViewMutationList&& mutations, facebook::react::TransactionTelemetry telemetry); + public const facebook::react::ShadowViewMutationList& getMutations() const; + public facebook::react::MountingTransaction& operator=(const facebook::react::MountingTransaction& other) = delete; + public facebook::react::MountingTransaction& operator=(facebook::react::MountingTransaction&& other) = default; + public facebook::react::MountingTransaction::Number getNumber() const; + public facebook::react::ShadowViewMutationList getMutations(); + public facebook::react::SurfaceId getSurfaceId() const; + public facebook::react::TransactionTelemetry& getTelemetry() const; + public using Number = int64_t; + public void mergeWith(facebook::react::MountingTransaction&& transaction); +} + +class facebook::react::MultiplicationAnimatedNode : public facebook::react::OperatorAnimatedNode { + public MultiplicationAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::MutationObserver { + public MutationObserver(const facebook::react::MutationObserver&) = delete; + public MutationObserver(facebook::react::MutationObserver&&) = default; + public MutationObserver(facebook::react::MutationObserverId mutationObserverId); + public facebook::react::MutationObserver& operator=(const facebook::react::MutationObserver&) = delete; + public facebook::react::MutationObserver& operator=(facebook::react::MutationObserver&&) = default; + public void observe(std::shared_ptr targetShadowNodeFamily, bool observeSubtree); + public void recordMutations(const facebook::react::RootShadowNode& oldRootShadowNode, const facebook::react::RootShadowNode& newRootShadowNode, std::vector& recordedMutations) const; +} + +class facebook::react::MutationObserverManager : public facebook::react::UIManagerCommitHook { + public MutationObserverManager(); + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTree::CommitOptions& commitOptions) noexcept override; + public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept override; + public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept override; + public void connect(facebook::react::UIManager& uiManager, facebook::react::OnMutations&& onMutations); + public void disconnect(facebook::react::UIManager& uiManager); + public void observe(facebook::react::MutationObserverId mutationObserverId, std::shared_ptr shadowNode, bool observeSubtree, const facebook::react::UIManager& uiManager); + public void unobserveAll(facebook::react::MutationObserverId mutationObserverId); +} + +class facebook::react::NSDataBigString : public facebook::react::JSBigString { + public NSDataBigString(NSData* data); + public virtual bool isAscii() const override; + public virtual const char* c_str() const override; + public virtual size_t size() const override; +} + +class facebook::react::NativeAccessibilityInfoSpecJSI : public facebook::react::ObjCTurboModule { + public NativeAccessibilityInfoSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeAccessibilityManagerSpecJSI : public facebook::react::ObjCTurboModule { + public NativeAccessibilityManagerSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeActionSheetManagerSpecJSI : public facebook::react::ObjCTurboModule { + public NativeActionSheetManagerSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeAlertManagerSpecJSI : public facebook::react::ObjCTurboModule { + public NativeAlertManagerSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeAnimatedModuleSpecJSI : public facebook::react::ObjCTurboModule { + public NativeAnimatedModuleSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeAnimatedNodesManager : public std::enable_shared_from_this { + public NativeAnimatedNodesManager(const facebook::react::NativeAnimatedNodesManager&) = delete; + public NativeAnimatedNodesManager(facebook::react::NativeAnimatedNodesManager&&) = delete; + public NativeAnimatedNodesManager(facebook::react::NativeAnimatedNodesManager::DirectManipulationCallback&& directManipulationCallback, facebook::react::NativeAnimatedNodesManager::FabricCommitCallback&& fabricCommitCallback, facebook::react::NativeAnimatedNodesManager::ResolvePlatformColor&& resolvePlatformColor, facebook::react::NativeAnimatedNodesManager::StartOnRenderCallback&& startOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::StopOnRenderCallback&& stopOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::FrameRateListenerCallback&& frameRateListenerCallback = nullptr) noexcept; + public NativeAnimatedNodesManager(std::shared_ptr animationBackend) noexcept; + public bool commitProps(); + public bool hasManagedProps() const noexcept; + public bool isOnRenderThread() const noexcept; + public facebook::react::AnimationMutations onAnimationFrameForBackend(facebook::react::AnimatedPropsBuilder& propsBuilder, facebook::react::AnimationTimestamp timestamp); + public facebook::react::AnimationMutations pullAnimationMutations(facebook::react::AnimationTimestamp timestamp); + public facebook::react::NativeAnimatedNodesManager& operator=(const facebook::react::NativeAnimatedNodesManager&) = delete; + public facebook::react::NativeAnimatedNodesManager& operator=(facebook::react::NativeAnimatedNodesManager&&) = delete; + public folly::dynamic getManagedProps(facebook::react::Tag tag) const noexcept; + public std::optional getValue(facebook::react::Tag tag) noexcept; + public std::shared_ptr getEventEmitterListener() noexcept; + public using DirectManipulationCallback = std::function; + public using FabricCommitCallback = std::function&)>; + public using FrameRateListenerCallback = std::function; + public using ResolvePlatformColor = std::function; + public using StartOnRenderCallback = std::function&&, bool isAsync)>; + public using StopOnRenderCallback = std::function; + public void addAnimatedEventToView(facebook::react::Tag viewTag, const std::string& eventName, const folly::dynamic& eventMapping) noexcept; + public void connectAnimatedNodeToShadowNodeFamily(facebook::react::Tag propsNodeTag, std::shared_ptr family) noexcept; + public void connectAnimatedNodeToView(facebook::react::Tag propsNodeTag, facebook::react::Tag viewTag) noexcept; + public void connectAnimatedNodes(facebook::react::Tag parentTag, facebook::react::Tag childTag) noexcept; + public void createAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config) noexcept; + public void createAnimatedNodeAsync(facebook::react::Tag tag, const folly::dynamic& config) noexcept; + public void disconnectAnimatedNodeFromView(facebook::react::Tag propsNodeTag, facebook::react::Tag viewTag) noexcept; + public void disconnectAnimatedNodes(facebook::react::Tag parentTag, facebook::react::Tag childTag) noexcept; + public void dropAnimatedNode(facebook::react::Tag tag) noexcept; + public void extractAnimatedNodeOffsetOp(facebook::react::Tag tag); + public void flattenAnimatedNodeOffset(facebook::react::Tag tag); + public void insertMutations(std::unordered_map>& updates, facebook::react::AnimationMutations& mutations, facebook::react::AnimatedPropsBuilder& propsBuilder, bool hasLayoutUpdates = false); + public void onManagedPropsRemoved(facebook::react::Tag tag) noexcept; + public void onRender(); + public void removeAnimatedEventFromView(facebook::react::Tag viewTag, const std::string& eventName, facebook::react::Tag animatedValueTag) noexcept; + public void resolvePlatformColor(facebook::react::SurfaceId surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result) const; + public void restoreDefaultValues(facebook::react::Tag tag) noexcept; + public void scheduleOnUI(facebook::react::UiTask&& task); + public void schedulePropsCommit(facebook::react::Tag viewTag, const folly::dynamic& props, bool layoutStyleUpdated, bool forceFabricCommit, facebook::react::ShadowNodeFamily::Weak shadowNodeFamily = {}) noexcept; + public void setAnimatedNodeOffset(facebook::react::Tag tag, double offset); + public void setAnimatedNodeValue(facebook::react::Tag tag, double value); + public void startAnimatingNode(int animationId, facebook::react::Tag animatedNodeTag, folly::dynamic config, std::optional endCallback) noexcept; + public void startListeningToAnimatedNodeValue(facebook::react::Tag tag, facebook::react::ValueListenerCallback&& callback) noexcept; + public void startRenderCallbackIfNeeded(bool isAsync); + public void stopAnimation(int animationId, bool isTrackingAnimation = false) noexcept; + public void stopListeningToAnimatedNodeValue(facebook::react::Tag tag) noexcept; + public void updateNodes(const std::set& finishedAnimationValueNodes = {}) noexcept; + public ~NativeAnimatedNodesManager() noexcept; + template >> + public T* getAnimatedNode(facebook::react::Tag tag) const; +} + +class facebook::react::NativeAnimatedNodesManagerProvider { + public NativeAnimatedNodesManagerProvider(facebook::react::NativeAnimatedNodesManager::StartOnRenderCallback startOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::StopOnRenderCallback stopOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::FrameRateListenerCallback frameRateListenerCallback = nullptr); + public std::shared_ptr getEventEmitterListener(); + public std::shared_ptr getOrCreate(facebook::jsi::Runtime& runtime, std::shared_ptr jsInvoker); + public void addEventEmitterListener(const std::shared_ptr& listener); +} + +class facebook::react::NativeAnimatedTurboModuleSpecJSI : public facebook::react::ObjCTurboModule { + public NativeAnimatedTurboModuleSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeAppStateSpecJSI : public facebook::react::ObjCTurboModule { + public NativeAppStateSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeAppearanceSpecJSI : public facebook::react::ObjCTurboModule { + public NativeAppearanceSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeBlobModuleSpecJSI : public facebook::react::ObjCTurboModule { + public NativeBlobModuleSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeCPUTime : public facebook::react::NativeCPUTimeCxxSpec { + public NativeCPUTime(std::shared_ptr jsInvoker); + public bool hasAccurateCPUTimeNanosForBenchmarks(facebook::jsi::Runtime& runtime); + public double getCPUTimeNanos(facebook::jsi::Runtime& runtime); +} + +class facebook::react::NativeClipboardSpecJSI : public facebook::react::ObjCTurboModule { + public NativeClipboardSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeDOM : public facebook::react::NativeDOMCxxSpec { + public NativeDOM(std::shared_ptr jsInvoker); + public bool hasPointerCapture(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, double pointerId); + public bool isConnected(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference); + public double compareDocumentPosition(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference, facebook::jsi::Value otherNativeNodeReference); + public facebook::jsi::Value getElementById(facebook::jsi::Runtime& rt, facebook::react::SurfaceId surfaceId, const std::string& id); + public facebook::jsi::Value getParentNode(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference); + public facebook::jsi::Value linkRootNode(facebook::jsi::Runtime& rt, facebook::react::SurfaceId surfaceId, facebook::jsi::Value instanceHandle); + public std::string getTagName(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); + public std::string getTextContent(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); + public std::tuple getBoundingClientRect(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, bool includeTransform); + public std::tuple getScrollPosition(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); + public std::tuple getOffset(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); + public std::tuple getBorderWidth(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); + public std::tuple getInnerSize(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); + public std::tuple getScrollSize(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); + public std::vector getChildNodes(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference); + public void measure(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, const facebook::react::MeasureOnSuccessCallback& callback); + public void measureInWindow(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, const facebook::react::MeasureInWindowOnSuccessCallback& callback); + public void measureLayout(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, std::shared_ptr relativeToShadowNode, facebook::jsi::Function onFail, const facebook::react::MeasureLayoutOnSuccessCallback& onSuccess); + public void releasePointerCapture(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, double pointerId); + public void setNativeProps(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, facebook::jsi::Value updatePayload); + public void setPointerCapture(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, double pointerId); +} + +class facebook::react::NativeDevLoadingViewSpecJSI : public facebook::react::ObjCTurboModule { + public NativeDevLoadingViewSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeDevMenuSpecJSI : public facebook::react::ObjCTurboModule { + public NativeDevMenuSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeDevSettingsSpecJSI : public facebook::react::ObjCTurboModule { + public NativeDevSettingsSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeDeviceEventManagerSpecJSI : public facebook::react::ObjCTurboModule { + public NativeDeviceEventManagerSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeDeviceInfoSpecJSI : public facebook::react::ObjCTurboModule { + public NativeDeviceInfoSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeExceptionsManagerSpecJSI : public facebook::react::ObjCTurboModule { + public NativeExceptionsManagerSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeFantomTestSpecificMethods : public facebook::react::NativeFantomTestSpecificMethodsCxxSpec { + public NativeFantomTestSpecificMethods(std::shared_ptr jsInvoker); + public void registerForcedCloneCommitHook(facebook::jsi::Runtime& runtime); + public void setRootNodeSize(facebook::jsi::Runtime& runtime, int surfaceId, float width, float height); + public void takeFunctionAndNoop(facebook::jsi::Runtime& runtime, facebook::jsi::Function callback); +} + +class facebook::react::NativeFileReaderModuleSpecJSI : public facebook::react::ObjCTurboModule { + public NativeFileReaderModuleSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeFrameRateLoggerSpecJSI : public facebook::react::ObjCTurboModule { + public NativeFrameRateLoggerSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeHeadlessJsTaskSupportSpecJSI : public facebook::react::ObjCTurboModule { + public NativeHeadlessJsTaskSupportSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeI18nManagerSpecJSI : public facebook::react::ObjCTurboModule { + public NativeI18nManagerSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeIdleCallbacks : public facebook::react::NativeIdleCallbacksCxxSpec { + public NativeIdleCallbacks(std::shared_ptr jsInvoker); + public facebook::react::CallbackHandle requestIdleCallback(facebook::jsi::Runtime& runtime, facebook::react::SyncCallback&& callback, std::optional options); + public void cancelIdleCallback(facebook::jsi::Runtime& runtime, facebook::jsi::Object handle); +} + +class facebook::react::NativeImageEditorSpecJSI : public facebook::react::ObjCTurboModule { + public NativeImageEditorSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeImageLoaderIOSSpecJSI : public facebook::react::ObjCTurboModule { + public NativeImageLoaderIOSSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeImageStoreIOSSpecJSI : public facebook::react::ObjCTurboModule { + public NativeImageStoreIOSSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeIntersectionObserver : public facebook::react::NativeIntersectionObserverCxxSpec { + public NativeIntersectionObserver(std::shared_ptr jsInvoker); + public facebook::jsi::Object observeV2(facebook::jsi::Runtime& runtime, facebook::react::NativeIntersectionObserverObserveOptions options); + public std::vector takeRecords(facebook::jsi::Runtime& runtime); + public void connect(facebook::jsi::Runtime& runtime, facebook::react::AsyncCallback<> notifyIntersectionObserversCallback); + public void disconnect(facebook::jsi::Runtime& runtime); + public void unobserveV2(facebook::jsi::Runtime& runtime, facebook::react::IntersectionObserverObserverId intersectionObserverId, facebook::jsi::Object targetToken); +} + +class facebook::react::NativeJSCHeapCaptureSpecJSI : public facebook::react::ObjCTurboModule { + public NativeJSCHeapCaptureSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeKeyboardObserverSpecJSI : public facebook::react::ObjCTurboModule { + public NativeKeyboardObserverSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeLinkingManagerSpecJSI : public facebook::react::ObjCTurboModule { + public NativeLinkingManagerSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeLogBoxSpecJSI : public facebook::react::ObjCTurboModule { + public NativeLogBoxSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeMethodCallInvoker { + public virtual void invokeAsync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) noexcept = 0; + public virtual void invokeSync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) = 0; + public virtual ~NativeMethodCallInvoker() = default; +} + +class facebook::react::NativeMicrotasks : public facebook::react::NativeMicrotasksCxxSpec { + public NativeMicrotasks(std::shared_ptr jsInvoker); + public void queueMicrotask(facebook::jsi::Runtime& runtime, facebook::jsi::Function callback); +} + +class facebook::react::NativeModalManagerSpecJSI : public facebook::react::ObjCTurboModule { + public NativeModalManagerSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeModule { + public virtual facebook::react::MethodCallResult callSerializableNativeHook(unsigned int reactMethodId, folly::dynamic&& args) = 0; + public virtual folly::dynamic getConstants() = 0; + public virtual std::string getName() = 0; + public virtual std::string getSyncMethodName(unsigned int methodId) = 0; + public virtual std::vector getMethods() = 0; + public virtual void invoke(unsigned int reactMethodId, folly::dynamic&& params, int callId) = 0; + public virtual ~NativeModule() = default; +} + +class facebook::react::NativeModulePerfLogger { + public virtual void asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName) = 0; + public virtual void asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName) = 0; + public virtual void asyncMethodCallBatchPreprocessEnd(int batchSize) = 0; + public virtual void asyncMethodCallBatchPreprocessStart() = 0; + public virtual void asyncMethodCallDispatch(const char* moduleName, const char* methodName) = 0; + public virtual void asyncMethodCallEnd(const char* moduleName, const char* methodName) = 0; + public virtual void asyncMethodCallExecutionArgConversionEnd(const char* moduleName, const char* methodName, int32_t id) = 0; + public virtual void asyncMethodCallExecutionArgConversionStart(const char* moduleName, const char* methodName, int32_t id) = 0; + public virtual void asyncMethodCallExecutionEnd(const char* moduleName, const char* methodName, int32_t id) = 0; + public virtual void asyncMethodCallExecutionFail(const char* moduleName, const char* methodName, int32_t id) = 0; + public virtual void asyncMethodCallExecutionStart(const char* moduleName, const char* methodName, int32_t id) = 0; + public virtual void asyncMethodCallFail(const char* moduleName, const char* methodName) = 0; + public virtual void asyncMethodCallStart(const char* moduleName, const char* methodName) = 0; + public virtual void moduleCreateCacheHit(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateConstructEnd(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateConstructStart(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateEnd(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateFail(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateSetUpEnd(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateSetUpStart(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateStart(const char* moduleName, int32_t id) = 0; + public virtual void moduleDataCreateEnd(const char* moduleName, int32_t id) = 0; + public virtual void moduleDataCreateStart(const char* moduleName, int32_t id) = 0; + public virtual void moduleJSRequireBeginningCacheHit(const char* moduleName) = 0; + public virtual void moduleJSRequireBeginningEnd(const char* moduleName) = 0; + public virtual void moduleJSRequireBeginningFail(const char* moduleName) = 0; + public virtual void moduleJSRequireBeginningStart(const char* moduleName) = 0; + public virtual void moduleJSRequireEndingEnd(const char* moduleName) = 0; + public virtual void moduleJSRequireEndingFail(const char* moduleName) = 0; + public virtual void moduleJSRequireEndingStart(const char* moduleName) = 0; + public virtual void syncMethodCallArgConversionEnd(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallArgConversionStart(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallEnd(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallExecutionEnd(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallExecutionStart(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallFail(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallReturnConversionEnd(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallReturnConversionStart(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallStart(const char* moduleName, const char* methodName) = 0; + public virtual ~NativeModulePerfLogger() = default; +} + +class facebook::react::NativeMutationObserver : public facebook::react::NativeMutationObserverCxxSpec { + public NativeMutationObserver(std::shared_ptr jsInvoker); + public std::vector takeRecords(facebook::jsi::Runtime& runtime); + public void connect(facebook::jsi::Runtime& runtime, facebook::jsi::Function notifyMutationObservers, facebook::react::SyncCallback getPublicInstanceFromInstanceHandle); + public void disconnect(facebook::jsi::Runtime& runtime); + public void observe(facebook::jsi::Runtime& runtime, const facebook::react::NativeMutationObserverObserveOptions& options); + public void unobserveAll(facebook::jsi::Runtime& runtime, facebook::react::MutationObserverId mutationObserverId); +} + +class facebook::react::NativeNetworkingIOSSpecJSI : public facebook::react::ObjCTurboModule { + public NativeNetworkingIOSSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativePerformance : public facebook::react::NativePerformanceCxxSpec { + public NativePerformance(std::shared_ptr jsInvoker); + public double getDroppedEntriesCount(facebook::jsi::Runtime& rt, facebook::jsi::Object observerObj); + public facebook::jsi::Object createObserver(facebook::jsi::Runtime& rt, facebook::react::NativePerformancePerformanceObserverCallback callback); + public facebook::react::HighResDuration timeOrigin(facebook::jsi::Runtime& rt); + public facebook::react::HighResTimeStamp now(facebook::jsi::Runtime& rt); + public std::optional getMarkTime(facebook::jsi::Runtime& rt, const std::string& name); + public std::unordered_map getReactNativeStartupTiming(facebook::jsi::Runtime& rt); + public std::unordered_map getSimpleMemoryInfo(facebook::jsi::Runtime& rt); + public std::vector getEntries(facebook::jsi::Runtime& rt); + public std::vector getEntriesByName(facebook::jsi::Runtime& rt, const std::string& entryName, std::optional entryType = std::nullopt); + public std::vector getEntriesByType(facebook::jsi::Runtime& rt, facebook::react::PerformanceEntryType entryType); + public std::vector takeRecords(facebook::jsi::Runtime& rt, facebook::jsi::Object observerObj, bool sort); + public std::vector getSupportedPerformanceEntryTypes(facebook::jsi::Runtime& rt); + public std::vector> getEventCounts(facebook::jsi::Runtime& rt); + public void clearEventCountsForTesting(facebook::jsi::Runtime& rt); + public void clearMarks(facebook::jsi::Runtime& rt, std::optional entryName = std::nullopt); + public void clearMeasures(facebook::jsi::Runtime& rt, std::optional entryName = std::nullopt); + public void disconnect(facebook::jsi::Runtime& rt, facebook::jsi::Object observer); + public void observe(facebook::jsi::Runtime& rt, facebook::jsi::Object observer, facebook::react::NativePerformancePerformanceObserverObserveOptions options); + public void reportMark(facebook::jsi::Runtime& rt, const std::string& name, facebook::react::HighResTimeStamp time, facebook::jsi::Value entry); + public void reportMeasure(facebook::jsi::Runtime& rt, const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration, facebook::jsi::Value entry); +} + +class facebook::react::NativePlatformConstantsIOSSpecJSI : public facebook::react::ObjCTurboModule { + public NativePlatformConstantsIOSSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativePushNotificationManagerIOSSpecJSI : public facebook::react::ObjCTurboModule { + public NativePushNotificationManagerIOSSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeReactDevToolsRuntimeSettingsModuleSpecJSI : public facebook::react::ObjCTurboModule { + public NativeReactDevToolsRuntimeSettingsModuleSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeReactDevToolsSettingsManagerSpecJSI : public facebook::react::ObjCTurboModule { + public NativeReactDevToolsSettingsManagerSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeReactNativeFeatureFlags : public facebook::react::NativeReactNativeFeatureFlagsCxxSpec { + public NativeReactNativeFeatureFlags(std::shared_ptr jsInvoker); + public bool cdpInteractionMetricsEnabled(facebook::jsi::Runtime& runtime); + public bool commonTestFlag(facebook::jsi::Runtime& runtime); + public bool commonTestFlagWithoutNativeImplementation(facebook::jsi::Runtime& runtime); + public bool cxxNativeAnimatedEnabled(facebook::jsi::Runtime& runtime); + public bool defaultTextToOverflowHidden(facebook::jsi::Runtime& runtime); + public bool disableEarlyViewCommandExecution(facebook::jsi::Runtime& runtime); + public bool disableImageViewPreallocationAndroid(facebook::jsi::Runtime& runtime); + public bool disableMountItemReorderingAndroid(facebook::jsi::Runtime& runtime); + public bool disableSubviewClippingAndroid(facebook::jsi::Runtime& runtime); + public bool disableTextLayoutManagerCacheAndroid(facebook::jsi::Runtime& runtime); + public bool disableViewPreallocationAndroid(facebook::jsi::Runtime& runtime); + public bool enableAccessibilityOrder(facebook::jsi::Runtime& runtime); + public bool enableAccumulatedUpdatesInRawPropsAndroid(facebook::jsi::Runtime& runtime); + public bool enableAndroidAntialiasedBorderRadiusClipping(facebook::jsi::Runtime& runtime); + public bool enableAndroidLinearText(facebook::jsi::Runtime& runtime); + public bool enableAndroidTextMeasurementOptimizations(facebook::jsi::Runtime& runtime); + public bool enableBridgelessArchitecture(facebook::jsi::Runtime& runtime); + public bool enableCppPropsIteratorSetter(facebook::jsi::Runtime& runtime); + public bool enableCustomFocusSearchOnClippedElementsAndroid(facebook::jsi::Runtime& runtime); + public bool enableDestroyShadowTreeRevisionAsync(facebook::jsi::Runtime& runtime); + public bool enableDifferentiatorMutationVectorPreallocation(facebook::jsi::Runtime& runtime); + public bool enableDoubleMeasurementFixAndroid(facebook::jsi::Runtime& runtime); + public bool enableEagerMainQueueModulesOnIOS(facebook::jsi::Runtime& runtime); + public bool enableEagerRootViewAttachment(facebook::jsi::Runtime& runtime); + public bool enableExclusivePropsUpdateAndroid(facebook::jsi::Runtime& runtime); + public bool enableFabricCommitBranching(facebook::jsi::Runtime& runtime); + public bool enableFabricLogs(facebook::jsi::Runtime& runtime); + public bool enableFabricRenderer(facebook::jsi::Runtime& runtime); + public bool enableFontScaleChangesUpdatingLayout(facebook::jsi::Runtime& runtime); + public bool enableIOSTextBaselineOffsetPerLine(facebook::jsi::Runtime& runtime); + public bool enableIOSViewClipToPaddingBox(facebook::jsi::Runtime& runtime); + public bool enableImagePrefetchingAndroid(facebook::jsi::Runtime& runtime); + public bool enableImagePrefetchingJNIBatchingAndroid(facebook::jsi::Runtime& runtime); + public bool enableImagePrefetchingOnUiThreadAndroid(facebook::jsi::Runtime& runtime); + public bool enableImmediateUpdateModeForContentOffsetChanges(facebook::jsi::Runtime& runtime); + public bool enableImperativeFocus(facebook::jsi::Runtime& runtime); + public bool enableInteropViewManagerClassLookUpOptimizationIOS(facebook::jsi::Runtime& runtime); + public bool enableIntersectionObserverByDefault(facebook::jsi::Runtime& runtime); + public bool enableKeyEvents(facebook::jsi::Runtime& runtime); + public bool enableLayoutAnimationsOnAndroid(facebook::jsi::Runtime& runtime); + public bool enableLayoutAnimationsOnIOS(facebook::jsi::Runtime& runtime); + public bool enableMainQueueCoordinatorOnIOS(facebook::jsi::Runtime& runtime); + public bool enableModuleArgumentNSNullConversionIOS(facebook::jsi::Runtime& runtime); + public bool enableMutationObserverByDefault(facebook::jsi::Runtime& runtime); + public bool enableNativeCSSParsing(facebook::jsi::Runtime& runtime); + public bool enableNativeViewPropTransformations(facebook::jsi::Runtime& runtime); + public bool enableNetworkEventReporting(facebook::jsi::Runtime& runtime); + public bool enablePreparedTextLayout(facebook::jsi::Runtime& runtime); + public bool enablePropsUpdateReconciliationAndroid(facebook::jsi::Runtime& runtime); + public bool enableSwiftUIBasedFilters(facebook::jsi::Runtime& runtime); + public bool enableViewCulling(facebook::jsi::Runtime& runtime); + public bool enableViewRecycling(facebook::jsi::Runtime& runtime); + public bool enableViewRecyclingForImage(facebook::jsi::Runtime& runtime); + public bool enableViewRecyclingForScrollView(facebook::jsi::Runtime& runtime); + public bool enableViewRecyclingForText(facebook::jsi::Runtime& runtime); + public bool enableViewRecyclingForView(facebook::jsi::Runtime& runtime); + public bool enableVirtualViewContainerStateExperimental(facebook::jsi::Runtime& runtime); + public bool enableVirtualViewDebugFeatures(facebook::jsi::Runtime& runtime); + public bool fixFindShadowNodeByTagRaceCondition(facebook::jsi::Runtime& runtime); + public bool fixMappingOfEventPrioritiesBetweenFabricAndReact(facebook::jsi::Runtime& runtime); + public bool fixTextClippingAndroid15useBoundsForWidth(facebook::jsi::Runtime& runtime); + public bool fixYogaFlexBasisFitContentInMainAxis(facebook::jsi::Runtime& runtime); + public bool fuseboxAssertSingleHostState(facebook::jsi::Runtime& runtime); + public bool fuseboxEnabledRelease(facebook::jsi::Runtime& runtime); + public bool fuseboxFrameRecordingEnabled(facebook::jsi::Runtime& runtime); + public bool fuseboxNetworkInspectionEnabled(facebook::jsi::Runtime& runtime); + public bool hideOffscreenVirtualViewsOnIOS(facebook::jsi::Runtime& runtime); + public bool overrideBySynchronousMountPropsAtMountingAndroid(facebook::jsi::Runtime& runtime); + public bool perfIssuesEnabled(facebook::jsi::Runtime& runtime); + public bool perfMonitorV2Enabled(facebook::jsi::Runtime& runtime); + public bool preventShadowTreeCommitExhaustion(facebook::jsi::Runtime& runtime); + public bool shouldPressibilityUseW3CPointerEventsForHover(facebook::jsi::Runtime& runtime); + public bool shouldTriggerResponderTransferOnScrollAndroid(facebook::jsi::Runtime& runtime); + public bool skipActivityIdentityAssertionOnHostPause(facebook::jsi::Runtime& runtime); + public bool syncAndroidClipToPaddingWithOverflow(facebook::jsi::Runtime& runtime); + public bool traceTurboModulePromiseRejectionsOnAndroid(facebook::jsi::Runtime& runtime); + public bool updateRuntimeShadowNodeReferencesOnCommit(facebook::jsi::Runtime& runtime); + public bool updateRuntimeShadowNodeReferencesOnCommitThread(facebook::jsi::Runtime& runtime); + public bool useAlwaysAvailableJSErrorHandling(facebook::jsi::Runtime& runtime); + public bool useFabricInterop(facebook::jsi::Runtime& runtime); + public bool useLISAlgorithmInDifferentiator(facebook::jsi::Runtime& runtime); + public bool useNativeViewConfigsInBridgelessMode(facebook::jsi::Runtime& runtime); + public bool useNestedScrollViewAndroid(facebook::jsi::Runtime& runtime); + public bool useSharedAnimatedBackend(facebook::jsi::Runtime& runtime); + public bool useTraitHiddenOnAndroid(facebook::jsi::Runtime& runtime); + public bool useTurboModuleInterop(facebook::jsi::Runtime& runtime); + public bool useTurboModules(facebook::jsi::Runtime& runtime); + public bool useUnorderedMapInDifferentiator(facebook::jsi::Runtime& runtime); + public bool viewTransitionEnabled(facebook::jsi::Runtime& runtime); + public double preparedTextCacheSize(facebook::jsi::Runtime& runtime); + public double viewCullingOutsetRatio(facebook::jsi::Runtime& runtime); + public double virtualViewPrerenderRatio(facebook::jsi::Runtime& runtime); + public static constexpr std::string_view kModuleName; +} + +class facebook::react::NativeRedBoxSpecJSI : public facebook::react::ObjCTurboModule { + public NativeRedBoxSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeSegmentFetcherSpecJSI : public facebook::react::ObjCTurboModule { + public NativeSegmentFetcherSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeSettingsManagerSpecJSI : public facebook::react::ObjCTurboModule { + public NativeSettingsManagerSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeShareModuleSpecJSI : public facebook::react::ObjCTurboModule { + public NativeShareModuleSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeSoundManagerSpecJSI : public facebook::react::ObjCTurboModule { + public NativeSoundManagerSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeSourceCodeSpecJSI : public facebook::react::ObjCTurboModule { + public NativeSourceCodeSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeStatusBarManagerIOSSpecJSI : public facebook::react::ObjCTurboModule { + public NativeStatusBarManagerIOSSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeTimingSpecJSI : public facebook::react::ObjCTurboModule { + public NativeTimingSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeToJsBridge { + public NativeToJsBridge(facebook::react::JSExecutorFactory* jsExecutorFactory, std::shared_ptr registry, std::shared_ptr jsQueue, std::shared_ptr callback); + public bool isBatchActive(); + public bool isInspectable(); + public facebook::react::jsinspector_modern::RuntimeTargetDelegate& getInspectorTargetDelegate(); + public std::shared_ptr getDecoratedNativeMethodCallInvoker(std::shared_ptr nativeMethodCallInvoker) const; + public virtual ~NativeToJsBridge(); + public void callFunction(std::string&& module, std::string&& method, folly::dynamic&& arguments); + public void destroy(); + public void handleMemoryPressure(int pressureLevel); + public void initializeRuntime(); + public void invokeCallback(double callbackId, folly::dynamic&& arguments); + public void loadBundle(std::unique_ptr bundleRegistry, std::unique_ptr startupScript, std::string sourceURL); + public void loadBundleSync(std::unique_ptr bundleRegistry, std::unique_ptr startupScript, std::string sourceURL); + public void registerBundle(uint32_t bundleId, const std::string& bundlePath); + public void runOnExecutorQueue(std::function&& task) noexcept; + public void setGlobalVariable(std::string propName, std::unique_ptr jsonValue); + public void* getJavaScriptContext(); +} + +class facebook::react::NativeVibrationSpecJSI : public facebook::react::ObjCTurboModule { + public NativeVibrationSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeWebSocketModuleSpecJSI : public facebook::react::ObjCTurboModule { + public NativeWebSocketModuleSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NetworkReporter { + public bool isDebuggingEnabled() const; + public static facebook::react::NetworkReporter& getInstance(); + public void reportConnectionTiming(const std::string& requestId, const std::optional& headers); + public void reportDataReceived(const std::string& requestId, int dataLength, const std::optional& encodedDataLength); + public void reportRequestFailed(const std::string& requestId, bool cancelled) const; + public void reportRequestStart(const std::string& requestId, const facebook::react::RequestInfo& requestInfo, int encodedDataLength, const std::optional& redirectResponse); + public void reportResponseEnd(const std::string& requestId, int encodedDataLength); + public void reportResponseStart(const std::string& requestId, const facebook::react::ResponseInfo& responseInfo, int encodedDataLength); + public void storeResponseBody(const std::string& requestId, std::string_view body, bool base64Encoded); +} + +class facebook::react::ObjCInteropTurboModule : public facebook::react::ObjCTurboModule { + protected virtual NSString* getArgumentTypeName(facebook::jsi::Runtime& runtime, NSString* methodName, int argIndex) override; + protected virtual facebook::jsi::Value convertReturnIdToJSIValue(facebook::jsi::Runtime& runtime, const char* methodName, facebook::react::TurboModuleMethodValueKind returnType, id result) override; + protected virtual facebook::jsi::Value create(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& propName) override; + protected virtual void setInvocationArg(facebook::jsi::Runtime& runtime, const char* methodName, const std::string& objCArgType, const facebook::jsi::Value& arg, size_t i, NSInvocation* inv, NSMutableArray* retainedObjectsForInvocation) override; + public ObjCInteropTurboModule(const facebook::react::ObjCTurboModule::InitParams& params); + public virtual std::vector getPropertyNames(facebook::jsi::Runtime& runtime) override; +} + +struct facebook::react::ObjCInteropTurboModule::MethodDescriptor { + public SEL selector; + public facebook::react::TurboModuleMethodValueKind jsReturnKind; + public size_t jsArgCount; + public std::string methodName; +} + +class facebook::react::ObjCTurboModule : public facebook::react::TurboModule { + protected virtual NSString* getArgumentTypeName(facebook::jsi::Runtime& runtime, NSString* methodName, int argIndex); + protected virtual facebook::jsi::Value convertReturnIdToJSIValue(facebook::jsi::Runtime& runtime, const char* methodName, facebook::react::TurboModuleMethodValueKind returnType, id result); + protected virtual void setInvocationArg(facebook::jsi::Runtime& runtime, const char* methodName, const std::string& objCArgType, const facebook::jsi::Value& arg, size_t i, NSInvocation* inv, NSMutableArray* retainedObjectsForInvocation); + protected void setEventEmitterCallback(facebook::react::EventEmitterCallback eventEmitterCallback); + protected void setMethodArgConversionSelector(NSString* methodName, size_t argIndex, NSString* fnName); + public ObjCTurboModule(const facebook::react::ObjCTurboModule::InitParams& params); + public facebook::jsi::Value invokeObjCMethod(facebook::jsi::Runtime& runtime, facebook::react::TurboModuleMethodValueKind returnType, const std::string& methodName, SEL selector, const facebook::jsi::Value* args, size_t count); + public id instance_; + public std::shared_ptr nativeMethodCallInvoker_; +} + +struct facebook::react::ObjCTurboModule::InitParams { + public bool isSyncModule; + public id instance; + public std::shared_ptr jsInvoker; + public std::shared_ptr nativeMethodCallInvoker; + public std::string moduleName; +} + +class facebook::react::ObjectAnimatedNode : public facebook::react::AnimatedNode { + public ObjectAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public void collectViewUpdates(std::string propKey, folly::dynamic& props); +} + +class facebook::react::OperatorAnimatedNode : public facebook::react::ValueAnimatedNode { + protected std::vector inputNodes_; + public OperatorAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); +} + +class facebook::react::ParagraphAttributes : public facebook::react::DebugStringConvertible { + public bool adjustsFontSizeToFit; + public bool includeFontPadding; + public bool operator==(const facebook::react::ParagraphAttributes& rhs) const; + public facebook::react::EllipsizeMode ellipsizeMode; + public facebook::react::Float maximumFontSize; + public facebook::react::Float minimumFontScale; + public facebook::react::Float minimumFontSize; + public facebook::react::HyphenationFrequency android_hyphenationFrequency; + public facebook::react::TextBreakStrategy textBreakStrategy; + public int maximumNumberOfLines; + public std::optional textAlignVertical; +} + +class facebook::react::ParagraphComponentDescriptor : public facebook::react::BaseParagraphComponentDescriptor { + public ParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); +} + +class facebook::react::ParagraphEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onTextLayout(const facebook::react::LinesMeasurements& linesMeasurements) const; +} + +class facebook::react::ParagraphShadowNode : public facebook::react::ConcreteViewShadowNode, public facebook::react::BaseTextShadowNode { + protected virtual bool shouldNewRevisionDirtyMeasurement(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) const override; + public ParagraphShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ParagraphShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public virtual facebook::react::Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const override; + public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; + public virtual void layout(facebook::react::LayoutContext layoutContext) override; + public void setTextLayoutManager(std::shared_ptr textLayoutManager); +} + +class facebook::react::ParagraphShadowNode::Content { + public facebook::react::AttributedString attributedString; + public facebook::react::BaseTextShadowNode::Attachments attachments; + public facebook::react::ParagraphAttributes paragraphAttributes; +} + +class facebook::react::PerformanceEntryBuffer { + public PerformanceEntryBuffer() = default; + public facebook::react::HighResDuration durationThreshold; + public size_t droppedEntriesCount; + public virtual void add(const facebook::react::PerformanceEntry& entry) = 0; + public virtual void clear() = 0; + public virtual void clear(const std::string& name) = 0; + public virtual void getEntries(std::vector& target) const = 0; + public virtual void getEntries(std::vector& target, const std::string& name) const = 0; + public virtual ~PerformanceEntryBuffer() = default; +} + +class facebook::react::PerformanceEntryCircularBuffer : public facebook::react::PerformanceEntryBuffer { + public PerformanceEntryCircularBuffer(size_t size); + public virtual void add(const facebook::react::PerformanceEntry& entry) override; + public virtual void clear() override; + public virtual void clear(const std::string& name) override; + public virtual void getEntries(std::vector& target) const override; + public virtual void getEntries(std::vector& target, const std::string& name) const override; + public ~PerformanceEntryCircularBuffer() override = default; +} + +class facebook::react::PerformanceEntryKeyedBuffer : public facebook::react::PerformanceEntryBuffer { + public PerformanceEntryKeyedBuffer() = default; + public std::optional find(const std::string& name) const; + public virtual void add(const facebook::react::PerformanceEntry& entry) override; + public virtual void clear() override; + public virtual void clear(const std::string& name) override; + public virtual void getEntries(std::vector& target) const override; + public virtual void getEntries(std::vector& target, const std::string& name) const override; +} + +class facebook::react::PerformanceEntryReporter { + public PerformanceEntryReporter(); + public const std::unordered_map& getEventCounts() const; + public facebook::react::PerformanceObserverRegistry& getObserverRegistry(); + public static std::shared_ptr& getInstance(); + public static std::vector getSupportedEntryTypes(); + public std::optional getMarkTime(const std::string& markName) const; + public std::vector getEntries() const; + public std::vector getEntries(facebook::react::PerformanceEntryType entryType) const; + public std::vector getEntries(facebook::react::PerformanceEntryType entryType, const std::string& entryName) const; + public uint32_t getDroppedEntriesCount(facebook::react::PerformanceEntryType type) const noexcept; + public using UserTimingDetailProvider = std::function; + public void addEventListener(facebook::react::PerformanceEntryReporterEventListener* listener); + public void clearEntries(); + public void clearEntries(facebook::react::PerformanceEntryType entryType); + public void clearEntries(facebook::react::PerformanceEntryType entryType, const std::string& entryName); + public void clearEventCounts(); + public void getEntries(std::vector& dest) const; + public void getEntries(std::vector& dest, facebook::react::PerformanceEntryType entryType) const; + public void getEntries(std::vector& dest, facebook::react::PerformanceEntryType entryType, const std::string& entryName) const; + public void removeEventListener(facebook::react::PerformanceEntryReporterEventListener* listener); + public void reportEvent(const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration, facebook::react::HighResTimeStamp processingStart, facebook::react::HighResTimeStamp processingEnd, facebook::react::HighResTimeStamp taskEndTime, uint32_t interactionId); + public void reportLongTask(facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration); + public void reportMark(const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::PerformanceEntryReporter::UserTimingDetailProvider&& detailProvider = nullptr); + public void reportMeasure(const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration, const std::optional& detailProvider = std::nullopt); + public void reportResourceTiming(const std::string& url, facebook::react::HighResTimeStamp fetchStart, facebook::react::HighResTimeStamp requestStart, std::optional connectStart, std::optional connectEnd, facebook::react::HighResTimeStamp responseStart, facebook::react::HighResTimeStamp responseEnd, int responseStatus, const std::string& contentType, int encodedBodySize, int decodedBodySize); +} + +class facebook::react::PerformanceEntryReporterEventListener { + public virtual void onEventTimingEntry(const facebook::react::PerformanceEventTiming&); + public virtual void onMeasureEntry(const facebook::react::PerformanceMeasure&, const std::optional&); + public virtual ~PerformanceEntryReporterEventListener() = default; +} + +class facebook::react::PerformanceObserver : public std::enable_shared_from_this { + public PerformanceObserver(PrivateUseCreateMethod, facebook::react::PerformanceObserverRegistry& registry, facebook::react::PerformanceObserverCallback&& callback); + public static std::shared_ptr create(facebook::react::PerformanceObserverRegistry& registry, facebook::react::PerformanceObserverCallback&& callback); + public std::vector takeRecords(); + public uint32_t getDroppedEntriesCount() noexcept; + public void disconnect() noexcept; + public void handleEntry(const facebook::react::PerformanceEntry& entry); + public void observe(facebook::react::PerformanceEntryType type, facebook::react::PerformanceObserverObserveSingleOptions options = {}); + public void observe(std::unordered_set types); + public ~PerformanceObserver() = default; +} + +class facebook::react::PerformanceObserverRegistry { + public PerformanceObserverRegistry() = default; + public void addObserver(std::shared_ptr observer); + public void queuePerformanceEntry(const facebook::react::PerformanceEntry& entry); + public void removeObserver(std::shared_ptr observer); +} + +class facebook::react::PlatformRunLoopObserver : public facebook::react::RunLoopObserver { + public PlatformRunLoopObserver(facebook::react::RunLoopObserver::Activity activities, facebook::react::RunLoopObserver::WeakOwner owner, CFRunLoopRef runLoop); + public virtual bool isOnRunLoopThread() const noexcept override; + public ~PlatformRunLoopObserver(); +} + +class facebook::react::PlatformTimerRegistry { + public virtual void createRecurringTimer(uint32_t timerID, double delayMS) = 0; + public virtual void createTimer(uint32_t timerID, double delayMS) = 0; + public virtual void deleteTimer(uint32_t timerID) = 0; + public virtual void quit(); + public virtual ~PlatformTimerRegistry() noexcept = default; +} + +class facebook::react::PointerEventsProcessor { + public bool hasPointerCapture(facebook::react::PointerIdentifier pointerId, const facebook::react::ShadowNode* shadowNode); + public static std::shared_ptr getShadowNodeFromEventTarget(facebook::jsi::Runtime& runtime, facebook::react::EventTarget* target); + public void interceptPointerEvent(const std::shared_ptr& target, const std::string& type, facebook::react::ReactEventPriority priority, const facebook::react::PointerEvent& event, const facebook::react::DispatchEvent& eventDispatcher, const facebook::react::UIManager& uiManager); + public void releasePointerCapture(facebook::react::PointerIdentifier pointerId, const facebook::react::ShadowNode* shadowNode); + public void setPointerCapture(facebook::react::PointerIdentifier pointerId, const std::shared_ptr& shadowNode); +} + +class facebook::react::PointerHoverTracker { + public PointerHoverTracker(std::shared_ptr target, const facebook::react::UIManager& uiManager); + public bool areAnyTargetsListeningToEvents(std::initializer_list eventTypes, const facebook::react::UIManager& uiManager) const; + public bool hasSameTarget(const facebook::react::PointerHoverTracker& other) const; + public const facebook::react::ShadowNode* getTarget(const facebook::react::UIManager& uiManager) const; + public std::tuple diffEventPath(const facebook::react::PointerHoverTracker& other, const facebook::react::UIManager& uiManager) const; + public using EventPath = std::vector>; + public using Unique = std::unique_ptr; + public void markAsOld(); +} + +class facebook::react::PreparedTextCacheKey { + public facebook::react::AttributedString attributedString; + public facebook::react::LayoutConstraints layoutConstraints; + public facebook::react::ParagraphAttributes paragraphAttributes; +} + +class facebook::react::Props : public virtual facebook::react::Sealable, public virtual facebook::react::DebugStringConvertible { + protected void initialize(const facebook::react::PropsParserContext& context, const facebook::react::Props& sourceProps, const facebook::react::RawProps& rawProps, const std::function& filterObjectKeys = nullptr); + public Props() = default; + public Props(const facebook::react::Props& other) = delete; + public Props(const facebook::react::PropsParserContext& context, const facebook::react::Props& sourceProps, const facebook::react::RawProps& rawProps, const std::function& filterObjectKeys = nullptr); + public facebook::react::Props& operator=(const facebook::react::Props& other) = delete; + public std::string nativeId; + public using Shared = std::shared_ptr; + public virtual ~Props() = default; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::PropsAnimatedNode : public facebook::react::AnimatedNode { + public PropsAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public facebook::react::SurfaceId connectedRootTag() const; + public facebook::react::Tag connectedViewTag() const; + public folly::dynamic props(); + public virtual void update() override; + public void connectToShadowNodeFamily(facebook::react::ShadowNodeFamily::Weak shadowNodeFamily); + public void connectToView(facebook::react::Tag viewTag); + public void disconnectFromShadowNodeFamily(); + public void disconnectFromView(facebook::react::Tag viewTag); + public void restoreDefaultValues(); + public void update(bool forceFabricCommit); +} + +class facebook::react::PullToRefreshViewEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onRefresh(facebook::react::PullToRefreshViewEventEmitter::OnRefresh value) const; +} + +struct facebook::react::PullToRefreshViewEventEmitter::OnRefresh { +} + +class facebook::react::PullToRefreshViewProps : public facebook::react::HostPlatformViewProps { + public PullToRefreshViewProps() = default; + public PullToRefreshViewProps(const facebook::react::PropsParserContext& context, const facebook::react::PullToRefreshViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool refreshing; + public facebook::react::Float progressViewOffset; + public facebook::react::SharedColor tintColor; + public facebook::react::SharedColor titleColor; + public std::string title; +} + +class facebook::react::RAMBundleRegistry { + public RAMBundleRegistry(facebook::react::RAMBundleRegistry&&) = default; + public RAMBundleRegistry(std::unique_ptr mainBundle, std::function(std::string)> factory = nullptr); + public facebook::react::JSModulesUnbundle::Module getModule(uint32_t bundleId, uint32_t moduleId); + public facebook::react::RAMBundleRegistry& operator=(facebook::react::RAMBundleRegistry&&) = default; + public static constexpr uint32_t MAIN_BUNDLE_ID; + public static std::unique_ptr multipleBundlesRegistry(std::unique_ptr mainBundle, std::function(std::string)> factory); + public static std::unique_ptr singleBundleRegistry(std::unique_ptr mainBundle); + public virtual ~RAMBundleRegistry() = default; + public void registerBundle(uint32_t bundleId, std::string bundlePath); +} + +class facebook::react::RCTBlobCollector : public facebook::jsi::HostObject { + public RCTBlobCollector(RCTBlobManager* blobManager, const std::string& blobId); + public static void install(RCTBlobManager* blobManager); + public ~RCTBlobCollector(); +} + +class facebook::react::RCTHermesInstance : public facebook::react::JSRuntimeFactory { + public RCTHermesInstance(); + public RCTHermesInstance(facebook::react::CrashManagerProvider crashManagerProvider); + public RCTHermesInstance(facebook::react::CrashManagerProvider crashManagerProvider, bool allocInOldGenBeforeTTI); + public virtual std::unique_ptr createJSRuntime(std::shared_ptr msgQueueThread) noexcept override; + public ~RCTHermesInstance() override; +} + +class facebook::react::RCTImageResponseObserverProxy : public facebook::react::ImageResponseObserver { + public RCTImageResponseObserverProxy(id delegate = nil); + public virtual void didReceiveFailure(const facebook::react::ImageLoadError& error) const override; + public virtual void didReceiveImage(const facebook::react::ImageResponse& imageResponse) const override; + public virtual void didReceiveProgress(float progress, int64_t loaded, int64_t total) const override; +} + +class facebook::react::RCTJscInstance : public facebook::react::JSRuntimeFactory { + public RCTJscInstance(); + public virtual std::unique_ptr createJSRuntime(std::shared_ptr msgQueueThread) noexcept override; + public ~RCTJscInstance(); +} + +class facebook::react::RCTMessageThread : public facebook::react::MessageQueueThread, public std::enable_shared_from_this { + public RCTMessageThread(NSRunLoop* runLoop, RCTJavaScriptCompleteBlock errorBlock); + public virtual void quitSynchronous() override; + public virtual void runOnQueue(std::function&&) override; + public virtual void runOnQueueSync(std::function&&) override; + public void setRunLoop(NSRunLoop* runLoop); + public ~RCTMessageThread() override; +} + +class facebook::react::RCTNativeModule : public facebook::react::NativeModule { + public RCTNativeModule(RCTBridge* bridge, RCTModuleData* moduleData); + public virtual facebook::react::MethodCallResult callSerializableNativeHook(unsigned int reactMethodId, folly::dynamic&& params) override; + public virtual folly::dynamic getConstants() override; + public virtual std::string getName() override; + public virtual std::string getSyncMethodName(unsigned int methodId) override; + public virtual std::vector getMethods() override; + public virtual void invoke(unsigned int methodId, folly::dynamic&& params, int callId) override; +} + +class facebook::react::RCTObjcExecutorFactory : public facebook::react::JSExecutorFactory { + public RCTObjcExecutorFactory(id jse, RCTJavaScriptCompleteBlock errorBlock); + public virtual std::unique_ptr createJSExecutor(std::shared_ptr delegate, std::shared_ptr jsQueue) override; +} + +class facebook::react::RawProps { + public RawProps(); + public RawProps(const facebook::react::RawProps& other) noexcept; + public RawProps(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value) noexcept; + public RawProps(facebook::react::RawProps&& other) noexcept = default; + public RawProps(folly::dynamic dynamic) noexcept; + public bool isEmpty() const noexcept; + public const facebook::react::RawValue* at(const char* name, const char* prefix, const char* suffix) const noexcept; + public facebook::react::RawProps& operator=(const facebook::react::RawProps& other) noexcept = delete; + public facebook::react::RawProps& operator=(facebook::react::RawProps&& other) noexcept = delete; + public folly::dynamic toDynamic(const std::function& filterObjectKeys = nullptr) const; + public operator folly::dynamic() const; + public void parse(const facebook::react::RawPropsParser& parser) noexcept; +} + +enum facebook::react::RawProps::Mode { + Dynamic, + Empty, + JSI, +} + +class facebook::react::RawPropsKey { + public const char* name; + public const char* prefix; + public const char* suffix; + public operator std::string() const noexcept; + public void render(char* buffer, facebook::react::RawPropsPropNameLength* length) const noexcept; +} + +class facebook::react::RawPropsKeyMap { + public facebook::react::RawPropsValueIndex at(const char* name, facebook::react::RawPropsPropNameLength length) noexcept; + public void insert(const facebook::react::RawPropsKey& key, facebook::react::RawPropsValueIndex value) noexcept; + public void reindex() noexcept; +} + +class facebook::react::RawPropsParser { + public RawPropsParser() = default; + public RawPropsParser(bool); + template + public void prepare() noexcept; +} + +class facebook::react::RawTextProps : public facebook::react::Props { + public RawTextProps() = default; + public RawTextProps(const facebook::react::PropsParserContext& context, const facebook::react::RawTextProps& sourceProps, const facebook::react::RawProps& rawProps); + public std::string text; +} + +class facebook::react::RawTextShadowNode : public facebook::react::ConcreteShadowNode { +} + +class facebook::react::RawValue { + public RawValue() noexcept; + public RawValue(const folly::dynamic& dynamic) noexcept; + public RawValue(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value) noexcept; + public RawValue(facebook::jsi::Runtime& runtime, facebook::jsi::Value&& value) noexcept; + public RawValue(facebook::react::RawValue&& other) noexcept; + public RawValue(folly::dynamic&& dynamic) noexcept; + public bool hasValue() const; + public facebook::react::RawValue& operator=(facebook::react::RawValue&& other) noexcept; + public operator folly::dynamic() const; + template + public bool hasType() const; + template + public operator T() const; +} + +class facebook::react::ReactInstance { + public ReactInstance(const facebook::react::ReactInstance&) = delete; + public ReactInstance(facebook::react::ReactInstance&&) = delete; + public ReactInstance(std::unique_ptr runtime, std::shared_ptr jsMessageQueueThread, std::shared_ptr timerManager, facebook::react::JsErrorHandler::OnJsError onJsError, facebook::react::jsinspector_modern::HostTarget* parentInspectorTarget = nullptr); + public facebook::react::ReactInstance& operator=(const facebook::react::ReactInstance&) = delete; + public facebook::react::ReactInstance& operator=(facebook::react::ReactInstance&&) = delete; + public facebook::react::RuntimeExecutor getBufferedRuntimeExecutor() noexcept; + public facebook::react::RuntimeExecutor getUnbufferedRuntimeExecutor() noexcept; + public std::shared_ptr getRuntimeScheduler() noexcept; + public using BindingsInstallFunc = std::function; + public void callFunctionOnModule(const std::string& moduleName, const std::string& methodName, folly::dynamic&& args); + public void handleMemoryPressureJs(int pressureLevel); + public void initializeRuntime(facebook::react::ReactInstance::JSRuntimeFlags options, facebook::react::ReactInstance::BindingsInstallFunc bindingsInstallFunc) noexcept; + public void loadScript(std::unique_ptr script, const std::string& sourceURL, std::function&& beforeLoad = nullptr, std::function&& afterLoad = nullptr); + public void registerSegment(uint32_t segmentId, const std::string& segmentPath); + public void unregisterFromInspector(); + public void* getJavaScriptContext(); + public ~ReactInstance() noexcept override; +} + +struct facebook::react::ReactInstance::JSRuntimeFlags { + public bool isProfiling; + public const std::string runtimeDiagnosticFlags; +} + +class facebook::react::ReactNativeFeatureFlags { + public static bool cdpInteractionMetricsEnabled(); + public static bool commonTestFlag(); + public static bool cxxNativeAnimatedEnabled(); + public static bool defaultTextToOverflowHidden(); + public static bool disableEarlyViewCommandExecution(); + public static bool disableImageViewPreallocationAndroid(); + public static bool disableMountItemReorderingAndroid(); + public static bool disableSubviewClippingAndroid(); + public static bool disableTextLayoutManagerCacheAndroid(); + public static bool disableViewPreallocationAndroid(); + public static bool enableAccessibilityOrder(); + public static bool enableAccumulatedUpdatesInRawPropsAndroid(); + public static bool enableAndroidAntialiasedBorderRadiusClipping(); + public static bool enableAndroidLinearText(); + public static bool enableAndroidTextMeasurementOptimizations(); + public static bool enableBridgelessArchitecture(); + public static bool enableCppPropsIteratorSetter(); + public static bool enableCustomFocusSearchOnClippedElementsAndroid(); + public static bool enableDestroyShadowTreeRevisionAsync(); + public static bool enableDifferentiatorMutationVectorPreallocation(); + public static bool enableDoubleMeasurementFixAndroid(); + public static bool enableEagerMainQueueModulesOnIOS(); + public static bool enableEagerRootViewAttachment(); + public static bool enableExclusivePropsUpdateAndroid(); + public static bool enableFabricCommitBranching(); + public static bool enableFabricLogs(); + public static bool enableFabricRenderer(); + public static bool enableFontScaleChangesUpdatingLayout(); + public static bool enableIOSTextBaselineOffsetPerLine(); + public static bool enableIOSViewClipToPaddingBox(); + public static bool enableImagePrefetchingAndroid(); + public static bool enableImagePrefetchingJNIBatchingAndroid(); + public static bool enableImagePrefetchingOnUiThreadAndroid(); + public static bool enableImmediateUpdateModeForContentOffsetChanges(); + public static bool enableImperativeFocus(); + public static bool enableInteropViewManagerClassLookUpOptimizationIOS(); + public static bool enableIntersectionObserverByDefault(); + public static bool enableKeyEvents(); + public static bool enableLayoutAnimationsOnAndroid(); + public static bool enableLayoutAnimationsOnIOS(); + public static bool enableMainQueueCoordinatorOnIOS(); + public static bool enableModuleArgumentNSNullConversionIOS(); + public static bool enableMutationObserverByDefault(); + public static bool enableNativeCSSParsing(); + public static bool enableNativeViewPropTransformations(); + public static bool enableNetworkEventReporting(); + public static bool enablePreparedTextLayout(); + public static bool enablePropsUpdateReconciliationAndroid(); + public static bool enableSwiftUIBasedFilters(); + public static bool enableViewCulling(); + public static bool enableViewRecycling(); + public static bool enableViewRecyclingForImage(); + public static bool enableViewRecyclingForScrollView(); + public static bool enableViewRecyclingForText(); + public static bool enableViewRecyclingForView(); + public static bool enableVirtualViewContainerStateExperimental(); + public static bool enableVirtualViewDebugFeatures(); + public static bool fixFindShadowNodeByTagRaceCondition(); + public static bool fixMappingOfEventPrioritiesBetweenFabricAndReact(); + public static bool fixTextClippingAndroid15useBoundsForWidth(); + public static bool fixYogaFlexBasisFitContentInMainAxis(); + public static bool fuseboxAssertSingleHostState(); + public static bool fuseboxEnabledRelease(); + public static bool fuseboxFrameRecordingEnabled(); + public static bool fuseboxNetworkInspectionEnabled(); + public static bool hideOffscreenVirtualViewsOnIOS(); + public static bool overrideBySynchronousMountPropsAtMountingAndroid(); + public static bool perfIssuesEnabled(); + public static bool perfMonitorV2Enabled(); + public static bool preventShadowTreeCommitExhaustion(); + public static bool shouldPressibilityUseW3CPointerEventsForHover(); + public static bool shouldTriggerResponderTransferOnScrollAndroid(); + public static bool skipActivityIdentityAssertionOnHostPause(); + public static bool syncAndroidClipToPaddingWithOverflow(); + public static bool traceTurboModulePromiseRejectionsOnAndroid(); + public static bool updateRuntimeShadowNodeReferencesOnCommit(); + public static bool updateRuntimeShadowNodeReferencesOnCommitThread(); + public static bool useAlwaysAvailableJSErrorHandling(); + public static bool useFabricInterop(); + public static bool useLISAlgorithmInDifferentiator(); + public static bool useNativeViewConfigsInBridgelessMode(); + public static bool useNestedScrollViewAndroid(); + public static bool useSharedAnimatedBackend(); + public static bool useTraitHiddenOnAndroid(); + public static bool useTurboModuleInterop(); + public static bool useTurboModules(); + public static bool useUnorderedMapInDifferentiator(); + public static bool viewTransitionEnabled(); + public static double preparedTextCacheSize(); + public static double viewCullingOutsetRatio(); + public static double virtualViewPrerenderRatio(); + public static std::optional dangerouslyForceOverride(std::unique_ptr provider); + public static void dangerouslyReset(); + public static void override(std::unique_ptr provider); +} + +class facebook::react::ReactNativeFeatureFlagsAccessor { + public ReactNativeFeatureFlagsAccessor(); + public bool cdpInteractionMetricsEnabled(); + public bool commonTestFlag(); + public bool cxxNativeAnimatedEnabled(); + public bool defaultTextToOverflowHidden(); + public bool disableEarlyViewCommandExecution(); + public bool disableImageViewPreallocationAndroid(); + public bool disableMountItemReorderingAndroid(); + public bool disableSubviewClippingAndroid(); + public bool disableTextLayoutManagerCacheAndroid(); + public bool disableViewPreallocationAndroid(); + public bool enableAccessibilityOrder(); + public bool enableAccumulatedUpdatesInRawPropsAndroid(); + public bool enableAndroidAntialiasedBorderRadiusClipping(); + public bool enableAndroidLinearText(); + public bool enableAndroidTextMeasurementOptimizations(); + public bool enableBridgelessArchitecture(); + public bool enableCppPropsIteratorSetter(); + public bool enableCustomFocusSearchOnClippedElementsAndroid(); + public bool enableDestroyShadowTreeRevisionAsync(); + public bool enableDifferentiatorMutationVectorPreallocation(); + public bool enableDoubleMeasurementFixAndroid(); + public bool enableEagerMainQueueModulesOnIOS(); + public bool enableEagerRootViewAttachment(); + public bool enableExclusivePropsUpdateAndroid(); + public bool enableFabricCommitBranching(); + public bool enableFabricLogs(); + public bool enableFabricRenderer(); + public bool enableFontScaleChangesUpdatingLayout(); + public bool enableIOSTextBaselineOffsetPerLine(); + public bool enableIOSViewClipToPaddingBox(); + public bool enableImagePrefetchingAndroid(); + public bool enableImagePrefetchingJNIBatchingAndroid(); + public bool enableImagePrefetchingOnUiThreadAndroid(); + public bool enableImmediateUpdateModeForContentOffsetChanges(); + public bool enableImperativeFocus(); + public bool enableInteropViewManagerClassLookUpOptimizationIOS(); + public bool enableIntersectionObserverByDefault(); + public bool enableKeyEvents(); + public bool enableLayoutAnimationsOnAndroid(); + public bool enableLayoutAnimationsOnIOS(); + public bool enableMainQueueCoordinatorOnIOS(); + public bool enableModuleArgumentNSNullConversionIOS(); + public bool enableMutationObserverByDefault(); + public bool enableNativeCSSParsing(); + public bool enableNativeViewPropTransformations(); + public bool enableNetworkEventReporting(); + public bool enablePreparedTextLayout(); + public bool enablePropsUpdateReconciliationAndroid(); + public bool enableSwiftUIBasedFilters(); + public bool enableViewCulling(); + public bool enableViewRecycling(); + public bool enableViewRecyclingForImage(); + public bool enableViewRecyclingForScrollView(); + public bool enableViewRecyclingForText(); + public bool enableViewRecyclingForView(); + public bool enableVirtualViewContainerStateExperimental(); + public bool enableVirtualViewDebugFeatures(); + public bool fixFindShadowNodeByTagRaceCondition(); + public bool fixMappingOfEventPrioritiesBetweenFabricAndReact(); + public bool fixTextClippingAndroid15useBoundsForWidth(); + public bool fixYogaFlexBasisFitContentInMainAxis(); + public bool fuseboxAssertSingleHostState(); + public bool fuseboxEnabledRelease(); + public bool fuseboxFrameRecordingEnabled(); + public bool fuseboxNetworkInspectionEnabled(); + public bool hideOffscreenVirtualViewsOnIOS(); + public bool overrideBySynchronousMountPropsAtMountingAndroid(); + public bool perfIssuesEnabled(); + public bool perfMonitorV2Enabled(); + public bool preventShadowTreeCommitExhaustion(); + public bool shouldPressibilityUseW3CPointerEventsForHover(); + public bool shouldTriggerResponderTransferOnScrollAndroid(); + public bool skipActivityIdentityAssertionOnHostPause(); + public bool syncAndroidClipToPaddingWithOverflow(); + public bool traceTurboModulePromiseRejectionsOnAndroid(); + public bool updateRuntimeShadowNodeReferencesOnCommit(); + public bool updateRuntimeShadowNodeReferencesOnCommitThread(); + public bool useAlwaysAvailableJSErrorHandling(); + public bool useFabricInterop(); + public bool useLISAlgorithmInDifferentiator(); + public bool useNativeViewConfigsInBridgelessMode(); + public bool useNestedScrollViewAndroid(); + public bool useSharedAnimatedBackend(); + public bool useTraitHiddenOnAndroid(); + public bool useTurboModuleInterop(); + public bool useTurboModules(); + public bool useUnorderedMapInDifferentiator(); + public bool viewTransitionEnabled(); + public double preparedTextCacheSize(); + public double viewCullingOutsetRatio(); + public double virtualViewPrerenderRatio(); + public std::optional getAccessedFeatureFlagNames() const; + public void override(std::unique_ptr provider); +} + +class facebook::react::ReactNativeFeatureFlagsDefaults : public facebook::react::ReactNativeFeatureFlagsProvider { + public ReactNativeFeatureFlagsDefaults() = default; + public virtual bool cdpInteractionMetricsEnabled() override; + public virtual bool commonTestFlag() override; + public virtual bool cxxNativeAnimatedEnabled() override; + public virtual bool defaultTextToOverflowHidden() override; + public virtual bool disableEarlyViewCommandExecution() override; + public virtual bool disableImageViewPreallocationAndroid() override; + public virtual bool disableMountItemReorderingAndroid() override; + public virtual bool disableSubviewClippingAndroid() override; + public virtual bool disableTextLayoutManagerCacheAndroid() override; + public virtual bool disableViewPreallocationAndroid() override; + public virtual bool enableAccessibilityOrder() override; + public virtual bool enableAccumulatedUpdatesInRawPropsAndroid() override; + public virtual bool enableAndroidAntialiasedBorderRadiusClipping() override; + public virtual bool enableAndroidLinearText() override; + public virtual bool enableAndroidTextMeasurementOptimizations() override; + public virtual bool enableBridgelessArchitecture() override; + public virtual bool enableCppPropsIteratorSetter() override; + public virtual bool enableCustomFocusSearchOnClippedElementsAndroid() override; + public virtual bool enableDestroyShadowTreeRevisionAsync() override; + public virtual bool enableDifferentiatorMutationVectorPreallocation() override; + public virtual bool enableDoubleMeasurementFixAndroid() override; + public virtual bool enableEagerMainQueueModulesOnIOS() override; + public virtual bool enableEagerRootViewAttachment() override; + public virtual bool enableExclusivePropsUpdateAndroid() override; + public virtual bool enableFabricCommitBranching() override; + public virtual bool enableFabricLogs() override; + public virtual bool enableFabricRenderer() override; + public virtual bool enableFontScaleChangesUpdatingLayout() override; + public virtual bool enableIOSTextBaselineOffsetPerLine() override; + public virtual bool enableIOSViewClipToPaddingBox() override; + public virtual bool enableImagePrefetchingAndroid() override; + public virtual bool enableImagePrefetchingJNIBatchingAndroid() override; + public virtual bool enableImagePrefetchingOnUiThreadAndroid() override; + public virtual bool enableImmediateUpdateModeForContentOffsetChanges() override; + public virtual bool enableImperativeFocus() override; + public virtual bool enableInteropViewManagerClassLookUpOptimizationIOS() override; + public virtual bool enableIntersectionObserverByDefault() override; + public virtual bool enableKeyEvents() override; + public virtual bool enableLayoutAnimationsOnAndroid() override; + public virtual bool enableLayoutAnimationsOnIOS() override; + public virtual bool enableMainQueueCoordinatorOnIOS() override; + public virtual bool enableModuleArgumentNSNullConversionIOS() override; + public virtual bool enableMutationObserverByDefault() override; + public virtual bool enableNativeCSSParsing() override; + public virtual bool enableNativeViewPropTransformations() override; + public virtual bool enableNetworkEventReporting() override; + public virtual bool enablePreparedTextLayout() override; + public virtual bool enablePropsUpdateReconciliationAndroid() override; + public virtual bool enableSwiftUIBasedFilters() override; + public virtual bool enableViewCulling() override; + public virtual bool enableViewRecycling() override; + public virtual bool enableViewRecyclingForImage() override; + public virtual bool enableViewRecyclingForScrollView() override; + public virtual bool enableViewRecyclingForText() override; + public virtual bool enableViewRecyclingForView() override; + public virtual bool enableVirtualViewContainerStateExperimental() override; + public virtual bool enableVirtualViewDebugFeatures() override; + public virtual bool fixFindShadowNodeByTagRaceCondition() override; + public virtual bool fixMappingOfEventPrioritiesBetweenFabricAndReact() override; + public virtual bool fixTextClippingAndroid15useBoundsForWidth() override; + public virtual bool fixYogaFlexBasisFitContentInMainAxis() override; + public virtual bool fuseboxAssertSingleHostState() override; + public virtual bool fuseboxEnabledRelease() override; + public virtual bool fuseboxFrameRecordingEnabled() override; + public virtual bool fuseboxNetworkInspectionEnabled() override; + public virtual bool hideOffscreenVirtualViewsOnIOS() override; + public virtual bool overrideBySynchronousMountPropsAtMountingAndroid() override; + public virtual bool perfIssuesEnabled() override; + public virtual bool perfMonitorV2Enabled() override; + public virtual bool preventShadowTreeCommitExhaustion() override; + public virtual bool shouldPressibilityUseW3CPointerEventsForHover() override; + public virtual bool shouldTriggerResponderTransferOnScrollAndroid() override; + public virtual bool skipActivityIdentityAssertionOnHostPause() override; + public virtual bool syncAndroidClipToPaddingWithOverflow() override; + public virtual bool traceTurboModulePromiseRejectionsOnAndroid() override; + public virtual bool updateRuntimeShadowNodeReferencesOnCommit() override; + public virtual bool updateRuntimeShadowNodeReferencesOnCommitThread() override; + public virtual bool useAlwaysAvailableJSErrorHandling() override; + public virtual bool useFabricInterop() override; + public virtual bool useLISAlgorithmInDifferentiator() override; + public virtual bool useNativeViewConfigsInBridgelessMode() override; + public virtual bool useNestedScrollViewAndroid() override; + public virtual bool useSharedAnimatedBackend() override; + public virtual bool useTraitHiddenOnAndroid() override; + public virtual bool useTurboModuleInterop() override; + public virtual bool useTurboModules() override; + public virtual bool useUnorderedMapInDifferentiator() override; + public virtual bool viewTransitionEnabled() override; + public virtual double preparedTextCacheSize() override; + public virtual double viewCullingOutsetRatio() override; + public virtual double virtualViewPrerenderRatio() override; +} + +class facebook::react::ReactNativeFeatureFlagsDynamicProvider : public facebook::react::ReactNativeFeatureFlagsDefaults { + public ReactNativeFeatureFlagsDynamicProvider(folly::dynamic values); + public virtual bool cdpInteractionMetricsEnabled() override; + public virtual bool commonTestFlag() override; + public virtual bool cxxNativeAnimatedEnabled() override; + public virtual bool defaultTextToOverflowHidden() override; + public virtual bool disableEarlyViewCommandExecution() override; + public virtual bool disableImageViewPreallocationAndroid() override; + public virtual bool disableMountItemReorderingAndroid() override; + public virtual bool disableSubviewClippingAndroid() override; + public virtual bool disableTextLayoutManagerCacheAndroid() override; + public virtual bool disableViewPreallocationAndroid() override; + public virtual bool enableAccessibilityOrder() override; + public virtual bool enableAccumulatedUpdatesInRawPropsAndroid() override; + public virtual bool enableAndroidAntialiasedBorderRadiusClipping() override; + public virtual bool enableAndroidLinearText() override; + public virtual bool enableAndroidTextMeasurementOptimizations() override; + public virtual bool enableBridgelessArchitecture() override; + public virtual bool enableCppPropsIteratorSetter() override; + public virtual bool enableCustomFocusSearchOnClippedElementsAndroid() override; + public virtual bool enableDestroyShadowTreeRevisionAsync() override; + public virtual bool enableDifferentiatorMutationVectorPreallocation() override; + public virtual bool enableDoubleMeasurementFixAndroid() override; + public virtual bool enableEagerMainQueueModulesOnIOS() override; + public virtual bool enableEagerRootViewAttachment() override; + public virtual bool enableExclusivePropsUpdateAndroid() override; + public virtual bool enableFabricCommitBranching() override; + public virtual bool enableFabricLogs() override; + public virtual bool enableFabricRenderer() override; + public virtual bool enableFontScaleChangesUpdatingLayout() override; + public virtual bool enableIOSTextBaselineOffsetPerLine() override; + public virtual bool enableIOSViewClipToPaddingBox() override; + public virtual bool enableImagePrefetchingAndroid() override; + public virtual bool enableImagePrefetchingJNIBatchingAndroid() override; + public virtual bool enableImagePrefetchingOnUiThreadAndroid() override; + public virtual bool enableImmediateUpdateModeForContentOffsetChanges() override; + public virtual bool enableImperativeFocus() override; + public virtual bool enableInteropViewManagerClassLookUpOptimizationIOS() override; + public virtual bool enableIntersectionObserverByDefault() override; + public virtual bool enableKeyEvents() override; + public virtual bool enableLayoutAnimationsOnAndroid() override; + public virtual bool enableLayoutAnimationsOnIOS() override; + public virtual bool enableMainQueueCoordinatorOnIOS() override; + public virtual bool enableModuleArgumentNSNullConversionIOS() override; + public virtual bool enableMutationObserverByDefault() override; + public virtual bool enableNativeCSSParsing() override; + public virtual bool enableNativeViewPropTransformations() override; + public virtual bool enableNetworkEventReporting() override; + public virtual bool enablePreparedTextLayout() override; + public virtual bool enablePropsUpdateReconciliationAndroid() override; + public virtual bool enableSwiftUIBasedFilters() override; + public virtual bool enableViewCulling() override; + public virtual bool enableViewRecycling() override; + public virtual bool enableViewRecyclingForImage() override; + public virtual bool enableViewRecyclingForScrollView() override; + public virtual bool enableViewRecyclingForText() override; + public virtual bool enableViewRecyclingForView() override; + public virtual bool enableVirtualViewContainerStateExperimental() override; + public virtual bool enableVirtualViewDebugFeatures() override; + public virtual bool fixFindShadowNodeByTagRaceCondition() override; + public virtual bool fixMappingOfEventPrioritiesBetweenFabricAndReact() override; + public virtual bool fixTextClippingAndroid15useBoundsForWidth() override; + public virtual bool fixYogaFlexBasisFitContentInMainAxis() override; + public virtual bool fuseboxAssertSingleHostState() override; + public virtual bool fuseboxEnabledRelease() override; + public virtual bool fuseboxFrameRecordingEnabled() override; + public virtual bool fuseboxNetworkInspectionEnabled() override; + public virtual bool hideOffscreenVirtualViewsOnIOS() override; + public virtual bool overrideBySynchronousMountPropsAtMountingAndroid() override; + public virtual bool perfIssuesEnabled() override; + public virtual bool perfMonitorV2Enabled() override; + public virtual bool preventShadowTreeCommitExhaustion() override; + public virtual bool shouldPressibilityUseW3CPointerEventsForHover() override; + public virtual bool shouldTriggerResponderTransferOnScrollAndroid() override; + public virtual bool skipActivityIdentityAssertionOnHostPause() override; + public virtual bool syncAndroidClipToPaddingWithOverflow() override; + public virtual bool traceTurboModulePromiseRejectionsOnAndroid() override; + public virtual bool updateRuntimeShadowNodeReferencesOnCommit() override; + public virtual bool updateRuntimeShadowNodeReferencesOnCommitThread() override; + public virtual bool useAlwaysAvailableJSErrorHandling() override; + public virtual bool useFabricInterop() override; + public virtual bool useLISAlgorithmInDifferentiator() override; + public virtual bool useNativeViewConfigsInBridgelessMode() override; + public virtual bool useNestedScrollViewAndroid() override; + public virtual bool useSharedAnimatedBackend() override; + public virtual bool useTraitHiddenOnAndroid() override; + public virtual bool useTurboModuleInterop() override; + public virtual bool useTurboModules() override; + public virtual bool useUnorderedMapInDifferentiator() override; + public virtual bool viewTransitionEnabled() override; + public virtual double preparedTextCacheSize() override; + public virtual double viewCullingOutsetRatio() override; + public virtual double virtualViewPrerenderRatio() override; +} + +class facebook::react::ReactNativeFeatureFlagsOverridesOSSCanary : public facebook::react::ReactNativeFeatureFlagsOverridesOSSStable { + public ReactNativeFeatureFlagsOverridesOSSCanary() = default; + public virtual bool enableBridgelessArchitecture() override; + public virtual bool enableFabricRenderer() override; + public virtual bool enableIntersectionObserverByDefault() override; + public virtual bool useNativeViewConfigsInBridgelessMode() override; + public virtual bool useTurboModuleInterop() override; + public virtual bool useTurboModules() override; +} + +class facebook::react::ReactNativeFeatureFlagsOverridesOSSExperimental : public facebook::react::ReactNativeFeatureFlagsOverridesOSSCanary { + public ReactNativeFeatureFlagsOverridesOSSExperimental() = default; + public virtual bool enableAccessibilityOrder() override; + public virtual bool enableSwiftUIBasedFilters() override; + public virtual bool fixTextClippingAndroid15useBoundsForWidth() override; + public virtual bool preventShadowTreeCommitExhaustion() override; +} + +class facebook::react::ReactNativeFeatureFlagsOverridesOSSStable : public facebook::react::ReactNativeFeatureFlagsDefaults { + public virtual bool enableBridgelessArchitecture() override; + public virtual bool enableFabricRenderer() override; + public virtual bool useNativeViewConfigsInBridgelessMode() override; + public virtual bool useTurboModules() override; +} + +class facebook::react::ReactNativeFeatureFlagsProvider { + public virtual bool cdpInteractionMetricsEnabled() = 0; + public virtual bool commonTestFlag() = 0; + public virtual bool cxxNativeAnimatedEnabled() = 0; + public virtual bool defaultTextToOverflowHidden() = 0; + public virtual bool disableEarlyViewCommandExecution() = 0; + public virtual bool disableImageViewPreallocationAndroid() = 0; + public virtual bool disableMountItemReorderingAndroid() = 0; + public virtual bool disableSubviewClippingAndroid() = 0; + public virtual bool disableTextLayoutManagerCacheAndroid() = 0; + public virtual bool disableViewPreallocationAndroid() = 0; + public virtual bool enableAccessibilityOrder() = 0; + public virtual bool enableAccumulatedUpdatesInRawPropsAndroid() = 0; + public virtual bool enableAndroidAntialiasedBorderRadiusClipping() = 0; + public virtual bool enableAndroidLinearText() = 0; + public virtual bool enableAndroidTextMeasurementOptimizations() = 0; + public virtual bool enableBridgelessArchitecture() = 0; + public virtual bool enableCppPropsIteratorSetter() = 0; + public virtual bool enableCustomFocusSearchOnClippedElementsAndroid() = 0; + public virtual bool enableDestroyShadowTreeRevisionAsync() = 0; + public virtual bool enableDifferentiatorMutationVectorPreallocation() = 0; + public virtual bool enableDoubleMeasurementFixAndroid() = 0; + public virtual bool enableEagerMainQueueModulesOnIOS() = 0; + public virtual bool enableEagerRootViewAttachment() = 0; + public virtual bool enableExclusivePropsUpdateAndroid() = 0; + public virtual bool enableFabricCommitBranching() = 0; + public virtual bool enableFabricLogs() = 0; + public virtual bool enableFabricRenderer() = 0; + public virtual bool enableFontScaleChangesUpdatingLayout() = 0; + public virtual bool enableIOSTextBaselineOffsetPerLine() = 0; + public virtual bool enableIOSViewClipToPaddingBox() = 0; + public virtual bool enableImagePrefetchingAndroid() = 0; + public virtual bool enableImagePrefetchingJNIBatchingAndroid() = 0; + public virtual bool enableImagePrefetchingOnUiThreadAndroid() = 0; + public virtual bool enableImmediateUpdateModeForContentOffsetChanges() = 0; + public virtual bool enableImperativeFocus() = 0; + public virtual bool enableInteropViewManagerClassLookUpOptimizationIOS() = 0; + public virtual bool enableIntersectionObserverByDefault() = 0; + public virtual bool enableKeyEvents() = 0; + public virtual bool enableLayoutAnimationsOnAndroid() = 0; + public virtual bool enableLayoutAnimationsOnIOS() = 0; + public virtual bool enableMainQueueCoordinatorOnIOS() = 0; + public virtual bool enableModuleArgumentNSNullConversionIOS() = 0; + public virtual bool enableMutationObserverByDefault() = 0; + public virtual bool enableNativeCSSParsing() = 0; + public virtual bool enableNativeViewPropTransformations() = 0; + public virtual bool enableNetworkEventReporting() = 0; + public virtual bool enablePreparedTextLayout() = 0; + public virtual bool enablePropsUpdateReconciliationAndroid() = 0; + public virtual bool enableSwiftUIBasedFilters() = 0; + public virtual bool enableViewCulling() = 0; + public virtual bool enableViewRecycling() = 0; + public virtual bool enableViewRecyclingForImage() = 0; + public virtual bool enableViewRecyclingForScrollView() = 0; + public virtual bool enableViewRecyclingForText() = 0; + public virtual bool enableViewRecyclingForView() = 0; + public virtual bool enableVirtualViewContainerStateExperimental() = 0; + public virtual bool enableVirtualViewDebugFeatures() = 0; + public virtual bool fixFindShadowNodeByTagRaceCondition() = 0; + public virtual bool fixMappingOfEventPrioritiesBetweenFabricAndReact() = 0; + public virtual bool fixTextClippingAndroid15useBoundsForWidth() = 0; + public virtual bool fixYogaFlexBasisFitContentInMainAxis() = 0; + public virtual bool fuseboxAssertSingleHostState() = 0; + public virtual bool fuseboxEnabledRelease() = 0; + public virtual bool fuseboxFrameRecordingEnabled() = 0; + public virtual bool fuseboxNetworkInspectionEnabled() = 0; + public virtual bool hideOffscreenVirtualViewsOnIOS() = 0; + public virtual bool overrideBySynchronousMountPropsAtMountingAndroid() = 0; + public virtual bool perfIssuesEnabled() = 0; + public virtual bool perfMonitorV2Enabled() = 0; + public virtual bool preventShadowTreeCommitExhaustion() = 0; + public virtual bool shouldPressibilityUseW3CPointerEventsForHover() = 0; + public virtual bool shouldTriggerResponderTransferOnScrollAndroid() = 0; + public virtual bool skipActivityIdentityAssertionOnHostPause() = 0; + public virtual bool syncAndroidClipToPaddingWithOverflow() = 0; + public virtual bool traceTurboModulePromiseRejectionsOnAndroid() = 0; + public virtual bool updateRuntimeShadowNodeReferencesOnCommit() = 0; + public virtual bool updateRuntimeShadowNodeReferencesOnCommitThread() = 0; + public virtual bool useAlwaysAvailableJSErrorHandling() = 0; + public virtual bool useFabricInterop() = 0; + public virtual bool useLISAlgorithmInDifferentiator() = 0; + public virtual bool useNativeViewConfigsInBridgelessMode() = 0; + public virtual bool useNestedScrollViewAndroid() = 0; + public virtual bool useSharedAnimatedBackend() = 0; + public virtual bool useTraitHiddenOnAndroid() = 0; + public virtual bool useTurboModuleInterop() = 0; + public virtual bool useTurboModules() = 0; + public virtual bool useUnorderedMapInDifferentiator() = 0; + public virtual bool viewTransitionEnabled() = 0; + public virtual double preparedTextCacheSize() = 0; + public virtual double viewCullingOutsetRatio() = 0; + public virtual double virtualViewPrerenderRatio() = 0; + public virtual ~ReactNativeFeatureFlagsProvider() = default; +} + +class facebook::react::ReactPerfettoLogger { + public static bool isTracing(); + public static void mark(const std::string_view& eventName, facebook::react::HighResTimeStamp startTime, const std::optional& trackName = std::nullopt, const std::optional& trackGroup = std::nullopt); + public static void measure(const std::string_view& eventName, facebook::react::HighResTimeStamp startTime, facebook::react::HighResTimeStamp endTime, const std::optional& trackName = std::nullopt, const std::optional& trackGroup = std::nullopt); +} + +class facebook::react::RootProps : public facebook::react::HostPlatformViewProps { + public RootProps() = default; + public RootProps(const facebook::react::PropsParserContext& context, const facebook::react::RootProps& sourceProps, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext); + public RootProps(const facebook::react::PropsParserContext& context, const facebook::react::RootProps& sourceProps, const facebook::react::RawProps& rawProps); + public facebook::react::LayoutConstraints layoutConstraints; + public facebook::react::LayoutContext layoutContext; +} + +class facebook::react::RootShadowNode : public facebook::react::ConcreteViewShadowNode { + public RootShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public RootShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public bool layoutIfNeeded(std::vector* affectedNodes = {}); + public facebook::react::RootShadowNode::Unshared clone(const facebook::react::PropsParserContext& propsParserContext, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; + public static facebook::react::ShadowNodeTraits BaseTraits(); + public using Shared = std::shared_ptr; + public using Unshared = std::shared_ptr; + public virtual facebook::react::Transform getTransform() const override; + public void setInstanceHandle(facebook::react::InstanceHandle::Shared instanceHandle) const; +} + +class facebook::react::RoundAnimatedNode : public facebook::react::ValueAnimatedNode { + public RoundAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::RunLoopObserver { + protected const facebook::react::RunLoopObserver::Activity activities_; + protected const facebook::react::RunLoopObserver::WeakOwner owner_; + protected mutable const facebook::react::RunLoopObserver::Delegate* delegate_; + protected mutable std::atomic enabled_; + protected virtual void startObserving() const noexcept = 0; + protected virtual void stopObserving() const noexcept = 0; + protected void activityDidChange(facebook::react::RunLoopObserver::Activity activity) const noexcept; + public RunLoopObserver(facebook::react::RunLoopObserver::Activity activities, facebook::react::RunLoopObserver::WeakOwner owner) noexcept; + public facebook::react::RunLoopObserver::WeakOwner getOwner() const noexcept; + public using Factory = std::function(facebook::react::RunLoopObserver::Activity activities, const facebook::react::RunLoopObserver::WeakOwner& owner)>; + public using Owner = std::shared_ptr; + public using WeakOwner = std::weak_ptr; + public virtual bool isOnRunLoopThread() const noexcept = 0; + public virtual ~RunLoopObserver() noexcept = default; + public void disable() const noexcept; + public void enable() const noexcept; + public void setDelegate(const facebook::react::RunLoopObserver::Delegate* delegate) const noexcept; +} + +class facebook::react::RunLoopObserver::Delegate { + public virtual void activityDidChange(const facebook::react::RunLoopObserver::Delegate* delegate, facebook::react::RunLoopObserver::Activity activity) const noexcept = 0; + public virtual ~Delegate() noexcept = default; +} + +enum facebook::react::RunLoopObserver::Activity : int32_t { + AfterWaiting, + BeforeWaiting, + None, +} + +class facebook::react::RuntimeScheduler { + public RuntimeScheduler(const facebook::react::RuntimeScheduler&) = delete; + public RuntimeScheduler(facebook::react::RuntimeExecutor runtimeExecutor, std::function now = facebook::react::HighResTimeStamp::now, facebook::react::RuntimeSchedulerTaskErrorHandler onTaskError = handleTaskErrorDefault); + public RuntimeScheduler(facebook::react::RuntimeScheduler&&) = delete; + public facebook::react::RuntimeScheduler& operator=(const facebook::react::RuntimeScheduler&) = delete; + public facebook::react::RuntimeScheduler& operator=(facebook::react::RuntimeScheduler&&) = delete; + public virtual bool getShouldYield() noexcept override; + public virtual facebook::react::HighResTimeStamp now() const noexcept override; + public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept override; + public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; + public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept override; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept override; + public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) override; + public virtual void cancelTask(facebook::react::Task& task) noexcept override; + public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) override; + public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) override; + public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept override; + public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) override; + public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) override; + public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* reporter) override; + public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* shadowTreeRevisionConsistencyManager) override; +} + +class facebook::react::RuntimeSchedulerBase { + public virtual bool getShouldYield() noexcept = 0; + public virtual facebook::react::HighResTimeStamp now() const noexcept = 0; + public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept = 0; + public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept = 0; + public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept = 0; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept = 0; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept = 0; + public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) = 0; + public virtual void cancelTask(facebook::react::Task& task) noexcept = 0; + public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) = 0; + public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) = 0; + public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept = 0; + public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) = 0; + public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) = 0; + public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* reporter) = 0; + public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* provider) = 0; + public virtual ~RuntimeSchedulerBase() = default; +} + +class facebook::react::RuntimeSchedulerBinding : public facebook::jsi::HostObject { + public RuntimeSchedulerBinding(std::shared_ptr runtimeScheduler); + public static std::shared_ptr createAndInstallIfNeeded(facebook::jsi::Runtime& runtime, const std::shared_ptr& runtimeScheduler); + public static std::shared_ptr getBinding(facebook::jsi::Runtime& runtime); + public std::shared_ptr getRuntimeScheduler() noexcept; + public virtual facebook::jsi::Value get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) override; +} + +class facebook::react::RuntimeSchedulerCallInvoker : public facebook::react::CallInvoker { + public RuntimeSchedulerCallInvoker(std::weak_ptr runtimeScheduler); + public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept override; + public virtual void invokeAsync(facebook::react::SchedulerPriority priority, facebook::react::CallFunc&& func) noexcept override; + public virtual void invokeSync(facebook::react::CallFunc&& func) override; +} + +class facebook::react::RuntimeSchedulerEventTimingDelegate { + public virtual void dispatchPendingEventTimingEntries(facebook::react::HighResTimeStamp taskEndTime, const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) = 0; + public virtual ~RuntimeSchedulerEventTimingDelegate() = default; +} + +class facebook::react::RuntimeSchedulerIntersectionObserverDelegate { + public virtual void updateIntersectionObservations(const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) = 0; + public virtual ~RuntimeSchedulerIntersectionObserverDelegate() = default; +} + +class facebook::react::RuntimeScheduler_Legacy : public facebook::react::RuntimeSchedulerBase { + public RuntimeScheduler_Legacy(const facebook::react::RuntimeScheduler_Legacy&) = delete; + public RuntimeScheduler_Legacy(facebook::react::RuntimeExecutor runtimeExecutor, std::function now, facebook::react::RuntimeSchedulerTaskErrorHandler onTaskError); + public RuntimeScheduler_Legacy(facebook::react::RuntimeScheduler_Legacy&&) = delete; + public facebook::react::RuntimeScheduler_Legacy& operator=(const facebook::react::RuntimeScheduler_Legacy&) = delete; + public facebook::react::RuntimeScheduler_Legacy& operator=(facebook::react::RuntimeScheduler_Legacy&&) = delete; + public virtual bool getShouldYield() noexcept override; + public virtual facebook::react::HighResTimeStamp now() const noexcept override; + public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept override; + public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; + public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept override; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept override; + public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) override; + public virtual void cancelTask(facebook::react::Task& task) noexcept override; + public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) override; + public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) override; + public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept override; + public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) override; + public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) override; + public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* performanceEntryReporter) override; + public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* shadowTreeRevisionConsistencyManager) override; +} + +class facebook::react::RuntimeScheduler_Modern : public facebook::react::RuntimeSchedulerBase { + public RuntimeScheduler_Modern(const facebook::react::RuntimeScheduler_Modern&) = delete; + public RuntimeScheduler_Modern(facebook::react::RuntimeExecutor runtimeExecutor, std::function now, facebook::react::RuntimeSchedulerTaskErrorHandler onTaskError); + public RuntimeScheduler_Modern(facebook::react::RuntimeScheduler_Modern&&) = delete; + public facebook::react::RuntimeScheduler_Modern& operator=(const facebook::react::RuntimeScheduler_Modern&) = delete; + public facebook::react::RuntimeScheduler_Modern& operator=(facebook::react::RuntimeScheduler_Modern&&) = delete; + public virtual bool getShouldYield() noexcept override; + public virtual facebook::react::HighResTimeStamp now() const noexcept override; + public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept override; + public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration customTimeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; + public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration customTimeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept override; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept override; + public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) override; + public virtual void cancelTask(facebook::react::Task& task) noexcept override; + public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) override; + public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) override; + public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept override; + public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) override; + public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) override; + public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* performanceEntryReporter) override; + public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* shadowTreeRevisionConsistencyManager) override; +} + +class facebook::react::SafeAreaViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { +} + +class facebook::react::SafeAreaViewEventEmitter : public facebook::react::BaseViewEventEmitter { +} + +class facebook::react::SafeAreaViewProps : public facebook::react::HostPlatformViewProps { + public SafeAreaViewProps() = default; + public SafeAreaViewProps(const facebook::react::PropsParserContext& context, const facebook::react::SafeAreaViewProps& sourceProps, const facebook::react::RawProps& rawProps); +} + +class facebook::react::SafeAreaViewShadowNode : public facebook::react::ConcreteViewShadowNode { +} + +class facebook::react::SafeAreaViewState { + public facebook::react::EdgeInsets padding; +} + +class facebook::react::Scheduler : public facebook::react::UIManagerDelegate { + public Scheduler(const facebook::react::SchedulerToolbox& schedulerToolbox, facebook::react::UIManagerAnimationDelegate* animationDelegate, facebook::react::SchedulerDelegate* delegate); + public const facebook::react::ComponentDescriptor* findComponentDescriptorByHandle_DO_NOT_USE_THIS_IS_BROKEN(facebook::react::ComponentHandle handle) const; + public facebook::react::SchedulerDelegate* getDelegate() const; + public std::shared_ptr getContextContainer() const; + public std::shared_ptr getUIManager() const; + public virtual void uiManagerDidCreateShadowNode(const facebook::react::ShadowNode& shadowNode) override; + public virtual void uiManagerDidDispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) override; + public virtual void uiManagerDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) override; + public virtual void uiManagerDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) override; + public virtual void uiManagerDidPromoteReactRevision(const facebook::react::ShadowTree& shadowTree) override; + public virtual void uiManagerDidSendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType) override; + public virtual void uiManagerDidSetIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) override; + public virtual void uiManagerDidStartSurface(const facebook::react::ShadowTree& shadowTree) override; + public virtual void uiManagerDidUpdateShadowTree(const std::unordered_map& tagToProps) override; + public virtual void uiManagerShouldAddEventListener(std::shared_ptr listener) final; + public virtual void uiManagerShouldRemoveEventListener(const std::shared_ptr& listener) final; + public virtual void uiManagerShouldSetOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback) override; + public virtual void uiManagerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) override; + public void addEventListener(std::shared_ptr listener); + public void animationTick() const; + public void registerSurface(const facebook::react::SurfaceHandler& surfaceHandler) const noexcept; + public void removeEventListener(const std::shared_ptr& listener); + public void reportMount(facebook::react::SurfaceId surfaceId) const; + public void setDelegate(facebook::react::SchedulerDelegate* delegate); + public void unregisterSurface(const facebook::react::SurfaceHandler& surfaceHandler) const noexcept; + public ~Scheduler() override; +} + +class facebook::react::SchedulerDelegate { + public virtual void schedulerDidDispatchCommand(const facebook::react::ShadowView& shadowView, const std::string& commandName, const folly::dynamic& args) = 0; + public virtual void schedulerDidFinishTransaction(const std::shared_ptr& mountingCoordinator) = 0; + public virtual void schedulerDidRequestPreliminaryViewAllocation(const facebook::react::ShadowNode& shadowNode) = 0; + public virtual void schedulerDidSendAccessibilityEvent(const facebook::react::ShadowView& shadowView, const std::string& eventType) = 0; + public virtual void schedulerDidSetIsJSResponder(const facebook::react::ShadowView& shadowView, bool isJSResponder, bool blockNativeResponder) = 0; + public virtual void schedulerDidUpdateShadowTree(const std::unordered_map& tagToProps) = 0; + public virtual void schedulerShouldMergeReactRevision(facebook::react::SurfaceId surfaceId) = 0; + public virtual void schedulerShouldRenderTransactions(const std::shared_ptr& mountingCoordinator) = 0; + public virtual void schedulerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) = 0; + public virtual ~SchedulerDelegate() noexcept = default; +} + +class facebook::react::ScopedShadowTreeRevisionLock { + public ScopedShadowTreeRevisionLock(const facebook::react::ScopedShadowTreeRevisionLock&) = delete; + public ScopedShadowTreeRevisionLock(facebook::react::ScopedShadowTreeRevisionLock&&) = delete; + public ScopedShadowTreeRevisionLock(facebook::react::ShadowTreeRevisionConsistencyManager* consistencyManager) noexcept; + public facebook::react::ScopedShadowTreeRevisionLock& operator=(const facebook::react::ScopedShadowTreeRevisionLock&) = delete; + public facebook::react::ScopedShadowTreeRevisionLock& operator=(facebook::react::ScopedShadowTreeRevisionLock&&) = delete; + public ~ScopedShadowTreeRevisionLock() noexcept; +} + +class facebook::react::ScrollViewEventEmitter : public facebook::react::BaseViewEventEmitter { + public using EndDragMetrics = facebook::react::ScrollEndDragEvent; + public using Metrics = facebook::react::ScrollEvent; + public void onMomentumScrollBegin(const facebook::react::ScrollEvent& scrollEvent) const; + public void onMomentumScrollEnd(const facebook::react::ScrollEvent& scrollEvent) const; + public void onScroll(const facebook::react::ScrollEvent& scrollEvent) const; + public void onScrollBeginDrag(const facebook::react::ScrollEvent& scrollEvent) const; + public void onScrollEndDrag(const facebook::react::ScrollEndDragEvent& scrollEvent) const; + public void onScrollToTop(const facebook::react::ScrollEvent& scrollEvent) const; +} + +class facebook::react::ScrollViewMaintainVisibleContentPosition { + public bool operator==(const facebook::react::ScrollViewMaintainVisibleContentPosition& rhs) const = default; + public int minIndexForVisible; + public std::optional autoscrollToTopThreshold; +} + +class facebook::react::ScrollViewShadowNode : public facebook::react::ConcreteViewShadowNode { + public ScrollViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ScrollViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ScrollViewState initialStateData(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family, const facebook::react::ComponentDescriptor& componentDescriptor); + public virtual facebook::react::Point getContentOriginOffset(bool includeTransform) const override; + public virtual void layout(facebook::react::LayoutContext layoutContext) override; +} + +class facebook::react::ScrollViewState { + public ScrollViewState() = default; + public ScrollViewState(facebook::react::Point contentOffset, facebook::react::Rect contentBoundingRect, int scrollAwayPaddingTop); + public bool disableViewCulling; + public facebook::react::Point contentOffset; + public facebook::react::Rect contentBoundingRect; + public facebook::react::Size getContentSize() const; + public int scrollAwayPaddingTop; +} + +class facebook::react::Sealable { + public Sealable(); + public Sealable(const facebook::react::Sealable& other); + public Sealable(facebook::react::Sealable&& other) noexcept; + public bool getSealed() const; + public facebook::react::Sealable& operator=(const facebook::react::Sealable& other); + public facebook::react::Sealable& operator=(facebook::react::Sealable&& other) noexcept; + public void ensureUnsealed() const; + public void seal() const; + public ~Sealable() noexcept; +} + +class facebook::react::SelectableParagraphComponentDescriptor : public facebook::react::BaseParagraphComponentDescriptor { + public SelectableParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); +} + +class facebook::react::SelectableParagraphShadowNode : public facebook::react::ParagraphShadowNode { + public SelectableParagraphShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public SelectableParagraphShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static constexpr facebook::react::ComponentName Name(); + public static facebook::react::ComponentHandle Handle(); +} + +class facebook::react::Selection { + public int end; + public int start; +} + +class facebook::react::ShadowNode : public facebook::react::Sealable, public facebook::react::DebugStringConvertible, public facebook::jsi::NativeState { + protected facebook::react::Props::Shared props_; + protected facebook::react::ShadowNodeTraits traits_; + protected facebook::react::State::Shared state_; + protected int orderIndex_; + protected mutable std::weak_ptr runtimeShadowNodeReference_; + protected std::shared_ptr>> children_; + public ShadowNode(const facebook::react::ShadowNode& shadowNode) noexcept = delete; + public ShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ShadowNode(const facebook::react::ShadowNodeFragment& fragment, facebook::react::ShadowNodeFamily::Shared family, facebook::react::ShadowNodeTraits traits); + public bool getHasBeenPromoted() const; + public const facebook::react::ComponentDescriptor& getComponentDescriptor() const; + public const facebook::react::Props::Shared& getProps() const; + public const facebook::react::ShadowNodeFamily& getFamily() const; + public const facebook::react::SharedEventEmitter& getEventEmitter() const; + public const facebook::react::State::Shared& getState() const; + public const std::vector>& getChildren() const; + public facebook::jsi::Value getInstanceHandle(facebook::jsi::Runtime& runtime) const; + public facebook::react::ComponentHandle getComponentHandle() const; + public facebook::react::ComponentName getComponentName() const; + public facebook::react::ShadowNode& operator=(const facebook::react::ShadowNode& other) noexcept = delete; + public facebook::react::ShadowNodeFamily::Shared getFamilyShared() const; + public facebook::react::ShadowNodeTraits getTraits() const; + public facebook::react::State::Shared getMostRecentState() const; + public facebook::react::SurfaceId getSurfaceId() const; + public facebook::react::Tag getTag() const; + public int getOrderIndex() const; + public static bool getUseRuntimeShadowNodeReferenceUpdateOnThread(); + public static bool sameFamily(const facebook::react::ShadowNode& first, const facebook::react::ShadowNode& second); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public static std::shared_ptr>> emptySharedShadowNodeSharedList(); + public static void setUseRuntimeShadowNodeReferenceUpdateOnThread(bool isEnabled); + public std::shared_ptr getContextContainer() const; + public std::shared_ptr clone(const facebook::react::ShadowNodeFragment& fragment) const; + public std::shared_ptr cloneMultiple(const std::unordered_set>& familiesToUpdate, const std::function(const facebook::react::ShadowNode& oldShadowNode, const facebook::react::ShadowNodeFragment& fragment)>& callback) const; + public std::shared_ptr cloneTree(const facebook::react::ShadowNodeFamily& shadowNodeFamily, const std::function(const facebook::react::ShadowNode& oldShadowNode)>& callback) const; + public using AncestorList = std::vector, int>>; + public virtual void appendChild(const std::shared_ptr& child); + public virtual void completeClone(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public virtual void replaceChild(const facebook::react::ShadowNode& oldChild, const std::shared_ptr& newChild, size_t suggestedIndex = std::numeric_limits::max()); + public virtual ~ShadowNode() override = default; + public void sealRecursive() const; + public void setMounted(bool mounted) const; + public void setRuntimeShadowNodeReference(const std::shared_ptr& runtimeShadowNodeReference) const; + public void transferRuntimeShadowNodeReference(const std::shared_ptr& destinationShadowNode, const facebook::react::ShadowNodeFragment& fragment) const; + public void updateRuntimeShadowNodeReference(const std::shared_ptr& destinationShadowNode) const; +} + +class facebook::react::ShadowNodeFamily : public facebook::jsi::NativeState { + public ShadowNodeFamily(const facebook::react::ShadowNodeFamilyFragment& fragment, facebook::react::SharedEventEmitter eventEmitter, facebook::react::EventDispatcher::Weak eventDispatcher, const facebook::react::ComponentDescriptor& componentDescriptor); + public const facebook::react::ComponentDescriptor& getComponentDescriptor() const; + public facebook::jsi::Value getInstanceHandle(facebook::jsi::Runtime& runtime) const; + public facebook::react::ComponentHandle getComponentHandle() const; + public facebook::react::ComponentName getComponentName() const; + public facebook::react::InstanceHandle::Shared getInstanceHandle() const; + public facebook::react::ShadowNodeFamily::AncestorList getAncestors(const facebook::react::ShadowNode& ancestorShadowNode) const; + public facebook::react::SharedEventEmitter getEventEmitter() const; + public facebook::react::SurfaceId getSurfaceId() const; + public facebook::react::Tag getTag() const; + public mutable std::unique_ptr nativeProps_DEPRECATED; + public std::shared_ptr getMostRecentState() const; + public using AncestorList = std::vector, int>>; + public using Shared = std::shared_ptr; + public using Weak = std::weak_ptr; + public void dispatchRawState(facebook::react::StateUpdate&& stateUpdate, facebook::react::EventQueue::UpdateMode updateMode); + public void onUnmountedFamilyDestroyed(std::function callback); + public void setInstanceHandle(facebook::react::InstanceHandle::Shared& instanceHandle); + public void setMostRecentState(const std::shared_ptr& state); + public void setMounted(); + public void setParent(const facebook::react::ShadowNodeFamily::Shared& parent); + public ~ShadowNodeFamily(); +} + +class facebook::react::ShadowNodeTraits { + public bool check(facebook::react::ShadowNodeTraits::Trait traits) const; + public facebook::react::ShadowNodeTraits::Trait get() const; + public void set(facebook::react::ShadowNodeTraits::Trait trait); + public void unset(facebook::react::ShadowNodeTraits::Trait trait); +} + +enum facebook::react::ShadowNodeTraits::Trait : int32_t { + BaselineYogaNode, + ChildrenAreShared, + ChildrenFormStackingContext, + DirtyYogaNode, + ForceFlattenView, + FormsStackingContext, + FormsView, + Hidden, + KeyboardFocusable, + LeafYogaNode, + MeasurableYogaNode, + None, + RootNodeKind, + Unstable_uncullableTrace, + Unstable_uncullableView, + ViewKind, +} + +class facebook::react::ShadowTree { + public ShadowTree(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext, const facebook::react::ShadowTreeDelegate& delegate, const facebook::react::ContextContainer& contextContainer); + public facebook::react::CommitMode getCommitMode() const; + public facebook::react::CommitStatus commit(const facebook::react::ShadowTreeCommitTransaction& transaction, const facebook::react::ShadowTree::CommitOptions& commitOptions) const; + public facebook::react::CommitStatus tryCommit(const facebook::react::ShadowTreeCommitTransaction& transaction, const facebook::react::ShadowTree::CommitOptions& commitOptions) const; + public facebook::react::ShadowTreeRevision getCurrentRevision() const; + public facebook::react::SurfaceId getSurfaceId() const; + public std::optional getCurrentReactRevision() const; + public std::shared_ptr getMountingCoordinator() const; + public using CommitMode = facebook::react::ShadowTreeCommitMode; + public using CommitOptions = facebook::react::ShadowTreeCommitOptions; + public using CommitSource = facebook::react::ShadowTreeCommitSource; + public using CommitStatus = facebook::react::ShadowTreeCommitStatus; + public using Unique = std::unique_ptr; + public void commitEmptyTree() const; + public void mergeReactRevision() const; + public void notifyDelegatesOfUpdates() const; + public void promoteReactRevision() const; + public void setCommitMode(facebook::react::CommitMode commitMode) const; + public ~ShadowTree(); +} + +class facebook::react::ShadowTreeDelegate { + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions& commitOptions) const = 0; + public virtual void shadowTreeDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) const = 0; + public virtual void shadowTreeDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) const = 0; + public virtual void shadowTreeDidPromoteReactRevision(const facebook::react::ShadowTree& shadowTree) const = 0; + public virtual ~ShadowTreeDelegate() noexcept = default; +} + +class facebook::react::ShadowTreeRegistry { + public ShadowTreeRegistry() = default; + public bool visit(facebook::react::SurfaceId surfaceId, const std::function& callback) const; + public std::unique_ptr remove(facebook::react::SurfaceId surfaceId) const; + public void add(std::unique_ptr&& shadowTree) const; + public void enumerate(const std::function& callback) const; + public ~ShadowTreeRegistry(); +} + +class facebook::react::ShadowTreeRevision { + public facebook::react::RootShadowNode::Shared rootShadowNode; + public facebook::react::ShadowTreeRevision::Number number; + public facebook::react::TransactionTelemetry telemetry; + public using Number = int64_t; +} + +class facebook::react::ShadowTreeRevisionConsistencyManager { + public virtual void lockRevisions() = 0; + public virtual void unlockRevisions() = 0; + public virtual ~ShadowTreeRevisionConsistencyManager() = default; +} + +class facebook::react::ShadowTreeRevisionProvider { + public virtual facebook::react::RootShadowNode::Shared getCurrentRevision(facebook::react::SurfaceId surfaceId) = 0; + public virtual ~ShadowTreeRevisionProvider() = default; +} + +class facebook::react::SharedColor { + public SharedColor(); + public SharedColor(facebook::react::Color color); + public bool operator!=(const facebook::react::SharedColor& otherColor) const; + public bool operator==(const facebook::react::SharedColor& otherColor) const; + public const facebook::react::Color& operator*() const; + public facebook::react::Color& operator*(); + public operator bool() const; + public std::string toString() const noexcept; +} + +class facebook::react::SpringAnimationDriver : public facebook::react::AnimationDriver { + protected virtual bool update(double timeDeltaMs, bool restarting) override; + public SpringAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); +} + +class facebook::react::StackTraceParser { + public static std::vector parse(bool isHermes, const std::string& stackString); +} + +class facebook::react::State { + protected State(facebook::react::StateData::Shared data, const facebook::react::State& previousState); + protected State(facebook::react::StateData::Shared data, facebook::react::ShadowNodeFamily::Weak family); + protected const facebook::react::StateData::Shared& getDataPointer() const; + protected facebook::react::ShadowNodeFamily::Weak family_; + protected facebook::react::StateData::Shared data_; + protected mutable bool isObsolete_; + protected size_t revision_; + public facebook::react::State::Shared getMostRecentState() const; + public facebook::react::State::Shared getMostRecentStateIfObsolete() const; + public size_t getRevision() const; + public static constexpr size_t initialRevisionValue; + public using Shared = std::shared_ptr; + public virtual ~State() = default; +} + +class facebook::react::StateUpdate { + public facebook::react::SharedShadowNodeFamily family; + public facebook::react::StateUpdate::Callback callback; + public using Callback = std::function; + public using FailureCallback = std::function; +} + +class facebook::react::StubView { + public StubView() = default; + public StubView(const facebook::react::StubView& stubView) = default; + public facebook::react::ComponentHandle componentHandle; + public facebook::react::ComponentName componentName; + public facebook::react::LayoutMetrics layoutMetrics; + public facebook::react::Props::Shared props; + public facebook::react::ShadowNodeTraits traits; + public facebook::react::SharedEventEmitter eventEmitter; + public facebook::react::State::Shared state; + public facebook::react::SurfaceId surfaceId; + public facebook::react::Tag parentTag; + public facebook::react::Tag tag; + public operator facebook::react::ShadowView() const; + public std::vector children; + public using Shared = std::shared_ptr; + public void update(const facebook::react::ShadowView& shadowView); +} + +class facebook::react::StubViewTree { + public StubViewTree() = default; + public StubViewTree(const facebook::react::ShadowView& shadowView); + public bool hasTag(facebook::react::Tag tag) const; + public const facebook::react::StubView& getRootStubView() const; + public const facebook::react::StubView& getStubView(facebook::react::Tag tag) const; + public size_t size() const; + public std::vector takeMountingLogs(); + public void dispatchCommand(const facebook::react::ShadowView& shadowView, const std::string& commandName, const folly::dynamic& args); + public void mutate(const facebook::react::ShadowViewMutationList& mutations); +} + +class facebook::react::StyleAnimatedNode : public facebook::react::AnimatedNode { + public StyleAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public bool isLayoutStyleUpdated() const noexcept; + public void collectViewUpdates(folly::dynamic& props); +} + +class facebook::react::SubtractionAnimatedNode : public facebook::react::OperatorAnimatedNode { + public SubtractionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::SurfaceHandler { + public SurfaceHandler(const facebook::react::SurfaceHandler& SurfaceHandler) noexcept = delete; + public SurfaceHandler(const std::string& moduleName, facebook::react::SurfaceId surfaceId) noexcept; + public SurfaceHandler(facebook::react::SurfaceHandler&& other) noexcept = delete; + public facebook::react::DisplayMode getDisplayMode() const noexcept; + public facebook::react::LayoutConstraints getLayoutConstraints() const noexcept; + public facebook::react::LayoutContext getLayoutContext() const noexcept; + public facebook::react::Size measure(const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; + public facebook::react::SurfaceHandler& operator=(const facebook::react::SurfaceHandler& other) noexcept = delete; + public facebook::react::SurfaceHandler& operator=(facebook::react::SurfaceHandler&& other) noexcept = delete; + public facebook::react::SurfaceHandler::Status getStatus() const noexcept; + public facebook::react::SurfaceId getSurfaceId() const noexcept; + public folly::dynamic getProps() const noexcept; + public std::shared_ptr getMountingCoordinator() const noexcept; + public std::string getModuleName() const noexcept; + public virtual void setDisplayMode(facebook::react::DisplayMode displayMode) const noexcept; + public virtual ~SurfaceHandler() noexcept; + public void constraintLayout(const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; + public void setContextContainer(std::shared_ptr contextContainer) const noexcept; + public void setProps(const folly::dynamic& props) const noexcept; + public void setSurfaceId(facebook::react::SurfaceId surfaceId) const noexcept; + public void start() const noexcept; + public void stop() const noexcept; +} + +enum facebook::react::SurfaceHandler::Status { + Registered, + Running, + Unregistered, +} + +class facebook::react::SurfaceManager { + public SurfaceManager(const facebook::react::Scheduler& scheduler) noexcept; + public bool isSurfaceRunning(facebook::react::SurfaceId surfaceId) const noexcept; + public facebook::react::Size measureSurface(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const noexcept; + public std::optional getSurfaceProps(facebook::react::SurfaceId surfaceId) const noexcept; + public std::shared_ptr findMountingCoordinator(facebook::react::SurfaceId surfaceId) const noexcept; + public std::unordered_set getRunningSurfaces() const noexcept; + public void constraintSurfaceLayout(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const noexcept; + public void startSurface(facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& props, const facebook::react::LayoutConstraints& layoutConstraints = {}, const facebook::react::LayoutContext& layoutContext = {}) noexcept; + public void stopAllSurfaces() noexcept; + public void stopSurface(facebook::react::SurfaceId surfaceId) noexcept; + public ~SurfaceManager() noexcept; +} + +struct facebook::react::SurfaceManager::SurfaceProps { + public facebook::react::LayoutConstraints layoutConstraints; + public facebook::react::LayoutContext layoutContext; + public facebook::react::SurfaceId surfaceId; + public folly::dynamic props; + public std::string moduleName; +} + +class facebook::react::SurfaceTelemetry { + public facebook::react::TelemetryDuration getCommitTime() const; + public facebook::react::TelemetryDuration getDiffTime() const; + public facebook::react::TelemetryDuration getLayoutTime() const; + public facebook::react::TelemetryDuration getMountTime() const; + public facebook::react::TelemetryDuration getTextMeasureTime() const; + public int getLastRevisionNumber() const; + public int getNumberOfMutations() const; + public int getNumberOfTextMeasurements() const; + public int getNumberOfTransactions() const; + public static constexpr size_t kMaxNumberOfRecordedCommitTelemetries; + public std::vector getRecentTransactionTelemetries() const; + public void incorporate(const facebook::react::TransactionTelemetry& telemetry, int numberOfMutations); +} + +class facebook::react::SwitchComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public SwitchComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); + public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; +} + +class facebook::react::SwitchEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onChange(facebook::react::SwitchEventEmitter::OnChange value) const; +} + +struct facebook::react::SwitchEventEmitter::OnChange { + public bool value; + public int target; +} + +class facebook::react::SwitchProps : public facebook::react::HostPlatformViewProps { + public SwitchProps() = default; + public SwitchProps(const facebook::react::PropsParserContext& context, const facebook::react::SwitchProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool disabled; + public bool value; + public facebook::react::SharedColor onTintColor; + public facebook::react::SharedColor thumbColor; + public facebook::react::SharedColor thumbTintColor; + public facebook::react::SharedColor tintColor; + public facebook::react::SharedColor trackColorForFalse; + public facebook::react::SharedColor trackColorForTrue; +} + +class facebook::react::SwitchShadowNode : public facebook::react::ConcreteViewShadowNode { + public SwitchShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public SwitchShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; +} + +class facebook::react::TaskPriorityComparer { + public bool operator()(const std::shared_ptr& lhs, const std::shared_ptr& rhs); +} + +class facebook::react::TelemetryController { + public bool pullTransaction(const facebook::react::MountingTransactionCallback& willMount, const facebook::react::MountingTransactionCallback& doMount, const facebook::react::MountingTransactionCallback& didMount) const; +} + +class facebook::react::TextAttributes : public facebook::react::DebugStringConvertible { + public bool operator==(const facebook::react::TextAttributes& rhs) const; + public facebook::react::Float fontSize; + public facebook::react::Float fontSizeMultiplier; + public facebook::react::Float letterSpacing; + public facebook::react::Float lineHeight; + public facebook::react::Float maxFontSizeMultiplier; + public facebook::react::Float opacity; + public facebook::react::Float textShadowRadius; + public facebook::react::SharedColor backgroundColor; + public facebook::react::SharedColor foregroundColor; + public facebook::react::SharedColor textDecorationColor; + public facebook::react::SharedColor textShadowColor; + public static facebook::react::TextAttributes defaultTextAttributes(); + public std::optional allowFontScaling; + public std::optional isHighlighted; + public std::optional isPressable; + public std::optional accessibilityRole; + public std::optional dynamicTypeRamp; + public std::optional fontStyle; + public std::optional fontVariant; + public std::optional fontWeight; + public std::optional layoutDirection; + public std::optional lineBreakMode; + public std::optional lineBreakStrategy; + public std::optional role; + public std::optional textShadowOffset; + public std::optional alignment; + public std::optional textDecorationLineType; + public std::optional textDecorationStyle; + public std::optional textTransform; + public std::optional baseWritingDirection; + public std::string fontFamily; + public void apply(facebook::react::TextAttributes textAttributes); +} + +class facebook::react::TextInputComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; + public TextInputComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); +} + +class facebook::react::TextInputEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onBlur(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onContentSizeChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onEndEditing(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onFocus(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onKeyPress(const facebook::react::TextInputEventEmitter::KeyPressMetrics& keyPressMetrics) const; + public void onScroll(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onSelectionChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onSubmitEditing(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; +} + +struct facebook::react::TextInputEventEmitter::KeyPressMetrics { + public int eventCount; + public std::string text; +} + +struct facebook::react::TextInputEventEmitter::Metrics { + public facebook::react::AttributedString::Range selectionRange; + public facebook::react::EdgeInsets contentInset; + public facebook::react::Float zoomScale; + public facebook::react::Point contentOffset; + public facebook::react::Size containerSize; + public facebook::react::Size contentSize; + public facebook::react::Size layoutMeasurement; + public facebook::react::Tag target; + public int eventCount; + public std::string text; +} + +class facebook::react::TextInputProps : public facebook::react::BaseTextInputProps { + public TextInputProps() = default; + public TextInputProps(const facebook::react::PropsParserContext& context, const facebook::react::TextInputProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool onChangeSync; + public bool onKeyPressSync; + public const facebook::react::TextInputTraits traits; + public const std::string inputAccessoryViewButtonLabel; + public const std::string inputAccessoryViewID; + public std::optional selection; +} + +class facebook::react::TextInputShadowNode : public facebook::react::BaseTextInputShadowNode { +} + +class facebook::react::TextInputState { + public TextInputState() = default; + public TextInputState(facebook::react::AttributedStringBox attributedStringBox, facebook::react::AttributedString reactTreeAttributedString, facebook::react::ParagraphAttributes paragraphAttributes, int64_t mostRecentEventCount); + public facebook::react::AttributedString reactTreeAttributedString; + public facebook::react::AttributedStringBox attributedStringBox; + public facebook::react::ParagraphAttributes paragraphAttributes; + public int64_t mostRecentEventCount; +} + +class facebook::react::TextInputTraits { + public bool caretHidden; + public bool clearTextOnFocus; + public bool contextMenuHidden; + public bool editable; + public bool enablesReturnKeyAutomatically; + public bool scrollEnabled; + public bool secureTextEntry; + public bool selectTextOnFocus; + public bool showSoftInputOnFocus; + public facebook::react::AutocapitalizationType autocapitalizationType; + public facebook::react::KeyboardAppearance keyboardAppearance; + public facebook::react::KeyboardType keyboardType; + public facebook::react::ReturnKeyType returnKeyType; + public facebook::react::TextInputAccessoryVisibilityMode clearButtonMode; + public std::optional autoCorrect; + public std::optional smartInsertDelete; + public std::optional spellCheck; + public std::string passwordRules; + public std::string textContentType; + public std::vector dataDetectorTypes; +} + +class facebook::react::TextLayoutManager { + protected facebook::react::LineMeasureCache lineMeasureCache_; + protected facebook::react::TextMeasureCache textMeasureCache_; + protected std::shared_ptr contextContainer_; + protected std::shared_ptr nativeTextLayoutManager_; + public TextLayoutManager(const facebook::react::TextLayoutManager&) = delete; + public TextLayoutManager(const std::shared_ptr& contextContainer); + public TextLayoutManager(facebook::react::TextLayoutManager&&) = delete; + public facebook::react::LinesMeasurements measureLines(const facebook::react::AttributedStringBox& attributedStringBox, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::Size& size) const; + public facebook::react::TextLayoutManager& operator=(const facebook::react::TextLayoutManager&) = delete; + public facebook::react::TextLayoutManager& operator=(facebook::react::TextLayoutManager&&) = delete; + public facebook::react::TextMeasurement measure(const facebook::react::AttributedStringBox& attributedStringBox, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public std::shared_ptr getNativeTextLayoutManager() const; +} + +class facebook::react::TextMeasureCacheKey { + public facebook::react::AttributedString attributedString; + public facebook::react::LayoutConstraints layoutConstraints; + public facebook::react::ParagraphAttributes paragraphAttributes; +} + +class facebook::react::TextMeasurement { + public facebook::react::Size size; + public facebook::react::TextMeasurement::Attachments attachments; + public using Attachments = std::vector; +} + +class facebook::react::TextMeasurement::Attachment { + public bool isClipped; + public facebook::react::Rect frame; +} + +class facebook::react::TextProps : public facebook::react::Props, public facebook::react::BaseTextProps { + public TextProps() = default; + public TextProps(const facebook::react::PropsParserContext& context, const facebook::react::TextProps& sourceProps, const facebook::react::RawProps& rawProps); + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::TextShadowNode : public facebook::react::ConcreteShadowNode, public facebook::react::BaseTextShadowNode { + public static facebook::react::ShadowNodeTraits BaseTraits(); +} + +class facebook::react::TimerManager { + public TimerManager(const facebook::react::TimerManager&) = delete; + public TimerManager(facebook::react::TimerManager&&) = delete; + public TimerManager(std::unique_ptr platformTimerRegistry) noexcept; + public facebook::react::TimerManager& operator=(const facebook::react::TimerManager&) = delete; + public facebook::react::TimerManager& operator=(facebook::react::TimerManager&&) = delete; + public void attachGlobals(facebook::jsi::Runtime& runtime); + public void callTimer(facebook::react::TimerHandle handle); + public void quit(); + public void setRuntimeExecutor(facebook::react::RuntimeExecutor runtimeExecutor) noexcept; + public ~TimerManager() noexcept; +} + +class facebook::react::TouchEventEmitter : public facebook::react::EventEmitter { + public TouchEventEmitter(facebook::react::SharedEventTarget eventTarget, facebook::react::EventDispatcher::Weak eventDispatcher); + public void onClick(facebook::react::PointerEvent event) const; + public void onGotPointerCapture(facebook::react::PointerEvent event) const; + public void onLostPointerCapture(facebook::react::PointerEvent event) const; + public void onPointerCancel(facebook::react::PointerEvent event) const; + public void onPointerDown(facebook::react::PointerEvent event) const; + public void onPointerEnter(facebook::react::PointerEvent event) const; + public void onPointerLeave(facebook::react::PointerEvent event) const; + public void onPointerMove(facebook::react::PointerEvent event) const; + public void onPointerOut(facebook::react::PointerEvent event) const; + public void onPointerOver(facebook::react::PointerEvent event) const; + public void onPointerUp(facebook::react::PointerEvent event) const; + public void onTouchCancel(facebook::react::TouchEvent event) const; + public void onTouchEnd(facebook::react::TouchEvent event) const; + public void onTouchMove(facebook::react::TouchEvent event) const; + public void onTouchStart(facebook::react::TouchEvent event) const; +} + +class facebook::react::TrackingAnimatedNode : public facebook::react::AnimatedNode { + public TrackingAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::TransactionTelemetry { + public TransactionTelemetry(); + public TransactionTelemetry(std::function now); + public facebook::react::TelemetryDuration getTextMeasureTime() const; + public facebook::react::TelemetryTimePoint getCommitEndTime() const; + public facebook::react::TelemetryTimePoint getCommitStartTime() const; + public facebook::react::TelemetryTimePoint getDiffEndTime() const; + public facebook::react::TelemetryTimePoint getDiffStartTime() const; + public facebook::react::TelemetryTimePoint getLayoutEndTime() const; + public facebook::react::TelemetryTimePoint getLayoutStartTime() const; + public facebook::react::TelemetryTimePoint getMountEndTime() const; + public facebook::react::TelemetryTimePoint getMountStartTime() const; + public int getAffectedLayoutNodesCount() const; + public int getNumberOfTextMeasurements() const; + public int getRevisionNumber() const; + public static facebook::react::TransactionTelemetry* threadLocalTelemetry(); + public void didCommit(); + public void didDiff(); + public void didLayout(); + public void didLayout(int affectedLayoutNodesCount); + public void didMeasureText(); + public void didMount(); + public void setAsThreadLocal(); + public void setRevisionNumber(int revisionNumber); + public void unsetAsThreadLocal(); + public void willCommit(); + public void willDiff(); + public void willLayout(); + public void willMeasureText(); + public void willMount(); +} + +class facebook::react::TransformAnimatedNode : public facebook::react::AnimatedNode { + public TransformAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public void collectViewUpdates(folly::dynamic& props); +} + +class facebook::react::TurboModule : public facebook::jsi::HostObject { + protected const std::string name_; + protected std::shared_ptr jsInvoker_; + protected std::unordered_map methodMap_; + protected std::unordered_map> eventEmitterMap_; + protected using ArgFactory = std::function& args)>; + protected virtual facebook::jsi::Value create(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& propName); + protected void emitDeviceEvent(const std::string& eventName, facebook::react::TurboModule::ArgFactory&& argFactory = nullptr); + protected void emitDeviceEvent(facebook::jsi::Runtime&, const std::string& eventName, facebook::react::TurboModule::ArgFactory&& argFactory = nullptr); + public TurboModule(std::string name, std::shared_ptr jsInvoker); + public virtual facebook::jsi::Value get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& propName) override; + public virtual std::vector getPropertyNames(facebook::jsi::Runtime& runtime) override; +} + +struct facebook::react::TurboModule::MethodMetadata { + public facebook::jsi::Value(*invoker)(facebook::jsi::Runtime &rt, facebook::react::TurboModule &turboModule, const facebook::jsi::Value *args, size_t count); + public size_t argCount; +} + +class facebook::react::TurboModuleBinding { + public static void install(facebook::jsi::Runtime& runtime, TurboModuleProviderFunctionType&& moduleProvider, TurboModuleProviderFunctionType&& legacyModuleProvider = nullptr, std::shared_ptr longLivedObjectCollection = nullptr); + public static void install(facebook::jsi::Runtime& runtime, facebook::react::TurboModuleProviderFunctionTypeWithRuntime&& moduleProvider, facebook::react::TurboModuleProviderFunctionTypeWithRuntime&& legacyModuleProvider = nullptr, std::shared_ptr longLivedObjectCollection = nullptr); + public ~TurboModuleBinding(); +} + +class facebook::react::TurboModuleWithJSIBindings { + public static void installJSIBindings(const std::shared_ptr& cxxModule, facebook::jsi::Runtime& runtime); + public virtual ~TurboModuleWithJSIBindings() = default; +} + +class facebook::react::UIManager : public facebook::react::ShadowTreeDelegate { + public UIManager(const facebook::react::RuntimeExecutor& runtimeExecutor, std::shared_ptr contextContainer); + public const facebook::react::ShadowTreeRegistry& getShadowTreeRegistry() const; + public facebook::react::LayoutMetrics getRelativeLayoutMetrics(const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode* ancestorShadowNode, facebook::react::LayoutableShadowNode::LayoutInspectingPolicy policy) const; + public facebook::react::ShadowTree::Unique stopSurface(facebook::react::SurfaceId surfaceId) const; + public facebook::react::ShadowTreeRevisionConsistencyManager* getShadowTreeRevisionConsistencyManager(); + public facebook::react::ShadowTreeRevisionProvider* getShadowTreeRevisionProvider(); + public facebook::react::UIManagerDelegate* getDelegate(); + public facebook::react::UIManagerViewTransitionDelegate* getViewTransitionDelegate() const; + public std::shared_ptr getContextContainer() const; + public std::shared_ptr findNodeAtPoint(const std::shared_ptr& shadowNode, facebook::react::Point point) const; + public std::shared_ptr findShadowNodeByTag_DEPRECATED(facebook::react::Tag tag) const; + public std::shared_ptr getNewestCloneOfShadowNode(const facebook::react::ShadowNode& shadowNode) const; + public std::shared_ptr cloneNode(const facebook::react::ShadowNode& shadowNode, const std::shared_ptr>>& children, facebook::react::RawProps rawProps) const; + public std::shared_ptr createNode(facebook::react::Tag tag, const std::string& componentName, facebook::react::SurfaceId surfaceId, facebook::react::RawProps props, facebook::react::InstanceHandle::Shared instanceHandle) const; + public std::weak_ptr unstable_getAnimationBackend(); + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTree::CommitOptions& commitOptions) const override; + public virtual void shadowTreeDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) const override; + public virtual void shadowTreeDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) const override; + public virtual void shadowTreeDidPromoteReactRevision(const facebook::react::ShadowTree& shadowTree) const override; + public void addEventListener(std::shared_ptr listener); + public void animationTick() const; + public void appendChild(const std::shared_ptr& parentShadowNode, const std::shared_ptr& childShadowNode) const; + public void completeSurface(facebook::react::SurfaceId surfaceId, const std::shared_ptr>>& rootChildren, facebook::react::ShadowTree::CommitOptions commitOptions); + public void dispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) const; + public void registerCommitHook(facebook::react::UIManagerCommitHook& commitHook); + public void registerMountHook(facebook::react::UIManagerMountHook& mountHook); + public void removeEventListener(const std::shared_ptr& listener); + public void reportMount(facebook::react::SurfaceId surfaceId) const; + public void sendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType); + public void setAnimationDelegate(facebook::react::UIManagerAnimationDelegate* delegate); + public void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry); + public void setDelegate(facebook::react::UIManagerDelegate* delegate); + public void setIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) const; + public void setNativeAnimatedDelegate(std::weak_ptr delegate); + public void setNativeProps_DEPRECATED(const std::shared_ptr& shadowNode, facebook::react::RawProps rawProps) const; + public void setOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback); + public void setSurfaceProps(facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& props, facebook::react::DisplayMode displayMode) const noexcept; + public void setViewTransitionDelegate(facebook::react::UIManagerViewTransitionDelegate* delegate); + public void startEmptySurface(facebook::react::ShadowTree::Unique&& shadowTree) const noexcept; + public void startSurface(facebook::react::ShadowTree::Unique&& shadowTree, const std::string& moduleName, const folly::dynamic& props, facebook::react::DisplayMode displayMode) const noexcept; + public void stopSurfaceForAnimationDelegate(facebook::react::SurfaceId surfaceId) const; + public void synchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props); + public void unregisterCommitHook(facebook::react::UIManagerCommitHook& commitHook); + public void unregisterMountHook(facebook::react::UIManagerMountHook& mountHook); + public void unstable_setAnimationBackend(std::shared_ptr animationBackend); + public void updateShadowTree(std::unordered_map&& tagToProps); + public void updateState(const facebook::react::StateUpdate& stateUpdate) const; + public void visitBinding(const std::function& callback, facebook::jsi::Runtime& runtime) const; + public ~UIManager() override; +} + +class facebook::react::UIManagerAnimationBackend { + public using Callback = std::function; + public virtual facebook::react::CallbackId start(const facebook::react::UIManagerAnimationBackend::Callback& callback) = 0; + public virtual void clearRegistry(facebook::react::SurfaceId surfaceId) = 0; + public virtual void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) = 0; + public virtual void registerJSInvoker(std::shared_ptr jsInvoker) = 0; + public virtual void stop(facebook::react::CallbackId callbackId) = 0; + public virtual void trigger() = 0; + public virtual ~UIManagerAnimationBackend() = default; +} + +class facebook::react::UIManagerAnimationDelegate { + public virtual bool shouldAnimateFrame() const = 0; + public virtual void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry) = 0; + public virtual void stopSurface(facebook::react::SurfaceId surfaceId) = 0; + public virtual void uiManagerDidConfigureNextLayoutAnimation(facebook::jsi::Runtime& runtime, const facebook::react::RawValue& config, const facebook::jsi::Value& successCallback, const facebook::jsi::Value& failureCallback) const = 0; + public virtual ~UIManagerAnimationDelegate() = default; +} + +class facebook::react::UIManagerBinding : public facebook::jsi::HostObject { + public UIManagerBinding(std::shared_ptr uiManager); + public facebook::react::PointerEventsProcessor& getPointerEventsProcessor(); + public facebook::react::UIManager& getUIManager(); + public static std::shared_ptr getBinding(facebook::jsi::Runtime& runtime); + public static void createAndInstallIfNeeded(facebook::jsi::Runtime& runtime, const std::shared_ptr& uiManager); + public virtual facebook::jsi::Value get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) override; + public void dispatchEvent(facebook::jsi::Runtime& runtime, facebook::react::EventTarget* eventTarget, const std::string& type, facebook::react::ReactEventPriority priority, const facebook::react::EventPayload& payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void invalidate() const; + public ~UIManagerBinding() override; +} + +class facebook::react::UIManagerCommitHook { + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions&) noexcept; + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree&, const facebook::react::RootShadowNode::Shared&, const facebook::react::RootShadowNode::Unshared& newRootShadowNode) noexcept; + public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept = 0; + public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept = 0; + public virtual ~UIManagerCommitHook() noexcept = default; +} + +class facebook::react::UIManagerDelegate { + public using OnSurfaceStartCallback = std::function; + public virtual void uiManagerDidCreateShadowNode(const facebook::react::ShadowNode& shadowNode) = 0; + public virtual void uiManagerDidDispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) = 0; + public virtual void uiManagerDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) = 0; + public virtual void uiManagerDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) = 0; + public virtual void uiManagerDidPromoteReactRevision(const facebook::react::ShadowTree& shadowTree) = 0; + public virtual void uiManagerDidSendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType) = 0; + public virtual void uiManagerDidSetIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) = 0; + public virtual void uiManagerDidStartSurface(const facebook::react::ShadowTree& shadowTree) = 0; + public virtual void uiManagerDidUpdateShadowTree(const std::unordered_map& tagToProps) = 0; + public virtual void uiManagerShouldAddEventListener(std::shared_ptr listener) = 0; + public virtual void uiManagerShouldRemoveEventListener(const std::shared_ptr& listener) = 0; + public virtual void uiManagerShouldSetOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback) = 0; + public virtual void uiManagerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) = 0; + public virtual ~UIManagerDelegate() noexcept = default; +} + +class facebook::react::UIManagerMountHook { + public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp mountTime) noexcept = 0; + public virtual void shadowTreeDidUnmount(facebook::react::SurfaceId, facebook::react::HighResTimeStamp) noexcept; + public virtual ~UIManagerMountHook() noexcept = default; +} + +class facebook::react::UIManagerNativeAnimatedDelegate { + public virtual void runAnimationFrame() = 0; + public virtual ~UIManagerNativeAnimatedDelegate() = default; +} + +class facebook::react::UIManagerNativeAnimatedDelegateImpl : public facebook::react::UIManagerNativeAnimatedDelegate { + public UIManagerNativeAnimatedDelegateImpl(std::weak_ptr manager); + public virtual void runAnimationFrame() override; +} + +class facebook::react::UIManagerViewTransitionDelegate { + public virtual std::optional getViewTransitionInstance(const std::string& name, const std::string& pseudo); + public virtual void applyViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name, const std::string& className); + public virtual void cancelViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name); + public virtual void restoreViewTransitionName(const facebook::react::ShadowNode& shadowNode); + public virtual void startViewTransition(std::function mutationCallback, std::function onReadyCallback, std::function onCompleteCallback); + public virtual void startViewTransitionEnd(); + public virtual ~UIManagerViewTransitionDelegate() = default; +} + +struct facebook::react::UIManagerViewTransitionDelegate::ViewTransitionInstance { + public facebook::react::Float height; + public facebook::react::Float width; + public facebook::react::Float x; + public facebook::react::Float y; + public facebook::react::Tag nativeTag; +} + +class facebook::react::UnimplementedNativeViewEventEmitter : public facebook::react::BaseViewEventEmitter { +} + +class facebook::react::UnimplementedNativeViewProps : public facebook::react::HostPlatformViewProps { + public UnimplementedNativeViewProps() = default; + public UnimplementedNativeViewProps(const facebook::react::PropsParserContext& context, const facebook::react::UnimplementedNativeViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public std::string name; +} + +class facebook::react::UnimplementedViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public UnimplementedViewComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public virtual facebook::react::ComponentHandle getComponentHandle() const override; + public virtual facebook::react::ComponentName getComponentName() const override; + public virtual facebook::react::Props::Shared cloneProps(const facebook::react::PropsParserContext& context, const facebook::react::Props::Shared& props, facebook::react::RawProps rawProps) const override; +} + +class facebook::react::UnimplementedViewProps : public facebook::react::HostPlatformViewProps { + public facebook::react::ComponentName getComponentName() const; + public void setComponentName(facebook::react::ComponentName componentName); +} + +class facebook::react::UnstableLegacyViewManagerAutomaticComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public UnstableLegacyViewManagerAutomaticComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public UnstableLegacyViewManagerAutomaticComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, std::string legacyComponentName); + public virtual facebook::react::ComponentHandle getComponentHandle() const override; + public virtual facebook::react::ComponentName getComponentName() const override; +} + +class facebook::react::ValueAnimatedNode : public facebook::react::AnimatedNode { + protected bool isColorValue_; + public ValueAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public bool getIsColorValue() const noexcept; + public bool setOffset(double offset) noexcept; + public bool setRawValue(double value) noexcept; + public double getOffset() const noexcept; + public double getRawValue() const noexcept; + public double getValue() const noexcept; + public void extractOffset() noexcept; + public void flattenOffset() noexcept; + public void setValueListener(facebook::react::ValueListenerCallback&& callback) noexcept; +} + +class facebook::react::ValueFactoryEventPayload : public facebook::react::EventPayload { + public ValueFactoryEventPayload(facebook::react::ValueFactory factory); + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; + public virtual facebook::react::EventPayloadType getType() const override; +} + +class facebook::react::ViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public ViewComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); +} + +class facebook::react::ViewShadowNode : public facebook::react::ConcreteViewShadowNode { + public ViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); +} + +class facebook::react::ViewShadowNodeProps : public facebook::react::HostPlatformViewProps { + public ViewShadowNodeProps() = default; + public ViewShadowNodeProps(const facebook::react::PropsParserContext& context, const facebook::react::ViewShadowNodeProps& sourceProps, const facebook::react::RawProps& rawProps); +} + +class facebook::react::ViewTransitionModule : public facebook::react::UIManagerViewTransitionDelegate { + public virtual std::optional getViewTransitionInstance(const std::string& name, const std::string& pseudo) override; + public virtual void applyViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name, const std::string& className) override; + public virtual void cancelViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name) override; + public virtual void restoreViewTransitionName(const facebook::react::ShadowNode& shadowNode) override; + public virtual void startViewTransition(std::function mutationCallback, std::function onReadyCallback, std::function onCompleteCallback) override; + public virtual void startViewTransitionEnd() override; + public void setUIManager(facebook::react::UIManager* uiManager); + public ~ViewTransitionModule() override = default; +} + +struct facebook::react::ViewTransitionModule::AnimationKeyFrameView { + public facebook::react::SurfaceId surfaceId; + public facebook::react::Tag tag; + public facebook::react::ViewTransitionModule::AnimationKeyFrameViewLayoutMetrics layoutMetrics; +} + +struct facebook::react::ViewTransitionModule::AnimationKeyFrameViewLayoutMetrics { + public facebook::react::Float pointScaleFactor; + public facebook::react::Point originFromRoot; + public facebook::react::Size size; +} + +class facebook::react::VirtualViewEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onModeChange(facebook::react::VirtualViewEventEmitter::OnModeChange value) const; +} + +struct facebook::react::VirtualViewEventEmitter::OnModeChange { + public facebook::react::VirtualViewEventEmitter::OnModeChangeTargetRect targetRect; + public facebook::react::VirtualViewEventEmitter::OnModeChangeThresholdRect thresholdRect; + public int mode; +} + +struct facebook::react::VirtualViewEventEmitter::OnModeChangeTargetRect { + public double height; + public double width; + public double x; + public double y; +} + +struct facebook::react::VirtualViewEventEmitter::OnModeChangeThresholdRect { + public double height; + public double width; + public double x; + public double y; +} + +class facebook::react::VirtualViewExperimentalEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onModeChange(facebook::react::VirtualViewExperimentalEventEmitter::OnModeChange value) const; +} + +struct facebook::react::VirtualViewExperimentalEventEmitter::OnModeChange { + public facebook::react::VirtualViewExperimentalEventEmitter::OnModeChangeTargetRect targetRect; + public facebook::react::VirtualViewExperimentalEventEmitter::OnModeChangeThresholdRect thresholdRect; + public int mode; +} + +struct facebook::react::VirtualViewExperimentalEventEmitter::OnModeChangeTargetRect { + public double height; + public double width; + public double x; + public double y; +} + +struct facebook::react::VirtualViewExperimentalEventEmitter::OnModeChangeThresholdRect { + public double height; + public double width; + public double x; + public double y; +} + +class facebook::react::VirtualViewExperimentalProps : public facebook::react::HostPlatformViewProps { + public VirtualViewExperimentalProps() = default; + public VirtualViewExperimentalProps(const facebook::react::PropsParserContext& context, const facebook::react::VirtualViewExperimentalProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool initialHidden; + public bool removeClippedSubviews; + public int renderState; +} + +class facebook::react::VirtualViewProps : public facebook::react::HostPlatformViewProps { + public VirtualViewProps() = default; + public VirtualViewProps(const facebook::react::PropsParserContext& context, const facebook::react::VirtualViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool initialHidden; + public bool removeClippedSubviews; + public int renderState; +} + +class facebook::react::VirtualViewShadowNode : public facebook::react::ConcreteViewShadowNode { + public VirtualViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public VirtualViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); +} + +class facebook::react::WeakFamilyRegistry { + public facebook::react::WeakFamilyRegistry::WeakFamilies weakFamiliesForSurfaceId(facebook::react::SurfaceId surfaceId) const; + public using WeakFamilies = std::vector; + public void add(const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily) const; + public void removeFamiliesWithSurfaceId(facebook::react::SurfaceId surfaceId) const; +} + +class facebook::react::YogaLayoutableShadowNode : public facebook::react::LayoutableShadowNode { + protected facebook::yoga::Config yogaConfig_; + protected mutable facebook::yoga::Node yogaNode_; + protected virtual bool shouldNewRevisionDirtyMeasurement(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) const; + public YogaLayoutableShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public YogaLayoutableShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public facebook::react::Rect getContentBounds() const; + public using ListOfShared = std::vector; + public using Shared = std::shared_ptr; + public virtual bool getIsLayoutClean() const override; + public virtual void appendChild(const std::shared_ptr& child) override; + public virtual void completeClone(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) override; + public virtual void dirtyLayout() override; + public virtual void layout(facebook::react::LayoutContext layoutContext) override; + public virtual void layoutTree(facebook::react::LayoutContext layoutContext, facebook::react::LayoutConstraints layoutConstraints) override; + public virtual void replaceChild(const facebook::react::ShadowNode& oldChild, const std::shared_ptr& newChild, size_t suggestedIndex = SIZE_MAX) override; + public void enableMeasurement(); + public void setPadding(facebook::react::RectangleEdges padding) const; + public void setPositionType(YGPositionType positionType) const; + public void setSize(facebook::react::Size size) const; + public void updateYogaChildren(); + public void updateYogaProps(); +} + +class facebook::react::YogaStylableProps : public facebook::react::Props { + public YogaStylableProps() = default; + public YogaStylableProps(const facebook::react::PropsParserContext& context, const facebook::react::YogaStylableProps& sourceProps, const facebook::react::RawProps& rawProps, const std::function& filterObjectKeys = nullptr); + public facebook::yoga::Style yogaStyle; + public facebook::yoga::Style::Length insetBlockEnd; + public facebook::yoga::Style::Length insetBlockStart; + public facebook::yoga::Style::Length insetInlineEnd; + public facebook::yoga::Style::Length insetInlineStart; + public facebook::yoga::Style::Length marginBlock; + public facebook::yoga::Style::Length marginBlockEnd; + public facebook::yoga::Style::Length marginBlockStart; + public facebook::yoga::Style::Length marginInline; + public facebook::yoga::Style::Length marginInlineEnd; + public facebook::yoga::Style::Length marginInlineStart; + public facebook::yoga::Style::Length paddingBlock; + public facebook::yoga::Style::Length paddingBlockEnd; + public facebook::yoga::Style::Length paddingBlockStart; + public facebook::yoga::Style::Length paddingInline; + public facebook::yoga::Style::Length paddingInlineEnd; + public facebook::yoga::Style::Length paddingInlineStart; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +enum facebook::react::AccessibilityLiveRegion : uint8_t { + Assertive, + None, + Polite, +} + +enum facebook::react::AccessibilityRole : uint8_t { + Adjustable, + Alert, + Button, + Checkbox, + Combobox, + Drawerlayout, + Dropdownlist, + Grid, + Header, + Horizontalscrollview, + Iconmenu, + Image, + Imagebutton, + Keyboardkey, + Link, + List, + Menu, + Menubar, + Menuitem, + None, + Pager, + Progressbar, + Radio, + Radiogroup, + Scrollbar, + Scrollview, + Search, + Slidingdrawer, + Spinbutton, + Summary, + Switch, + Tab, + Tabbar, + Tablist, + Text, + Timer, + Togglebutton, + Toolbar, + Viewgroup, + Webview, +} + +enum facebook::react::AccessibilityTraits : uint32_t { + Adjustable, + AllowsDirectInteraction, + Button, + CausesPageTurn, + Header, + Image, + KeyboardKey, + Link, + None, + NotEnabled, + PlaysSound, + SearchField, + Selected, + StartsMediaSession, + StaticText, + SummaryElement, + Switch, + TabBar, + UpdatesFrequently, +} + +enum facebook::react::ActivityIndicatorViewSize { + Large, + Small, +} + +enum facebook::react::AndroidDrawerLayoutDrawerLockMode { + LockedClosed, + LockedOpen, + Unlocked, +} + +enum facebook::react::AndroidDrawerLayoutDrawerPosition { + Left, + Right, +} + +enum facebook::react::AndroidDrawerLayoutKeyboardDismissMode { + None, + OnDrag, +} + +enum facebook::react::AndroidSwipeRefreshLayoutSize { + Default, + Large, +} + +enum facebook::react::AnimatedNodeType { + Addition, + Color, + Diffclamp, + Division, + Interpolation, + Modulus, + Multiplication, + Object, + Props, + Round, + Style, + Subtraction, + Tracking, + Transform, + Value, +} + +enum facebook::react::AnimationConfigurationType { + Create, + Delete, + Update, +} + +enum facebook::react::AnimationDriverType { + Decay, + Frames, + Spring, +} + +enum facebook::react::AnimationProperty { + NotApplicable, + Opacity, + ScaleX, + ScaleXY, + ScaleY, +} + +enum facebook::react::AnimationType { + EaseIn, + EaseInEaseOut, + EaseOut, + Keyboard, + Linear, + None, + Spring, +} + +enum facebook::react::AutocapitalizationType { + Characters, + None, + Sentences, + Words, +} + +enum facebook::react::BackfaceVisibility : uint8_t { + Auto, + Hidden, + Visible, +} + +enum facebook::react::BackgroundRepeatStyle { + NoRepeat, + Repeat, + Round, + Space, +} + +enum facebook::react::BackgroundSizeKeyword { + Contain, + Cover, +} + +enum facebook::react::BlendMode { + Color, + ColorBurn, + ColorDodge, + Darken, + Difference, + Exclusion, + HardLight, + Hue, + Lighten, + Luminosity, + Multiply, + Normal, + Overlay, + Saturation, + Screen, + SoftLight, +} + +enum facebook::react::BorderCurve : uint8_t { + Circular, + Continuous, +} + +enum facebook::react::BorderStyle : uint8_t { + Dashed, + Dotted, + Solid, +} + +enum facebook::react::CSSAngleUnit : uint8_t { + Deg, + Grad, + Rad, + Turn, +} + +enum facebook::react::CSSDelimiter { + Comma, + CommaOrWhitespace, + None, + OptionalWhitespace, + Solidus, + SolidusOrWhitespace, + Whitespace, +} + +enum facebook::react::CSSFontVariant : std::underlying_type_t { + CommonLigatures, + Contextual, + DiscretionaryLigatures, + HistoricalLigatures, + LiningNums, + NoCommonLigatures, + NoContextual, + NoDiscretionaryLigatures, + NoHistoricalLigatures, + OldstyleNums, + ProportionalNums, + SmallCaps, + StylisticEight, + StylisticEighteen, + StylisticEleven, + StylisticFifteen, + StylisticFive, + StylisticFour, + StylisticFourteen, + StylisticNine, + StylisticNineteen, + StylisticOne, + StylisticSeven, + StylisticSeventeen, + StylisticSix, + StylisticSixteen, + StylisticTen, + StylisticThirteen, + StylisticThree, + StylisticTwelve, + StylisticTwenty, + StylisticTwo, + TabularNums, +} + +enum facebook::react::CSSGradientAtKeyword : std::underlying_type_t { + At, +} + +enum facebook::react::CSSGradientDirectionKeyword : std::underlying_type_t { + Bottom, + Left, + Right, + Top, +} + +enum facebook::react::CSSGradientPositionKeyword : std::underlying_type_t { + Bottom, + Center, + Left, + Right, + Top, +} + +enum facebook::react::CSSGradientToKeyword : std::underlying_type_t { + To, +} + +enum facebook::react::CSSInsetShadowKeyword : std::underlying_type_t { + Inset, +} + +enum facebook::react::CSSKeyword : uint8_t { + Absolute, + At, + Auto, + Baseline, + Block, + Bottom, + Center, + Clip, + Column, + ColumnReverse, + CommonLigatures, + Content, + Contents, + Contextual, + Dashed, + DiscretionaryLigatures, + Dotted, + Double, + End, + Fixed, + Flex, + FlexEnd, + FlexStart, + Grid, + Groove, + Hidden, + HistoricalLigatures, + Inherit, + Initial, + Inline, + InlineBlock, + InlineFlex, + InlineGrid, + Inset, + Left, + LiningNums, + Ltr, + MaxContent, + Medium, + MinContent, + NoCommonLigatures, + NoContextual, + NoDiscretionaryLigatures, + NoHistoricalLigatures, + NoWrap, + None, + Normal, + OldstyleNums, + Outset, + ProportionalNums, + Relative, + Ridge, + Right, + Row, + RowReverse, + Rtl, + Scroll, + SmallCaps, + Solid, + SpaceAround, + SpaceBetween, + SpaceEvenly, + Start, + Static, + Sticky, + Stretch, + StylisticEight, + StylisticEighteen, + StylisticEleven, + StylisticFifteen, + StylisticFive, + StylisticFour, + StylisticFourteen, + StylisticNine, + StylisticNineteen, + StylisticOne, + StylisticSeven, + StylisticSeventeen, + StylisticSix, + StylisticSixteen, + StylisticTen, + StylisticThirteen, + StylisticThree, + StylisticTwelve, + StylisticTwenty, + StylisticTwo, + TabularNums, + Thick, + Thin, + To, + Top, + Unset, + Visible, + Wrap, + WrapReverse, +} + +enum facebook::react::CSSLengthUnit : uint8_t { + Cap, + Ch, + Cm, + Dvb, + Dvh, + Dvi, + Dvmax, + Dvmin, + Dvw, + Em, + Ex, + Ic, + In, + Lh, + Lvb, + Lvh, + Lvi, + Lvmax, + Lvmin, + Lvw, + Mm, + Pc, + Pt, + Px, + Q, + Rcap, + Rch, + Rem, + Rex, + Ric, + Rlh, + Svb, + Svh, + Svi, + Svmax, + Svmin, + Svw, + Vb, + Vh, + Vi, + Vmax, + Vmin, + Vw, +} + +enum facebook::react::CSSLinearGradientDirectionKeyword : uint8_t { + ToBottomLeft, + ToBottomRight, + ToTopLeft, + ToTopRight, +} + +enum facebook::react::CSSRadialGradientShape : uint8_t { + Circle, + Ellipse, +} + +enum facebook::react::CSSRadialGradientSizeKeyword : uint8_t { + ClosestCorner, + ClosestSide, + FarthestCorner, + FarthestSide, +} + +enum facebook::react::CSSTokenType { + CloseCurly, + CloseParen, + CloseSquare, + Comma, + Delim, + Dimension, + EndOfFile, + Function, + Hash, + Ident, + Number, + OpenCurly, + OpenParen, + OpenSquare, + Percentage, + WhiteSpace, +} + +enum facebook::react::CSSTransformOriginKeyword : std::underlying_type_t { + Bottom, + Center, + Left, + Right, + Top, +} + +enum facebook::react::CSSWideKeyword : std::underlying_type_t { + Inherit, + Initial, + Unset, +} + +enum facebook::react::ColorSpace { + DisplayP3, + sRGB, +} + +enum facebook::react::ContentInsetAdjustmentBehavior { + Always, + Automatic, + Never, + ScrollableAxes, +} + +enum facebook::react::Cursor : uint8_t { + Alias, + AllScroll, + Auto, + Cell, + ColResize, + ContextMenu, + Copy, + Crosshair, + Default, + EResize, + EWResize, + Grab, + Grabbing, + Help, + Move, + NEResize, + NESWResize, + NResize, + NSResize, + NWResize, + NWSEResize, + NoDrop, + None, + NotAllowed, + Pointer, + Progress, + RowResize, + SEResize, + SResize, + SWResize, + Text, + Url, + WResize, + Wait, + ZoomIn, + ZoomOut, +} + +enum facebook::react::DisplayMode { + Hidden, + Suspended, + Visible, +} + +enum facebook::react::DisplayType { + Contents, + Flex, + Grid, + None, +} + +enum facebook::react::DynamicTypeRamp { + Body, + Callout, + Caption1, + Caption2, + Footnote, + Headline, + LargeTitle, + Subheadline, + Title1, + Title2, + Title3, +} + +enum facebook::react::EllipsizeMode { + Clip, + Head, + Middle, + Tail, +} + +enum facebook::react::EventPayloadType { + PointerEvent, + ScrollEvent, + ValueFactory, +} + +enum facebook::react::FilterType { + Blur, + Brightness, + Contrast, + DropShadow, + Grayscale, + HueRotate, + Invert, + Opacity, + Saturate, + Sepia, +} + +enum facebook::react::FontStyle { + Italic, + Normal, + Oblique, +} + +enum facebook::react::FontVariant : int { + Default, + LiningNums, + OldstyleNums, + ProportionalNums, + SmallCaps, + StylisticEight, + StylisticEighteen, + StylisticEleven, + StylisticFifteen, + StylisticFive, + StylisticFour, + StylisticFourteen, + StylisticNine, + StylisticNineteen, + StylisticOne, + StylisticSeven, + StylisticSeventeen, + StylisticSix, + StylisticSixteen, + StylisticTen, + StylisticThirteen, + StylisticThree, + StylisticTwelve, + StylisticTwenty, + StylisticTwo, + TabularNums, +} + +enum facebook::react::FontWeight : int { + Black, + Bold, + Demibold, + Heavy, + Light, + Medium, + Regular, + Semibold, + Thin, + UltraLight, + Weight100, + Weight200, + Weight300, + Weight400, + Weight500, + Weight600, + Weight700, + Weight800, + Weight900, +} + +enum facebook::react::GradientDirectionType { + Angle, + Keyword, +} + +enum facebook::react::GradientKeyword : uint8_t { + ToBottomLeft, + ToBottomRight, + ToTopLeft, + ToTopRight, +} + +enum facebook::react::HyphenationFrequency { + Full, + None, + Normal, +} + +enum facebook::react::ImageResizeMode : int8_t { + Center, + Contain, + Cover, + None, + Repeat, + Stretch, +} + +enum facebook::react::ImportantForAccessibility : uint8_t { + Auto, + No, + NoHideDescendants, + Yes, +} + +enum facebook::react::Isolation { + Auto, + Isolate, +} + +enum facebook::react::KeyboardAppearance { + Dark, + Default, + Light, +} + +enum facebook::react::KeyboardType { + ASCIICapable, + ASCIICapableNumberPad, + DecimalPad, + Default, + EmailAddress, + NamePhonePad, + NumberPad, + NumbersAndPunctuation, + Numeric, + PhonePad, + Twitter, + URL, + VisiblePassword, + WebSearch, +} + +enum facebook::react::LayoutConformance : uint8_t { + Compatibility, + Strict, +} + +enum facebook::react::LayoutDirection { + LeftToRight, + RightToLeft, + Undefined, +} + +enum facebook::react::LineBreakMode { + Char, + Clip, + Head, + Middle, + Tail, + Word, +} + +enum facebook::react::LineBreakStrategy { + HangulWordPriority, + None, + PushOut, + Standard, +} + +enum facebook::react::ModalHostViewAnimationType { + Fade, + None, + Slide, +} + +enum facebook::react::ModalHostViewPresentationStyle { + FormSheet, + FullScreen, + OverFullScreen, + PageSheet, +} + +enum facebook::react::ModalHostViewSupportedOrientations : facebook::react::ModalHostViewSupportedOrientationsMask { + Landscape, + LandscapeLeft, + LandscapeRight, + Portrait, + PortraitUpsideDown, +} + +enum facebook::react::NativeFantomNativeEventCategory { + Continuous, + ContinuousEnd, + ContinuousStart, + Discrete, + Idle, + Unspecified, +} + +enum facebook::react::NullValueStrategy { + Ignore, + Override, +} + +enum facebook::react::OutlineStyle : uint8_t { + Dashed, + Dotted, + Solid, +} + +enum facebook::react::PerformanceEntryType { + EVENT, + LONGTASK, + MARK, + MEASURE, + RESOURCE, + _NEXT, +} + +enum facebook::react::PointerEventsMode : uint8_t { + Auto, + BoxNone, + BoxOnly, + None, +} + +enum facebook::react::PositionType { + Absolute, + Relative, + Static, +} + +enum facebook::react::PropName { + ALIGN_CONTENT, + ALIGN_ITEMS, + ALIGN_SELF, + ASPECT_RATIO, + BACKFACE_VISIBILITY, + BACKGROUND_COLOR, + BORDER_COLOR, + BORDER_CURVES, + BORDER_RADII, + BORDER_STYLES, + BORDER_WIDTH, + BOX_SHADOW, + BOX_SIZING, + COLUMN_GAP, + CURSOR, + DIRECTION, + DISPLAY, + FILTER, + FLEX, + FLEX_BASIS, + FLEX_DIRECTION, + FLEX_GROW, + FLEX_SHRINK, + FLEX_WRAP, + HEIGHT, + ISOLATION, + JUSTIFY_CONTENT, + MARGIN, + MAX_HEIGHT, + MAX_WIDTH, + MIN_HEIGHT, + MIN_WIDTH, + MIX_BLEND_MODE, + OPACITY, + OUTLINE_COLOR, + OUTLINE_OFFSET, + OUTLINE_STYLE, + OUTLINE_WIDTH, + PADDING, + POINTER_EVENTS, + POSITION, + POSITION_TYPE, + ROW_GAP, + SHADOW_COLOR, + SHADOW_OFFSET, + SHADOW_OPACITY, + SHADOW_RADIUS, + STYLE_OVERFLOW, + TRANSFORM, + TRANSFORM_ORIGIN, + WIDTH, + Z_INDEX, +} + +enum facebook::react::RadialGradientShape { + Circle, + Ellipse, +} + +enum facebook::react::ReactEventPriority { + Continuous, + Default, + Discrete, + Idle, +} + +enum facebook::react::ReturnKeyType { + Continue, + Default, + Done, + EmergencyCall, + Go, + Google, + Join, + Next, + None, + Previous, + Route, + Search, + Send, + Yahoo, +} + +enum facebook::react::Role : uint8_t { + Alert, + Alertdialog, + Application, + Article, + Banner, + Button, + Cell, + Checkbox, + Columnheader, + Combobox, + Complementary, + Contentinfo, + Definition, + Dialog, + Directory, + Document, + Feed, + Figure, + Form, + Grid, + Group, + Heading, + Img, + Link, + List, + Listitem, + Log, + Main, + Marquee, + Math, + Menu, + Menubar, + Menuitem, + Meter, + Navigation, + None, + Note, + Option, + Presentation, + Progressbar, + Radio, + Radiogroup, + Region, + Row, + Rowgroup, + Rowheader, + Scrollbar, + Searchbox, + Separator, + Slider, + Spinbutton, + Status, + Summary, + Switch, + Tab, + Table, + Tablist, + Tabpanel, + Term, + Timer, + Toolbar, + Tooltip, + Tree, + Treegrid, + Treeitem, +} + +enum facebook::react::SchedulerPriority : int { + IdlePriority, + ImmediatePriority, + LowPriority, + NormalPriority, + UserBlockingPriority, +} + +enum facebook::react::ScriptTag { + RAMBundle, + String, +} + +enum facebook::react::ScrollViewIndicatorStyle { + Black, + Default, + White, +} + +enum facebook::react::ScrollViewKeyboardDismissMode { + Interactive, + None, + OnDrag, +} + +enum facebook::react::ScrollViewSnapToAlignment { + Center, + End, + Start, +} + +enum facebook::react::ShadowTreeCommitMode { + Normal, + Suspended, +} + +enum facebook::react::ShadowTreeCommitSource { + AnimationEndSync, + React, + ReactRevisionMerge, + Unknown, +} + +enum facebook::react::ShadowTreeCommitStatus { + Cancelled, + Failed, + Succeeded, +} + +enum facebook::react::SubmitBehavior { + BlurAndSubmit, + Default, + Newline, + Submit, +} + +enum facebook::react::TextAlignment { + Center, + Justified, + Left, + Natural, + Right, +} + +enum facebook::react::TextAlignmentVertical { + Auto, + Bottom, + Center, + Top, +} + +enum facebook::react::TextBreakStrategy { + Balanced, + HighQuality, + Simple, +} + +enum facebook::react::TextDecorationLineType { + None, + Strikethrough, + Underline, + UnderlineStrikethrough, +} + +enum facebook::react::TextDecorationStyle { + Dashed, + Dotted, + Double, + Solid, +} + +enum facebook::react::TextInputAccessoryVisibilityMode { + Always, + Never, + UnlessEditing, + WhileEditing, +} + +enum facebook::react::TextTransform { + Capitalize, + Lowercase, + None, + Unset, + Uppercase, +} + +enum facebook::react::TimerSource { + RequestAnimationFrame, + SetInterval, + SetTimeout, + Unknown, +} + +enum facebook::react::TransformOperationType : uint8_t { + Arbitrary, + Identity, + Perspective, + Rotate, + Scale, + Skew, + Translate, +} + +enum facebook::react::TurboModuleMethodValueKind { + ArrayKind, + BooleanKind, + FunctionKind, + NumberKind, + ObjectKind, + PromiseKind, + StringKind, + VoidKind, +} + +enum facebook::react::UnitType { + Percent, + Point, + Undefined, +} + +enum facebook::react::WritingDirection { + LeftToRight, + Natural, + RightToLeft, +} + +struct facebook::react::AbstractPerformanceEntry { + public facebook::react::HighResDuration duration; + public facebook::react::HighResTimeStamp startTime; + public std::string name; +} + +struct facebook::react::AccessibilityAction { + public std::optional label; + public std::string name; +} + +struct facebook::react::AccessibilityLabelledBy { + public std::vector value; +} + +struct facebook::react::AccessibilityState { + public bool busy; + public bool disabled; + public bool selected; + public facebook::react::AccessibilityState::CheckedState checked; + public std::optional expanded; +} + +enum facebook::react::AccessibilityState::CheckedState { + Checked, + Mixed, + None, + Unchecked, +} + +struct facebook::react::AccessibilityValue { + public std::optional max; + public std::optional min; + public std::optional now; + public std::optional text; +} + +struct facebook::react::ActivePointer { + public bool shouldLeaveWhenReleased; + public facebook::react::PointerEvent event; +} + +struct facebook::react::AnimatedPropBase { + public AnimatedPropBase(facebook::react::PropName propName); + public facebook::react::PropName propName; + public virtual ~AnimatedPropBase() = default; +} + +struct facebook::react::AnimatedProps { + public std::unique_ptr rawProps; + public std::vector> props; +} + +struct facebook::react::AnimatedPropsBuilder { + public facebook::react::AnimatedProps get(); + public std::unique_ptr rawProps; + public std::vector> props; + public void setAlignContent(facebook::yoga::Align value); + public void setAlignItems(facebook::yoga::Align value); + public void setAlignSelf(facebook::yoga::Align value); + public void setAspectRatio(facebook::yoga::FloatOptional value); + public void setBackfaceVisibility(facebook::react::BackfaceVisibility value); + public void setBackgroundColor(facebook::react::SharedColor value); + public void setBorderColor(facebook::react::CascadedBorderColors& value); + public void setBorderCurves(facebook::react::CascadedBorderCurves& value); + public void setBorderRadii(facebook::react::CascadedBorderRadii& value); + public void setBorderStyles(facebook::react::CascadedBorderStyles& value); + public void setBorderWidth(facebook::react::CascadedRectangleEdges& value); + public void setBoxShadow(const std::vector& value); + public void setBoxSizing(facebook::yoga::BoxSizing value); + public void setColumnGap(facebook::yoga::Style::Length value); + public void setCursor(facebook::react::Cursor value); + public void setDirection(facebook::yoga::Direction value); + public void setDisplay(facebook::yoga::Display value); + public void setFilter(const std::vector& value); + public void setFlex(facebook::yoga::FloatOptional value); + public void setFlexBasis(facebook::yoga::Style::SizeLength value); + public void setFlexDirection(facebook::yoga::FlexDirection value); + public void setFlexGrow(facebook::yoga::FloatOptional value); + public void setFlexShrink(facebook::yoga::FloatOptional value); + public void setFlexWrap(facebook::yoga::Wrap value); + public void setHeight(facebook::yoga::Style::SizeLength value); + public void setIsolation(facebook::react::Isolation value); + public void setJustifyContent(facebook::yoga::Justify value); + public void setMargin(facebook::react::CascadedRectangleEdges& value); + public void setMaxHeight(facebook::yoga::Style::SizeLength value); + public void setMaxWidth(facebook::yoga::Style::SizeLength value); + public void setMinHeight(facebook::yoga::Style::SizeLength value); + public void setMinWidth(facebook::yoga::Style::SizeLength value); + public void setMixBlendMode(facebook::react::BlendMode value); + public void setOpacity(facebook::react::Float value); + public void setOutlineColor(facebook::react::SharedColor value); + public void setOutlineOffset(facebook::react::Float value); + public void setOutlineStyle(facebook::react::OutlineStyle value); + public void setOutlineWidth(facebook::react::Float value); + public void setOverflow(facebook::yoga::Overflow value); + public void setPadding(facebook::react::CascadedRectangleEdges& value); + public void setPointerEvents(facebook::react::PointerEventsMode value); + public void setPosition(facebook::react::CascadedRectangleEdges& value); + public void setPositionType(facebook::yoga::PositionType value); + public void setRowGap(facebook::yoga::Style::Length value); + public void setShadowColor(facebook::react::SharedColor value); + public void setShadowOffset(facebook::react::Size value); + public void setShadowOpacity(facebook::react::Float value); + public void setShadowRadius(facebook::react::Float value); + public void setTransform(const facebook::react::Transform& t); + public void setTransformOrigin(const facebook::react::TransformOrigin& value); + public void setWidth(facebook::yoga::Style::SizeLength value); + public void setZIndex(std::optional value); + public void storeDynamic(folly::dynamic& d); + public void storeJSI(facebook::jsi::Runtime& runtime, facebook::jsi::Value& value); +} + +struct facebook::react::AnimationConfig { + public double delay; + public double duration; + public facebook::react::AnimationProperty animationProperty; + public facebook::react::AnimationType animationType; + public facebook::react::Float initialVelocity; + public facebook::react::Float springDamping; +} + +struct facebook::react::AnimationKeyFrame { + public bool generateFinalSyntheticMutations; + public bool invalidated; + public double initialProgress; + public facebook::react::AnimationConfigurationType type; + public facebook::react::ShadowView viewEnd; + public facebook::react::ShadowView viewPrev; + public facebook::react::ShadowView viewStart; + public facebook::react::Tag parentTag; + public facebook::react::Tag tag; + public std::vector finalMutationsForKeyFrame; +} + +struct facebook::react::AnimationMutation { + public bool hasLayoutUpdates; + public facebook::react::AnimatedProps props; + public facebook::react::Tag tag; + public std::shared_ptr family; +} + +struct facebook::react::AnimationMutations { + public std::set asyncFlushSurfaces; + public std::vector batch; +} + +struct facebook::react::BackgroundPosition { + public BackgroundPosition(); + public bool operator==(const facebook::react::BackgroundPosition& other) const = default; + public std::optional bottom; + public std::optional left; + public std::optional right; + public std::optional top; +} + +struct facebook::react::BackgroundRepeat { + public BackgroundRepeat(); + public bool operator==(const facebook::react::BackgroundRepeat& other) const = default; + public facebook::react::BackgroundRepeatStyle x; + public facebook::react::BackgroundRepeatStyle y; +} + +struct facebook::react::BackgroundSizeLengthPercentage { + public BackgroundSizeLengthPercentage(); + public bool isXAuto() const; + public bool isYAuto() const; + public bool operator==(const facebook::react::BackgroundSizeLengthPercentage& other) const = default; + public std::variant x; + public std::variant y; +} + +struct facebook::react::BaseTouch { + public facebook::react::Float force; + public facebook::react::Float timestamp; + public facebook::react::HighResTimeStamp timeStamp; + public facebook::react::Point offsetPoint; + public facebook::react::Point pagePoint; + public facebook::react::Point screenPoint; + public facebook::react::Tag target; + public int identifier; +} + +struct facebook::react::BaseTouch::Comparator { + public bool operator()(const facebook::react::BaseTouch& lhs, const facebook::react::BaseTouch& rhs) const; +} + +struct facebook::react::BaseTouch::Hasher { + public size_t operator()(const facebook::react::BaseTouch& touch) const; +} + +struct facebook::react::BorderMetrics { + public bool operator==(const facebook::react::BorderMetrics& rhs) const = default; + public facebook::react::BorderColors borderColors; + public facebook::react::BorderCurves borderCurves; + public facebook::react::BorderRadii borderRadii; + public facebook::react::BorderStyles borderStyles; + public facebook::react::BorderWidths borderWidths; +} + +struct facebook::react::BoxShadow { + public bool inset; + public bool operator==(const facebook::react::BoxShadow& other) const = default; + public facebook::react::Float blurRadius; + public facebook::react::Float offsetX; + public facebook::react::Float offsetY; + public facebook::react::Float spreadDistance; + public facebook::react::SharedColor color; +} + +struct facebook::react::Bridging { + public static bool fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); + public static bool toJs(facebook::jsi::Runtime&, bool value); +} + +struct facebook::react::Bridging : public facebook::react::Bridging { +} + +struct facebook::react::Bridging { + public static double fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); + public static double toJs(facebook::jsi::Runtime&, double value); +} + +struct facebook::react::Bridging { + public static float fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); + public static float toJs(facebook::jsi::Runtime&, float value); +} + +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const id& value); +} + +struct facebook::react::Bridging { + public static int32_t fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); + public static int32_t toJs(facebook::jsi::Runtime&, int32_t value); +} + +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime&, uint32_t value); + public static uint32_t fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); +} + +struct facebook::react::Bridging { + public static void fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value&); +} + +struct facebook::react::BufferEvent { + public std::string name; + public std::string track; + public uint64_t end; + public uint64_t start; +} + +struct facebook::react::BundleHeader { + public BundleHeader(); + public facebook::react::Magic32 magic32; + public uint32_t version; + public uint64_t magic64; +} + +struct facebook::react::CSSAngle { + public constexpr bool operator==(const facebook::react::CSSAngle& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSBlurFilter { + public constexpr bool operator==(const facebook::react::CSSBlurFilter& rhs) const = default; + public facebook::react::CSSLength amount; +} + +struct facebook::react::CSSBrightnessFilter { + public constexpr bool operator==(const facebook::react::CSSBrightnessFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSColor { + public constexpr bool operator==(const facebook::react::CSSColor& rhs) const = default; + public static constexpr facebook::react::CSSColor black(); + public uint8_t a; + public uint8_t b; + public uint8_t g; + public uint8_t r; +} + +struct facebook::react::CSSColorHint { + public bool operator==(const facebook::react::CSSColorHint& rhs) const = default; + public std::variant position; +} + +struct facebook::react::CSSColorStop { + public bool operator==(const facebook::react::CSSColorStop& rhs) const; + public facebook::react::CSSColor color; + public std::optional> endPosition; + public std::optional> startPosition; +} + +struct facebook::react::CSSContrastFilter { + public constexpr bool operator==(const facebook::react::CSSContrastFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSDropShadowFilter { + public constexpr bool operator==(const facebook::react::CSSDropShadowFilter& rhs) const = default; + public facebook::react::CSSColor color; + public facebook::react::CSSLength offsetX; + public facebook::react::CSSLength offsetY; + public facebook::react::CSSLength standardDeviation; +} + +struct facebook::react::CSSFunctionBlock { + public std::string_view name; +} + +struct facebook::react::CSSGrayscaleFilter { + public constexpr bool operator==(const facebook::react::CSSGrayscaleFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSHueRotateFilter { + public constexpr bool operator==(const facebook::react::CSSHueRotateFilter& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSInvertFilter { + public constexpr bool operator==(const facebook::react::CSSInvertFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSLength { + public constexpr bool operator==(const facebook::react::CSSLength& rhs) const = default; + public facebook::react::CSSLengthUnit unit; + public float value; +} + +struct facebook::react::CSSLinearGradientDirection { + public bool operator==(const facebook::react::CSSLinearGradientDirection& rhs) const = default; + public std::variant value; +} + +struct facebook::react::CSSLinearGradientFunction { + public bool operator==(const facebook::react::CSSLinearGradientFunction& rhs) const = default; + public static std::pair>, int> parseGradientColorStopsAndHints(facebook::react::CSSValueParser& parser); + public std::optional direction; + public std::vector> items; +} + +struct facebook::react::CSSMatrix { + public constexpr bool operator==(const facebook::react::CSSMatrix& rhs) const = default; + public std::array values; +} + +struct facebook::react::CSSNumber { + public constexpr bool operator==(const facebook::react::CSSNumber& rhs) const = default; + public float value; +} + +struct facebook::react::CSSOpacityFilter { + public constexpr bool operator==(const facebook::react::CSSOpacityFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSPercentage { + public constexpr bool operator==(const facebook::react::CSSPercentage& rhs) const = default; + public float value; +} + +struct facebook::react::CSSPerspective { + public constexpr bool operator==(const facebook::react::CSSPerspective& rhs) const = default; + public facebook::react::CSSLength length; +} + +struct facebook::react::CSSRadialGradientExplicitSize { + public bool operator==(const facebook::react::CSSRadialGradientExplicitSize& rhs) const = default; + public std::variant sizeX; + public std::variant sizeY; +} + +struct facebook::react::CSSRadialGradientFunction { + public bool operator==(const facebook::react::CSSRadialGradientFunction& rhs) const = default; + public std::optional position; + public std::optional shape; + public std::optional size; + public std::vector> items; +} + +struct facebook::react::CSSRadialGradientPosition { + public bool operator==(const facebook::react::CSSRadialGradientPosition& rhs) const = default; + public std::optional> bottom; + public std::optional> left; + public std::optional> right; + public std::optional> top; +} + +struct facebook::react::CSSRatio { + public constexpr bool isDegenerate() const; + public constexpr bool operator==(const facebook::react::CSSRatio& rhs) const = default; + public float denominator; + public float numerator; +} + +struct facebook::react::CSSRotate { + public constexpr bool operator==(const facebook::react::CSSRotate& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSRotateX { + public constexpr bool operator==(const facebook::react::CSSRotateX& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSRotateY { + public constexpr bool operator==(const facebook::react::CSSRotateY& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSRotateZ { + public constexpr bool operator==(const facebook::react::CSSRotateZ& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSSaturateFilter { + public constexpr bool operator==(const facebook::react::CSSSaturateFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSScale { + public constexpr bool operator==(const facebook::react::CSSScale& rhs) const = default; + public float x; + public float y; +} + +struct facebook::react::CSSScaleX { + public constexpr bool operator==(const facebook::react::CSSScaleX& rhs) const = default; + public float value; +} + +struct facebook::react::CSSScaleY { + public constexpr bool operator==(const facebook::react::CSSScaleY& rhs) const = default; + public float value; +} + +struct facebook::react::CSSSepiaFilter { + public constexpr bool operator==(const facebook::react::CSSSepiaFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSShadow { + public bool inset; + public constexpr bool operator==(const facebook::react::CSSShadow& rhs) const = default; + public facebook::react::CSSColor color; + public facebook::react::CSSLength blurRadius; + public facebook::react::CSSLength offsetX; + public facebook::react::CSSLength offsetY; + public facebook::react::CSSLength spreadDistance; +} + +struct facebook::react::CSSSimpleBlock { + public facebook::react::CSSTokenType openBracketType; +} + +struct facebook::react::CSSSkewX { + public constexpr bool operator==(const facebook::react::CSSSkewX& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSSkewY { + public constexpr bool operator==(const facebook::react::CSSSkewY& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSTransformOrigin { + public constexpr bool operator==(const facebook::react::CSSTransformOrigin& rhs) const = default; + public facebook::react::CSSLength z; + public std::variant x; + public std::variant y; +} + +struct facebook::react::CSSTranslate3D { + public constexpr bool operator==(const facebook::react::CSSTranslate3D& rhs) const = default; + public facebook::react::CSSLength z; + public std::variant x; + public std::variant y; +} + +struct facebook::react::CSSTranslate { + public constexpr bool operator==(const facebook::react::CSSTranslate& rhs) const = default; + public std::variant x; + public std::variant y; +} + +struct facebook::react::CSSTranslateX { + public constexpr bool operator==(const facebook::react::CSSTranslateX& rhs) const = default; + public std::variant value; +} + +struct facebook::react::CSSTranslateY { + public constexpr bool operator==(const facebook::react::CSSTranslateY& rhs) const = default; + public std::variant value; +} + +struct facebook::react::CSSZero { + public constexpr bool operator==(const facebook::react::CSSZero& rhs) const = default; +} + +struct facebook::react::CallbackWithId { + public facebook::react::Callback callback; + public facebook::react::CallbackId callbackId; +} + +struct facebook::react::Color { + public Color(); + public Color(const facebook::react::ColorComponents& components); + public Color(const facebook::react::DynamicColor& dynamicColor); + public Color(int32_t color); + public bool operator!=(const facebook::react::Color& other) const; + public bool operator==(const facebook::react::Color& other) const; + public facebook::react::ColorComponents getColorComponents() const; + public float getChannel(int channelId) const; + public int32_t getColor() const; + public operator int32_t() const; + public static facebook::react::Color createSemanticColor(std::vector& semanticItems); + public std::shared_ptr getUIColor() const; + public std::size_t getUIColorHash() const; +} + +struct facebook::react::ColorComponents { + public facebook::react::ColorSpace colorSpace; + public float alpha; + public float blue; + public float green; + public float red; +} + +struct facebook::react::ColorStop { + public bool operator==(const facebook::react::ColorStop& other) const = default; + public facebook::react::SharedColor color; + public facebook::react::ValueUnit position; +} + +struct facebook::react::CornerRadii { + public bool operator==(const facebook::react::CornerRadii& other) const = default; + public float horizontal; + public float vertical; +} + +struct facebook::react::CullingContext { + public bool operator==(const facebook::react::CullingContext& rhs) const = default; + public bool shouldConsiderCulling() const; + public facebook::react::CullingContext adjustCullingContextIfNeeded(const facebook::react::ShadowViewNodePair& pair) const; + public facebook::react::Rect frame; + public facebook::react::Transform transform; +} + +struct facebook::react::DebugStringConvertibleOptions { +} + +struct facebook::react::DefaultTurboModules { + public static std::shared_ptr getTurboModule(const std::string& name, const std::shared_ptr& jsInvoker); +} + +struct facebook::react::DropShadowParams { + public bool operator==(const facebook::react::DropShadowParams& other) const = default; + public facebook::react::Float offsetX; + public facebook::react::Float offsetY; + public facebook::react::Float standardDeviation; + public facebook::react::SharedColor color; +} + +struct facebook::react::DummyTraceSection { + template + public DummyTraceSection(const char* name, ConvertsToStringPiece &&... args); +} + +struct facebook::react::DynamicColor { + public int32_t darkColor; + public int32_t highContrastDarkColor; + public int32_t highContrastLightColor; + public int32_t lightColor; +} + +struct facebook::react::DynamicEventPayload : public facebook::react::EventPayload { + protected folly::dynamic payload_; + public DynamicEventPayload(folly::dynamic&& payload); + public static facebook::react::SharedEventPayload create(folly::dynamic&& payload); + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; + public virtual facebook::react::EventPayloadType getType() const override; + public virtual std::optional extractValue(const std::vector& path) const override; +} + +struct facebook::react::DynamicPointerEvent : public facebook::react::DynamicEventPayload { + public DynamicPointerEvent(folly::dynamic&& payload); + public const std::optional>& getHitPathForEventListener() const; +} + +struct facebook::react::EventAnimationDriverKey { + public bool operator==(const facebook::react::EventAnimationDriverKey& rhs) const noexcept; + public facebook::react::Tag viewTag; + public std::string eventName; +} + +struct facebook::react::EventPayload { + public EventPayload() = default; + public EventPayload(const facebook::react::EventPayload&) = default; + public EventPayload(facebook::react::EventPayload&&) = default; + public facebook::react::EventPayload& operator=(const facebook::react::EventPayload&) = default; + public facebook::react::EventPayload& operator=(facebook::react::EventPayload&&) = default; + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const = 0; + public virtual facebook::react::EventPayloadType getType() const = 0; + public virtual std::optional extractValue(const std::vector&) const; + public virtual ~EventPayload() = default; +} + +struct facebook::react::FantomForcedCloneCommitHook : public facebook::react::UIManagerCommitHook { + public facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const std::shared_ptr& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode) noexcept override; + public virtual void commitHookWasRegistered(const facebook::react::UIManager&) noexcept override; + public virtual void commitHookWasUnregistered(const facebook::react::UIManager&) noexcept override; +} + +struct facebook::react::FilterFunction { + public bool operator==(const facebook::react::FilterFunction& other) const = default; + public facebook::react::FilterType type; + public std::variant parameters; +} + +struct facebook::react::ImageURLLoaderAttribution { + public NSString* analyticTag; + public int32_t nativeViewTag; + public int32_t surfaceId; + public std::string queryRootName; +} + +struct facebook::react::InspectorData { + public folly::dynamic props; + public int columnNumber; + public int lineNumber; + public int selectedIndex; + public std::string fileName; + public std::vector hierarchy; +} + +struct facebook::react::InstanceCallback { + public virtual void decrementPendingJSCalls(); + public virtual void incrementPendingJSCalls(); + public virtual void onBatchComplete(); + public virtual ~InstanceCallback() = default; +} + +struct facebook::react::IntersectionObserverEntry { + public bool isIntersectingAboveThresholds; + public bool sameShadowNodeFamily(const facebook::react::ShadowNodeFamily& otherShadowNodeFamily) const; + public facebook::react::HighResTimeStamp time; + public facebook::react::IntersectionObserverObserverId intersectionObserverId; + public facebook::react::Rect intersectionRect; + public facebook::react::Rect rootRect; + public facebook::react::Rect targetRect; + public facebook::react::ShadowNodeFamily::Shared shadowNodeFamily; +} + +struct facebook::react::LayoutAnimation { + public bool completed; + public facebook::react::LayoutAnimationCallbackWrapper failureCallback; + public facebook::react::LayoutAnimationCallbackWrapper successCallback; + public facebook::react::LayoutAnimationConfig layoutAnimationConfig; + public facebook::react::SurfaceId surfaceId; + public std::vector keyFrames; + public uint64_t startTime; +} + +struct facebook::react::LayoutAnimationConfig { + public double duration; + public facebook::react::AnimationConfig createConfig; + public facebook::react::AnimationConfig deleteConfig; + public facebook::react::AnimationConfig updateConfig; +} + +struct facebook::react::LayoutConformanceProps : public facebook::react::YogaStylableProps { + public LayoutConformanceProps() = default; + public LayoutConformanceProps(const facebook::react::PropsParserContext& context, const facebook::react::LayoutConformanceProps& sourceProps, const facebook::react::RawProps& rawProps); + public facebook::react::LayoutConformance mode; +} + +struct facebook::react::LayoutConstraints { + public facebook::react::LayoutDirection layoutDirection; + public facebook::react::Size clamp(const facebook::react::Size& size) const; + public facebook::react::Size maximumSize; + public facebook::react::Size minimumSize; +} + +struct facebook::react::LayoutContext { + public bool swapLeftAndRightInRTL; + public facebook::react::Float fontSizeMultiplier; + public facebook::react::Float pointScaleFactor; + public facebook::react::Point viewportOffset; + public std::vector* affectedNodes; +} + +struct facebook::react::LayoutMetrics { + public bool operator==(const facebook::react::LayoutMetrics& rhs) const = default; + public bool wasLeftAndRightSwapped; + public facebook::react::DisplayType displayType; + public facebook::react::EdgeInsets borderWidth; + public facebook::react::EdgeInsets contentInsets; + public facebook::react::EdgeInsets overflowInset; + public facebook::react::Float pointScaleFactor; + public facebook::react::LayoutDirection layoutDirection; + public facebook::react::PositionType positionType; + public facebook::react::Rect frame; + public facebook::react::Rect getContentFrame() const; + public facebook::react::Rect getOverflowInsetFrame() const; + public facebook::react::Rect getPaddingFrame() const; +} + +struct facebook::react::LineMeasurement { + public LineMeasurement(const folly::dynamic& data); + public LineMeasurement(std::string text, facebook::react::Rect frame, facebook::react::Float descender, facebook::react::Float capHeight, facebook::react::Float ascender, facebook::react::Float xHeight); + public bool operator==(const facebook::react::LineMeasurement& rhs) const; + public facebook::react::Float ascender; + public facebook::react::Float capHeight; + public facebook::react::Float descender; + public facebook::react::Float xHeight; + public facebook::react::Rect frame; + public static facebook::react::Float baseline(const std::vector& lines); + public std::string text; +} + +struct facebook::react::LinearGradient { + public bool operator==(const facebook::react::LinearGradient& other) const = default; + public facebook::react::GradientDirection direction; + public std::vector colorStops; +} + +struct facebook::react::Magic32 { + public uint32_t reserved_; + public uint32_t value; +} + +struct facebook::react::MarginValue { + public bool isPercentage; + public facebook::react::Float value; +} + +struct facebook::react::MeasuredPreparedTextLayout { + public facebook::react::LayoutConstraints layoutConstraints; + public facebook::react::TextMeasurement measurement; + public facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout preparedTextLayout; +} + +struct facebook::react::MethodCall { + public MethodCall(int mod, int meth, folly::dynamic&& args, int cid); + public folly::dynamic arguments; + public int callId; + public int methodId; + public int moduleId; +} + +struct facebook::react::MethodDescriptor { + public MethodDescriptor(std::string n, std::string t); + public std::string name; + public std::string type; +} + +struct facebook::react::ModalHostViewSupportedOrientationsMaskWrapped { + public facebook::react::ModalHostViewSupportedOrientationsMask value; +} + +struct facebook::react::ModuleConfig { + public folly::dynamic config; + public size_t index; +} + +struct facebook::react::MutationRecord { + public facebook::react::MutationObserverId mutationObserverId; + public std::shared_ptr targetShadowNode; + public std::vector> addedShadowNodes; + public std::vector> removedShadowNodes; +} + +struct facebook::react::NativePerformanceEntry { + public facebook::react::HighResDuration duration; + public facebook::react::HighResTimeStamp startTime; + public facebook::react::PerformanceEntryType entryType; + public std::optional connectEnd; + public std::optional connectStart; + public std::optional fetchStart; + public std::optional processingEnd; + public std::optional processingStart; + public std::optional requestStart; + public std::optional responseEnd; + public std::optional responseStart; + public std::optional interactionId; + public std::optional decodedBodySize; + public std::optional encodedBodySize; + public std::optional responseStatus; + public std::optional contentType; + public std::string name; +} + +struct facebook::react::PerformanceEntrySorter { + public bool operator()(const facebook::react::PerformanceEntry& lhs, const facebook::react::PerformanceEntry& rhs); +} + +struct facebook::react::PerformanceEventTiming : public facebook::react::AbstractPerformanceEntry { + public facebook::react::HighResTimeStamp processingEnd; + public facebook::react::HighResTimeStamp processingStart; + public facebook::react::HighResTimeStamp taskEndTime; + public facebook::react::PerformanceEntryInteractionId interactionId; + public static constexpr facebook::react::PerformanceEntryType entryType; +} + +struct facebook::react::PerformanceLongTaskTiming : public facebook::react::AbstractPerformanceEntry { + public static constexpr facebook::react::PerformanceEntryType entryType; +} + +struct facebook::react::PerformanceMark : public facebook::react::AbstractPerformanceEntry { + public static constexpr facebook::react::PerformanceEntryType entryType; +} + +struct facebook::react::PerformanceMeasure : public facebook::react::AbstractPerformanceEntry { + public static constexpr facebook::react::PerformanceEntryType entryType; +} + +struct facebook::react::PerformanceObserverObserveMultipleOptions { + public facebook::react::HighResDuration durationThreshold; +} + +struct facebook::react::PerformanceObserverObserveSingleOptions { + public bool buffered; + public facebook::react::HighResDuration durationThreshold; +} + +struct facebook::react::PerformanceResourceTiming : public facebook::react::AbstractPerformanceEntry { + public facebook::react::HighResTimeStamp fetchStart; + public facebook::react::HighResTimeStamp requestStart; + public int decodedBodySize; + public int encodedBodySize; + public int responseStatus; + public static constexpr facebook::react::PerformanceEntryType entryType; + public std::optional connectEnd; + public std::optional connectStart; + public std::optional responseEnd; + public std::optional responseStart; + public std::string contentType; +} + +struct facebook::react::Point { + public bool operator==(const facebook::react::Point& rhs) const = default; + public facebook::react::Float x; + public facebook::react::Float y; + public facebook::react::Point operator+(const facebook::react::Point& rhs) const noexcept; + public facebook::react::Point operator-() const noexcept; + public facebook::react::Point operator-(const facebook::react::Point& rhs) const noexcept; + public facebook::react::Point& operator*=(const facebook::react::Point& point) noexcept; + public facebook::react::Point& operator+=(const facebook::react::Point& point) noexcept; + public facebook::react::Point& operator-=(const facebook::react::Point& point) noexcept; +} + +struct facebook::react::PointerEvent : public facebook::react::EventPayload { + public bool altKey; + public bool ctrlKey; + public bool isPrimary; + public bool metaKey; + public bool shiftKey; + public facebook::react::Float height; + public facebook::react::Float pressure; + public facebook::react::Float tangentialPressure; + public facebook::react::Float width; + public facebook::react::HighResTimeStamp timeStamp; + public facebook::react::Point clientPoint; + public facebook::react::Point offsetPoint; + public facebook::react::Point screenPoint; + public int button; + public int buttons; + public int detail; + public int pointerId; + public int tiltX; + public int tiltY; + public int twist; + public std::string pointerType; + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; + public virtual facebook::react::EventPayloadType getType() const override; +} + +struct facebook::react::PointerEventTarget { + public facebook::react::PointerEvent event; + public std::shared_ptr target; +} + +struct facebook::react::ProcessedColorStop { + public bool operator==(const facebook::react::ProcessedColorStop& other) const = default; + public facebook::react::SharedColor color; + public std::optional position; +} + +struct facebook::react::Promise : public facebook::react::LongLivedObject { + public Promise(facebook::jsi::Runtime& rt, facebook::jsi::Function resolve, facebook::jsi::Function reject); + public facebook::jsi::Function reject_; + public facebook::jsi::Function resolve_; + public void reject(const std::string& message); + public void resolve(const facebook::jsi::Value& result); +} + +struct facebook::react::PropsParserContext { + public PropsParserContext(const facebook::react::PropsParserContext&) = delete; + public PropsParserContext(const facebook::react::SurfaceId surfaceId, const facebook::react::ContextContainer& contextContainer); + public const facebook::react::ContextContainer& contextContainer; + public const facebook::react::SurfaceId surfaceId; + public facebook::react::PropsParserContext& operator=(const facebook::react::PropsParserContext&) = delete; +} + +struct facebook::react::PropsSnapshot { + public facebook::react::BaseViewProps props; + public std::unique_ptr rawProps; + public std::unordered_set propNames; +} + +struct facebook::react::RadialGradient { + public bool operator==(const facebook::react::RadialGradient& other) const = default; + public facebook::react::RadialGradientPosition position; + public facebook::react::RadialGradientShape shape; + public facebook::react::RadialGradientSize size; + public std::vector colorStops; +} + +struct facebook::react::RadialGradientPosition { + public bool operator==(const facebook::react::RadialGradientPosition& other) const = default; + public std::optional bottom; + public std::optional left; + public std::optional right; + public std::optional top; +} + +struct facebook::react::RadialGradientSize { + public bool operator==(const facebook::react::RadialGradientSize& other) const = default; + public std::variant value; +} + +enum facebook::react::RadialGradientSize::SizeKeyword { + ClosestCorner, + ClosestSide, + FarthestCorner, + FarthestSide, +} + +struct facebook::react::RadialGradientSize::Dimensions { + public bool operator==(const facebook::react::RadialGradientSize::Dimensions& other) const = default; + public facebook::react::ValueUnit x; + public facebook::react::ValueUnit y; +} + +struct facebook::react::RawEvent { + public RawEvent(std::string type, facebook::react::SharedEventPayload eventPayload, facebook::react::SharedEventTarget eventTarget, std::weak_ptr shadowNodeFamily, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified, bool isUnique = false, facebook::react::HighResTimeStamp eventStartTimeStamp = facebook::react::HighResTimeStamp::now()); + public bool isUnique; + public facebook::react::EventTag loggingTag; + public facebook::react::HighResTimeStamp eventStartTimeStamp; + public facebook::react::RawEvent::Category category; + public facebook::react::SharedEventPayload eventPayload; + public facebook::react::SharedEventTarget eventTarget; + public std::string type; + public std::weak_ptr shadowNodeFamily; +} + +enum facebook::react::RawEvent::Category { + Continuous, + ContinuousEnd, + ContinuousStart, + Discrete, + Idle, + Unspecified, +} + +struct facebook::react::ReactNativeVersionType { + public int32_t Major; + public int32_t Minor; + public int32_t Patch; + public std::string_view Prerelease; +} + +struct facebook::react::RecoverableError : public std::exception { + public RecoverableError(const std::string& what_); + public virtual const char* what() const noexcept override; + template + public static void runRethrowingAsRecoverable(std::function act); +} + +struct facebook::react::Rect { + public bool containsPoint(facebook::react::Point point) noexcept; + public bool operator==(const facebook::react::Rect& rhs) const noexcept = default; + public facebook::react::Float getMaxX() const noexcept; + public facebook::react::Float getMaxY() const noexcept; + public facebook::react::Float getMidX() const noexcept; + public facebook::react::Float getMidY() const noexcept; + public facebook::react::Float getMinX() const noexcept; + public facebook::react::Float getMinY() const noexcept; + public facebook::react::Point getCenter() const noexcept; + public facebook::react::Point origin; + public facebook::react::Size size; + public static facebook::react::Rect boundingRect(const facebook::react::Point& a, const facebook::react::Point& b, const facebook::react::Point& c, const facebook::react::Point& d) noexcept; + public static facebook::react::Rect intersect(const facebook::react::Rect& rect1, const facebook::react::Rect& rect2); + public void unionInPlace(const facebook::react::Rect& rect) noexcept; +} + +struct facebook::react::RequestInfo { + public std::optional headers; + public std::optional httpBody; + public std::string httpMethod; + public std::string url; +} + +struct facebook::react::ResourceTimingData { + public facebook::react::HighResTimeStamp fetchStart; + public facebook::react::HighResTimeStamp requestStart; + public int decodedBodySize; + public int encodedBodySize; + public int responseStatus; + public std::optional connectEnd; + public std::optional connectStart; + public std::optional responseStart; + public std::string contentType; + public std::string url; +} + +struct facebook::react::ResponseInfo { + public std::optional headers; + public std::string url; + public uint16_t statusCode; +} + +struct facebook::react::SchedulerToolbox { + public facebook::react::ComponentRegistryFactory componentRegistryFactory; + public facebook::react::EventBeat::Factory eventBeatFactory; + public facebook::react::RuntimeExecutor runtimeExecutor; + public std::optional bridgelessBindingsExecutor; + public std::shared_ptr contextContainer; + public std::shared_ptr animationChoreographer; + public std::vector> commitHooks; +} + +struct facebook::react::ScrollEndDragEvent : public facebook::react::ScrollEvent { + public ScrollEndDragEvent() = default; + public ScrollEndDragEvent(const facebook::react::ScrollEvent& scrollEvent); + public facebook::react::Point targetContentOffset; + public facebook::react::Point velocity; + public folly::dynamic asDynamic() const; + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; +} + +struct facebook::react::ScrollEvent : public facebook::react::EventPayload { + public ScrollEvent() = default; + public facebook::react::EdgeInsets contentInset; + public facebook::react::Float timestamp; + public facebook::react::Float zoomScale; + public facebook::react::Point contentOffset; + public facebook::react::Size containerSize; + public facebook::react::Size contentSize; + public folly::dynamic asDynamic() const; + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; + public virtual facebook::react::EventPayloadType getType() const override; + public virtual std::optional extractValue(const std::vector& path) const override; +} + +struct facebook::react::ShadowNodeFamilyFragment { + public const facebook::react::SurfaceId surfaceId; + public const facebook::react::Tag tag; + public const std::shared_ptr instanceHandle; +} + +struct facebook::react::ShadowNodeFragment { + public const bool runtimeShadowNodeReference; + public const facebook::react::Props::Shared& props; + public const facebook::react::State::Shared& state; + public const std::shared_ptr>>& children; + public static const facebook::react::Props::Shared& propsPlaceholder(); + public static const facebook::react::State::Shared& statePlaceholder(); + public static const std::shared_ptr>>& childrenPlaceholder(); +} + +struct facebook::react::ShadowNodeListWrapper : public facebook::jsi::NativeState { + public ShadowNodeListWrapper(std::shared_ptr>> shadowNodeList); + public std::shared_ptr>> shadowNodeList; + public ~ShadowNodeListWrapper() override; +} + +struct facebook::react::ShadowNodeWrapper : public facebook::jsi::NativeState { + public ShadowNodeWrapper(std::shared_ptr shadowNode); + public std::shared_ptr shadowNode; + public ~ShadowNodeWrapper() override; +} + +struct facebook::react::ShadowTreeCommitOptions { + public bool enableStateReconciliation; + public bool mountSynchronously; + public facebook::react::ShadowTreeCommitSource source; +} + +struct facebook::react::ShadowView { + public ShadowView() = default; + public ShadowView(const facebook::react::ShadowNode& shadowNode); + public ShadowView(const facebook::react::ShadowView& shadowView) = default; + public ShadowView(facebook::react::ShadowView&& shadowView) noexcept = default; + public bool operator==(const facebook::react::ShadowView& rhs) const; + public facebook::react::ComponentHandle componentHandle; + public facebook::react::ComponentName componentName; + public facebook::react::EventEmitter::Shared eventEmitter; + public facebook::react::LayoutMetrics layoutMetrics; + public facebook::react::Props::Shared props; + public facebook::react::ShadowNodeTraits traits; + public facebook::react::ShadowView& operator=(const facebook::react::ShadowView& other) = default; + public facebook::react::ShadowView& operator=(facebook::react::ShadowView&& other) = default; + public facebook::react::State::Shared state; + public facebook::react::SurfaceId surfaceId; + public facebook::react::Tag tag; +} + +struct facebook::react::ShadowViewMutation { + public ShadowViewMutation() = delete; + public bool mutatedViewIsVirtual() const; + public facebook::react::ShadowView newChildShadowView; + public facebook::react::ShadowView oldChildShadowView; + public facebook::react::ShadowViewMutation::Type type; + public facebook::react::Tag parentTag; + public int index; + public static facebook::react::ShadowViewMutation CreateMutation(facebook::react::ShadowView shadowView); + public static facebook::react::ShadowViewMutation DeleteMutation(facebook::react::ShadowView shadowView); + public static facebook::react::ShadowViewMutation InsertMutation(const facebook::react::ShadowView& parentShadowView, facebook::react::ShadowView childShadowView, int index); + public static facebook::react::ShadowViewMutation InsertMutation(facebook::react::Tag parentTag, facebook::react::ShadowView childShadowView, int index); + public static facebook::react::ShadowViewMutation RemoveMutation(const facebook::react::ShadowView& parentShadowView, facebook::react::ShadowView childShadowView, int index); + public static facebook::react::ShadowViewMutation RemoveMutation(facebook::react::Tag parentTag, facebook::react::ShadowView childShadowView, int index); + public static facebook::react::ShadowViewMutation UpdateMutation(facebook::react::ShadowView oldChildShadowView, facebook::react::ShadowView newChildShadowView, const facebook::react::ShadowView& parentShadowView); + public static facebook::react::ShadowViewMutation UpdateMutation(facebook::react::ShadowView oldChildShadowView, facebook::react::ShadowView newChildShadowView, facebook::react::Tag parentTag); + public using List = std::vector; +} + +enum facebook::react::ShadowViewMutation::Type : std::uint8_t { + Create, + Delete, + Insert, + Remove, + Update, +} + +struct facebook::react::ShadowViewNodePair { + public bool flattened; + public bool inOtherTree() const; + public bool isConcreteView; + public bool operator==(const facebook::react::ShadowViewNodePair& rhs) const; + public const facebook::react::ShadowNode* shadowNode; + public facebook::react::Point contextOrigin; + public facebook::react::ShadowView shadowView; + public mutable const facebook::react::ShadowViewNodePair* otherTreePair; + public size_t mountIndex; +} + +struct facebook::react::Size { + public facebook::react::Float height; + public facebook::react::Float width; + public facebook::react::Size& operator*=(const facebook::react::Point& point) noexcept; + public facebook::react::Size& operator+=(const facebook::react::Point& point) noexcept; +} + +struct facebook::react::StateData { + public using Shared = std::shared_ptr; +} + +struct facebook::react::SurfaceContext { + public std::unordered_map> map; + public std::unordered_map> pendingMap; + public std::unordered_set> families; + public std::unordered_set> pendingFamilies; +} + +struct facebook::react::SurfaceUpdates { + public bool hasLayoutUpdates; + public std::unordered_map propsMap; + public std::unordered_set> families; +} + +struct facebook::react::SystraceSection : public facebook::react::DummyTraceSection { + template + public SystraceSection(const char* name, ConvertsToStringPiece &&... args); +} + +struct facebook::react::Task : public facebook::jsi::NativeState { + public Task(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback, facebook::react::HighResTimeStamp expirationTime); + public Task(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback, facebook::react::HighResTimeStamp expirationTime); +} + +struct facebook::react::TextLayoutContext { + public bool operator==(const facebook::react::TextLayoutContext& rhs) const = default; + public facebook::react::Float pointScaleFactor; + public facebook::react::SurfaceId surfaceId; +} + +struct facebook::react::TimerCallback { + public TimerCallback(facebook::jsi::Function callback, std::vector args, bool repeat, facebook::react::TimerSource source = facebook::react::TimerSource::Unknown); + public bool repeat; + public const std::vector args_; + public facebook::jsi::Function callback_; + public facebook::react::TimerSource source; + public void invoke(facebook::jsi::Runtime& runtime); +} + +struct facebook::react::TouchEvent { + public facebook::react::Touches changedTouches; + public facebook::react::Touches targetTouches; + public facebook::react::Touches touches; +} + +struct facebook::react::Transform { + public bool operator==(const facebook::react::Transform& rhs) const noexcept; + public const facebook::react::Float& at(int i, int j) const noexcept; + public facebook::react::Float& at(int i, int j) noexcept; + public facebook::react::Rect applyWithCenter(const facebook::react::Rect& rect, const facebook::react::Point& center) const; + public facebook::react::Transform operator*(const facebook::react::Transform& rhs) const; + public operator folly::dynamic() const; + public static bool isHorizontalInversion(const facebook::react::Transform& transform) noexcept; + public static bool isVerticalInversion(const facebook::react::Transform& transform) noexcept; + public static facebook::react::Transform FromTransformOperation(facebook::react::TransformOperation transformOperation, const facebook::react::Size& size, const facebook::react::Transform& transform = facebook::react::Transform::Identity()); + public static facebook::react::Transform HorizontalInversion() noexcept; + public static facebook::react::Transform Identity() noexcept; + public static facebook::react::Transform Interpolate(facebook::react::Float animationProgress, const facebook::react::Transform& lhs, const facebook::react::Transform& rhs, const facebook::react::Size& size); + public static facebook::react::Transform Perspective(facebook::react::Float perspective) noexcept; + public static facebook::react::Transform Rotate(facebook::react::Float angleX, facebook::react::Float angleY, facebook::react::Float angleZ) noexcept; + public static facebook::react::Transform RotateX(facebook::react::Float radians) noexcept; + public static facebook::react::Transform RotateY(facebook::react::Float radians) noexcept; + public static facebook::react::Transform RotateZ(facebook::react::Float radians) noexcept; + public static facebook::react::Transform Scale(facebook::react::Float factorX, facebook::react::Float factorY, facebook::react::Float factorZ) noexcept; + public static facebook::react::Transform Skew(facebook::react::Float x, facebook::react::Float y) noexcept; + public static facebook::react::Transform Translate(facebook::react::Float x, facebook::react::Float y, facebook::react::Float z) noexcept; + public static facebook::react::Transform VerticalInversion() noexcept; + public static facebook::react::TransformOperation DefaultTransformOperation(facebook::react::TransformOperationType type); + public std::array matrix; + public std::vector operations; +} + +struct facebook::react::TransformConfig { + public double value; + public facebook::react::Tag nodeTag; + public std::string property; +} + +struct facebook::react::TransformOperation { + public bool operator==(const facebook::react::TransformOperation& other) const = default; + public facebook::react::TransformOperationType type; + public facebook::react::ValueUnit x; + public facebook::react::ValueUnit y; + public facebook::react::ValueUnit z; +} + +struct facebook::react::TransformOrigin { + public bool isSet() const; + public bool operator==(const facebook::react::TransformOrigin& other) const = default; + public float z; + public std::array xy; +} + +struct facebook::react::ValueUnit { + public constexpr ValueUnit() = default; + public constexpr ValueUnit(float v, facebook::react::UnitType u); + public constexpr bool operator==(const facebook::react::ValueUnit& other) const = default; + public constexpr float resolve(float referenceLength) const; + public constexpr operator bool() const; + public facebook::react::UnitType unit; + public float value; +} + +struct facebook::react::Vector { + public facebook::react::Float w; + public facebook::react::Float x; + public facebook::react::Float y; + public facebook::react::Float z; +} + +struct facebook::react::ViewEvents { + public constexpr bool operator[](const facebook::react::ViewEvents::Offset offset) const; + public std::bitset<64> bits; + public std::bitset<64>::reference operator[](const facebook::react::ViewEvents::Offset offset); +} + +enum facebook::react::ViewEvents::Offset : std::size_t { + Click, + ClickCapture, + GotPointerCapture, + LostPointerCapture, + MoveShouldSetResponder, + MoveShouldSetResponderCapture, + PointerDown, + PointerDownCapture, + PointerEnter, + PointerEnterCapture, + PointerLeave, + PointerLeaveCapture, + PointerMove, + PointerMoveCapture, + PointerOut, + PointerOutCapture, + PointerOver, + PointerOverCapture, + PointerUp, + PointerUpCapture, + ResponderEnd, + ResponderGrant, + ResponderMove, + ResponderReject, + ResponderRelease, + ResponderStart, + ResponderTerminate, + ResponderTerminationRequest, + ShouldBlockNativeResponder, + StartShouldSetResponder, + StartShouldSetResponderCapture, + TouchCancel, + TouchEnd, + TouchMove, + TouchStart, +} + +template +struct facebook::react::CSSList : public std::vector { +} + +template +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +template +struct facebook::react::CSSList { +} + +template ... VisitorsT> +struct facebook::react::CSSComponentValueVisitorDispatcher { + public constexpr ReturnT consumeComponentValue(facebook::react::CSSDelimiter delimiter, const VisitorsT &... visitors); + public constexpr std::optional visitFunction(); + public constexpr std::optional visitFunction(const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); + public constexpr std::optional visitPreservedToken(); + public constexpr std::optional visitPreservedToken(const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); + public constexpr std::optional visitSimpleBlock(facebook::react::CSSTokenType endToken); + public constexpr std::optional visitSimpleBlock(facebook::react::CSSTokenType endToken, const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); + public facebook::react::CSSSyntaxParser& parser; +} + +template +struct facebook::react::CSSList : public std::vector { +} + +template +class facebook::react::CircularBuffer { + public CircularBuffer(size_t maxSize); + public T& operator[](size_t idx); + public bool add(const T& el); + public size_t size() const; + public std::vector getEntries() const; + public std::vector getEntries(std::function predicate) const; + public void clear(); + public void clear(std::function predicate); + public void getEntries(std::vector& res) const; + public void getEntries(std::vector& res, std::function predicate) const; +} + +template +class facebook::react::MoveWrapper { + public MoveWrapper() = default; + public MoveWrapper(T&& t); + public MoveWrapper(const facebook::react::MoveWrapper& other); + public MoveWrapper(facebook::react::MoveWrapper&& other) noexcept; + public T& operator*(); + public T&& move(); + public T* operator->(); + public const T& operator*() const; + public const T* operator->() const; + public facebook::react::MoveWrapper& operator=(const facebook::react::MoveWrapper&) = delete; + public facebook::react::MoveWrapper& operator=(facebook::react::MoveWrapper&&) = delete; +} + +template +class facebook::react::ConcreteViewShadowNode : public facebook::react::ConcreteShadowNode { + public ConcreteViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ConcreteViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public using BaseShadowNode = facebook::react::ConcreteShadowNode; + public using ConcreteViewProps = ViewPropsT; + public virtual bool canBeTouchTarget() const override; + public virtual bool canChildrenBeTouchTarget() const override; + public virtual facebook::react::Transform getTransform() const override; +} + +template +class facebook::react::BaseTextInputShadowNode : public facebook::react::ConcreteViewShadowNode, public facebook::react::BaseTextShadowNode { + protected facebook::react::LayoutConstraints getTextConstraints(const facebook::react::LayoutConstraints& layoutConstraints) const; + protected std::shared_ptr textLayoutManager_; + protected virtual facebook::react::Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const override; + protected virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; + protected virtual void layout(facebook::react::LayoutContext layoutContext) override; + public BaseTextInputShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public BaseTextInputShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public using BaseShadowNode = facebook::react::ConcreteViewShadowNode; + public void setTextLayoutManager(std::shared_ptr textLayoutManager); +} + +template +class facebook::react::UnstableLegacyViewManagerInteropComponentDescriptor : public facebook::react::ConcreteComponentDescriptor> { + public UnstableLegacyViewManagerInteropComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); +} + +template +class facebook::react::ConcreteShadowNode : public BaseShadowNodeT { + protected facebook::react::Props::Shared props_; + protected facebook::react::State::Shared state_; + public const facebook::react::ConcreteShadowNode::ConcreteEventEmitter& getConcreteEventEmitter() const; + public const facebook::react::ConcreteShadowNode::ConcreteProps& getConcreteProps() const; + public const facebook::react::ConcreteShadowNode::ConcreteStateData& getStateData() const; + public const std::shared_ptr& getConcreteSharedProps() const; + public static const facebook::react::ConcreteShadowNode::SharedConcreteProps& defaultSharedProps(); + public static facebook::react::ComponentHandle Handle(); + public static facebook::react::ComponentName Name(); + public static facebook::react::ConcreteShadowNode::ConcreteStateData initialStateData(const facebook::react::Props::Shared&, const facebook::react::ShadowNodeFamily::Shared&, const facebook::react::ComponentDescriptor&); + public static facebook::react::ConcreteShadowNode::UnsharedConcreteProps Props(const facebook::react::PropsParserContext& context, const facebook::react::RawProps& rawProps, const facebook::react::Props::Shared& baseProps = nullptr); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public using ConcreteEventEmitter = EventEmitterT; + public using ConcreteProps = PropsT; + public using ConcreteState = facebook::react::ConcreteState; + public using ConcreteStateData = StateDataT; + public using SharedConcreteEventEmitter = std::shared_ptr; + public using SharedConcreteProps = std::shared_ptr; + public using SharedConcreteShadowNode = std::shared_ptr; + public using UnsharedConcreteProps = std::shared_ptr; + public void setStateData(facebook::react::ConcreteShadowNode::ConcreteStateData&& data); +} + +template +struct facebook::react::Bridging : public facebook::react::Bridging { +} + +template +struct facebook::react::TemplateStringLiteral { + public constexpr TemplateStringLiteral(const char(&str)[N]); + public constexpr operator std::string_view() const; + public std::array value; +} + +template +class facebook::react::RCTIdentifierPool { + public int dequeue(); + public void enqueue(int index); + public void reset(); +} + +template +struct facebook::react::CSSDataTypeParser { +} + +template +class facebook::react::ConcreteState : public facebook::react::State { + public ConcreteState(facebook::react::ConcreteState::SharedData data, const facebook::react::State& previousState); + public ConcreteState(facebook::react::ConcreteState::SharedData data, facebook::react::ShadowNodeFamily::Weak family); + public const facebook::react::ConcreteState::Data& getData() const; + public using Data = DataT; + public using Shared = std::shared_ptr; + public using SharedData = std::shared_ptr; + public void updateState(facebook::react::ConcreteState::Data&& newData, facebook::react::EventQueue::UpdateMode updateMode = facebook::react::EventQueue::UpdateMode::Asynchronous) const; + public void updateState(std::function callback, facebook::react::EventQueue::UpdateMode updateMode = facebook::react::EventQueue::UpdateMode::Asynchronous) const; + public ~ConcreteState() override = default; +} + +template +class facebook::react::SyncCallback { +} + +template +class facebook::react::SimpleThreadSafeCache { + public SimpleThreadSafeCache(); + public SimpleThreadSafeCache(unsigned long size); + public ValueT get(const KeyT& key, facebook::react::CacheGeneratorFunction auto generator) const; + public std::optional get(const KeyT& key) const; + public std::pair getWithKey(const KeyT& key, facebook::react::CacheGeneratorFunction auto generator) const; +} + +template +class facebook::react::DiffMap { + public DiffMap(); + public DiffMap(size_t sizeHint); + public facebook::react::DiffMap::Iterator begin(); + public facebook::react::DiffMap::Iterator end(); + public facebook::react::DiffMap::Iterator find(KeyT key); + public using Pair = std::pair; + public void erase(facebook::react::DiffMap::Iterator it); + public void insert(facebook::react::DiffMap::Pair pair); +} + +class facebook::react::DiffMap::Iterator { + public bool operator!=(const facebook::react::DiffMap::Iterator& other) const; + public bool operator==(const facebook::react::DiffMap::Iterator& other) const; + public const facebook::react::DiffMap::Pair& operator*() const; + public const facebook::react::DiffMap::Pair* operator->() const; + public facebook::react::DiffMap::Iterator& operator++(); +} + +template +class facebook::react::OnScopeExit { + public OnScopeExit(const Lambda&& lambda) noexcept; + public OnScopeExit(const facebook::react::OnScopeExit&) = delete; + public OnScopeExit(facebook::react::OnScopeExit&&) = delete; + public facebook::react::OnScopeExit& operator=(const facebook::react::OnScopeExit&) = delete; + public facebook::react::OnScopeExit& operator=(facebook::react::OnScopeExit&&) = delete; + public ~OnScopeExit() noexcept; +} + +template +struct facebook::react::NativePerformanceRawPerformanceEntry { + public P0 name; + public P1 entryType; + public P2 startTime; + public P3 duration; + public P4 processingStart; + public P5 processingEnd; + public P6 interactionId; + public P7 fetchStart; + public P8 requestStart; + public P9 connectStart; + public P10 connectEnd; + public P11 responseStart; + public P12 responseEnd; + public P13 responseStatus; + public P14 contentType; + public P15 encodedBodySize; + public P16 decodedBodySize; + public bool operator==(const facebook::react::NativePerformanceRawPerformanceEntry& other) const; +} + +template +struct facebook::react::NativePlatformConstantsAndroidPlatformConstantsAndroid { + public P0 isTesting; + public P1 isDisableAnimations; + public P2 reactNativeVersion; + public P3 Version; + public P4 Release; + public P5 Serial; + public P6 Fingerprint; + public P7 Model; + public P8 ServerHost; + public P9 uiMode; + public P10 Brand; + public P11 Manufacturer; + public bool operator==(const facebook::react::NativePlatformConstantsAndroidPlatformConstantsAndroid& other) const; +} + +template +struct facebook::react::NativeAlertManagerArgs { + public P0 title; + public P1 message; + public P2 buttons; + public P3 type; + public P4 defaultValue; + public P5 cancelButtonKey; + public P6 destructiveButtonKey; + public P7 preferredButtonKey; + public P8 keyboardType; + public P9 userInterfaceStyle; + public bool operator==(const facebook::react::NativeAlertManagerArgs& other) const; +} + +template +struct facebook::react::NativePushNotificationManagerIOSNotification { + public P0 alertTitle; + public P1 alertBody; + public P2 userInfo; + public P3 category; + public P4 fireDate; + public P5 fireIntervalSeconds; + public P6 applicationIconBadgeNumber; + public P7 isSilent; + public P8 soundName; + public bool operator==(const facebook::react::NativePushNotificationManagerIOSNotification& other) const; +} + +template +struct facebook::react::NativeExceptionsManagerExceptionData { + public P0 message; + public P1 originalMessage; + public P2 name; + public P3 componentStack; + public P4 stack; + public P5 id; + public P6 isFatal; + public P7 extraData; + public bool operator==(const facebook::react::NativeExceptionsManagerExceptionData& other) const; +} + +template +struct facebook::react::NativePlatformConstantsIOSPlatformConstantsIOS { + public P0 isTesting; + public P1 isDisableAnimations; + public P2 reactNativeVersion; + public P3 forceTouchAvailable; + public P4 osVersion; + public P5 systemName; + public P6 interfaceIdiom; + public P7 isMacCatalyst; + public bool operator==(const facebook::react::NativePlatformConstantsIOSPlatformConstantsIOS& other) const; +} + +template +struct facebook::react::NativeDialogManagerAndroidDialogOptions { + public P0 title; + public P1 message; + public P2 buttonPositive; + public P3 buttonNegative; + public P4 buttonNeutral; + public P5 items; + public P6 cancelable; + public bool operator==(const facebook::react::NativeDialogManagerAndroidDialogOptions& other) const; +} + +template +struct facebook::react::NativeIntersectionObserverNativeIntersectionObserverEntry { + public P0 intersectionObserverId; + public P1 targetInstanceHandle; + public P2 targetRect; + public P3 rootRect; + public P4 intersectionRect; + public P5 isIntersectingAboveThresholds; + public P6 time; + public bool operator==(const facebook::react::NativeIntersectionObserverNativeIntersectionObserverEntry& other) const; +} + +template +struct facebook::react::NativeIntersectionObserverNativeIntersectionObserverObserveOptions { + public P0 intersectionObserverId; + public P1 rootShadowNode; + public P2 targetShadowNode; + public P3 thresholds; + public P4 rootThresholds; + public P5 rootMargin; + public bool operator==(const facebook::react::NativeIntersectionObserverNativeIntersectionObserverObserveOptions& other) const; +} + +template +struct facebook::react::NativeDeviceInfoDisplayMetricsAndroid { + public P0 width; + public P1 height; + public P2 scale; + public P3 fontScale; + public P4 densityDpi; + public bool operator==(const facebook::react::NativeDeviceInfoDisplayMetricsAndroid& other) const; +} + +template +struct facebook::react::NativeExceptionsManagerStackFrame { + public P0 column; + public P1 file; + public P2 lineNumber; + public P3 methodName; + public P4 collapse; + public bool operator==(const facebook::react::NativeExceptionsManagerStackFrame& other) const; +} + +template +struct facebook::react::NativeImageEditorOptions { + public P0 offset; + public P1 size; + public P2 displaySize; + public P3 resizeMode; + public P4 allowExternalStorage; + public bool operator==(const facebook::react::NativeImageEditorOptions& other) const; +} + +template +struct facebook::react::NativeDeviceInfoDimensionsPayload { + public P0 window; + public P1 screen; + public P2 windowPhysicalPixels; + public P3 screenPhysicalPixels; + public bool operator==(const facebook::react::NativeDeviceInfoDimensionsPayload& other) const; +} + +template +struct facebook::react::NativeDeviceInfoDisplayMetrics { + public P0 width; + public P1 height; + public P2 scale; + public P3 fontScale; + public bool operator==(const facebook::react::NativeDeviceInfoDisplayMetrics& other) const; +} + +template +struct facebook::react::NativeFantomImageResponse { + public P0 width; + public P1 height; + public P2 cacheStatus; + public P3 errorMessage; + public bool operator==(const facebook::react::NativeFantomImageResponse& other) const; +} + +template +struct facebook::react::NativeMutationObserverNativeMutationRecord { + public P0 mutationObserverId; + public P1 target; + public P2 addedNodes; + public P3 removedNodes; + public bool operator==(const facebook::react::NativeMutationObserverNativeMutationRecord& other) const; +} + +template +struct facebook::react::NativePerformancePerformanceObserverInit { + public P0 entryTypes; + public P1 type; + public P2 buffered; + public P3 durationThreshold; + public bool operator==(const facebook::react::NativePerformancePerformanceObserverInit& other) const; +} + +template +struct facebook::react::NativePlatformConstantsAndroidReactNativeVersionAndroid { + public P0 major; + public P1 minor; + public P2 patch; + public P3 prerelease; + public bool operator==(const facebook::react::NativePlatformConstantsAndroidReactNativeVersionAndroid& other) const; +} + +template +struct facebook::react::NativeAnimatedModuleEndResult { + public P0 finished; + public P1 value; + public P2 offset; + public bool operator==(const facebook::react::NativeAnimatedModuleEndResult& other) const; +} + +template +struct facebook::react::NativeAnimatedTurboModuleEndResult { + public P0 finished; + public P1 value; + public P2 offset; + public bool operator==(const facebook::react::NativeAnimatedTurboModuleEndResult& other) const; +} + +template +struct facebook::react::NativeDeviceInfoDeviceInfoConstants { + public P0 Dimensions; + public P1 isEdgeToEdge; + public P2 isIPhoneX_deprecated; + public bool operator==(const facebook::react::NativeDeviceInfoDeviceInfoConstants& other) const; +} + +template +struct facebook::react::NativeFantomScrollOptions { + public P0 x; + public P1 y; + public P2 zoomScale; + public bool operator==(const facebook::react::NativeFantomScrollOptions& other) const; +} + +template +struct facebook::react::NativeI18nManagerI18nManagerConstants { + public P0 doLeftAndRightSwapInRTL; + public P1 isRTL; + public P2 localeIdentifier; + public bool operator==(const facebook::react::NativeI18nManagerI18nManagerConstants& other) const; +} + +template +struct facebook::react::NativeMutationObserverNativeMutationObserverObserveOptions { + public P0 mutationObserverId; + public P1 targetShadowNode; + public P2 subtree; + public bool operator==(const facebook::react::NativeMutationObserverNativeMutationObserverObserveOptions& other) const; +} + +template +struct facebook::react::NativePushNotificationManagerIOSPermissions { + public P0 alert; + public P1 badge; + public P2 sound; + public bool operator==(const facebook::react::NativePushNotificationManagerIOSPermissions& other) const; +} + +template +struct facebook::react::NativeAnimatedModuleEventMapping { + public P0 nativeEventPath; + public P1 animatedValueTag; + public bool operator==(const facebook::react::NativeAnimatedModuleEventMapping& other) const; +} + +template +struct facebook::react::NativeAnimatedTurboModuleEventMapping { + public P0 nativeEventPath; + public P1 animatedValueTag; + public bool operator==(const facebook::react::NativeAnimatedTurboModuleEventMapping& other) const; +} + +template +struct facebook::react::NativeBlobModuleConstants { + public P0 BLOB_URI_SCHEME; + public P1 BLOB_URI_HOST; + public bool operator==(const facebook::react::NativeBlobModuleConstants& other) const; +} + +template +struct facebook::react::NativeFantomRenderFormatOptions { + public P0 includeRoot; + public P1 includeLayoutMetrics; + public bool operator==(const facebook::react::NativeFantomRenderFormatOptions& other) const; +} + +template +struct facebook::react::NativeIdleCallbacksIdleDeadline { + public P0 didTimeout; + public P1 timeRemaining; + public bool operator==(const facebook::react::NativeIdleCallbacksIdleDeadline& other) const; +} + +template +struct facebook::react::NativeImageLoaderAndroidImageSize { + public P0 width; + public P1 height; + public bool operator==(const facebook::react::NativeImageLoaderAndroidImageSize& other) const; +} + +template +struct facebook::react::NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfig { + public P0 shouldReloadAndProfile; + public P1 recordChangeDescriptions; + public bool operator==(const facebook::react::NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfig& other) const; +} + +template +struct facebook::react::NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfig { + public P0 shouldReloadAndProfile; + public P1 recordChangeDescriptions; + public bool operator==(const facebook::react::NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfig& other) const; +} + +template +struct facebook::react::NativeAppStateAppState { + public P0 app_state; + public bool operator==(const facebook::react::NativeAppStateAppState& other) const; +} + +template +struct facebook::react::NativeAppStateAppStateConstants { + public P0 initialAppState; + public bool operator==(const facebook::react::NativeAppStateAppStateConstants& other) const; +} + +template +struct facebook::react::NativeIdleCallbacksRequestIdleCallbackOptions { + public P0 timeout; + public bool operator==(const facebook::react::NativeIdleCallbacksRequestIdleCallbackOptions& other) const; +} + +template +struct facebook::react::NativeSourceCodeSourceCodeConstants { + public P0 scriptURL; + public bool operator==(const facebook::react::NativeSourceCodeSourceCodeConstants& other) const; +} + +template +class facebook::react::SyncCallback { + public R call(Args... args) const; + public R operator()(Args... args) const; + public SyncCallback(const facebook::react::SyncCallback&) = delete; + public SyncCallback(facebook::jsi::Runtime& rt, facebook::jsi::Function function, std::shared_ptr jsInvoker); + public SyncCallback(facebook::react::SyncCallback&& other) noexcept; + public facebook::react::SyncCallback& operator=(const facebook::react::SyncCallback&) = delete; + public facebook::react::SyncCallback& operator=(facebook::react::SyncCallback&& other) noexcept; + public ~SyncCallback(); +} + +template +struct facebook::react::Bridging : public facebook::react::Bridging> { +} + +template +struct facebook::react::Bridging : public facebook::react::Bridging> { +} + +template +class facebook::react::BaseParagraphComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; + public BaseParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); + public virtual facebook::react::ComponentName getComponentName() const override; +} + +template +class facebook::react::ConcreteComponentDescriptor : public facebook::react::ComponentDescriptor { + protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; + public ConcreteComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public using ConcreteEventEmitter = typename ShadowNodeT::ConcreteEventEmitter; + public using ConcreteProps = typename ShadowNodeT::ConcreteProps; + public using ConcreteShadowNode = ShadowNodeT; + public using ConcreteState = typename ShadowNodeT::ConcreteState; + public using ConcreteStateData = typename ShadowNodeT::ConcreteState::Data; + public using SharedConcreteEventEmitter = typename ShadowNodeT::SharedConcreteEventEmitter; + public using SharedConcreteProps = typename ShadowNodeT::SharedConcreteProps; + public virtual facebook::react::ComponentHandle getComponentHandle() const override; + public virtual facebook::react::ComponentName getComponentName() const override; + public virtual facebook::react::Props::Shared cloneProps(const facebook::react::PropsParserContext& context, const facebook::react::Props::Shared& props, facebook::react::RawProps rawProps) const override; + public virtual facebook::react::ShadowNodeFamily::Shared createFamily(const facebook::react::ShadowNodeFamilyFragment& fragment) const override; + public virtual facebook::react::ShadowNodeTraits getTraits() const override; + public virtual facebook::react::State::Shared createInitialState(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family) const override; + public virtual facebook::react::State::Shared createState(const facebook::react::ShadowNodeFamily& family, const facebook::react::StateData::Shared& data) const override; + public virtual std::shared_ptr cloneShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) const override; + public virtual std::shared_ptr createShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family) const override; + public virtual void appendChild(const std::shared_ptr& parentShadowNode, const std::shared_ptr& childShadowNode) const override; +} + +template +class facebook::react::Element { + public Element(); + public facebook::react::Element& children(std::vector children); + public facebook::react::Element& finalize(std::function finalizeCallback); + public facebook::react::Element& props(facebook::react::Element::SharedConcreteProps props); + public facebook::react::Element& props(std::function callback); + public facebook::react::Element& reference(facebook::react::Element::ConcreteUnsharedShadowNode& outShadowNode); + public facebook::react::Element& reference(std::function callback); + public facebook::react::Element& stateData(std::function callback); + public facebook::react::Element& surfaceId(facebook::react::SurfaceId surfaceId); + public facebook::react::Element& tag(facebook::react::Tag tag); + public operator facebook::react::ElementFragment(); + public using ConcreteProps = typename ShadowNodeT::ConcreteProps; + public using ConcreteReferenceCallback = std::function& shadowNode)>; + public using ConcreteShadowNode = ShadowNodeT; + public using ConcreteState = typename ShadowNodeT::ConcreteState; + public using ConcreteStateData = typename ShadowNodeT::ConcreteStateData; + public using ConcreteUnsharedShadowNode = std::shared_ptr; + public using SharedConcreteProps = std::shared_ptr; + public using SharedConcreteState = std::shared_ptr; +} + +template +struct facebook::react::Bridging { +} + +template +class facebook::react::NativeAccessibilityInfoCxxSpec : public facebook::react::TurboModule { + protected NativeAccessibilityInfoCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeAccessibilityManagerCxxSpec : public facebook::react::TurboModule { + protected NativeAccessibilityManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeActionSheetManagerCxxSpec : public facebook::react::TurboModule { + protected NativeActionSheetManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeAlertManagerCxxSpec : public facebook::react::TurboModule { + protected NativeAlertManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeAnimatedModuleCxxSpec : public facebook::react::TurboModule { + protected NativeAnimatedModuleCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeAnimatedTurboModuleCxxSpec : public facebook::react::TurboModule { + protected NativeAnimatedTurboModuleCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeAppStateCxxSpec : public facebook::react::TurboModule { + protected NativeAppStateCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeAppearanceCxxSpec : public facebook::react::TurboModule { + protected NativeAppearanceCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeBlobModuleCxxSpec : public facebook::react::TurboModule { + protected NativeBlobModuleCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeCPUTimeCxxSpec : public facebook::react::TurboModule { + protected NativeCPUTimeCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeClipboardCxxSpec : public facebook::react::TurboModule { + protected NativeClipboardCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeDOMCxxSpec : public facebook::react::TurboModule { + protected NativeDOMCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeDevLoadingViewCxxSpec : public facebook::react::TurboModule { + protected NativeDevLoadingViewCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeDevMenuCxxSpec : public facebook::react::TurboModule { + protected NativeDevMenuCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeDevSettingsCxxSpec : public facebook::react::TurboModule { + protected NativeDevSettingsCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeDeviceEventManagerCxxSpec : public facebook::react::TurboModule { + protected NativeDeviceEventManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeDeviceInfoCxxSpec : public facebook::react::TurboModule { + protected NativeDeviceInfoCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeDialogManagerAndroidCxxSpec : public facebook::react::TurboModule { + protected NativeDialogManagerAndroidCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeExceptionsManagerCxxSpec : public facebook::react::TurboModule { + protected NativeExceptionsManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeFantomCxxSpec : public facebook::react::TurboModule { + protected NativeFantomCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeFantomTestSpecificMethodsCxxSpec : public facebook::react::TurboModule { + protected NativeFantomTestSpecificMethodsCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeFileReaderModuleCxxSpec : public facebook::react::TurboModule { + protected NativeFileReaderModuleCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeFrameRateLoggerCxxSpec : public facebook::react::TurboModule { + protected NativeFrameRateLoggerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeHeadlessJsTaskSupportCxxSpec : public facebook::react::TurboModule { + protected NativeHeadlessJsTaskSupportCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeI18nManagerCxxSpec : public facebook::react::TurboModule { + protected NativeI18nManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeIdleCallbacksCxxSpec : public facebook::react::TurboModule { + protected NativeIdleCallbacksCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeImageEditorCxxSpec : public facebook::react::TurboModule { + protected NativeImageEditorCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeImageLoaderAndroidCxxSpec : public facebook::react::TurboModule { + protected NativeImageLoaderAndroidCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeImageLoaderIOSCxxSpec : public facebook::react::TurboModule { + protected NativeImageLoaderIOSCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeImageStoreAndroidCxxSpec : public facebook::react::TurboModule { + protected NativeImageStoreAndroidCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeImageStoreIOSCxxSpec : public facebook::react::TurboModule { + protected NativeImageStoreIOSCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeIntentAndroidCxxSpec : public facebook::react::TurboModule { + protected NativeIntentAndroidCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeIntersectionObserverCxxSpec : public facebook::react::TurboModule { + protected NativeIntersectionObserverCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeJSCHeapCaptureCxxSpec : public facebook::react::TurboModule { + protected NativeJSCHeapCaptureCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeKeyboardObserverCxxSpec : public facebook::react::TurboModule { + protected NativeKeyboardObserverCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeLinkingManagerCxxSpec : public facebook::react::TurboModule { + protected NativeLinkingManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeLogBoxCxxSpec : public facebook::react::TurboModule { + protected NativeLogBoxCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeMicrotasksCxxSpec : public facebook::react::TurboModule { + protected NativeMicrotasksCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeModalManagerCxxSpec : public facebook::react::TurboModule { + protected NativeModalManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeMutationObserverCxxSpec : public facebook::react::TurboModule { + protected NativeMutationObserverCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeNetworkingAndroidCxxSpec : public facebook::react::TurboModule { + protected NativeNetworkingAndroidCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeNetworkingIOSCxxSpec : public facebook::react::TurboModule { + protected NativeNetworkingIOSCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativePerformanceCxxSpec : public facebook::react::TurboModule { + protected NativePerformanceCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativePermissionsAndroidCxxSpec : public facebook::react::TurboModule { + protected NativePermissionsAndroidCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativePlatformConstantsAndroidCxxSpec : public facebook::react::TurboModule { + protected NativePlatformConstantsAndroidCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativePlatformConstantsIOSCxxSpec : public facebook::react::TurboModule { + protected NativePlatformConstantsIOSCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativePushNotificationManagerIOSCxxSpec : public facebook::react::TurboModule { + protected NativePushNotificationManagerIOSCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeReactDevToolsRuntimeSettingsModuleCxxSpec : public facebook::react::TurboModule { + protected NativeReactDevToolsRuntimeSettingsModuleCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeReactDevToolsSettingsManagerCxxSpec : public facebook::react::TurboModule { + protected NativeReactDevToolsSettingsManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeReactNativeFeatureFlagsCxxSpec : public facebook::react::TurboModule { + protected NativeReactNativeFeatureFlagsCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeRedBoxCxxSpec : public facebook::react::TurboModule { + protected NativeRedBoxCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeSegmentFetcherCxxSpec : public facebook::react::TurboModule { + protected NativeSegmentFetcherCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeSettingsManagerCxxSpec : public facebook::react::TurboModule { + protected NativeSettingsManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeShareModuleCxxSpec : public facebook::react::TurboModule { + protected NativeShareModuleCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeSoundManagerCxxSpec : public facebook::react::TurboModule { + protected NativeSoundManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeSourceCodeCxxSpec : public facebook::react::TurboModule { + protected NativeSourceCodeCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeStatusBarManagerAndroidCxxSpec : public facebook::react::TurboModule { + protected NativeStatusBarManagerAndroidCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeStatusBarManagerIOSCxxSpec : public facebook::react::TurboModule { + protected NativeStatusBarManagerIOSCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeTimingCxxSpec : public facebook::react::TurboModule { + protected NativeTimingCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeToastAndroidCxxSpec : public facebook::react::TurboModule { + protected NativeToastAndroidCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeVibrationCxxSpec : public facebook::react::TurboModule { + protected NativeVibrationCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeWebSocketModuleCxxSpec : public facebook::react::TurboModule { + protected NativeWebSocketModuleCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +struct facebook::react::AnimatedProp : public facebook::react::AnimatedPropBase { + public AnimatedProp() = default; + public AnimatedProp(facebook::react::PropName propName, const T& value); + public T value; +} + +template +struct facebook::react::CascadedRectangleCorners { + public bool operator==(const facebook::react::CascadedRectangleCorners& rhs) const = default; + public facebook::react::CascadedRectangleCorners::Counterpart resolve(bool isRTL, T defaults) const; + public facebook::react::CascadedRectangleCorners::OptionalT all; + public facebook::react::CascadedRectangleCorners::OptionalT bottomEnd; + public facebook::react::CascadedRectangleCorners::OptionalT bottomLeft; + public facebook::react::CascadedRectangleCorners::OptionalT bottomRight; + public facebook::react::CascadedRectangleCorners::OptionalT bottomStart; + public facebook::react::CascadedRectangleCorners::OptionalT endEnd; + public facebook::react::CascadedRectangleCorners::OptionalT endStart; + public facebook::react::CascadedRectangleCorners::OptionalT startEnd; + public facebook::react::CascadedRectangleCorners::OptionalT startStart; + public facebook::react::CascadedRectangleCorners::OptionalT topEnd; + public facebook::react::CascadedRectangleCorners::OptionalT topLeft; + public facebook::react::CascadedRectangleCorners::OptionalT topRight; + public facebook::react::CascadedRectangleCorners::OptionalT topStart; + public using Counterpart = facebook::react::RectangleCorners; + public using OptionalT = std::optional; +} + +template +struct facebook::react::CascadedRectangleEdges { + public bool operator==(const facebook::react::CascadedRectangleEdges& rhs) const = default; + public facebook::react::CascadedRectangleEdges::Counterpart resolve(bool isRTL, T defaults) const; + public facebook::react::CascadedRectangleEdges::OptionalT all; + public facebook::react::CascadedRectangleEdges::OptionalT block; + public facebook::react::CascadedRectangleEdges::OptionalT blockEnd; + public facebook::react::CascadedRectangleEdges::OptionalT blockStart; + public facebook::react::CascadedRectangleEdges::OptionalT bottom; + public facebook::react::CascadedRectangleEdges::OptionalT end; + public facebook::react::CascadedRectangleEdges::OptionalT horizontal; + public facebook::react::CascadedRectangleEdges::OptionalT left; + public facebook::react::CascadedRectangleEdges::OptionalT right; + public facebook::react::CascadedRectangleEdges::OptionalT start; + public facebook::react::CascadedRectangleEdges::OptionalT top; + public facebook::react::CascadedRectangleEdges::OptionalT vertical; + public using Counterpart = facebook::react::RectangleEdges; + public using OptionalT = std::optional; +} + +template +struct facebook::react::NativeAlertManagerArgsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Array buttonsToJs(facebook::jsi::Runtime& rt, decltype(types.buttons) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static facebook::jsi::String cancelButtonKeyToJs(facebook::jsi::Runtime& rt, decltype(types.cancelButtonKey) value); + public static facebook::jsi::String defaultValueToJs(facebook::jsi::Runtime& rt, decltype(types.defaultValue) value); + public static facebook::jsi::String destructiveButtonKeyToJs(facebook::jsi::Runtime& rt, decltype(types.destructiveButtonKey) value); + public static facebook::jsi::String keyboardTypeToJs(facebook::jsi::Runtime& rt, decltype(types.keyboardType) value); + public static facebook::jsi::String messageToJs(facebook::jsi::Runtime& rt, decltype(types.message) value); + public static facebook::jsi::String preferredButtonKeyToJs(facebook::jsi::Runtime& rt, decltype(types.preferredButtonKey) value); + public static facebook::jsi::String titleToJs(facebook::jsi::Runtime& rt, decltype(types.title) value); + public static facebook::jsi::String typeToJs(facebook::jsi::Runtime& rt, decltype(types.type) value); + public static facebook::jsi::String userInterfaceStyleToJs(facebook::jsi::Runtime& rt, decltype(types.userInterfaceStyle) value); +} + +template +struct facebook::react::NativeAnimatedModuleEndResultBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static bool finishedToJs(facebook::jsi::Runtime& rt, decltype(types.finished) value); + public static double offsetToJs(facebook::jsi::Runtime& rt, decltype(types.offset) value); + public static double valueToJs(facebook::jsi::Runtime& rt, decltype(types.value) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeAnimatedModuleEventMappingBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Array nativeEventPathToJs(facebook::jsi::Runtime& rt, decltype(types.nativeEventPath) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static std::optional animatedValueTagToJs(facebook::jsi::Runtime& rt, decltype(types.animatedValueTag) value); +} + +template +struct facebook::react::NativeAnimatedTurboModuleEndResultBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static bool finishedToJs(facebook::jsi::Runtime& rt, decltype(types.finished) value); + public static double offsetToJs(facebook::jsi::Runtime& rt, decltype(types.offset) value); + public static double valueToJs(facebook::jsi::Runtime& rt, decltype(types.value) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeAnimatedTurboModuleEventMappingBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Array nativeEventPathToJs(facebook::jsi::Runtime& rt, decltype(types.nativeEventPath) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static std::optional animatedValueTagToJs(facebook::jsi::Runtime& rt, decltype(types.animatedValueTag) value); +} + +template +struct facebook::react::NativeAppStateAppStateBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static facebook::jsi::String app_stateToJs(facebook::jsi::Runtime& rt, decltype(types.app_state) value); +} + +template +struct facebook::react::NativeAppStateAppStateConstantsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static facebook::jsi::String initialAppStateToJs(facebook::jsi::Runtime& rt, decltype(types.initialAppState) value); +} + +template +struct facebook::react::NativeBlobModuleConstantsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static std::optional BLOB_URI_HOSTToJs(facebook::jsi::Runtime& rt, decltype(types.BLOB_URI_HOST) value); + public static std::optional BLOB_URI_SCHEMEToJs(facebook::jsi::Runtime& rt, decltype(types.BLOB_URI_SCHEME) value); +} + +template +struct facebook::react::NativeDeviceInfoDeviceInfoConstantsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static bool isEdgeToEdgeToJs(facebook::jsi::Runtime& rt, decltype(types.isEdgeToEdge) value); + public static bool isIPhoneX_deprecatedToJs(facebook::jsi::Runtime& rt, decltype(types.isIPhoneX_deprecated) value); + public static facebook::jsi::Object DimensionsToJs(facebook::jsi::Runtime& rt, decltype(types.Dimensions) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeDeviceInfoDimensionsPayloadBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object screenPhysicalPixelsToJs(facebook::jsi::Runtime& rt, decltype(types.screenPhysicalPixels) value); + public static facebook::jsi::Object screenToJs(facebook::jsi::Runtime& rt, decltype(types.screen) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static facebook::jsi::Object windowPhysicalPixelsToJs(facebook::jsi::Runtime& rt, decltype(types.windowPhysicalPixels) value); + public static facebook::jsi::Object windowToJs(facebook::jsi::Runtime& rt, decltype(types.window) value); +} + +template +struct facebook::react::NativeDeviceInfoDisplayMetricsAndroidBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static double densityDpiToJs(facebook::jsi::Runtime& rt, decltype(types.densityDpi) value); + public static double fontScaleToJs(facebook::jsi::Runtime& rt, decltype(types.fontScale) value); + public static double heightToJs(facebook::jsi::Runtime& rt, decltype(types.height) value); + public static double scaleToJs(facebook::jsi::Runtime& rt, decltype(types.scale) value); + public static double widthToJs(facebook::jsi::Runtime& rt, decltype(types.width) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeDeviceInfoDisplayMetricsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static double fontScaleToJs(facebook::jsi::Runtime& rt, decltype(types.fontScale) value); + public static double heightToJs(facebook::jsi::Runtime& rt, decltype(types.height) value); + public static double scaleToJs(facebook::jsi::Runtime& rt, decltype(types.scale) value); + public static double widthToJs(facebook::jsi::Runtime& rt, decltype(types.width) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeDialogManagerAndroidDialogOptionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static bool cancelableToJs(facebook::jsi::Runtime& rt, decltype(types.cancelable) value); + public static facebook::jsi::Array itemsToJs(facebook::jsi::Runtime& rt, decltype(types.items) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static facebook::jsi::String buttonNegativeToJs(facebook::jsi::Runtime& rt, decltype(types.buttonNegative) value); + public static facebook::jsi::String buttonNeutralToJs(facebook::jsi::Runtime& rt, decltype(types.buttonNeutral) value); + public static facebook::jsi::String buttonPositiveToJs(facebook::jsi::Runtime& rt, decltype(types.buttonPositive) value); + public static facebook::jsi::String messageToJs(facebook::jsi::Runtime& rt, decltype(types.message) value); + public static facebook::jsi::String titleToJs(facebook::jsi::Runtime& rt, decltype(types.title) value); +} + +template +struct facebook::react::NativeExceptionsManagerExceptionDataBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static bool isFatalToJs(facebook::jsi::Runtime& rt, decltype(types.isFatal) value); + public static double idToJs(facebook::jsi::Runtime& rt, decltype(types.id) value); + public static facebook::jsi::Array stackToJs(facebook::jsi::Runtime& rt, decltype(types.stack) value); + public static facebook::jsi::Object extraDataToJs(facebook::jsi::Runtime& rt, decltype(types.extraData) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static facebook::jsi::String messageToJs(facebook::jsi::Runtime& rt, decltype(types.message) value); + public static std::optional componentStackToJs(facebook::jsi::Runtime& rt, decltype(types.componentStack) value); + public static std::optional nameToJs(facebook::jsi::Runtime& rt, decltype(types.name) value); + public static std::optional originalMessageToJs(facebook::jsi::Runtime& rt, decltype(types.originalMessage) value); +} + +template +struct facebook::react::NativeExceptionsManagerStackFrameBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static bool collapseToJs(facebook::jsi::Runtime& rt, decltype(types.collapse) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static facebook::jsi::String methodNameToJs(facebook::jsi::Runtime& rt, decltype(types.methodName) value); + public static std::optional columnToJs(facebook::jsi::Runtime& rt, decltype(types.column) value); + public static std::optional lineNumberToJs(facebook::jsi::Runtime& rt, decltype(types.lineNumber) value); + public static std::optional fileToJs(facebook::jsi::Runtime& rt, decltype(types.file) value); +} + +template +struct facebook::react::NativeFantomImageResponseBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static double heightToJs(facebook::jsi::Runtime& rt, decltype(types.height) value); + public static double widthToJs(facebook::jsi::Runtime& rt, decltype(types.width) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static facebook::jsi::String cacheStatusToJs(facebook::jsi::Runtime& rt, decltype(types.cacheStatus) value); + public static facebook::jsi::String errorMessageToJs(facebook::jsi::Runtime& rt, decltype(types.errorMessage) value); +} + +template +struct facebook::react::NativeFantomRenderFormatOptionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static bool includeLayoutMetricsToJs(facebook::jsi::Runtime& rt, decltype(types.includeLayoutMetrics) value); + public static bool includeRootToJs(facebook::jsi::Runtime& rt, decltype(types.includeRoot) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeFantomScrollOptionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static double xToJs(facebook::jsi::Runtime& rt, decltype(types.x) value); + public static double yToJs(facebook::jsi::Runtime& rt, decltype(types.y) value); + public static double zoomScaleToJs(facebook::jsi::Runtime& rt, decltype(types.zoomScale) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeI18nManagerI18nManagerConstantsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static bool doLeftAndRightSwapInRTLToJs(facebook::jsi::Runtime& rt, decltype(types.doLeftAndRightSwapInRTL) value); + public static bool isRTLToJs(facebook::jsi::Runtime& rt, decltype(types.isRTL) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static std::optional localeIdentifierToJs(facebook::jsi::Runtime& rt, decltype(types.localeIdentifier) value); +} + +template +struct facebook::react::NativeIdleCallbacksIdleDeadlineBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static bool didTimeoutToJs(facebook::jsi::Runtime& rt, decltype(types.didTimeout) value); + public static facebook::jsi::Function timeRemainingToJs(facebook::jsi::Runtime& rt, decltype(types.timeRemaining) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeIdleCallbacksRequestIdleCallbackOptionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static double timeoutToJs(facebook::jsi::Runtime& rt, decltype(types.timeout) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeImageEditorOptionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static bool allowExternalStorageToJs(facebook::jsi::Runtime& rt, decltype(types.allowExternalStorage) value); + public static facebook::jsi::Object offsetToJs(facebook::jsi::Runtime& rt, decltype(types.offset) value); + public static facebook::jsi::Object sizeToJs(facebook::jsi::Runtime& rt, decltype(types.size) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static std::optional displaySizeToJs(facebook::jsi::Runtime& rt, decltype(types.displaySize) value); + public static std::optional resizeModeToJs(facebook::jsi::Runtime& rt, decltype(types.resizeMode) value); +} + +template +struct facebook::react::NativeImageLoaderAndroidImageSizeBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static double heightToJs(facebook::jsi::Runtime& rt, decltype(types.height) value); + public static double widthToJs(facebook::jsi::Runtime& rt, decltype(types.width) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeIntersectionObserverNativeIntersectionObserverEntryBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static bool isIntersectingAboveThresholdsToJs(facebook::jsi::Runtime& rt, decltype(types.isIntersectingAboveThresholds) value); + public static double intersectionObserverIdToJs(facebook::jsi::Runtime& rt, decltype(types.intersectionObserverId) value); + public static double timeToJs(facebook::jsi::Runtime& rt, decltype(types.time) value); + public static facebook::jsi::Array rootRectToJs(facebook::jsi::Runtime& rt, decltype(types.rootRect) value); + public static facebook::jsi::Array targetRectToJs(facebook::jsi::Runtime& rt, decltype(types.targetRect) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static facebook::jsi::Value targetInstanceHandleToJs(facebook::jsi::Runtime& rt, decltype(types.targetInstanceHandle) value); + public static std::optional intersectionRectToJs(facebook::jsi::Runtime& rt, decltype(types.intersectionRect) value); +} + +template +struct facebook::react::NativeIntersectionObserverNativeIntersectionObserverObserveOptionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static double intersectionObserverIdToJs(facebook::jsi::Runtime& rt, decltype(types.intersectionObserverId) value); + public static facebook::jsi::Array thresholdsToJs(facebook::jsi::Runtime& rt, decltype(types.thresholds) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static facebook::jsi::Value targetShadowNodeToJs(facebook::jsi::Runtime& rt, decltype(types.targetShadowNode) value); + public static std::optional rootThresholdsToJs(facebook::jsi::Runtime& rt, decltype(types.rootThresholds) value); + public static std::optional rootMarginToJs(facebook::jsi::Runtime& rt, decltype(types.rootMargin) value); + public static std::optional rootShadowNodeToJs(facebook::jsi::Runtime& rt, decltype(types.rootShadowNode) value); +} + +template +struct facebook::react::NativeMutationObserverNativeMutationObserverObserveOptionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static bool subtreeToJs(facebook::jsi::Runtime& rt, decltype(types.subtree) value); + public static double mutationObserverIdToJs(facebook::jsi::Runtime& rt, decltype(types.mutationObserverId) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static facebook::jsi::Value targetShadowNodeToJs(facebook::jsi::Runtime& rt, decltype(types.targetShadowNode) value); +} + +template +struct facebook::react::NativeMutationObserverNativeMutationRecordBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static double mutationObserverIdToJs(facebook::jsi::Runtime& rt, decltype(types.mutationObserverId) value); + public static facebook::jsi::Array addedNodesToJs(facebook::jsi::Runtime& rt, decltype(types.addedNodes) value); + public static facebook::jsi::Array removedNodesToJs(facebook::jsi::Runtime& rt, decltype(types.removedNodes) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static facebook::jsi::Value targetToJs(facebook::jsi::Runtime& rt, decltype(types.target) value); +} + +template +struct facebook::react::NativePerformancePerformanceObserverInitBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static bool bufferedToJs(facebook::jsi::Runtime& rt, decltype(types.buffered) value); + public static double durationThresholdToJs(facebook::jsi::Runtime& rt, decltype(types.durationThreshold) value); + public static double typeToJs(facebook::jsi::Runtime& rt, decltype(types.type) value); + public static facebook::jsi::Array entryTypesToJs(facebook::jsi::Runtime& rt, decltype(types.entryTypes) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativePerformanceRawPerformanceEntryBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static double connectEndToJs(facebook::jsi::Runtime& rt, decltype(types.connectEnd) value); + public static double connectStartToJs(facebook::jsi::Runtime& rt, decltype(types.connectStart) value); + public static double decodedBodySizeToJs(facebook::jsi::Runtime& rt, decltype(types.decodedBodySize) value); + public static double durationToJs(facebook::jsi::Runtime& rt, decltype(types.duration) value); + public static double encodedBodySizeToJs(facebook::jsi::Runtime& rt, decltype(types.encodedBodySize) value); + public static double entryTypeToJs(facebook::jsi::Runtime& rt, decltype(types.entryType) value); + public static double fetchStartToJs(facebook::jsi::Runtime& rt, decltype(types.fetchStart) value); + public static double interactionIdToJs(facebook::jsi::Runtime& rt, decltype(types.interactionId) value); + public static double processingEndToJs(facebook::jsi::Runtime& rt, decltype(types.processingEnd) value); + public static double processingStartToJs(facebook::jsi::Runtime& rt, decltype(types.processingStart) value); + public static double requestStartToJs(facebook::jsi::Runtime& rt, decltype(types.requestStart) value); + public static double responseEndToJs(facebook::jsi::Runtime& rt, decltype(types.responseEnd) value); + public static double responseStartToJs(facebook::jsi::Runtime& rt, decltype(types.responseStart) value); + public static double responseStatusToJs(facebook::jsi::Runtime& rt, decltype(types.responseStatus) value); + public static double startTimeToJs(facebook::jsi::Runtime& rt, decltype(types.startTime) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static facebook::jsi::String contentTypeToJs(facebook::jsi::Runtime& rt, decltype(types.contentType) value); + public static facebook::jsi::String nameToJs(facebook::jsi::Runtime& rt, decltype(types.name) value); +} + +template +struct facebook::react::NativePlatformConstantsAndroidPlatformConstantsAndroidBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static bool isDisableAnimationsToJs(facebook::jsi::Runtime& rt, decltype(types.isDisableAnimations) value); + public static bool isTestingToJs(facebook::jsi::Runtime& rt, decltype(types.isTesting) value); + public static double VersionToJs(facebook::jsi::Runtime& rt, decltype(types.Version) value); + public static facebook::jsi::Object reactNativeVersionToJs(facebook::jsi::Runtime& rt, decltype(types.reactNativeVersion) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static facebook::jsi::String BrandToJs(facebook::jsi::Runtime& rt, decltype(types.Brand) value); + public static facebook::jsi::String FingerprintToJs(facebook::jsi::Runtime& rt, decltype(types.Fingerprint) value); + public static facebook::jsi::String ManufacturerToJs(facebook::jsi::Runtime& rt, decltype(types.Manufacturer) value); + public static facebook::jsi::String ModelToJs(facebook::jsi::Runtime& rt, decltype(types.Model) value); + public static facebook::jsi::String ReleaseToJs(facebook::jsi::Runtime& rt, decltype(types.Release) value); + public static facebook::jsi::String SerialToJs(facebook::jsi::Runtime& rt, decltype(types.Serial) value); + public static facebook::jsi::String ServerHostToJs(facebook::jsi::Runtime& rt, decltype(types.ServerHost) value); + public static facebook::jsi::String uiModeToJs(facebook::jsi::Runtime& rt, decltype(types.uiMode) value); +} + +template +struct facebook::react::NativePlatformConstantsAndroidReactNativeVersionAndroidBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static double majorToJs(facebook::jsi::Runtime& rt, decltype(types.major) value); + public static double minorToJs(facebook::jsi::Runtime& rt, decltype(types.minor) value); + public static double patchToJs(facebook::jsi::Runtime& rt, decltype(types.patch) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static std::optional prereleaseToJs(facebook::jsi::Runtime& rt, decltype(types.prerelease) value); +} + +template +struct facebook::react::NativePlatformConstantsIOSPlatformConstantsIOSBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static bool forceTouchAvailableToJs(facebook::jsi::Runtime& rt, decltype(types.forceTouchAvailable) value); + public static bool isDisableAnimationsToJs(facebook::jsi::Runtime& rt, decltype(types.isDisableAnimations) value); + public static bool isMacCatalystToJs(facebook::jsi::Runtime& rt, decltype(types.isMacCatalyst) value); + public static bool isTestingToJs(facebook::jsi::Runtime& rt, decltype(types.isTesting) value); + public static facebook::jsi::Object reactNativeVersionToJs(facebook::jsi::Runtime& rt, decltype(types.reactNativeVersion) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static facebook::jsi::String interfaceIdiomToJs(facebook::jsi::Runtime& rt, decltype(types.interfaceIdiom) value); + public static facebook::jsi::String osVersionToJs(facebook::jsi::Runtime& rt, decltype(types.osVersion) value); + public static facebook::jsi::String systemNameToJs(facebook::jsi::Runtime& rt, decltype(types.systemName) value); +} + +template +struct facebook::react::NativePushNotificationManagerIOSNotificationBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static std::optional isSilentToJs(facebook::jsi::Runtime& rt, decltype(types.isSilent) value); + public static std::optional applicationIconBadgeNumberToJs(facebook::jsi::Runtime& rt, decltype(types.applicationIconBadgeNumber) value); + public static std::optional fireDateToJs(facebook::jsi::Runtime& rt, decltype(types.fireDate) value); + public static std::optional fireIntervalSecondsToJs(facebook::jsi::Runtime& rt, decltype(types.fireIntervalSeconds) value); + public static std::optional userInfoToJs(facebook::jsi::Runtime& rt, decltype(types.userInfo) value); + public static std::optional alertBodyToJs(facebook::jsi::Runtime& rt, decltype(types.alertBody) value); + public static std::optional alertTitleToJs(facebook::jsi::Runtime& rt, decltype(types.alertTitle) value); + public static std::optional categoryToJs(facebook::jsi::Runtime& rt, decltype(types.category) value); + public static std::optional soundNameToJs(facebook::jsi::Runtime& rt, decltype(types.soundName) value); +} + +template +struct facebook::react::NativePushNotificationManagerIOSPermissionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static bool alertToJs(facebook::jsi::Runtime& rt, decltype(types.alert) value); + public static bool badgeToJs(facebook::jsi::Runtime& rt, decltype(types.badge) value); + public static bool soundToJs(facebook::jsi::Runtime& rt, decltype(types.sound) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfigBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static bool recordChangeDescriptionsToJs(facebook::jsi::Runtime& rt, decltype(types.recordChangeDescriptions) value); + public static bool shouldReloadAndProfileToJs(facebook::jsi::Runtime& rt, decltype(types.shouldReloadAndProfile) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfigBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static bool recordChangeDescriptionsToJs(facebook::jsi::Runtime& rt, decltype(types.recordChangeDescriptions) value); + public static bool shouldReloadAndProfileToJs(facebook::jsi::Runtime& rt, decltype(types.shouldReloadAndProfile) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeSourceCodeSourceCodeConstantsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static facebook::jsi::String scriptURLToJs(facebook::jsi::Runtime& rt, decltype(types.scriptURL) value); +} + +template +struct facebook::react::RectangleCorners { + public T bottomLeft; + public T bottomRight; + public T topLeft; + public T topRight; + public bool isUniform() const noexcept; + public bool operator==(const facebook::react::RectangleCorners& rhs) const noexcept = default; +} + +template +struct facebook::react::RectangleEdges { + public T bottom; + public T left; + public T right; + public T top; + public bool isUniform() const noexcept; + public bool operator==(const facebook::react::RectangleEdges& rhs) const noexcept = default; + public static const facebook::react::RectangleEdges ZERO; +} + +template +class facebook::react::AsyncCallback { + public AsyncCallback(facebook::jsi::Runtime& runtime, facebook::jsi::Function function, std::shared_ptr jsInvoker); + public void call(Args... args) const noexcept; + public void call(std::function&& callImpl) const noexcept; + public void callWithPriority(facebook::react::SchedulerPriority priority, Args... args) const noexcept; + public void callWithPriority(facebook::react::SchedulerPriority priority, std::function&& callImpl) const noexcept; + public void operator()(Args... args) const noexcept; +} + +template +class facebook::react::AsyncEventEmitter : public facebook::react::IAsyncEventEmitter { + public AsyncEventEmitter(); + public AsyncEventEmitter(const facebook::react::AsyncEventEmitter&) = delete; + public AsyncEventEmitter(facebook::react::AsyncEventEmitter&&) noexcept = default; + public facebook::react::AsyncEventEmitter& operator=(const facebook::react::AsyncEventEmitter&) = delete; + public facebook::react::AsyncEventEmitter& operator=(facebook::react::AsyncEventEmitter&&) noexcept = default; + public virtual facebook::jsi::Object get(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker) const override; + public void emit(Args... value); + public void emit(std::function&& converter); + public ~AsyncEventEmitter() override = default; +} + +template +class facebook::react::SharedFunction { + public SharedFunction(const facebook::react::SharedFunction& other) = default; + public SharedFunction(facebook::react::SharedFunction&& other) noexcept = default; + public SharedFunction(std::function&& function = nullptr); + public facebook::react::SharedFunction& operator=(const facebook::react::SharedFunction& other) = default; + public facebook::react::SharedFunction& operator=(facebook::react::SharedFunction&& other) noexcept = default; + public void assign(std::function function) const; + public void operator()(ArgumentT... args) const; +} + +template +class facebook::react::AsyncPromise { + public AsyncPromise(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker); + public facebook::jsi::Object get(facebook::jsi::Runtime& rt) const; + public void reject(facebook::react::Error error); + public void resolve(T... value); +} + +template +class facebook::react::EventListenerContainerT { + public bool willDispatchEvent(TArgs... args); + public void addListener(std::shared_ptr> listener); + public void removeListener(const std::shared_ptr>& listener); +} + +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const folly::dynamic& value); + public static folly::dynamic fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); +} + +struct facebook::react::Bridging { + public static std::nullptr_t fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); + public static std::nullptr_t toJs(facebook::jsi::Runtime&, std::nullptr_t); +} + +struct facebook::react::Bridging { + public static facebook::jsi::String toJs(facebook::jsi::Runtime& rt, const std::string& value); + public static std::string fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::String& value); +} + +struct facebook::react::Bridging { + public static facebook::jsi::String toJs(facebook::jsi::Runtime& rt, std::string_view value); +} + +template +struct facebook::react::Bridging> { + public static constexpr size_t kArgumentCount; + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, facebook::react::Bridging>::Func fn, const std::shared_ptr& jsInvoker); + public using Func = std::function; + public using IndexSequence = std::index_sequence_for; +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, 2> { + public static std::pair fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, N> { + public static std::array fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::optional& value, const std::shared_ptr& jsInvoker); + public static std::optional fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value, const std::shared_ptr& jsInvoker); + template + public static std::optional fromJs(facebook::jsi::Runtime& rt, const std::optional& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { + public static std::set fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::unique_ptr& ptr, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { + public static std::vector fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::weak_ptr& weakPtr, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, sizeof...(Types)> { +} + +struct facebook::react::Bridging { + public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); + public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Value&& value); + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, std::string message); +} + +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::WeakObject& value); + public static facebook::jsi::WeakObject fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); +} + +struct facebook::react::Bridging : public facebook::react::NativeAnimatedTurboModuleEndResultBridging { +} + +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const facebook::react::Error& error); +} + +struct facebook::react::Bridging { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::EventSubscription& eventSubscription, const std::shared_ptr& jsInvoker); + public static facebook::react::EventSubscription fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); +} + +struct facebook::react::Bridging { + public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResDuration& value); + public static facebook::react::HighResDuration fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); +} + +struct facebook::react::Bridging { + public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResTimeStamp& value); + public static facebook::react::HighResTimeStamp fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); +} + +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::react::NativeFantomNativeEventCategory value); + public static facebook::react::NativeFantomNativeEventCategory fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& rawValue); +} + +struct facebook::react::Bridging : public facebook::react::NativeIntersectionObserverNativeIntersectionObserverEntryBridging { +} + +struct facebook::react::Bridging : public facebook::react::NativeIntersectionObserverNativeIntersectionObserverObserveOptionsBridging { +} + +struct facebook::react::Bridging : public facebook::react::NativeMutationObserverNativeMutationObserverObserveOptionsBridging { +} + +struct facebook::react::Bridging : public facebook::react::NativeMutationObserverNativeMutationRecordBridging { +} + +struct facebook::react::Bridging : public facebook::react::NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfigBridging { +} + +struct facebook::react::Bridging : public facebook::react::NativePerformanceRawPerformanceEntryBridging { +} + +struct facebook::react::Bridging : public facebook::react::NativePerformancePerformanceObserverInitBridging { +} + +struct facebook::react::Bridging : public facebook::react::NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfigBridging { +} + +struct facebook::react::Bridging : public facebook::react::NativeIdleCallbacksRequestIdleCallbackOptionsBridging { +} + +struct facebook::react::Bridging { + public static facebook::react::PerformanceEntryType fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); + public static int toJs(facebook::jsi::Runtime&, const facebook::react::PerformanceEntryType& value); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static std::optional consume(facebook::react::CSSValueParser& syntaxParser); +} + +struct facebook::react::CSSDataTypeParser { + public static std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSNumberPercentTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSNumberPercentTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSVariantComponentTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSVariantComponentTransformParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +template +struct facebook::react::CSSDataTypeParser> { + public static std::optional> consume(facebook::react::CSSValueParser& parser); +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::SyncCallback& value); + public static facebook::react::SyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncCallback& value); + public static facebook::react::AsyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncEventEmitter& eventEmitter, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { +} + +template +struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncPromise& promise); +} + +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::shared_ptr& value); + public static std::shared_ptr fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& jsiValue); +} + +template +struct facebook::react::Bridging, std::enable_if_t, std::function>>> : public facebook::react::Bridging> { +} + +template +struct facebook::react::Bridging, std::enable_if_t>> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::shared_ptr& ptr, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging, std::enable_if_t>> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, std::shared_ptr value); + public static std::shared_ptr fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); +} + + +bool facebook::react::HostPlatformViewTraitsInitializer::formsStackingContext(const facebook::react::ViewProps& props); +bool facebook::react::HostPlatformViewTraitsInitializer::formsView(const facebook::react::ViewProps& props); +bool facebook::react::HostPlatformViewTraitsInitializer::isKeyboardFocusable(const facebook::react::ViewProps&); + + +constexpr bool facebook::react::detail::isHexDigit(char c); +constexpr bool facebook::react::detail::isValidHexColor(std::string_view hex); +constexpr float facebook::react::detail::hueToRgb(float p, float q, float t); +constexpr std::optional facebook::react::detail::normalizeNumberComponent(const std::variant& component); +constexpr uint8_t facebook::react::detail::clamp255Component(float f); +constexpr uint8_t facebook::react::detail::clampAlpha(std::optional alpha); +constexpr uint8_t facebook::react::detail::hexToNumeric(std::string_view hex, facebook::react::detail::HexColorType hexType); +float facebook::react::detail::normalizeHue(float hue); +std::optional facebook::react::detail::normalizeHueComponent(const std::variant& component); +std::tuple facebook::react::detail::hslToRgb(float h, float s, float l); +std::tuple facebook::react::detail::hwbToRgb(float h, float w, float b); +template +constexpr bool facebook::react::detail::isLegacyColorFunction(facebook::react::CSSValueParser& parser); +template +constexpr std::optional facebook::react::detail::parseLegacyRgbFunction(facebook::react::CSSValueParser& parser); +template +constexpr std::optional facebook::react::detail::parseModernRgbFunction(facebook::react::CSSValueParser& parser); +template +constexpr std::optional facebook::react::detail::parseRgbFunction(facebook::react::CSSValueParser& parser); +template +std::optional facebook::react::detail::parseHslFunction(facebook::react::CSSValueParser& parser); +template +std::optional facebook::react::detail::parseHwbFunction(facebook::react::CSSValueParser& parser); +template +std::optional facebook::react::detail::parseLegacyHslFunction(facebook::react::CSSValueParser& parser); +template +std::optional facebook::react::detail::parseModernHslFunction(facebook::react::CSSValueParser& parser); +template +constexpr std::optional facebook::react::detail::normalizeComponent(const std::variant& component, float baseValue); + +enum facebook::react::detail::HexColorType { + Long, + Short, +} + +template +struct facebook::react::detail::merge_data_types { + public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; +} + +template +struct facebook::react::detail::merge_data_types { + public using type = std::variant; +} + +template +struct facebook::react::detail::merge_data_types { +} + +template +struct facebook::react::detail::PreparedTextLayoutT { + public using type = typename T::PreparedTextLayout; +} + +template +struct facebook::react::detail::CSSVariantComponentTransformParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +template +struct facebook::react::detail::CSSAngleTransformParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +template +struct facebook::react::detail::CSSFilterSimpleAmountParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +template +struct facebook::react::detail::CSSNumberPercentTransformParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +template +struct facebook::react::detail::PreparedTextLayoutT { + public using type = std::nullptr_t; +} + +template +struct facebook::react::detail::is_variant_of_data_types : public std::false_type { +} + +template +class facebook::react::detail::TextLayoutManagerExtended { + public TextLayoutManagerExtended(const TextLayoutManagerT& textLayoutManager); + public facebook::react::LinesMeasurements measureLines(const facebook::react::AttributedStringBox& attributedStringBox, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::Size& size); + public facebook::react::TextMeasurement measurePreparedLayout(const facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout& layout, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout prepareLayout(const facebook::react::AttributedString& attributedString, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public static constexpr bool supportsLineMeasurement(); + public static constexpr bool supportsPreparedTextLayout(); + public using PreparedTextLayout = typename facebook::react::detail::PreparedTextLayoutT::type; +} + +template +struct facebook::react::detail::merge_variant { +} + +template +struct facebook::react::detail::merge_data_types, RestT...> { + public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; +} + +template +struct facebook::react::detail::merge_data_types, AlllowedType2T, RestT...> { + public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; +} + +template +struct facebook::react::detail::merge_variant, RestT...> { + public using type = std::variant; +} + +template +struct facebook::react::detail::merge_data_types> { + public using type = std::variant; +} + +template +struct facebook::react::detail::is_variant_of_data_types> : public std::false_type, public std::true_type { +} + +template +struct facebook::react::detail::merge_data_types, std::variant, RestT...> { + public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; +} + + +constexpr std::string_view facebook::react::detail::css::keywords::Absolute; +constexpr std::string_view facebook::react::detail::css::keywords::At; +constexpr std::string_view facebook::react::detail::css::keywords::Auto; +constexpr std::string_view facebook::react::detail::css::keywords::Baseline; +constexpr std::string_view facebook::react::detail::css::keywords::Block; +constexpr std::string_view facebook::react::detail::css::keywords::Bottom; +constexpr std::string_view facebook::react::detail::css::keywords::Center; +constexpr std::string_view facebook::react::detail::css::keywords::Clip; +constexpr std::string_view facebook::react::detail::css::keywords::Column; +constexpr std::string_view facebook::react::detail::css::keywords::ColumnReverse; +constexpr std::string_view facebook::react::detail::css::keywords::CommonLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::Content; +constexpr std::string_view facebook::react::detail::css::keywords::Contents; +constexpr std::string_view facebook::react::detail::css::keywords::Contextual; +constexpr std::string_view facebook::react::detail::css::keywords::Dashed; +constexpr std::string_view facebook::react::detail::css::keywords::DiscretionaryLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::Dotted; +constexpr std::string_view facebook::react::detail::css::keywords::Double; +constexpr std::string_view facebook::react::detail::css::keywords::End; +constexpr std::string_view facebook::react::detail::css::keywords::Fixed; +constexpr std::string_view facebook::react::detail::css::keywords::Flex; +constexpr std::string_view facebook::react::detail::css::keywords::FlexEnd; +constexpr std::string_view facebook::react::detail::css::keywords::FlexStart; +constexpr std::string_view facebook::react::detail::css::keywords::Grid; +constexpr std::string_view facebook::react::detail::css::keywords::Groove; +constexpr std::string_view facebook::react::detail::css::keywords::Hidden; +constexpr std::string_view facebook::react::detail::css::keywords::HistoricalLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::Inherit; +constexpr std::string_view facebook::react::detail::css::keywords::Initial; +constexpr std::string_view facebook::react::detail::css::keywords::Inline; +constexpr std::string_view facebook::react::detail::css::keywords::InlineBlock; +constexpr std::string_view facebook::react::detail::css::keywords::InlineFlex; +constexpr std::string_view facebook::react::detail::css::keywords::InlineGrid; +constexpr std::string_view facebook::react::detail::css::keywords::Inset; +constexpr std::string_view facebook::react::detail::css::keywords::Left; +constexpr std::string_view facebook::react::detail::css::keywords::LiningNums; +constexpr std::string_view facebook::react::detail::css::keywords::Ltr; +constexpr std::string_view facebook::react::detail::css::keywords::MaxContent; +constexpr std::string_view facebook::react::detail::css::keywords::Medium; +constexpr std::string_view facebook::react::detail::css::keywords::MinContent; +constexpr std::string_view facebook::react::detail::css::keywords::NoCommonLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::NoContextual; +constexpr std::string_view facebook::react::detail::css::keywords::NoDiscretionaryLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::NoHistoricalLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::NoWrap; +constexpr std::string_view facebook::react::detail::css::keywords::None; +constexpr std::string_view facebook::react::detail::css::keywords::Normal; +constexpr std::string_view facebook::react::detail::css::keywords::OldstyleNums; +constexpr std::string_view facebook::react::detail::css::keywords::Outset; +constexpr std::string_view facebook::react::detail::css::keywords::ProportionalNums; +constexpr std::string_view facebook::react::detail::css::keywords::Relative; +constexpr std::string_view facebook::react::detail::css::keywords::Ridge; +constexpr std::string_view facebook::react::detail::css::keywords::Right; +constexpr std::string_view facebook::react::detail::css::keywords::Row; +constexpr std::string_view facebook::react::detail::css::keywords::RowReverse; +constexpr std::string_view facebook::react::detail::css::keywords::Rtl; +constexpr std::string_view facebook::react::detail::css::keywords::Scroll; +constexpr std::string_view facebook::react::detail::css::keywords::SmallCaps; +constexpr std::string_view facebook::react::detail::css::keywords::Solid; +constexpr std::string_view facebook::react::detail::css::keywords::SpaceAround; +constexpr std::string_view facebook::react::detail::css::keywords::SpaceBetween; +constexpr std::string_view facebook::react::detail::css::keywords::SpaceEvenly; +constexpr std::string_view facebook::react::detail::css::keywords::Start; +constexpr std::string_view facebook::react::detail::css::keywords::Static; +constexpr std::string_view facebook::react::detail::css::keywords::Sticky; +constexpr std::string_view facebook::react::detail::css::keywords::Stretch; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticEight; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticEighteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticEleven; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticFifteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticFive; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticFour; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticFourteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticNine; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticNineteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticOne; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticSeven; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticSeventeen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticSix; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticSixteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticTen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticThirteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticThree; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwelve; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwenty; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwo; +constexpr std::string_view facebook::react::detail::css::keywords::TabularNums; +constexpr std::string_view facebook::react::detail::css::keywords::Thick; +constexpr std::string_view facebook::react::detail::css::keywords::Thin; +constexpr std::string_view facebook::react::detail::css::keywords::To; +constexpr std::string_view facebook::react::detail::css::keywords::Top; +constexpr std::string_view facebook::react::detail::css::keywords::Unset; +constexpr std::string_view facebook::react::detail::css::keywords::Visible; +constexpr std::string_view facebook::react::detail::css::keywords::Wrap; +constexpr std::string_view facebook::react::detail::css::keywords::WrapReverse; +template +concept facebook::react::detail::css::keywords::hasAbsolute = (CSSKeywordSet && requires() { T::Absolute; }); +template +concept facebook::react::detail::css::keywords::hasAt = (CSSKeywordSet && requires() { T::At; }); +template +concept facebook::react::detail::css::keywords::hasAuto = (CSSKeywordSet && requires() { T::Auto; }); +template +concept facebook::react::detail::css::keywords::hasBaseline = (CSSKeywordSet && requires() { T::Baseline; }); +template +concept facebook::react::detail::css::keywords::hasBlock = (CSSKeywordSet && requires() { T::Block; }); +template +concept facebook::react::detail::css::keywords::hasBottom = (CSSKeywordSet && requires() { T::Bottom; }); +template +concept facebook::react::detail::css::keywords::hasCenter = (CSSKeywordSet && requires() { T::Center; }); +template +concept facebook::react::detail::css::keywords::hasClip = (CSSKeywordSet && requires() { T::Clip; }); +template +concept facebook::react::detail::css::keywords::hasColumn = (CSSKeywordSet && requires() { T::Column; }); +template +concept facebook::react::detail::css::keywords::hasColumnReverse = (CSSKeywordSet && requires() { T::ColumnReverse; }); +template +concept facebook::react::detail::css::keywords::hasCommonLigatures = (CSSKeywordSet && requires() { T::CommonLigatures; }); +template +concept facebook::react::detail::css::keywords::hasContent = (CSSKeywordSet && requires() { T::Content; }); +template +concept facebook::react::detail::css::keywords::hasContents = (CSSKeywordSet && requires() { T::Contents; }); +template +concept facebook::react::detail::css::keywords::hasContextual = (CSSKeywordSet && requires() { T::Contextual; }); +template +concept facebook::react::detail::css::keywords::hasDashed = (CSSKeywordSet && requires() { T::Dashed; }); +template +concept facebook::react::detail::css::keywords::hasDiscretionaryLigatures = (CSSKeywordSet && requires() { T::DiscretionaryLigatures; }); +template +concept facebook::react::detail::css::keywords::hasDotted = (CSSKeywordSet && requires() { T::Dotted; }); +template +concept facebook::react::detail::css::keywords::hasDouble = (CSSKeywordSet && requires() { T::Double; }); +template +concept facebook::react::detail::css::keywords::hasEnd = (CSSKeywordSet && requires() { T::End; }); +template +concept facebook::react::detail::css::keywords::hasFixed = (CSSKeywordSet && requires() { T::Fixed; }); +template +concept facebook::react::detail::css::keywords::hasFlex = (CSSKeywordSet && requires() { T::Flex; }); +template +concept facebook::react::detail::css::keywords::hasFlexEnd = (CSSKeywordSet && requires() { T::FlexEnd; }); +template +concept facebook::react::detail::css::keywords::hasFlexStart = (CSSKeywordSet && requires() { T::FlexStart; }); +template +concept facebook::react::detail::css::keywords::hasGrid = (CSSKeywordSet && requires() { T::Grid; }); +template +concept facebook::react::detail::css::keywords::hasGroove = (CSSKeywordSet && requires() { T::Groove; }); +template +concept facebook::react::detail::css::keywords::hasHidden = (CSSKeywordSet && requires() { T::Hidden; }); +template +concept facebook::react::detail::css::keywords::hasHistoricalLigatures = (CSSKeywordSet && requires() { T::HistoricalLigatures; }); +template +concept facebook::react::detail::css::keywords::hasInherit = (CSSKeywordSet && requires() { T::Inherit; }); +template +concept facebook::react::detail::css::keywords::hasInitial = (CSSKeywordSet && requires() { T::Initial; }); +template +concept facebook::react::detail::css::keywords::hasInline = (CSSKeywordSet && requires() { T::Inline; }); +template +concept facebook::react::detail::css::keywords::hasInlineBlock = (CSSKeywordSet && requires() { T::InlineBlock; }); +template +concept facebook::react::detail::css::keywords::hasInlineFlex = (CSSKeywordSet && requires() { T::InlineFlex; }); +template +concept facebook::react::detail::css::keywords::hasInlineGrid = (CSSKeywordSet && requires() { T::InlineGrid; }); +template +concept facebook::react::detail::css::keywords::hasInset = (CSSKeywordSet && requires() { T::Inset; }); +template +concept facebook::react::detail::css::keywords::hasLeft = (CSSKeywordSet && requires() { T::Left; }); +template +concept facebook::react::detail::css::keywords::hasLiningNums = (CSSKeywordSet && requires() { T::LiningNums; }); +template +concept facebook::react::detail::css::keywords::hasLtr = (CSSKeywordSet && requires() { T::Ltr; }); +template +concept facebook::react::detail::css::keywords::hasMaxContent = (CSSKeywordSet && requires() { T::MaxContent; }); +template +concept facebook::react::detail::css::keywords::hasMedium = (CSSKeywordSet && requires() { T::Medium; }); +template +concept facebook::react::detail::css::keywords::hasMinContent = (CSSKeywordSet && requires() { T::MinContent; }); +template +concept facebook::react::detail::css::keywords::hasNoCommonLigatures = (CSSKeywordSet && requires() { T::NoCommonLigatures; }); +template +concept facebook::react::detail::css::keywords::hasNoContextual = (CSSKeywordSet && requires() { T::NoContextual; }); +template +concept facebook::react::detail::css::keywords::hasNoDiscretionaryLigatures = (CSSKeywordSet && requires() { T::NoDiscretionaryLigatures; }); +template +concept facebook::react::detail::css::keywords::hasNoHistoricalLigatures = (CSSKeywordSet && requires() { T::NoHistoricalLigatures; }); +template +concept facebook::react::detail::css::keywords::hasNoWrap = (CSSKeywordSet && requires() { T::NoWrap; }); +template +concept facebook::react::detail::css::keywords::hasNone = (CSSKeywordSet && requires() { T::None; }); +template +concept facebook::react::detail::css::keywords::hasNormal = (CSSKeywordSet && requires() { T::Normal; }); +template +concept facebook::react::detail::css::keywords::hasOldstyleNums = (CSSKeywordSet && requires() { T::OldstyleNums; }); +template +concept facebook::react::detail::css::keywords::hasOutset = (CSSKeywordSet && requires() { T::Outset; }); +template +concept facebook::react::detail::css::keywords::hasProportionalNums = (CSSKeywordSet && requires() { T::ProportionalNums; }); +template +concept facebook::react::detail::css::keywords::hasRelative = (CSSKeywordSet && requires() { T::Relative; }); +template +concept facebook::react::detail::css::keywords::hasRidge = (CSSKeywordSet && requires() { T::Ridge; }); +template +concept facebook::react::detail::css::keywords::hasRight = (CSSKeywordSet && requires() { T::Right; }); +template +concept facebook::react::detail::css::keywords::hasRow = (CSSKeywordSet && requires() { T::Row; }); +template +concept facebook::react::detail::css::keywords::hasRowReverse = (CSSKeywordSet && requires() { T::RowReverse; }); +template +concept facebook::react::detail::css::keywords::hasRtl = (CSSKeywordSet && requires() { T::Rtl; }); +template +concept facebook::react::detail::css::keywords::hasScroll = (CSSKeywordSet && requires() { T::Scroll; }); +template +concept facebook::react::detail::css::keywords::hasSmallCaps = (CSSKeywordSet && requires() { T::SmallCaps; }); +template +concept facebook::react::detail::css::keywords::hasSolid = (CSSKeywordSet && requires() { T::Solid; }); +template +concept facebook::react::detail::css::keywords::hasSpaceAround = (CSSKeywordSet && requires() { T::SpaceAround; }); +template +concept facebook::react::detail::css::keywords::hasSpaceBetween = (CSSKeywordSet && requires() { T::SpaceBetween; }); +template +concept facebook::react::detail::css::keywords::hasSpaceEvenly = (CSSKeywordSet && requires() { T::SpaceEvenly; }); +template +concept facebook::react::detail::css::keywords::hasStart = (CSSKeywordSet && requires() { T::Start; }); +template +concept facebook::react::detail::css::keywords::hasStatic = (CSSKeywordSet && requires() { T::Static; }); +template +concept facebook::react::detail::css::keywords::hasSticky = (CSSKeywordSet && requires() { T::Sticky; }); +template +concept facebook::react::detail::css::keywords::hasStretch = (CSSKeywordSet && requires() { T::Stretch; }); +template +concept facebook::react::detail::css::keywords::hasStylisticEight = (CSSKeywordSet && requires() { T::StylisticEight; }); +template +concept facebook::react::detail::css::keywords::hasStylisticEighteen = (CSSKeywordSet && requires() { T::StylisticEighteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticEleven = (CSSKeywordSet && requires() { T::StylisticEleven; }); +template +concept facebook::react::detail::css::keywords::hasStylisticFifteen = (CSSKeywordSet && requires() { T::StylisticFifteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticFive = (CSSKeywordSet && requires() { T::StylisticFive; }); +template +concept facebook::react::detail::css::keywords::hasStylisticFour = (CSSKeywordSet && requires() { T::StylisticFour; }); +template +concept facebook::react::detail::css::keywords::hasStylisticFourteen = (CSSKeywordSet && requires() { T::StylisticFourteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticNine = (CSSKeywordSet && requires() { T::StylisticNine; }); +template +concept facebook::react::detail::css::keywords::hasStylisticNineteen = (CSSKeywordSet && requires() { T::StylisticNineteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticOne = (CSSKeywordSet && requires() { T::StylisticOne; }); +template +concept facebook::react::detail::css::keywords::hasStylisticSeven = (CSSKeywordSet && requires() { T::StylisticSeven; }); +template +concept facebook::react::detail::css::keywords::hasStylisticSeventeen = (CSSKeywordSet && requires() { T::StylisticSeventeen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticSix = (CSSKeywordSet && requires() { T::StylisticSix; }); +template +concept facebook::react::detail::css::keywords::hasStylisticSixteen = (CSSKeywordSet && requires() { T::StylisticSixteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticTen = (CSSKeywordSet && requires() { T::StylisticTen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticThirteen = (CSSKeywordSet && requires() { T::StylisticThirteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticThree = (CSSKeywordSet && requires() { T::StylisticThree; }); +template +concept facebook::react::detail::css::keywords::hasStylisticTwelve = (CSSKeywordSet && requires() { T::StylisticTwelve; }); +template +concept facebook::react::detail::css::keywords::hasStylisticTwenty = (CSSKeywordSet && requires() { T::StylisticTwenty; }); +template +concept facebook::react::detail::css::keywords::hasStylisticTwo = (CSSKeywordSet && requires() { T::StylisticTwo; }); +template +concept facebook::react::detail::css::keywords::hasTabularNums = (CSSKeywordSet && requires() { T::TabularNums; }); +template +concept facebook::react::detail::css::keywords::hasThick = (CSSKeywordSet && requires() { T::Thick; }); +template +concept facebook::react::detail::css::keywords::hasThin = (CSSKeywordSet && requires() { T::Thin; }); +template +concept facebook::react::detail::css::keywords::hasTo = (CSSKeywordSet && requires() { T::To; }); +template +concept facebook::react::detail::css::keywords::hasTop = (CSSKeywordSet && requires() { T::Top; }); +template +concept facebook::react::detail::css::keywords::hasUnset = (CSSKeywordSet && requires() { T::Unset; }); +template +concept facebook::react::detail::css::keywords::hasVisible = (CSSKeywordSet && requires() { T::Visible; }); +template +concept facebook::react::detail::css::keywords::hasWrap = (CSSKeywordSet && requires() { T::Wrap; }); +template +concept facebook::react::detail::css::keywords::hasWrapReverse = (CSSKeywordSet && requires() { T::WrapReverse; }); + + +constexpr size_t facebook::react::jsinspector_modern::REQUEST_BUFFER_MAX_SIZE_BYTES; +template +using facebook::react::jsinspector_modern::ScopedExecutor = std::function&& callback)>; +typedef std::function facebook::react::jsinspector_modern::FrontendChannel; +typedef std::map facebook::react::jsinspector_modern::Headers; +using facebook::react::jsinspector_modern::ExecutionContextSelectorSet = std::unordered_set; +using facebook::react::jsinspector_modern::IOReadError = const std::string; +using facebook::react::jsinspector_modern::InspectorPage = facebook::react::jsinspector_modern::InspectorPageDescription; +using facebook::react::jsinspector_modern::StreamID = const std::string; +using facebook::react::jsinspector_modern::VoidExecutor = std::function&& callback)>; +bool facebook::react::jsinspector_modern::matchesAny(const facebook::react::jsinspector_modern::ExecutionContextDescription& context, const facebook::react::jsinspector_modern::ExecutionContextSelectorSet& selectors); +facebook::react::jsinspector_modern::IInspector& facebook::react::jsinspector_modern::getInspectorInstance(); +folly::dynamic facebook::react::jsinspector_modern::createHostMetadataPayload(const facebook::react::jsinspector_modern::HostTargetMetadata& metadata); +folly::dynamic facebook::react::jsinspector_modern::targetCapabilitiesToDynamic(const facebook::react::jsinspector_modern::InspectorTargetCapabilities& capabilities); +std::string facebook::react::jsinspector_modern::httpReasonPhrase(uint16_t status); +std::string facebook::react::jsinspector_modern::mimeTypeFromHeaders(const facebook::react::jsinspector_modern::Headers& headers); +std::unique_ptr facebook::react::jsinspector_modern::makeTestInspectorInstance(); +template +void facebook::react::jsinspector_modern::emitNotificationsForTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const ChannelsRange& channels, bool isBackgroundTrace); +template +facebook::react::jsinspector_modern::ScopedExecutor facebook::react::jsinspector_modern::makeScopedExecutor(std::shared_ptr self, facebook::react::jsinspector_modern::ScopedExecutor executor); +template +facebook::react::jsinspector_modern::ScopedExecutor facebook::react::jsinspector_modern::makeScopedExecutor(std::shared_ptr self, facebook::react::jsinspector_modern::VoidExecutor executor); +template +facebook::react::jsinspector_modern::VoidExecutor facebook::react::jsinspector_modern::makeVoidExecutor(facebook::react::jsinspector_modern::ScopedExecutor executor); +void facebook::react::jsinspector_modern::emitGlobalStateObserverChange(facebook::jsi::Runtime& runtime, const char* globalName, const char* callbackName, bool value); +void facebook::react::jsinspector_modern::emitNotificationsForTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const facebook::react::jsinspector_modern::FrontendChannel& channel, bool isBackgroundTrace); +void facebook::react::jsinspector_modern::emitTracingStateObserverChange(facebook::jsi::Runtime& runtime, bool isTracing); +void facebook::react::jsinspector_modern::installGlobalStateObserver(facebook::jsi::Runtime& runtime, const char* globalName, const char* statusProperty, const char* callbackName); +void facebook::react::jsinspector_modern::installTracingStateObserver(facebook::jsi::Runtime& runtime); +void facebook::react::jsinspector_modern::truncateToValidUTF8(std::vector& buffer); + +class facebook::react::jsinspector_modern::BoundedRequestBuffer { + public bool put(const std::string& requestId, std::string_view data, bool base64Encoded) noexcept; + public std::shared_ptr get(const std::string& requestId) const; + public void clear(); +} + +struct facebook::react::jsinspector_modern::BoundedRequestBuffer::ResponseBody { + public bool base64Encoded; + public std::string data; +} + +class facebook::react::jsinspector_modern::CallbackLocalConnection : public facebook::react::jsinspector_modern::ILocalConnection { + public CallbackLocalConnection(std::function handler); + public virtual void disconnect() override; + public virtual void sendMessage(std::string message) override; +} + +class facebook::react::jsinspector_modern::CallbackRemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { + public CallbackRemoteConnection(std::function handler); + public virtual void onDisconnect() override; + public virtual void onMessage(std::string message) override; +} + +class facebook::react::jsinspector_modern::ConsoleTask { + public ConsoleTask(const facebook::react::jsinspector_modern::ConsoleTask&) = default; + public ConsoleTask(facebook::react::jsinspector_modern::ConsoleTask&&) = default; + public ConsoleTask(std::shared_ptr taskContext); + public facebook::react::jsinspector_modern::ConsoleTask& operator=(const facebook::react::jsinspector_modern::ConsoleTask&) = delete; + public facebook::react::jsinspector_modern::ConsoleTask& operator=(facebook::react::jsinspector_modern::ConsoleTask&&) = delete; + public ~ConsoleTask(); +} + +class facebook::react::jsinspector_modern::ConsoleTaskContext : public std::enable_shared_from_this { + public ConsoleTaskContext(const facebook::react::jsinspector_modern::ConsoleTaskContext&) = delete; + public ConsoleTaskContext(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::RuntimeTargetDelegate& runtimeTargetDelegate, std::string name); + public ConsoleTaskContext(facebook::react::jsinspector_modern::ConsoleTaskContext&&) = delete; + public facebook::react::jsinspector_modern::ConsoleTaskContext& operator=(const facebook::react::jsinspector_modern::ConsoleTaskContext&) = delete; + public facebook::react::jsinspector_modern::ConsoleTaskContext& operator=(facebook::react::jsinspector_modern::ConsoleTaskContext&&) = delete; + public facebook::react::jsinspector_modern::ConsoleTaskId id() const; + public std::optional getSerializedStackTrace() const; + public void schedule(); + public ~ConsoleTaskContext(); +} + +class facebook::react::jsinspector_modern::ConsoleTaskId { + public ConsoleTaskId() = default; + public ConsoleTaskId(const facebook::react::jsinspector_modern::ConsoleTaskId&) = default; + public ConsoleTaskId(facebook::react::jsinspector_modern::ConsoleTaskId&&) = default; + public bool operator==(const facebook::react::jsinspector_modern::ConsoleTaskId&) const = default; + public facebook::react::jsinspector_modern::ConsoleTaskId& operator=(const facebook::react::jsinspector_modern::ConsoleTaskId&) = default; + public facebook::react::jsinspector_modern::ConsoleTaskId& operator=(facebook::react::jsinspector_modern::ConsoleTaskId&&) = default; + public operator bool() const; + public operator void *() const; + public ~ConsoleTaskId() = default; +} + +class facebook::react::jsinspector_modern::ConsoleTaskOrchestrator { + public ConsoleTaskOrchestrator(const facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&) = delete; + public ConsoleTaskOrchestrator(facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&&) = delete; + public facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& operator=(const facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&) = delete; + public facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& operator=(facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&&) = delete; + public static facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& getInstance(); + public std::shared_ptr top() const; + public void cancelTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); + public void finishTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); + public void scheduleTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId, std::weak_ptr taskContext); + public void startTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); + public ~ConsoleTaskOrchestrator() = default; +} + +class facebook::react::jsinspector_modern::ExecutionContextManager { + public int32_t allocateExecutionContextId(); +} + +class facebook::react::jsinspector_modern::ExecutionContextSelector { + public ExecutionContextSelector() = delete; + public ExecutionContextSelector(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) = default; + public ExecutionContextSelector(facebook::react::jsinspector_modern::ExecutionContextSelector&& other) noexcept = default; + public bool matches(const facebook::react::jsinspector_modern::ExecutionContextDescription& context) const noexcept; + public bool operator==(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) const noexcept; + public facebook::react::jsinspector_modern::ExecutionContextSelector& operator=(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) = default; + public facebook::react::jsinspector_modern::ExecutionContextSelector& operator=(facebook::react::jsinspector_modern::ExecutionContextSelector&& other) noexcept = default; + public static facebook::react::jsinspector_modern::ExecutionContextSelector all(); + public static facebook::react::jsinspector_modern::ExecutionContextSelector byId(int32_t id); + public static facebook::react::jsinspector_modern::ExecutionContextSelector byName(std::string name); + public ~ExecutionContextSelector() = default; +} + +class facebook::react::jsinspector_modern::FallbackRuntimeAgentDelegate : public facebook::react::jsinspector_modern::RuntimeAgentDelegate { + public FallbackRuntimeAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, const facebook::react::jsinspector_modern::SessionState& sessionState, std::string engineDescription); + public virtual bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req) override; +} + +class facebook::react::jsinspector_modern::FallbackRuntimeTargetDelegate : public facebook::react::jsinspector_modern::RuntimeTargetDelegate { + public FallbackRuntimeTargetDelegate(std::string engineDescription); + public virtual bool supportsConsole() const override; + public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() override; + public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) override; + public virtual std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel channel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) override; + public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip) override; + public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) override; + public virtual void disableSamplingProfiler() override; + public virtual void enableSamplingProfiler() override; +} + +class facebook::react::jsinspector_modern::HermesRuntimeTargetDelegate : public facebook::react::jsinspector_modern::RuntimeTargetDelegate { + public HermesRuntimeTargetDelegate(std::shared_ptr runtime, hermes::HermesRuntime& hermesRuntime); + public std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) override; + public virtual bool supportsConsole() const override; + public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() override; + public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) override; + public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip) override; + public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) override; + public virtual void disableSamplingProfiler() override; + public virtual void enableSamplingProfiler() override; + public ~HermesRuntimeTargetDelegate() override; +} + +class facebook::react::jsinspector_modern::HostAgent { + public HostAgent(const facebook::react::jsinspector_modern::FrontendChannel& frontendChannel, facebook::react::jsinspector_modern::HostTargetController& targetController, facebook::react::jsinspector_modern::HostTargetMetadata hostMetadata, facebook::react::jsinspector_modern::SessionState& sessionState, facebook::react::jsinspector_modern::VoidExecutor executor); + public HostAgent(const facebook::react::jsinspector_modern::HostAgent&) = delete; + public HostAgent(facebook::react::jsinspector_modern::HostAgent&&) = delete; + public bool isEligibleForBackgroundTrace() const; + public facebook::react::jsinspector_modern::HostAgent& operator=(const facebook::react::jsinspector_modern::HostAgent&) = delete; + public facebook::react::jsinspector_modern::HostAgent& operator=(facebook::react::jsinspector_modern::HostAgent&&) = delete; + public void emitSystemStateChanged(bool isSingleHost); + public void handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); + public void setCurrentInstanceAgent(std::shared_ptr agent); + public ~HostAgent(); +} + +class facebook::react::jsinspector_modern::HostTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { + public HostTarget(const facebook::react::jsinspector_modern::HostTarget&) = delete; + public HostTarget(facebook::react::jsinspector_modern::HostTarget&&) = delete; + public bool startTracing(facebook::react::jsinspector_modern::tracing::Mode mode, std::set enabledCategories); + public bool stopAndMaybeEmitBackgroundTrace(); + public facebook::react::jsinspector_modern::HostTarget& operator=(const facebook::react::jsinspector_modern::HostTarget&) = delete; + public facebook::react::jsinspector_modern::HostTarget& operator=(facebook::react::jsinspector_modern::HostTarget&&) = delete; + public facebook::react::jsinspector_modern::InstanceTarget& registerInstance(facebook::react::jsinspector_modern::InstanceTargetDelegate& delegate); + public facebook::react::jsinspector_modern::tracing::HostTracingProfile stopTracing(); + public static std::shared_ptr create(facebook::react::jsinspector_modern::HostTargetDelegate& delegate, facebook::react::jsinspector_modern::VoidExecutor executor); + public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public std::unique_ptr connect(std::unique_ptr connectionToFrontend); + public void recordFrameTimings(facebook::react::jsinspector_modern::tracing::FrameTimingSequence frameTimingSequence); + public void sendCommand(facebook::react::jsinspector_modern::HostCommand command); + public void unregisterInstance(facebook::react::jsinspector_modern::InstanceTarget& instance); + public ~HostTarget(); +} + +class facebook::react::jsinspector_modern::HostTargetController { + public HostTargetController(facebook::react::jsinspector_modern::HostTarget& target); + public bool decrementPauseOverlayCounter(); + public bool hasInstance() const; + public bool maybeEmitStashedBackgroundTrace(); + public bool startTracing(facebook::react::jsinspector_modern::tracing::Mode mode, std::set enabledCategories); + public facebook::react::jsinspector_modern::HostTargetDelegate& getDelegate(); + public facebook::react::jsinspector_modern::tracing::HostTracingProfile stopTracing(); + public void incrementPauseOverlayCounter(); + public void installPerfIssuesBinding(); +} + +class facebook::react::jsinspector_modern::HostTargetDelegate : public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate { + public HostTargetDelegate() = default; + public HostTargetDelegate(const facebook::react::jsinspector_modern::HostTargetDelegate&) = delete; + public HostTargetDelegate(facebook::react::jsinspector_modern::HostTargetDelegate&&) = delete; + public facebook::react::jsinspector_modern::HostTargetDelegate& operator=(const facebook::react::jsinspector_modern::HostTargetDelegate&) = delete; + public facebook::react::jsinspector_modern::HostTargetDelegate& operator=(facebook::react::jsinspector_modern::HostTargetDelegate&&) = delete; + public virtual facebook::react::jsinspector_modern::HostTargetMetadata getMetadata() = 0; + public virtual facebook::react::jsinspector_modern::HostTargetTracingDelegate* getTracingDelegate(); + public virtual void loadNetworkResource(const facebook::react::jsinspector_modern::LoadNetworkResourceRequest&, facebook::react::jsinspector_modern::ScopedExecutor) override; + public virtual void onReload(const facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest& request) = 0; + public virtual void onSetPausedInDebuggerMessage(const facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest& request) = 0; + public virtual void unstable_onPerfIssueAdded(const facebook::react::jsinspector_modern::PerfIssuePayload&); + public virtual ~HostTargetDelegate() override; +} + +struct facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest { + public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest& rhs) const; + public std::optional message; +} + +struct facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest { + public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest& rhs) const; + public std::optional ignoreCache; + public std::optional scriptToEvaluateOnLoad; +} + +class facebook::react::jsinspector_modern::HostTargetTraceRecording { + public HostTargetTraceRecording(facebook::react::jsinspector_modern::HostTarget& hostTarget, facebook::react::jsinspector_modern::tracing::Mode tracingMode, std::set enabledCategories, std::optional windowSize = std::nullopt); + public bool isBackgroundInitiated() const; + public bool isUserInitiated() const; + public facebook::react::jsinspector_modern::tracing::HostTracingProfile stop(); + public void recordFrameTimings(facebook::react::jsinspector_modern::tracing::FrameTimingSequence frameTimingSequence); + public void setTracedInstance(facebook::react::jsinspector_modern::InstanceTarget* instanceTarget); + public void start(); +} + +class facebook::react::jsinspector_modern::HostTargetTracingDelegate { + public HostTargetTracingDelegate() = default; + public HostTargetTracingDelegate(const facebook::react::jsinspector_modern::HostTargetTracingDelegate&) = delete; + public HostTargetTracingDelegate(facebook::react::jsinspector_modern::HostTargetTracingDelegate&&) = delete; + public facebook::react::jsinspector_modern::HostTargetTracingDelegate& operator=(const facebook::react::jsinspector_modern::HostTargetTracingDelegate&) = delete; + public facebook::react::jsinspector_modern::HostTargetTracingDelegate& operator=(facebook::react::jsinspector_modern::HostTargetTracingDelegate&&) = delete; + public virtual void onTracingStarted(facebook::react::jsinspector_modern::tracing::Mode, bool); + public virtual void onTracingStopped(); + public virtual ~HostTargetTracingDelegate() = default; +} + +class facebook::react::jsinspector_modern::HostTracingAgent { + public HostTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public void setTracedInstance(facebook::react::jsinspector_modern::InstanceTarget* instanceTarget); +} + +class facebook::react::jsinspector_modern::IDestructible { + public virtual ~IDestructible() = 0; +} + +class facebook::react::jsinspector_modern::IInspector : public facebook::react::jsinspector_modern::IDestructible { + public using ConnectFunc = std::function(std::unique_ptr)>; + public virtual facebook::react::jsinspector_modern::InspectorSystemState getSystemState() const = 0; + public virtual int addPage(const std::string& description, const std::string& vm, facebook::react::jsinspector_modern::IInspector::ConnectFunc connectFunc, facebook::react::jsinspector_modern::InspectorTargetCapabilities capabilities = {}) = 0; + public virtual std::unique_ptr connect(int pageId, std::unique_ptr remote) = 0; + public virtual std::vector getPages() const = 0; + public virtual void registerPageStatusListener(std::weak_ptr listener) = 0; + public virtual void removePage(int pageId) = 0; + public virtual ~IInspector() = 0; +} + +class facebook::react::jsinspector_modern::ILocalConnection : public facebook::react::jsinspector_modern::IDestructible { + public virtual void disconnect() = 0; + public virtual void sendMessage(std::string message) = 0; + public virtual ~ILocalConnection() = 0; +} + +class facebook::react::jsinspector_modern::IPageStatusListener : public facebook::react::jsinspector_modern::IDestructible { + public virtual void onPageRemoved(int); + public virtual void unstable_onHostTargetAdded(); + public virtual ~IPageStatusListener() = 0; +} + +class facebook::react::jsinspector_modern::IRemoteConnection : public facebook::react::jsinspector_modern::IDestructible { + public virtual void onDisconnect() = 0; + public virtual void onMessage(std::string message) = 0; + public virtual ~IRemoteConnection() = 0; +} + +class facebook::react::jsinspector_modern::IWebSocket { + public virtual void send(std::string_view message) = 0; + public virtual ~IWebSocket() = default; +} + +class facebook::react::jsinspector_modern::IWebSocketDelegate { + public virtual void didClose() = 0; + public virtual void didFailWithError(std::optional posixCode, std::string error) = 0; + public virtual void didOpen() = 0; + public virtual void didReceiveMessage(std::string_view message) = 0; + public virtual ~IWebSocketDelegate() = default; +} + +class facebook::react::jsinspector_modern::InspectorFlags { + public bool getAssertSingleHostState() const; + public bool getFrameRecordingEnabled() const; + public bool getFuseboxEnabled() const; + public bool getIsProfilingBuild() const; + public bool getNetworkInspectionEnabled() const; + public bool getPerfIssuesEnabled() const; + public static facebook::react::jsinspector_modern::InspectorFlags& getInstance(); + public void dangerouslyDisableFuseboxForTest(); + public void dangerouslyResetFlags(); +} + +class facebook::react::jsinspector_modern::InspectorPackagerConnection { + public InspectorPackagerConnection(std::string url, std::string deviceName, std::string appName, std::unique_ptr delegate); + public bool isConnected() const; + public void closeQuietly(); + public void connect(); + public void sendEventToAllConnections(std::string event); +} + +class facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl : public facebook::react::jsinspector_modern::IWebSocketDelegate, public facebook::react::jsinspector_modern::IPageStatusListener, public std::enable_shared_from_this { + public bool isConnected() const; + public static std::shared_ptr create(std::string url, std::string deviceName, std::string appName, std::unique_ptr delegate); + public using SessionId = uint32_t; + public void closeQuietly(); + public void connect(); + public void scheduleSendToPackager(folly::dynamic message, facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::SessionId sourceSessionId, const std::string& sourcePageId, const std::string& sourceProxySessionId); + public void sendEventToAllConnections(const std::string& event); +} + +class facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::RemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { + public RemoteConnection(std::weak_ptr owningPackagerConnection, std::string pageId, facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::SessionId sessionId, std::string proxySessionId); + public virtual void onDisconnect() override; + public virtual void onMessage(std::string message) override; +} + +class facebook::react::jsinspector_modern::InspectorPackagerConnectionDelegate { + public virtual std::unique_ptr connectWebSocket(const std::string& url, std::weak_ptr delegate) = 0; + public virtual void scheduleCallback(std::function callback, std::chrono::milliseconds delayMs) = 0; + public virtual ~InspectorPackagerConnectionDelegate() = default; +} + +class facebook::react::jsinspector_modern::InstanceAgent { + public InstanceAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::InstanceTarget& target, facebook::react::jsinspector_modern::SessionState& sessionState); + public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); + public void sendConsoleMessage(facebook::react::jsinspector_modern::SimpleConsoleMessage message); + public void setCurrentRuntime(facebook::react::jsinspector_modern::RuntimeTarget* runtime); +} + +class facebook::react::jsinspector_modern::InstanceTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { + public InstanceTarget(const facebook::react::jsinspector_modern::InstanceTarget&) = delete; + public InstanceTarget(facebook::react::jsinspector_modern::InstanceTarget&&) = delete; + public facebook::react::jsinspector_modern::InstanceTarget& operator=(const facebook::react::jsinspector_modern::InstanceTarget&) = delete; + public facebook::react::jsinspector_modern::InstanceTarget& operator=(facebook::react::jsinspector_modern::InstanceTarget&&) = delete; + public facebook::react::jsinspector_modern::RuntimeTarget& registerRuntime(facebook::react::jsinspector_modern::RuntimeTargetDelegate& delegate, facebook::react::RuntimeExecutor executor); + public static std::shared_ptr create(std::shared_ptr executionContextManager, facebook::react::jsinspector_modern::InstanceTargetDelegate& delegate, facebook::react::jsinspector_modern::VoidExecutor executor); + public std::shared_ptr createAgent(const facebook::react::jsinspector_modern::FrontendChannel& channel, facebook::react::jsinspector_modern::SessionState& sessionState); + public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public void unregisterRuntime(facebook::react::jsinspector_modern::RuntimeTarget& runtime); + public ~InstanceTarget(); +} + +class facebook::react::jsinspector_modern::InstanceTargetDelegate { + public InstanceTargetDelegate() = default; + public InstanceTargetDelegate(const facebook::react::jsinspector_modern::InstanceTargetDelegate&) = delete; + public InstanceTargetDelegate(facebook::react::jsinspector_modern::InstanceTargetDelegate&&) = delete; + public facebook::react::jsinspector_modern::InstanceTargetDelegate& operator=(const facebook::react::jsinspector_modern::InstanceTargetDelegate&) = delete; + public facebook::react::jsinspector_modern::InstanceTargetDelegate& operator=(facebook::react::jsinspector_modern::InstanceTargetDelegate&&) = delete; + public virtual ~InstanceTargetDelegate(); +} + +class facebook::react::jsinspector_modern::InstanceTracingAgent { + public InstanceTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public void setTracedRuntime(facebook::react::jsinspector_modern::RuntimeTarget* runtimeTarget); + public ~InstanceTracingAgent(); +} + +class facebook::react::jsinspector_modern::LoadNetworkResourceDelegate { + public LoadNetworkResourceDelegate() = default; + public LoadNetworkResourceDelegate(const facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&) = delete; + public LoadNetworkResourceDelegate(facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&&) noexcept = delete; + public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& operator=(const facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&) = delete; + public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& operator=(facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&&) noexcept = delete; + public virtual void loadNetworkResource(const facebook::react::jsinspector_modern::LoadNetworkResourceRequest& params, facebook::react::jsinspector_modern::ScopedExecutor executor) = 0; + public virtual ~LoadNetworkResourceDelegate() = default; +} + +class facebook::react::jsinspector_modern::NetworkHandler { + public bool isEnabled() const; + public size_t enableAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel); + public static facebook::react::jsinspector_modern::NetworkHandler& getInstance(); + public std::optional> getResponseBody(const std::string& requestId); + public void disableAgent(size_t agentId); + public void onDataReceived(const std::string& requestId, int dataLength, int encodedDataLength); + public void onLoadingFailed(const std::string& requestId, bool cancelled); + public void onLoadingFinished(const std::string& requestId, int encodedDataLength); + public void onRequestWillBeSent(const std::string& requestId, const facebook::react::jsinspector_modern::cdp::network::Request& request, const std::optional& redirectResponse); + public void onRequestWillBeSentExtraInfo(const std::string& requestId, const facebook::react::jsinspector_modern::Headers& headers); + public void onResponseReceived(const std::string& requestId, const facebook::react::jsinspector_modern::cdp::network::Response& response); + public void recordRequestInitiatorStack(const std::string& requestId, folly::dynamic stackTrace); + public void storeResponseBody(const std::string& requestId, std::string_view body, bool base64Encoded); +} + +class facebook::react::jsinspector_modern::NetworkIOAgent { + public NetworkIOAgent(const facebook::react::jsinspector_modern::NetworkIOAgent&) = delete; + public NetworkIOAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::VoidExecutor executor); + public NetworkIOAgent(facebook::react::jsinspector_modern::NetworkIOAgent&&) = delete; + public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req, facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& delegate); + public facebook::react::jsinspector_modern::NetworkIOAgent& operator=(const facebook::react::jsinspector_modern::NetworkIOAgent&) = delete; + public facebook::react::jsinspector_modern::NetworkIOAgent& operator=(facebook::react::jsinspector_modern::NetworkIOAgent&&) = delete; + public ~NetworkIOAgent(); +} + +class facebook::react::jsinspector_modern::NetworkRequestListener { + public NetworkRequestListener() = default; + public NetworkRequestListener(const facebook::react::jsinspector_modern::NetworkRequestListener&) = delete; + public NetworkRequestListener(facebook::react::jsinspector_modern::NetworkRequestListener&&) noexcept = default; + public facebook::react::jsinspector_modern::NetworkRequestListener& operator=(const facebook::react::jsinspector_modern::NetworkRequestListener&) = delete; + public facebook::react::jsinspector_modern::NetworkRequestListener& operator=(facebook::react::jsinspector_modern::NetworkRequestListener&&) noexcept = default; + public virtual void onCompletion() = 0; + public virtual void onData(std::string_view data) = 0; + public virtual void onError(const std::string& message) = 0; + public virtual void onHeaders(uint32_t httpStatusCode, const facebook::react::jsinspector_modern::Headers& headers) = 0; + public virtual void setCancelFunction(std::function cancelFunction) = 0; + public virtual ~NetworkRequestListener() = default; +} + +class facebook::react::jsinspector_modern::NotImplementedException : public std::exception { + public NotImplementedException(std::string message); + public const char* what() const noexcept override; +} + +class facebook::react::jsinspector_modern::NullRemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { +} + +class facebook::react::jsinspector_modern::PerfMonitorUpdateHandler { + public PerfMonitorUpdateHandler(facebook::react::jsinspector_modern::HostTargetDelegate& delegate); + public void handlePerfIssueAdded(const std::string& message); +} + +class facebook::react::jsinspector_modern::RAIIRemoteConnection { + public RAIIRemoteConnection(std::unique_ptr remote); + public void onMessage(std::string message); + public ~RAIIRemoteConnection(); +} + +class facebook::react::jsinspector_modern::RuntimeAgent { + public RuntimeAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::RuntimeTargetController& targetController, facebook::react::jsinspector_modern::ExecutionContextDescription executionContextDescription, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr delegate); + public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); + public const facebook::react::jsinspector_modern::ExecutionContextDescription& getExecutionContextDescription() const; + public facebook::react::jsinspector_modern::RuntimeAgent::ExportedState getExportedState(); + public void notifyBindingCalled(const std::string& bindingName, const std::string& payload); + public ~RuntimeAgent(); +} + +struct facebook::react::jsinspector_modern::RuntimeAgent::ExportedState { + public std::unique_ptr delegateState; +} + +class facebook::react::jsinspector_modern::RuntimeAgentDelegate { + public virtual bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req) = 0; + public virtual std::unique_ptr getExportedState(); + public virtual ~RuntimeAgentDelegate() = default; +} + +class facebook::react::jsinspector_modern::RuntimeAgentDelegate::ExportedState { + public virtual ~ExportedState() = default; +} + +class facebook::react::jsinspector_modern::RuntimeTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { + public RuntimeTarget(const facebook::react::jsinspector_modern::RuntimeTarget&) = delete; + public RuntimeTarget(facebook::react::jsinspector_modern::RuntimeTarget&&) = delete; + public facebook::react::jsinspector_modern::RuntimeTarget& operator=(const facebook::react::jsinspector_modern::RuntimeTarget&) = delete; + public facebook::react::jsinspector_modern::RuntimeTarget& operator=(facebook::react::jsinspector_modern::RuntimeTarget&&) = delete; + public static std::shared_ptr create(const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::jsinspector_modern::RuntimeTargetDelegate& delegate, facebook::react::RuntimeExecutor jsExecutor, facebook::react::jsinspector_modern::VoidExecutor selfExecutor); + public std::shared_ptr createAgent(const facebook::react::jsinspector_modern::FrontendChannel& channel, facebook::react::jsinspector_modern::SessionState& sessionState); + public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public ~RuntimeTarget(); +} + +class facebook::react::jsinspector_modern::RuntimeTargetController { + public RuntimeTargetController(facebook::react::jsinspector_modern::RuntimeTarget& target); + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile(); + public void disableSamplingProfiler(); + public void emitTracingStateChange(bool isTracing); + public void enableSamplingProfiler(); + public void installBindingHandler(const std::string& bindingName); + public void notifyDomainStateChanged(facebook::react::jsinspector_modern::RuntimeTargetController::Domain domain, bool enabled, const facebook::react::jsinspector_modern::RuntimeAgent& notifyingAgent); +} + +enum facebook::react::jsinspector_modern::RuntimeTargetController::Domain { + Log, + Network, + Runtime, + kMaxValue, +} + +class facebook::react::jsinspector_modern::RuntimeTargetDelegate { + public virtual bool supportsConsole() const = 0; + public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() = 0; + public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) = 0; + public virtual std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel channel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) = 0; + public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip = 0) = 0; + public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) = 0; + public virtual void disableSamplingProfiler() = 0; + public virtual void enableSamplingProfiler() = 0; + public virtual ~RuntimeTargetDelegate() = default; +} + +class facebook::react::jsinspector_modern::RuntimeTracingAgent : public facebook::react::jsinspector_modern::tracing::TargetTracingAgent { + public RuntimeTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state, facebook::react::jsinspector_modern::RuntimeTargetController& targetController); + public ~RuntimeTracingAgent(); +} + +class facebook::react::jsinspector_modern::StackTrace { + public StackTrace() = default; + public StackTrace(const facebook::react::jsinspector_modern::StackTrace&) = delete; + public StackTrace(facebook::react::jsinspector_modern::StackTrace&&) = delete; + public facebook::react::jsinspector_modern::StackTrace& operator=(const facebook::react::jsinspector_modern::StackTrace&) = delete; + public facebook::react::jsinspector_modern::StackTrace& operator=(facebook::react::jsinspector_modern::StackTrace&&) = delete; + public static std::unique_ptr empty(); + public virtual ~StackTrace() = default; +} + +class facebook::react::jsinspector_modern::TracingAgent { + public TracingAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::SessionState& sessionState, facebook::react::jsinspector_modern::HostTargetController& hostTargetController); + public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); + public ~TracingAgent(); +} + +enum facebook::react::jsinspector_modern::ConsoleAPIType { + kAssert, + kClear, + kCount, + kDebug, + kDir, + kDirXML, + kEndGroup, + kError, + kInfo, + kLog, + kStartGroup, + kStartGroupCollapsed, + kTable, + kTimeEnd, + kTrace, + kWarning, +} + +enum facebook::react::jsinspector_modern::HostCommand { + DebuggerResume, + DebuggerStepOver, +} + +struct facebook::react::jsinspector_modern::ConsoleMessage { + public ConsoleMessage(const facebook::react::jsinspector_modern::ConsoleMessage& other) = delete; + public ConsoleMessage(double timestamp, facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args, std::unique_ptr stackTrace = facebook::react::jsinspector_modern::StackTrace::empty()); + public ConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::SimpleConsoleMessage message); + public ConsoleMessage(facebook::react::jsinspector_modern::ConsoleMessage&& other) noexcept = default; + public double timestamp; + public facebook::react::jsinspector_modern::ConsoleAPIType type; + public facebook::react::jsinspector_modern::ConsoleMessage& operator=(const facebook::react::jsinspector_modern::ConsoleMessage& other) = delete; + public facebook::react::jsinspector_modern::ConsoleMessage& operator=(facebook::react::jsinspector_modern::ConsoleMessage&& other) noexcept = default; + public std::unique_ptr stackTrace; + public std::vector args; + public ~ConsoleMessage() = default; +} + +struct facebook::react::jsinspector_modern::ExecutionContextDescription { + public int32_t id; + public std::optional uniqueId; + public std::string name; + public std::string origin; +} + +struct facebook::react::jsinspector_modern::GetResponseBodyResult { + public bool base64Encoded; + public folly::dynamic toDynamic() const; + public std::string body; +} + +struct facebook::react::jsinspector_modern::HostTargetMetadata { + public std::optional appDisplayName; + public std::optional appIdentifier; + public std::optional deviceName; + public std::optional integrationName; + public std::optional platform; + public std::optional reactNativeVersion; +} + +struct facebook::react::jsinspector_modern::IOReadResult { + public bool base64Encoded; + public bool eof; + public folly::dynamic toDynamic() const; + public std::string data; +} + +struct facebook::react::jsinspector_modern::InspectorPageDescription { + public const facebook::react::jsinspector_modern::InspectorTargetCapabilities capabilities; + public const int id; + public const std::string description; + public const std::string vm; +} + +struct facebook::react::jsinspector_modern::InspectorSystemState { + public int registeredHostsCount; +} + +struct facebook::react::jsinspector_modern::InspectorTargetCapabilities { + public bool nativePageReloads; + public bool nativeSourceCodeFetching; +} + +struct facebook::react::jsinspector_modern::LoadNetworkResourceRequest { + public std::string url; +} + +struct facebook::react::jsinspector_modern::NetworkResource { + public bool success; + public folly::dynamic toDynamic() const; + public std::optional headers; + public std::optional netErrorName; + public std::optional stream; + public std::optional httpStatusCode; +} + +struct facebook::react::jsinspector_modern::PerfIssuePayload { + public std::optional description; + public std::optional learnMoreUrl; + public std::optional severity; + public std::string name; +} + +struct facebook::react::jsinspector_modern::ReadStreamParams { + public facebook::react::jsinspector_modern::StreamID handle; + public std::optional offset; + public std::optional size; +} + +struct facebook::react::jsinspector_modern::SessionState { + public bool hasPendingTraceRecording; + public bool isDebuggerDomainEnabled; + public bool isLogDomainEnabled; + public bool isNetworkDomainEnabled; + public bool isReactNativeApplicationDomainEnabled; + public bool isRuntimeDomainEnabled; + public facebook::react::jsinspector_modern::RuntimeAgent::ExportedState lastRuntimeAgentExportedState; + public std::unordered_map subscribedBindings; + public std::vector pendingSimpleConsoleMessages; +} + +struct facebook::react::jsinspector_modern::SimpleConsoleMessage { + public SimpleConsoleMessage(const facebook::react::jsinspector_modern::SimpleConsoleMessage& other) = delete; + public SimpleConsoleMessage(double timestamp, facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args); + public SimpleConsoleMessage(facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args); + public SimpleConsoleMessage(facebook::react::jsinspector_modern::SimpleConsoleMessage&& other) noexcept = default; + public double timestamp; + public facebook::react::jsinspector_modern::ConsoleAPIType type; + public facebook::react::jsinspector_modern::SimpleConsoleMessage& operator=(const facebook::react::jsinspector_modern::SimpleConsoleMessage& other) = delete; + public facebook::react::jsinspector_modern::SimpleConsoleMessage& operator=(facebook::react::jsinspector_modern::SimpleConsoleMessage&& other) noexcept = default; + public std::vector args; + public ~SimpleConsoleMessage() = default; +} + +template +class facebook::react::jsinspector_modern::EnumArray { + public constexpr ValueType& operator[](IndexType i); + public constexpr const ValueType& operator[](IndexType i) const; + public constexpr int size() const; +} + +template +struct facebook::react::jsinspector_modern::UniqueMonostate { + public constexpr bool operator<(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; + public constexpr bool operator<=(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; + public constexpr bool operator==(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; + public constexpr bool operator>(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; + public constexpr bool operator>=(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; +} + +template +class facebook::react::jsinspector_modern::EnableExecutorFromThis : public std::enable_shared_from_this { + public facebook::react::jsinspector_modern::ScopedExecutor executorFromThis(); + public void setExecutor(facebook::react::jsinspector_modern::VoidExecutor executor); + template + public void setExecutor(facebook::react::jsinspector_modern::ScopedExecutor executor); +} + +template +class facebook::react::jsinspector_modern::WeakList { + public bool empty() const; + public size_t size() const; + public void insert(std::weak_ptr ptr); + template + public bool anyOf(Fn&& fn) const; + template + public bool anyOf(Fn&& fn); + template + public void forEach(Fn&& fn) const; + template + public void forEach(Fn&& fn); +} + + +constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::TRACING_TIME_ORIGIN; +constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::kCurrentBufferStartTimeUninitialized; +using facebook::react::jsinspector_modern::tracing::Categories = folly::small_vector; +using facebook::react::jsinspector_modern::tracing::ConsoleTimeStampEntry = std::variant; +using facebook::react::jsinspector_modern::tracing::FrameSequenceId = uint64_t; +using facebook::react::jsinspector_modern::tracing::Headers = std::map; +using facebook::react::jsinspector_modern::tracing::ProcessId = uint64_t; +using facebook::react::jsinspector_modern::tracing::RuntimeProfileId = uint16_t; +using facebook::react::jsinspector_modern::tracing::ThreadId = uint64_t; +int64_t facebook::react::jsinspector_modern::tracing::highResDurationToTracingClockDuration(facebook::react::HighResDuration duration); +std::optional facebook::react::jsinspector_modern::tracing::getTracingCategoryFromString(const std::string& str); +std::optional facebook::react::jsinspector_modern::tracing::getConsoleTimeStampColorFromString(const std::string& str); +std::optional facebook::react::jsinspector_modern::tracing::getConsoleTimeStampDetailFromObject(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& detailValue); +std::set facebook::react::jsinspector_modern::tracing::parseSerializedTracingCategories(const std::string& serializedCategories); +std::string facebook::react::jsinspector_modern::tracing::consoleTimeStampColorToString(facebook::react::jsinspector_modern::tracing::ConsoleTimeStampColor color); +std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const facebook::react::jsinspector_modern::tracing::Categories& categories); +std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const std::set& categories); +std::string facebook::react::jsinspector_modern::tracing::tracingCategoryToString(const facebook::react::jsinspector_modern::tracing::Category& category); +uint64_t facebook::react::jsinspector_modern::tracing::highResTimeStampToTracingClockTimeStamp(facebook::react::HighResTimeStamp timestamp); + +class facebook::react::jsinspector_modern::tracing::HermesRuntimeSamplingProfileSerializer { + public static facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile serializeToTracingSamplingProfile(hermes::sampling_profiler::Profile hermesProfile); +} + +class facebook::react::jsinspector_modern::tracing::HostTracingProfileSerializer { + public static void emitAsDataCollectedChunks(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const std::function& chunkCallback, size_t maxChunkBytes, uint16_t profileTraceEventsChunkSize); + public static void emitFrameTimings(std::vector&& frameTimings, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::HighResTimeStamp recordingStartTimestamp, const std::function& chunkCallback, size_t maxChunkBytes); + public static void emitPerformanceTraceEvents(std::vector&& events, const std::function& chunkCallback, size_t maxChunkBytes); +} + +class facebook::react::jsinspector_modern::tracing::PerformanceTracer { + public bool isTracing() const; + public bool startTracing(); + public bool startTracing(facebook::react::HighResDuration maxDuration); + public static facebook::react::jsinspector_modern::tracing::PerformanceTracer& getInstance(); + public static facebook::react::jsinspector_modern::tracing::TraceEvent constructRuntimeProfileChunkTraceEvent(facebook::react::jsinspector_modern::tracing::RuntimeProfileId profileId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ProcessId threadId, facebook::react::HighResTimeStamp chunkTimestamp, facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk&& traceEventProfileChunk); + public static facebook::react::jsinspector_modern::tracing::TraceEvent constructRuntimeProfileTraceEvent(facebook::react::jsinspector_modern::tracing::RuntimeProfileId profileId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp profileTimestamp); + public std::optional> stopTracing(); + public uint32_t subscribeToTracingStateChanges(facebook::react::jsinspector_modern::tracing::PerformanceTracer::TracingStateCallback callback); + public using TracingStateCallback = std::function; + public void reportEventLoopMicrotasks(facebook::react::HighResTimeStamp start, facebook::react::HighResTimeStamp end); + public void reportEventLoopTask(facebook::react::HighResTimeStamp start, facebook::react::HighResTimeStamp end); + public void reportMark(const std::string& name, facebook::react::HighResTimeStamp start, folly::dynamic&& detail = nullptr); + public void reportMeasure(const std::string& name, facebook::react::HighResTimeStamp start, facebook::react::HighResDuration duration, folly::dynamic&& detail = nullptr, std::optional stackTrace = nullptr); + public void reportResourceFinish(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int encodedDataLength, int decodedBodyLength); + public void reportResourceReceiveResponse(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int statusCode, const facebook::react::jsinspector_modern::tracing::Headers& headers, int encodedDataLength, folly::dynamic timingData); + public void reportResourceReceivedData(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int encodedDataLength); + public void reportResourceSendRequest(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, const std::string& url, const std::string& requestMethod, const facebook::react::jsinspector_modern::tracing::Headers& headers); + public void reportResourceWillSendRequest(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start); + public void reportTimeStamp(const std::string& name, std::optional start = std::nullopt, std::optional end = std::nullopt, std::optional trackName = std::nullopt, std::optional trackGroup = std::nullopt, std::optional color = std::nullopt, std::optional detail = std::nullopt, std::optional stackTrace = std::nullopt); + public void unsubscribeFromTracingStateChanges(uint32_t subscriptionId); +} + +class facebook::react::jsinspector_modern::tracing::ProfileTreeNode { + public ProfileTreeNode(uint32_t id, facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType codeType, facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame callFrame, uint32_t parentId = facebook::react::jsinspector_modern::tracing::ProfileTreeNode::NO_PARENT); + public bool hasParent() const; + public const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& getCallFrame() const; + public facebook::react::jsinspector_modern::tracing::ProfileTreeNode* addChild(uint32_t childId, facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType childCodeType, facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame childCallFrame); + public facebook::react::jsinspector_modern::tracing::ProfileTreeNode* getIfAlreadyExists(facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType childCodeType, const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& childCallFrame); + public facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType getCodeType() const; + public static constexpr uint32_t NO_PARENT; + public uint32_t getId() const; + public uint32_t getParentId() const; +} + +enum facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType { + JavaScript, + Other, +} + +class facebook::react::jsinspector_modern::tracing::RawHermesRuntimeProfile : public facebook::react::jsinspector_modern::tracing::RawRuntimeProfile { + public RawHermesRuntimeProfile(hermes::sampling_profiler::Profile hermesProfile); +} + +class facebook::react::jsinspector_modern::tracing::RawRuntimeProfile { + public virtual ~RawRuntimeProfile() = default; +} + +class facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfileTraceEventSerializer { + public static void serializeAndDispatch(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&& profile, facebook::react::jsinspector_modern::tracing::IdGenerator& profileIdGenerator, facebook::react::HighResTimeStamp tracingStartTime, const std::function& dispatchCallback, uint16_t traceEventChunkSize, uint16_t profileChunkSize = PROFILE_CHUNK_SIZE, uint16_t maxUniqueNodesPerChunk = MAX_UNIQUE_NODES_PER_CHUNK); + public static void serializeAndDispatch(std::vector&& profiles, facebook::react::jsinspector_modern::tracing::IdGenerator& profileIdGenerator, facebook::react::HighResTimeStamp tracingStartTime, const std::function& dispatchCallback, uint16_t traceEventChunkSize, uint16_t profileChunkSize = PROFILE_CHUNK_SIZE, uint16_t maxUniqueNodesPerChunk = MAX_UNIQUE_NODES_PER_CHUNK); +} + +class facebook::react::jsinspector_modern::tracing::TargetTracingAgent { + protected facebook::react::jsinspector_modern::tracing::TraceRecordingState& state_; + public TargetTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public bool isRunningInBackgroundMode(); +} + +class facebook::react::jsinspector_modern::tracing::TraceEventGenerator { + public static facebook::react::jsinspector_modern::tracing::TraceEvent createScreenshotEvent(facebook::react::jsinspector_modern::tracing::FrameSequenceId frameSequenceId, int sourceId, std::vector&& snapshot, facebook::react::HighResTimeStamp expectedDisplayTime, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); + public static facebook::react::jsinspector_modern::tracing::TraceEvent createSetLayerTreeIdEvent(std::string frame, int layerTreeId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp timestamp); + public static std::pair createFrameTimingsEvents(facebook::react::jsinspector_modern::tracing::FrameSequenceId sequenceId, int layerTreeId, facebook::react::HighResTimeStamp beginTimestamp, facebook::react::HighResTimeStamp endTimestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); +} + +class facebook::react::jsinspector_modern::tracing::TraceEventSerializer { + public static folly::dynamic serialize(facebook::react::jsinspector_modern::tracing::TraceEvent&& event); + public static folly::dynamic serializeProfileChunk(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk&& profileChunk); + public static folly::dynamic serializeProfileChunkCPUProfile(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile&& cpuProfile); + public static folly::dynamic serializeProfileChunkCPUProfileNode(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node&& node); + public static folly::dynamic serializeProfileChunkCPUProfileNodeCallFrame(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame&& callFrame); + public static folly::dynamic serializeProfileChunkTimeDeltas(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::TimeDeltas&& deltas); + public static size_t estimateJsonSize(const folly::dynamic& value); +} + +enum facebook::react::jsinspector_modern::tracing::Category { + Frame, + HiddenTimeline, + JavaScriptSampling, + RuntimeExecution, + Screenshot, + Timeline, + UserTiming, +} + +enum facebook::react::jsinspector_modern::tracing::ConsoleTimeStampColor { + Error, + Primary, + PrimaryDark, + PrimaryLight, + Secondary, + SecondaryDark, + SecondaryLight, + Tertiary, + TertiaryDark, + TertiaryLight, + Warning, +} + +enum facebook::react::jsinspector_modern::tracing::EventLoopPhase { + Microtasks, + Task, +} + +enum facebook::react::jsinspector_modern::tracing::Mode { + Background, + CDP, +} + +struct facebook::react::jsinspector_modern::tracing::EventLoopReporter { + public EventLoopReporter(const facebook::react::jsinspector_modern::tracing::EventLoopReporter&) = delete; + public EventLoopReporter(facebook::react::jsinspector_modern::tracing::EventLoopPhase phase); + public EventLoopReporter(facebook::react::jsinspector_modern::tracing::EventLoopReporter&&) = delete; + public facebook::react::jsinspector_modern::tracing::EventLoopReporter& operator=(const facebook::react::jsinspector_modern::tracing::EventLoopReporter&) = delete; + public facebook::react::jsinspector_modern::tracing::EventLoopReporter& operator=(facebook::react::jsinspector_modern::tracing::EventLoopReporter&&) = delete; + public ~EventLoopReporter(); +} + +struct facebook::react::jsinspector_modern::tracing::FrameTimingSequence { + public FrameTimingSequence() = delete; + public FrameTimingSequence(facebook::react::jsinspector_modern::tracing::FrameSequenceId id, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp beginTimestamp, facebook::react::HighResTimeStamp endTimestamp, std::optional> screenshot = std::nullopt); + public facebook::react::HighResTimeStamp beginTimestamp; + public facebook::react::HighResTimeStamp endTimestamp; + public facebook::react::jsinspector_modern::tracing::FrameSequenceId id; + public facebook::react::jsinspector_modern::tracing::ThreadId threadId; + public std::optional> screenshot; +} + +struct facebook::react::jsinspector_modern::tracing::HostTracingProfile { + public facebook::react::HighResTimeStamp startTime; + public facebook::react::jsinspector_modern::tracing::ProcessId processId; + public std::vector frameTimings; + public std::vector instanceTracingProfiles; + public std::vector runtimeSamplingProfiles; +} + +struct facebook::react::jsinspector_modern::tracing::IdGenerator { + public uint32_t getNext(); +} + +struct facebook::react::jsinspector_modern::tracing::InstanceTracingProfile { + public std::vector performanceTraceEvents; +} + +struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile { + public RuntimeSamplingProfile(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&) = delete; + public RuntimeSamplingProfile(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&&) = default; + public RuntimeSamplingProfile(std::string runtimeName, facebook::react::jsinspector_modern::tracing::ProcessId processId, std::vector samples, std::unique_ptr rawRuntimeProfile); + public facebook::react::jsinspector_modern::tracing::ProcessId processId; + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile& operator=(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&) = delete; + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile& operator=(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&&) = default; + public std::string runtimeName; + public std::unique_ptr rawRuntimeProfile; + public std::vector samples; + public ~RuntimeSamplingProfile() = default; +} + +struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample { + public Sample(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&) = delete; + public Sample(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&&) = default; + public Sample(uint64_t timestamp, facebook::react::jsinspector_modern::tracing::ThreadId threadId, std::vector callStack); + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample& operator=(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&) = delete; + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample& operator=(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&&) = default; + public facebook::react::jsinspector_modern::tracing::ThreadId threadId; + public std::vector callStack; + public uint64_t timestamp; + public ~Sample() = default; +} + +struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame { + public bool operator==(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& rhs) const noexcept = default; + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame::Kind kind; + public std::optional scriptURL; + public std::optional columnNumber; + public std::optional lineNumber; + public std::string_view functionName; + public uint32_t scriptId; +} + +enum facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame::Kind { + GarbageCollector, + HostFunction, + JSFunction, + NativeFunction, +} + +struct facebook::react::jsinspector_modern::tracing::TraceEvent { + public char ph; + public facebook::react::HighResTimeStamp ts; + public facebook::react::jsinspector_modern::tracing::Categories cat; + public facebook::react::jsinspector_modern::tracing::ProcessId pid; + public facebook::react::jsinspector_modern::tracing::ThreadId tid; + public folly::dynamic args; + public std::optional s; + public std::optional dur; + public std::optional id; + public std::string name; +} + +struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk { + public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile cpuProfile; + public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::TimeDeltas timeDeltas; + public using TimeDeltas = std::vector; +} + +struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile { + public std::vector nodes; + public std::vector samples; +} + +struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node { + public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame callFrame; + public std::optional parentId; + public uint32_t id; +} + +struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame { + public std::optional url; + public std::optional columnNumber; + public std::optional lineNumber; + public std::string codeType; + public std::string functionName; + public uint32_t scriptId; +} + +struct facebook::react::jsinspector_modern::tracing::TraceRecordingState { + public TraceRecordingState(facebook::react::jsinspector_modern::tracing::Mode tracingMode, std::set enabledCategories, std::optional windowSize = std::nullopt); + public facebook::react::jsinspector_modern::tracing::Mode mode; + public std::optional windowSize; + public std::set enabledCategories; + public std::vector instanceTracingProfiles; + public std::vector runtimeSamplingProfiles; +} + +template +class facebook::react::jsinspector_modern::tracing::TimeWindowedBuffer { + public TimeWindowedBuffer(); + public TimeWindowedBuffer(facebook::react::jsinspector_modern::tracing::TimeWindowedBuffer::TimestampAccessor timestampAccessor, facebook::react::HighResDuration windowSize); + public std::vector pruneExpiredAndExtract(facebook::react::HighResTimeStamp windowRightBoundary = facebook::react::HighResTimeStamp::now()); + public using TimestampAccessor = std::function; + public void clear(); + public void push(T&& element); + public void push(const T& element); +} + +template +class facebook::react::jsinspector_modern::tracing::PerformanceTracerSection { + public PerformanceTracerSection(const char* name, const char* track = nullptr, const char* trackGroup = nullptr, const char* color = nullptr, Args... args) noexcept; + public PerformanceTracerSection(const facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&) = delete; + public PerformanceTracerSection(facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&&) = delete; + public facebook::react::jsinspector_modern::tracing::PerformanceTracerSection& operator=(const facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&) = delete; + public facebook::react::jsinspector_modern::tracing::PerformanceTracerSection& operator=(facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&&) = delete; + public ~PerformanceTracerSection() noexcept; +} + + +using facebook::react::jsinspector_modern::cdp::ParseError = folly::json::parse_error; +using facebook::react::jsinspector_modern::cdp::RequestId = long long; +using facebook::react::jsinspector_modern::cdp::TypeError = folly::TypeError; +facebook::react::jsinspector_modern::cdp::PreparsedRequest facebook::react::jsinspector_modern::cdp::preparse(std::string_view message); +std::string facebook::react::jsinspector_modern::cdp::jsonError(std::optional id, facebook::react::jsinspector_modern::cdp::ErrorCode code, std::optional message = std::nullopt); +std::string facebook::react::jsinspector_modern::cdp::jsonNotification(const std::string& method, std::optional params = std::nullopt); +std::string facebook::react::jsinspector_modern::cdp::jsonRequest(facebook::react::jsinspector_modern::cdp::RequestId id, const std::string& method, std::optional params = std::nullopt); +std::string facebook::react::jsinspector_modern::cdp::jsonResult(facebook::react::jsinspector_modern::cdp::RequestId id, const folly::dynamic& result = folly::dynamic::object()); + +enum facebook::react::jsinspector_modern::cdp::ErrorCode { + InternalError, + InvalidParams, + InvalidRequest, + MethodNotFound, + ParseError, +} + +struct facebook::react::jsinspector_modern::cdp::PreparsedRequest { + public bool operator==(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& rhs) const; + public facebook::react::jsinspector_modern::cdp::RequestId id; + public folly::dynamic params; + public std::string method; + public std::string toJson() const; +} + + +using facebook::react::jsinspector_modern::cdp::network::Headers = std::map; +std::string facebook::react::jsinspector_modern::cdp::network::resourceTypeFromMimeType(const std::string& mimeType); + +struct facebook::react::jsinspector_modern::cdp::network::ConnectTiming { + public double requestTime; +} + +struct facebook::react::jsinspector_modern::cdp::network::DataReceivedParams { + public double timestamp; + public folly::dynamic toDynamic() const; + public int dataLength; + public int encodedDataLength; + public std::string requestId; +} + +struct facebook::react::jsinspector_modern::cdp::network::LoadingFailedParams { + public bool canceled; + public double timestamp; + public folly::dynamic toDynamic() const; + public std::string errorText; + public std::string requestId; + public std::string type; +} + +struct facebook::react::jsinspector_modern::cdp::network::LoadingFinishedParams { + public double timestamp; + public folly::dynamic toDynamic() const; + public int encodedDataLength; + public std::string requestId; +} + +struct facebook::react::jsinspector_modern::cdp::network::Request { + public facebook::react::jsinspector_modern::cdp::network::Headers headers; + public folly::dynamic toDynamic() const; + public std::optional postData; + public std::string method; + public std::string url; +} + +struct facebook::react::jsinspector_modern::cdp::network::RequestWillBeSentExtraInfoParams { + public facebook::react::jsinspector_modern::cdp::network::ConnectTiming connectTiming; + public facebook::react::jsinspector_modern::cdp::network::Headers headers; + public folly::dynamic toDynamic() const; + public std::string requestId; +} + +struct facebook::react::jsinspector_modern::cdp::network::RequestWillBeSentParams { + public bool redirectHasExtraInfo; + public double timestamp; + public double wallTime; + public facebook::react::jsinspector_modern::cdp::network::Request request; + public folly::dynamic initiator; + public folly::dynamic toDynamic() const; + public std::optional redirectResponse; + public std::string documentURL; + public std::string loaderId; + public std::string requestId; +} + +struct facebook::react::jsinspector_modern::cdp::network::Response { + public facebook::react::jsinspector_modern::cdp::network::Headers headers; + public folly::dynamic toDynamic() const; + public int encodedDataLength; + public static facebook::react::jsinspector_modern::cdp::network::Response fromInputParams(const std::string& url, uint16_t status, const facebook::react::jsinspector_modern::cdp::network::Headers& headers, int encodedDataLength); + public std::string mimeType; + public std::string statusText; + public std::string url; + public uint16_t status; +} + +struct facebook::react::jsinspector_modern::cdp::network::ResponseReceivedParams { + public bool hasExtraInfo; + public double timestamp; + public facebook::react::jsinspector_modern::cdp::network::Response response; + public folly::dynamic toDynamic() const; + public std::string loaderId; + public std::string requestId; + public std::string type; +} + + +constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_CONTAINED_BY; +constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_CONTAINS; +constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_DISCONNECTED; +constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_FOLLOWING; +constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_PRECEDING; +bool facebook::react::dom::isConnected(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +facebook::react::dom::DOMBorderWidthRounded facebook::react::dom::getBorderWidth(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +facebook::react::dom::DOMOffset facebook::react::dom::getOffset(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +facebook::react::dom::DOMPoint facebook::react::dom::getScrollPosition(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +facebook::react::dom::DOMRect facebook::react::dom::getBoundingClientRect(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode, bool includeTransform); +facebook::react::dom::DOMRect facebook::react::dom::measureInWindow(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +facebook::react::dom::DOMSizeRounded facebook::react::dom::getInnerSize(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +facebook::react::dom::DOMSizeRounded facebook::react::dom::getScrollSize(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +facebook::react::dom::RNMeasureRect facebook::react::dom::measure(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +std::optional facebook::react::dom::measureLayout(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode& relativeToShadowNode); +std::shared_ptr facebook::react::dom::getElementById(const std::shared_ptr& currentRevision, const std::string& id); +std::shared_ptr facebook::react::dom::getParentNode(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +std::string facebook::react::dom::getTagName(const facebook::react::ShadowNode& shadowNode); +std::string facebook::react::dom::getTextContent(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +std::vector> facebook::react::dom::getChildNodes(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +uint_fast16_t facebook::react::dom::compareDocumentPosition(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode& otherShadowNode); + +struct facebook::react::dom::DOMBorderWidthRounded { + public int bottom; + public int left; + public int right; + public int top; +} + +struct facebook::react::dom::DOMOffset { + public double left; + public double top; + public std::shared_ptr offsetParent; +} + +struct facebook::react::dom::DOMPoint { + public double x; + public double y; +} + +struct facebook::react::dom::DOMRect { + public double height; + public double width; + public double x; + public double y; +} + +struct facebook::react::dom::DOMSizeRounded { + public int height; + public int width; +} + +struct facebook::react::dom::RNMeasureRect { + public double height; + public double pageX; + public double pageY; + public double width; + public double x; + public double y; +} + + +facebook::jsi::Value facebook::react::TurboModuleConvertUtils::convertObjCObjectToJSIValue(facebook::jsi::Runtime& runtime, id value); +id facebook::react::TurboModuleConvertUtils::convertJSIValueToObjCObject(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value, const std::shared_ptr& jsInvoker, BOOL useNSNull = NO); + + +folly::dynamic facebook::react::animationbackend::packAnimatedProps(const facebook::react::AnimatedProps& animatedProps); + + +static const facebook::react::Color facebook::react::HostPlatformColor::UndefinedColor; + + +static constexpr facebook::react::Tag facebook::react::animated::undefinedAnimatedNodeIdentifier; + + +template +constexpr bool facebook::react::bridging::supportsToJs(), std::declval(), nullptr))>>; +template +constexpr bool facebook::react::bridging::supportsToJs(), std::declval(), nullptr))>>; +template +constexpr bool facebook::react::bridging::is_optional_jsi_v; +template +constexpr bool facebook::react::bridging::supportsFromJs(std::declval(), std::declval(), nullptr))>>; +template +constexpr bool facebook::react::bridging::is_jsi_v; +template +constexpr bool facebook::react::bridging::is_optional_jsi_v>>; +template +constexpr bool facebook::react::bridging::is_optional_v; +template +constexpr bool facebook::react::bridging::supportsFromJs(std::declval(), std::declval(), nullptr))>>; +template +constexpr bool facebook::react::bridging::supportsFromJs; +template +constexpr bool facebook::react::bridging::supportsToJs; +template +using facebook::react::bridging::bridging_t = typename facebook::react::bridging::detail::bridging_wrapper::type; +template +using facebook::react::bridging::remove_cvref_t = std::remove_cv_t>; +template +constexpr size_t facebook::react::bridging::getParameterCount(ReturnT(Class::*)(ArgsT...)); +template +JSReturnT facebook::react::bridging::callFromJs(facebook::jsi::Runtime& rt, ReturnT(ClassT::*method)(facebook::jsi::Runtime&, ArgsT...), const std::shared_ptr& jsInvoker, ClassT* instance, JSArgsT &&... args); +template +decltype(facebook::react::Bridging>::fromJs(rt, facebook::react::bridging::convert(rt, std::forward(value)))) facebook::react::bridging::fromJs(facebook::jsi::Runtime& rt, JSArgT&& value, const std::shared_ptr&); +template +decltype(facebook::react::Bridging>::fromJs(rt, facebook::react::bridging::convert(rt, std::forward(value)), jsInvoker)) facebook::react::bridging::fromJs(facebook::jsi::Runtime& rt, JSArgT&& value, const std::shared_ptr& jsInvoker); +template +decltype(static_cast(std::move(facebook::react::bridging::convert(rt, std::forward(value))))) facebook::react::bridging::fromJs(facebook::jsi::Runtime& rt, JSArgT&& value, const std::shared_ptr&); +template +constexpr size_t facebook::react::bridging::getParameterCount(ReturnT(*)(ArgsT...)); +template , int> = 0> +auto facebook::react::bridging::convert(facebook::jsi::Runtime& rt, T&& value); +template ||std::is_scalar_v, int> = 0> +auto facebook::react::bridging::convert(facebook::jsi::Runtime& rt, std::optional value); +template , int> = 0> +auto facebook::react::bridging::convert(facebook::jsi::Runtime&, T&& value); +template +auto facebook::react::bridging::convert(facebook::jsi::Runtime&, facebook::react::bridging::Converter&& converter); +template +decltype(facebook::react::Bridging>::toJs(rt, std::forward(value))) facebook::react::bridging::toJs(facebook::jsi::Runtime& rt, T&& value, const std::shared_ptr& = nullptr); +template +decltype(facebook::react::Bridging>::toJs(rt, std::forward(value), jsInvoker)) facebook::react::bridging::toJs(facebook::jsi::Runtime& rt, T&& value, const std::shared_ptr& jsInvoker); +template +facebook::react::bridging::remove_cvref_t facebook::react::bridging::toJs(facebook::jsi::Runtime& rt, T&& value, const std::shared_ptr& = nullptr); + +template +struct facebook::react::bridging::Converter : public facebook::react::bridging::ConverterBase { +} + +template +struct facebook::react::bridging::ConverterBase { + protected T value_; + protected facebook::jsi::Runtime& rt_; + public ConverterBase(facebook::jsi::Runtime& rt, T&& value); + public operator facebook::react::bridging::ConverterBase::BaseT(); + public using BaseT = facebook::react::bridging::remove_cvref_t; + template && std::is_same_v, int> = 0> + public operator U() = delete; + template && std::is_convertible_v, U>, int> = 0> + public operator U(); +} + +template +struct facebook::react::bridging::is_optional : public std::false_type { +} + +template +struct facebook::react::bridging::Converter> : public facebook::react::bridging::ConverterBase, public facebook::react::bridging::ConverterBase { + public Converter(facebook::jsi::Runtime& rt, std::optional value); + public operator std::optional(); +} + +template +struct facebook::react::bridging::is_optional> : public std::false_type, public std::true_type { +} + +struct facebook::react::bridging::Converter : public facebook::react::bridging::ConverterBase { + public operator facebook::jsi::Array(); + public operator facebook::jsi::Function(); +} + +struct facebook::react::bridging::Converter : public facebook::react::bridging::ConverterBase { + public operator facebook::jsi::Array(); + public operator facebook::jsi::Function(); + public operator facebook::jsi::Object(); + public operator facebook::jsi::String(); +} + + +template +struct facebook::react::bridging::detail::function_wrapper { +} + +template +struct facebook::react::bridging::detail::bridging_wrapper { + public using type = facebook::react::bridging::remove_cvref_t; +} + +template +struct facebook::react::bridging::detail::function_wrapper { + public using type = std::function; +} + +template +struct facebook::react::bridging::detail::function_wrapper { + public using type = std::function; +} + +template +struct facebook::react::bridging::detail::bridging_wrapper::operator())>> : public facebook::react::bridging::detail::function_wrapper::operator())> { + public using type = facebook::react::bridging::remove_cvref_t; +} + + +template +struct facebook::react::array_detail::BridgingStatic { + public static facebook::jsi::Array toJs(facebook::jsi::Runtime& rt, const T& array, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::array_detail::BridgingDynamic { + public static facebook::jsi::Array toJs(facebook::jsi::Runtime& rt, const T& list, const std::shared_ptr& jsInvoker); +} + + +template +struct facebook::react::map_detail::Bridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& map, const std::shared_ptr& jsInvoker); +} + + +typedef void(*facebook::react::ReactMarker::LogTaggedMarker)(const facebook::react::ReactMarker::ReactMarkerId, const char *tag); +typedef void(*facebook::react::ReactMarker::LogTaggedMarkerBridgeless)(const facebook::react::ReactMarker::ReactMarkerId, const char *tag); +void facebook::react::ReactMarker::logMarker(facebook::react::ReactMarker::ReactMarkerId markerId); +void facebook::react::ReactMarker::logMarkerBridgeless(facebook::react::ReactMarker::ReactMarkerId markerId); +void facebook::react::ReactMarker::logMarkerDone(facebook::react::ReactMarker::ReactMarkerId markerId, double markerTime); +void facebook::react::ReactMarker::logTaggedMarker(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag); +void facebook::react::ReactMarker::logTaggedMarkerBridgeless(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag); +facebook::react::ReactMarker::LogTaggedMarker facebook::react::ReactMarker::logTaggedMarkerBridgelessImpl; +facebook::react::ReactMarker::LogTaggedMarker facebook::react::ReactMarker::logTaggedMarkerImpl; +std::shared_mutex facebook::react::ReactMarker::logTaggedMarkerImplMutex; + +class facebook::react::ReactMarker::StartupLogger { + public double getAppStartupEndTime(); + public double getAppStartupStartTime(); + public double getInitReactRuntimeEndTime(); + public double getInitReactRuntimeStartTime(); + public double getRunJSBundleEndTime(); + public double getRunJSBundleStartTime(); + public static facebook::react::ReactMarker::StartupLogger& getInstance(); + public void logStartupEvent(facebook::react::ReactMarker::ReactMarkerId markerId, double markerTime); + public void reset(); +} + +enum facebook::react::ReactMarker::ReactMarkerId { + APP_STARTUP_START, + APP_STARTUP_STOP, + CREATE_REACT_CONTEXT_STOP, + INIT_REACT_RUNTIME_START, + INIT_REACT_RUNTIME_STOP, + JS_BUNDLE_STRING_CONVERT_START, + JS_BUNDLE_STRING_CONVERT_STOP, + NATIVE_MODULE_SETUP_START, + NATIVE_MODULE_SETUP_STOP, + NATIVE_REQUIRE_START, + NATIVE_REQUIRE_STOP, + REACT_INSTANCE_INIT_START, + REACT_INSTANCE_INIT_STOP, + REGISTER_JS_SEGMENT_START, + REGISTER_JS_SEGMENT_STOP, + RUN_JS_BUNDLE_START, + RUN_JS_BUNDLE_STOP, +} + +struct facebook::react::ReactMarker::ReactMarkerEvent { + public const char* tag; + public const facebook::react::ReactMarker::ReactMarkerId markerId; + public double time; +} + + +uint64_t facebook::react::oscompat::getCurrentProcessId(); +uint64_t facebook::react::oscompat::getCurrentThreadId(); + + +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallBatchPreprocessEnd(int batchSize); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallBatchPreprocessStart(); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallDispatch(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionArgConversionEnd(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionArgConversionStart(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionEnd(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionFail(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionStart(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallFail(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallStart(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::disableLogging(); +void facebook::react::BridgeNativeModulePerfLogger::enableLogging(std::unique_ptr&& logger); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateCacheHit(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateConstructEnd(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateConstructStart(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateEnd(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateFail(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateSetUpEnd(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateSetUpStart(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateStart(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleDataCreateEnd(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleDataCreateStart(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningCacheHit(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningEnd(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningFail(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningStart(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingEnd(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingFail(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingStart(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallArgConversionStart(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallExecutionEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallExecutionStart(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallFail(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallReturnConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallReturnConversionStart(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallStart(const char* moduleName, const char* methodName); + + +void facebook::react::LegacyUIManagerConstantsProviderBinding::install(facebook::jsi::Runtime& runtime, const std::string& name, std::function&& provider); +void facebook::react::LegacyUIManagerConstantsProviderBinding::install(facebook::jsi::Runtime& runtime, const std::string& name, std::function&& provider); + + +void facebook::react::LowPriorityExecutor::execute(std::function&& workItem); + + +void facebook::react::TurboModulePerfLogger::asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::asyncMethodCallBatchPreprocessEnd(int batchSize); +void facebook::react::TurboModulePerfLogger::asyncMethodCallBatchPreprocessStart(); +void facebook::react::TurboModulePerfLogger::asyncMethodCallDispatch(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::asyncMethodCallEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::asyncMethodCallExecutionArgConversionEnd(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::TurboModulePerfLogger::asyncMethodCallExecutionArgConversionStart(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::TurboModulePerfLogger::asyncMethodCallExecutionEnd(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::TurboModulePerfLogger::asyncMethodCallExecutionFail(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::TurboModulePerfLogger::asyncMethodCallExecutionStart(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::TurboModulePerfLogger::asyncMethodCallFail(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::asyncMethodCallStart(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::disableLogging(); +void facebook::react::TurboModulePerfLogger::enableLogging(std::unique_ptr&& logger); +void facebook::react::TurboModulePerfLogger::moduleCreateCacheHit(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateConstructEnd(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateConstructStart(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateEnd(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateFail(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateSetUpEnd(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateSetUpStart(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateStart(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleDataCreateEnd(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleDataCreateStart(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleJSRequireBeginningCacheHit(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireBeginningEnd(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireBeginningFail(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireBeginningStart(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireEndingEnd(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireEndingFail(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireEndingStart(const char* moduleName); +void facebook::react::TurboModulePerfLogger::syncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallArgConversionStart(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallExecutionEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallExecutionStart(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallFail(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallReturnConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallReturnConversionStart(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallStart(const char* moduleName, const char* methodName); + + +std::unique_ptr facebook::jsc::makeJSCRuntime(); + + +using facebook::jsi::HostFunctionType = std::function; +using facebook::jsi::RuntimeFactory = std::function()>; +facebook::jsi::Value facebook::jsi::valueFromDynamic(facebook::jsi::Runtime& runtime, const folly::dynamic& dyn); +folly::dynamic facebook::jsi::dynamicFromValue(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value, const std::function& filterObjectKeys = nullptr); +std::vector facebook::jsi::runtimeGenerators(); +template +U* facebook::jsi::castInterface(T* ptr); +template +std::shared_ptr facebook::jsi::dynamicInterfaceCast(T&& ptr); + +class facebook::jsi::Array : public facebook::jsi::Object { + public Array(facebook::jsi::Array&&) = default; + public Array(facebook::jsi::Runtime& runtime, size_t length); + public facebook::jsi::Array& operator=(facebook::jsi::Array&&) = default; + public facebook::jsi::Value getValueAtIndex(facebook::jsi::Runtime& runtime, size_t i) const; + public size_t length(facebook::jsi::Runtime& runtime) const; + public size_t size(facebook::jsi::Runtime& runtime) const; + public static facebook::jsi::Array createWithElements(facebook::jsi::Runtime& runtime, std::initializer_list elements); + template + public void setValueAtIndex(facebook::jsi::Runtime& runtime, size_t i, T&& value) const; + template + public static facebook::jsi::Array createWithElements(facebook::jsi::Runtime& runtime, Args &&... args); +} + +class facebook::jsi::ArrayBuffer : public facebook::jsi::Object { + public ArrayBuffer(facebook::jsi::ArrayBuffer&&) = default; + public ArrayBuffer(facebook::jsi::Runtime& runtime, std::shared_ptr buffer); + public facebook::jsi::ArrayBuffer& operator=(facebook::jsi::ArrayBuffer&&) = default; + public size_t length(facebook::jsi::Runtime& runtime) const; + public size_t size(facebook::jsi::Runtime& runtime) const; + public uint8_t* data(facebook::jsi::Runtime& runtime) const; +} + +class facebook::jsi::BigInt : public facebook::jsi::Pointer { + public BigInt(facebook::jsi::BigInt&& other) = default; + public BigInt(facebook::jsi::Pointer&& other) noexcept; + public BigInt(facebook::jsi::Runtime::PointerValue* ptr); + public bool isInt64(facebook::jsi::Runtime& runtime) const; + public bool isUint64(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::BigInt& operator=(facebook::jsi::BigInt&& other) = default; + public facebook::jsi::String toString(facebook::jsi::Runtime& runtime, int radix = 10) const; + public int64_t asInt64(facebook::jsi::Runtime& runtime) const; + public int64_t getInt64(facebook::jsi::Runtime& runtime) const; + public static bool strictEquals(facebook::jsi::Runtime& runtime, const facebook::jsi::BigInt& a, const facebook::jsi::BigInt& b); + public static facebook::jsi::BigInt fromInt64(facebook::jsi::Runtime& runtime, int64_t value); + public static facebook::jsi::BigInt fromUint64(facebook::jsi::Runtime& runtime, uint64_t value); + public uint64_t asUint64(facebook::jsi::Runtime& runtime) const; + public uint64_t getUint64(facebook::jsi::Runtime& runtime) const; +} + +class facebook::jsi::Buffer { + public virtual const uint8_t* data() const = 0; + public virtual size_t size() const = 0; + public virtual ~Buffer(); +} + +class facebook::jsi::DecoratedHostFunction { + public DecoratedHostFunction(facebook::jsi::Runtime& drt, facebook::jsi::HostFunctionType plainHF); + public facebook::jsi::Runtime& decoratedRuntime(); + public facebook::jsi::Value operator()(facebook::jsi::Runtime&, const facebook::jsi::Value& thisVal, const facebook::jsi::Value* args, size_t count); +} + +class facebook::jsi::DecoratedHostObject : public facebook::jsi::HostObject { + public DecoratedHostObject(facebook::jsi::Runtime& drt, std::shared_ptr plainHO); + public facebook::jsi::Runtime& decoratedRuntime(); + public virtual facebook::jsi::Value get(facebook::jsi::Runtime&, const facebook::jsi::PropNameID& name) override; + public virtual std::vector getPropertyNames(facebook::jsi::Runtime&) override; + public virtual void set(facebook::jsi::Runtime&, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) override; +} + +class facebook::jsi::FileBuffer : public facebook::jsi::Buffer { + public FileBuffer(const std::string& path); + public virtual const uint8_t* data() const override; + public virtual size_t size() const override; + public ~FileBuffer() override; +} + +class facebook::jsi::Function : public facebook::jsi::Object { + public Function(facebook::jsi::Function&&) = default; + public bool isHostFunction(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Function& operator=(facebook::jsi::Function&&) = default; + public facebook::jsi::HostFunctionType& getHostFunction(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Value call(facebook::jsi::Runtime& runtime, const facebook::jsi::Value* args, size_t count) const; + public facebook::jsi::Value call(facebook::jsi::Runtime& runtime, std::initializer_list args) const; + public facebook::jsi::Value callAsConstructor(facebook::jsi::Runtime& runtime, const facebook::jsi::Value* args, size_t count) const; + public facebook::jsi::Value callAsConstructor(facebook::jsi::Runtime& runtime, std::initializer_list args) const; + public facebook::jsi::Value callWithThis(facebook::jsi::Runtime& Runtime, const facebook::jsi::Object& jsThis, const facebook::jsi::Value* args, size_t count) const; + public facebook::jsi::Value callWithThis(facebook::jsi::Runtime& runtime, const facebook::jsi::Object& jsThis, std::initializer_list args) const; + public static facebook::jsi::Function createFromHostFunction(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name, unsigned int paramCount, facebook::jsi::HostFunctionType func); + template + public facebook::jsi::Value call(facebook::jsi::Runtime& runtime, Args &&... args) const; + template + public facebook::jsi::Value callAsConstructor(facebook::jsi::Runtime& runtime, Args &&... args) const; + template + public facebook::jsi::Value callWithThis(facebook::jsi::Runtime& runtime, const facebook::jsi::Object& jsThis, Args &&... args) const; +} + +class facebook::jsi::HostObject { + public virtual facebook::jsi::Value get(facebook::jsi::Runtime&, const facebook::jsi::PropNameID& name); + public virtual std::vector getPropertyNames(facebook::jsi::Runtime& rt); + public virtual void set(facebook::jsi::Runtime&, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value); + public virtual ~HostObject(); +} + +class facebook::jsi::Instrumentation { + public using HeapStatsUpdate = std::tuple; + public virtual std::string flushAndDisableBridgeTrafficTrace() = 0; + public virtual std::string getRecordedGCStats() = 0; + public virtual std::unordered_map getHeapInfo(bool includeExpensive) = 0; + public virtual void collectGarbage(std::string cause) = 0; + public virtual void createSnapshotToFile(const std::string& path, const facebook::jsi::Instrumentation::HeapSnapshotOptions& options = {false}) = 0; + public virtual void createSnapshotToStream(std::ostream& os, const facebook::jsi::Instrumentation::HeapSnapshotOptions& options = {false}) = 0; + public virtual void dumpOpcodeStats(std::ostream& os) const = 0; + public virtual void dumpProfilerSymbolsToFile(const std::string& fileName) const = 0; + public virtual void startHeapSampling(size_t samplingInterval) = 0; + public virtual void startTrackingHeapObjectStackTraces(std::function stats)> fragmentCallback) = 0; + public virtual void stopHeapSampling(std::ostream& os) = 0; + public virtual void stopTrackingHeapObjectStackTraces() = 0; + public virtual void writeBasicBlockProfileTraceToFile(const std::string& fileName) const = 0; + public virtual ~Instrumentation() = default; +} + +struct facebook::jsi::Instrumentation::HeapSnapshotOptions { + public bool captureNumericValue; +} + +class facebook::jsi::JSError : public facebook::jsi::JSIException { + public JSError(const facebook::jsi::JSError&) = default; + public JSError(facebook::jsi::Runtime& r, facebook::jsi::Value&& value); + public JSError(facebook::jsi::Runtime& rt, const char* message); + public JSError(facebook::jsi::Runtime& rt, std::string message); + public JSError(facebook::jsi::Runtime& rt, std::string message, std::string stack); + public JSError(facebook::jsi::Value&& value, std::string message, std::string stack); + public JSError(std::string what, facebook::jsi::Runtime& rt, facebook::jsi::Value&& value); + public const facebook::jsi::Value& value() const; + public const std::string& getMessage() const; + public const std::string& getStack() const; + public virtual ~JSError(); +} + +class facebook::jsi::JSIException : public std::exception { + protected JSIException(); + protected JSIException(std::string what); + protected std::string what_; + public JSIException(const facebook::jsi::JSIException&) = default; + public virtual const char* what() const noexcept override; + public virtual ~JSIException() override; +} + +class facebook::jsi::JSINativeException : public facebook::jsi::JSIException { + public JSINativeException(const facebook::jsi::JSINativeException&) = default; + public JSINativeException(std::string what); + public virtual ~JSINativeException(); +} + +class facebook::jsi::JSITestBase : public testing::TestWithParam { + public JSITestBase(); + public bool checkValue(const facebook::jsi::Value& value, const std::string& jsValue); + public facebook::jsi::Function function(const std::string& code); + public facebook::jsi::Runtime& rt; + public facebook::jsi::RuntimeFactory factory; + public facebook::jsi::Value eval(const char* code); + public std::shared_ptr runtime; +} + +class facebook::jsi::MutableBuffer { + public virtual size_t size() const = 0; + public virtual uint8_t* data() = 0; + public virtual ~MutableBuffer(); +} + +class facebook::jsi::NativeState { + public virtual ~NativeState(); +} + +class facebook::jsi::Object : public facebook::jsi::Pointer { + protected void setPropertyValue(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) const; + protected void setPropertyValue(facebook::jsi::Runtime& runtime, const facebook::jsi::String& name, const facebook::jsi::Value& value) const; + protected void setPropertyValue(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& name, const facebook::jsi::Value& value) const; + public Object(facebook::jsi::Object&& other) = default; + public Object(facebook::jsi::Pointer&& other) noexcept; + public Object(facebook::jsi::Runtime& runtime); + public Object(facebook::jsi::Runtime::PointerValue* ptr); + public bool hasNativeState(facebook::jsi::Runtime& runtime) const; + public bool hasProperty(facebook::jsi::Runtime& runtime, const char* name) const; + public bool hasProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) const; + public bool hasProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::String& name) const; + public bool hasProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& name) const; + public bool instanceOf(facebook::jsi::Runtime& rt, const facebook::jsi::Function& ctor) const; + public bool isArray(facebook::jsi::Runtime& runtime) const; + public bool isArrayBuffer(facebook::jsi::Runtime& runtime) const; + public bool isFunction(facebook::jsi::Runtime& runtime) const; + public bool isHostObject(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Array asArray(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Array asArray(facebook::jsi::Runtime& runtime); + public facebook::jsi::Array getArray(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Array getArray(facebook::jsi::Runtime& runtime); + public facebook::jsi::Array getPropertyNames(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::ArrayBuffer getArrayBuffer(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::ArrayBuffer getArrayBuffer(facebook::jsi::Runtime& runtime); + public facebook::jsi::Function asFunction(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Function asFunction(facebook::jsi::Runtime& runtime); + public facebook::jsi::Function getFunction(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Function getFunction(facebook::jsi::Runtime& runtime); + public facebook::jsi::Function getPropertyAsFunction(facebook::jsi::Runtime& runtime, const char* name) const; + public facebook::jsi::Object getPropertyAsObject(facebook::jsi::Runtime& runtime, const char* name) const; + public facebook::jsi::Object& operator=(facebook::jsi::Object&& other) = default; + public facebook::jsi::Value getProperty(facebook::jsi::Runtime& runtime, const char* name) const; + public facebook::jsi::Value getProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) const; + public facebook::jsi::Value getProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::String& name) const; + public facebook::jsi::Value getProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& name) const; + public facebook::jsi::Value getPrototype(facebook::jsi::Runtime& runtime) const; + public static bool strictEquals(facebook::jsi::Runtime& runtime, const facebook::jsi::Object& a, const facebook::jsi::Object& b); + public static facebook::jsi::Object create(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& prototype); + public static facebook::jsi::Object createFromHostObject(facebook::jsi::Runtime& runtime, std::shared_ptr ho); + public std::shared_ptr getHostObject(facebook::jsi::Runtime& runtime) const; + public void deleteProperty(facebook::jsi::Runtime& runtime, const char* name) const; + public void deleteProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) const; + public void deleteProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::String& name) const; + public void deleteProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& name) const; + public void setExternalMemoryPressure(facebook::jsi::Runtime& runtime, size_t amt) const; + public void setNativeState(facebook::jsi::Runtime& runtime, std::shared_ptr state) const; + public void setPrototype(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& prototype) const; + template + public bool isHostObject(facebook::jsi::Runtime& runtime) const; + template + public std::shared_ptr asHostObject(facebook::jsi::Runtime& runtime) const; + template + public std::shared_ptr getHostObject(facebook::jsi::Runtime& runtime) const; + template + public bool hasNativeState(facebook::jsi::Runtime& runtime) const; + template + public std::shared_ptr getNativeState(facebook::jsi::Runtime& runtime) const; + template + public void setProperty(facebook::jsi::Runtime& runtime, const char* name, T&& value) const; + template + public void setProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name, T&& value) const; + template + public void setProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::String& name, T&& value) const; + template + public void setProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& name, T&& value) const; +} + +class facebook::jsi::Pointer { + protected Pointer(facebook::jsi::Pointer&& other) noexcept; + protected Pointer(facebook::jsi::Runtime::PointerValue* ptr); + protected facebook::jsi::Pointer& operator=(facebook::jsi::Pointer&& other) noexcept; + protected facebook::jsi::Runtime::PointerValue* ptr_; + protected ~Pointer(); +} + +class facebook::jsi::PreparedJavaScript { + protected PreparedJavaScript() = default; + public virtual ~PreparedJavaScript() = 0; +} + +class facebook::jsi::PropNameID : public facebook::jsi::Pointer { + public PropNameID(facebook::jsi::Pointer&& other) noexcept; + public PropNameID(facebook::jsi::PropNameID&& other) = default; + public PropNameID(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& other); + public PropNameID(facebook::jsi::Runtime::PointerValue* ptr); + public facebook::jsi::PropNameID& operator=(facebook::jsi::PropNameID&& other) = default; + public static bool compare(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& a, const facebook::jsi::PropNameID& b); + public static facebook::jsi::PropNameID forAscii(facebook::jsi::Runtime& runtime, const char* str); + public static facebook::jsi::PropNameID forAscii(facebook::jsi::Runtime& runtime, const char* str, size_t length); + public static facebook::jsi::PropNameID forAscii(facebook::jsi::Runtime& runtime, const std::string& str); + public static facebook::jsi::PropNameID forString(facebook::jsi::Runtime& runtime, const facebook::jsi::String& str); + public static facebook::jsi::PropNameID forSymbol(facebook::jsi::Runtime& runtime, const facebook::jsi::Symbol& sym); + public static facebook::jsi::PropNameID forUtf8(facebook::jsi::Runtime& runtime, const std::string& utf8); + public static facebook::jsi::PropNameID forUtf8(facebook::jsi::Runtime& runtime, const uint8_t* utf8, size_t length); + public static facebook::jsi::PropNameID forUtf16(facebook::jsi::Runtime& runtime, const char16_t* utf16, size_t length); + public static facebook::jsi::PropNameID forUtf16(facebook::jsi::Runtime& runtime, const std::u16string& str); + public std::string utf8(facebook::jsi::Runtime& runtime) const; + public std::u16string utf16(facebook::jsi::Runtime& runtime) const; + template + public static std::vector names(facebook::jsi::PropNameID(&&propertyNames)[N]); + template + public void getPropNameIdData(facebook::jsi::Runtime& runtime, CB& cb) const; + template + public static std::vector names(facebook::jsi::Runtime& runtime, Args &&... args); +} + +class facebook::jsi::Runtime : public facebook::jsi::ICast { + protected static const facebook::jsi::Runtime::PointerValue* getPointerValue(const facebook::jsi::Pointer& pointer); + protected static const facebook::jsi::Runtime::PointerValue* getPointerValue(const facebook::jsi::Value& value); + protected static facebook::jsi::Runtime::PointerValue* getPointerValue(facebook::jsi::Pointer& pointer); + protected virtual ScopeState* pushScope(); + protected virtual bool bigintIsInt64(const facebook::jsi::BigInt&) = 0; + protected virtual bool bigintIsUint64(const facebook::jsi::BigInt&) = 0; + protected virtual bool compare(const facebook::jsi::PropNameID&, const facebook::jsi::PropNameID&) = 0; + protected virtual bool hasNativeState(const facebook::jsi::Object&) = 0; + protected virtual bool hasProperty(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name) = 0; + protected virtual bool hasProperty(const facebook::jsi::Object&, const facebook::jsi::String& name) = 0; + protected virtual bool hasProperty(const facebook::jsi::Object&, const facebook::jsi::Value& name); + protected virtual bool instanceOf(const facebook::jsi::Object& o, const facebook::jsi::Function& f) = 0; + protected virtual bool isArray(const facebook::jsi::Object&) const = 0; + protected virtual bool isArrayBuffer(const facebook::jsi::Object&) const = 0; + protected virtual bool isFunction(const facebook::jsi::Object&) const = 0; + protected virtual bool isHostFunction(const facebook::jsi::Function&) const = 0; + protected virtual bool isHostObject(const facebook::jsi::Object&) const = 0; + protected virtual bool strictEquals(const facebook::jsi::BigInt& a, const facebook::jsi::BigInt& b) const = 0; + protected virtual bool strictEquals(const facebook::jsi::Object& a, const facebook::jsi::Object& b) const = 0; + protected virtual bool strictEquals(const facebook::jsi::String& a, const facebook::jsi::String& b) const = 0; + protected virtual bool strictEquals(const facebook::jsi::Symbol& a, const facebook::jsi::Symbol& b) const = 0; + protected virtual const void* getRuntimeDataImpl(const facebook::jsi::UUID& uuid); + protected virtual facebook::jsi::Array createArray(size_t length) = 0; + protected virtual facebook::jsi::Array getPropertyNames(const facebook::jsi::Object&) = 0; + protected virtual facebook::jsi::ArrayBuffer createArrayBuffer(std::shared_ptr buffer) = 0; + protected virtual facebook::jsi::BigInt createBigIntFromInt64(int64_t) = 0; + protected virtual facebook::jsi::BigInt createBigIntFromUint64(uint64_t) = 0; + protected virtual facebook::jsi::Function createFunctionFromHostFunction(const facebook::jsi::PropNameID& name, unsigned int paramCount, facebook::jsi::HostFunctionType func) = 0; + protected virtual facebook::jsi::HostFunctionType& getHostFunction(const facebook::jsi::Function&) = 0; + protected virtual facebook::jsi::Object createObject() = 0; + protected virtual facebook::jsi::Object createObject(std::shared_ptr ho) = 0; + protected virtual facebook::jsi::Object createObjectWithPrototype(const facebook::jsi::Value& prototype); + protected virtual facebook::jsi::PropNameID createPropNameIDFromAscii(const char* str, size_t length) = 0; + protected virtual facebook::jsi::PropNameID createPropNameIDFromString(const facebook::jsi::String& str) = 0; + protected virtual facebook::jsi::PropNameID createPropNameIDFromSymbol(const facebook::jsi::Symbol& sym) = 0; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf8(const uint8_t* utf8, size_t length) = 0; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf16(const char16_t* utf16, size_t length); + protected virtual facebook::jsi::Runtime::PointerValue* cloneBigInt(const facebook::jsi::Runtime::PointerValue* pv) = 0; + protected virtual facebook::jsi::Runtime::PointerValue* cloneObject(const facebook::jsi::Runtime::PointerValue* pv) = 0; + protected virtual facebook::jsi::Runtime::PointerValue* clonePropNameID(const facebook::jsi::Runtime::PointerValue* pv) = 0; + protected virtual facebook::jsi::Runtime::PointerValue* cloneString(const facebook::jsi::Runtime::PointerValue* pv) = 0; + protected virtual facebook::jsi::Runtime::PointerValue* cloneSymbol(const facebook::jsi::Runtime::PointerValue* pv) = 0; + protected virtual facebook::jsi::String bigintToString(const facebook::jsi::BigInt&, int) = 0; + protected virtual facebook::jsi::String createStringFromAscii(const char* str, size_t length) = 0; + protected virtual facebook::jsi::String createStringFromUtf8(const uint8_t* utf8, size_t length) = 0; + protected virtual facebook::jsi::String createStringFromUtf16(const char16_t* utf16, size_t length); + protected virtual facebook::jsi::Value call(const facebook::jsi::Function&, const facebook::jsi::Value& jsThis, const facebook::jsi::Value* args, size_t count) = 0; + protected virtual facebook::jsi::Value callAsConstructor(const facebook::jsi::Function&, const facebook::jsi::Value* args, size_t count) = 0; + protected virtual facebook::jsi::Value createValueFromJsonUtf8(const uint8_t* json, size_t length); + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name) = 0; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object&, const facebook::jsi::String& name) = 0; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object&, const facebook::jsi::Value& name); + protected virtual facebook::jsi::Value getPrototypeOf(const facebook::jsi::Object& object); + protected virtual facebook::jsi::Value getValueAtIndex(const facebook::jsi::Array&, size_t i) = 0; + protected virtual facebook::jsi::Value lockWeakObject(const facebook::jsi::WeakObject&) = 0; + protected virtual facebook::jsi::WeakObject createWeakObject(const facebook::jsi::Object&) = 0; + protected virtual size_t size(const facebook::jsi::Array&) = 0; + protected virtual size_t size(const facebook::jsi::ArrayBuffer&) = 0; + protected virtual std::shared_ptr getHostObject(const facebook::jsi::Object&) = 0; + protected virtual std::shared_ptr getNativeState(const facebook::jsi::Object&) = 0; + protected virtual std::string symbolToString(const facebook::jsi::Symbol&) = 0; + protected virtual std::string utf8(const facebook::jsi::PropNameID&) = 0; + protected virtual std::string utf8(const facebook::jsi::String&) = 0; + protected virtual std::u16string utf16(const facebook::jsi::PropNameID& sym); + protected virtual std::u16string utf16(const facebook::jsi::String& str); + protected virtual uint8_t* data(const facebook::jsi::ArrayBuffer&) = 0; + protected virtual uint64_t truncate(const facebook::jsi::BigInt&) = 0; + protected virtual void deleteProperty(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name); + protected virtual void deleteProperty(const facebook::jsi::Object&, const facebook::jsi::String& name); + protected virtual void deleteProperty(const facebook::jsi::Object&, const facebook::jsi::Value& name); + protected virtual void getPropNameIdData(const facebook::jsi::PropNameID& sym, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb); + protected virtual void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb); + protected virtual void popScope(ScopeState*); + protected virtual void setExternalMemoryPressure(const facebook::jsi::Object& obj, size_t amount) = 0; + protected virtual void setNativeState(const facebook::jsi::Object&, std::shared_ptr state) = 0; + protected virtual void setPropertyValue(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) = 0; + protected virtual void setPropertyValue(const facebook::jsi::Object&, const facebook::jsi::String& name, const facebook::jsi::Value& value) = 0; + protected virtual void setPropertyValue(const facebook::jsi::Object&, const facebook::jsi::Value& name, const facebook::jsi::Value& value); + protected virtual void setPrototypeOf(const facebook::jsi::Object& object, const facebook::jsi::Value& prototype); + protected virtual void setRuntimeDataImpl(const facebook::jsi::UUID& uuid, const void* data, void(*)(const void* data) deleter); + protected virtual void setValueAtIndexImpl(const facebook::jsi::Array&, size_t i, const facebook::jsi::Value& value) = 0; + public std::shared_ptr getRuntimeData(const facebook::jsi::UUID& uuid); + public virtual bool drainMicrotasks(int maxMicrotasksHint = -1) = 0; + public virtual bool isInspectable() = 0; + public virtual facebook::jsi::ICast* castInterface(const facebook::jsi::UUID& interfaceUUID) override; + public virtual facebook::jsi::Instrumentation& instrumentation(); + public virtual facebook::jsi::Object global() = 0; + public virtual facebook::jsi::Value evaluateJavaScript(const std::shared_ptr& buffer, const std::string& sourceURL) = 0; + public virtual facebook::jsi::Value evaluatePreparedJavaScript(const std::shared_ptr& js) = 0; + public virtual std::shared_ptr prepareJavaScript(const std::shared_ptr& buffer, std::string sourceURL) = 0; + public virtual std::string description() = 0; + public virtual void queueMicrotask(const facebook::jsi::Function& callback) = 0; + public virtual ~Runtime(); + public void setRuntimeData(const facebook::jsi::UUID& uuid, const std::shared_ptr& data); + template + protected static T make(facebook::jsi::Runtime::PointerValue* pv); +} + +struct facebook::jsi::Runtime::PointerValue { + protected virtual ~PointerValue() = default; + public virtual void invalidate() noexcept = 0; +} + +class facebook::jsi::Scope { + public Scope(const facebook::jsi::Scope&) = delete; + public Scope(facebook::jsi::Runtime& rt); + public Scope(facebook::jsi::Scope&&) = delete; + public facebook::jsi::Scope& operator=(const facebook::jsi::Scope&) = delete; + public facebook::jsi::Scope& operator=(facebook::jsi::Scope&&) = delete; + public ~Scope(); + template + public static decltype(f()) callInNewScope(facebook::jsi::Runtime& rt, F f); +} + +class facebook::jsi::SourceJavaScriptPreparation : public facebook::jsi::PreparedJavaScript, public facebook::jsi::Buffer { + public SourceJavaScriptPreparation(std::shared_ptr buf, std::string sourceURL); + public const std::string& sourceURL() const; + public virtual const uint8_t* data() const override; + public virtual size_t size() const override; +} + +class facebook::jsi::String : public facebook::jsi::Pointer { + public String(facebook::jsi::Pointer&& other) noexcept; + public String(facebook::jsi::Runtime::PointerValue* ptr); + public String(facebook::jsi::String&& other) = default; + public facebook::jsi::String& operator=(facebook::jsi::String&& other) = default; + public static bool strictEquals(facebook::jsi::Runtime& runtime, const facebook::jsi::String& a, const facebook::jsi::String& b); + public static facebook::jsi::String createFromAscii(facebook::jsi::Runtime& runtime, const char* str); + public static facebook::jsi::String createFromAscii(facebook::jsi::Runtime& runtime, const char* str, size_t length); + public static facebook::jsi::String createFromAscii(facebook::jsi::Runtime& runtime, const std::string& str); + public static facebook::jsi::String createFromUtf8(facebook::jsi::Runtime& runtime, const std::string& utf8); + public static facebook::jsi::String createFromUtf8(facebook::jsi::Runtime& runtime, const uint8_t* utf8, size_t length); + public static facebook::jsi::String createFromUtf16(facebook::jsi::Runtime& runtime, const char16_t* utf16, size_t length); + public static facebook::jsi::String createFromUtf16(facebook::jsi::Runtime& runtime, const std::u16string& utf16); + public std::string utf8(facebook::jsi::Runtime& runtime) const; + public std::u16string utf16(facebook::jsi::Runtime& runtime) const; + template + public void getStringData(facebook::jsi::Runtime& runtime, CB& cb) const; +} + +class facebook::jsi::StringBuffer : public facebook::jsi::Buffer { + public StringBuffer(std::string s); + public virtual const uint8_t* data() const override; + public virtual size_t size() const override; +} + +class facebook::jsi::Symbol : public facebook::jsi::Pointer { + public Symbol(facebook::jsi::Pointer&& other) noexcept; + public Symbol(facebook::jsi::Runtime::PointerValue* ptr); + public Symbol(facebook::jsi::Symbol&& other) = default; + public facebook::jsi::Symbol& operator=(facebook::jsi::Symbol&& other) = default; + public static bool strictEquals(facebook::jsi::Runtime& runtime, const facebook::jsi::Symbol& a, const facebook::jsi::Symbol& b); + public std::string toString(facebook::jsi::Runtime& runtime) const; +} + +class facebook::jsi::ThreadSafeRuntime : public facebook::jsi::Runtime { + public virtual facebook::jsi::Runtime& getUnsafeRuntime() = 0; + public virtual void lock() const = 0; + public virtual void unlock() const = 0; +} + +class facebook::jsi::UUID { + public constexpr UUID(); + public constexpr UUID(const facebook::jsi::UUID&) = default; + public constexpr UUID(uint32_t timeLow, uint16_t timeMid, uint16_t timeHighAndVersion, uint16_t variantAndClockSeq, uint64_t node); + public constexpr bool operator!=(const facebook::jsi::UUID& other) const; + public constexpr bool operator<(const facebook::jsi::UUID& other) const; + public constexpr bool operator==(const facebook::jsi::UUID& other) const; + public constexpr facebook::jsi::UUID& operator=(const facebook::jsi::UUID&) = default; + public constexpr uint16_t getTimeHighAndVersion() const; + public constexpr uint16_t getTimeMid() const; + public constexpr uint16_t getVariantAndClockSeq() const; + public constexpr uint32_t getTimeLow() const; + public constexpr uint64_t getNode() const; + public std::string toString() const; +} + +struct facebook::jsi::UUID::Hash { + public std::size_t operator()(const facebook::jsi::UUID& uuid) const noexcept; +} + +class facebook::jsi::Value { + public Value() noexcept; + public Value(bool b); + public Value(double d); + public Value(facebook::jsi::Runtime& runtime, const facebook::jsi::BigInt& bigint); + public Value(facebook::jsi::Runtime& runtime, const facebook::jsi::Object& obj); + public Value(facebook::jsi::Runtime& runtime, const facebook::jsi::String& str); + public Value(facebook::jsi::Runtime& runtime, const facebook::jsi::Symbol& sym); + public Value(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value); + public Value(facebook::jsi::Value&& other) noexcept; + public Value(int i); + public Value(std::nullptr_t); + public bool asBool() const; + public bool getBool() const; + public bool isBigInt() const; + public bool isBool() const; + public bool isNull() const; + public bool isNumber() const; + public bool isObject() const; + public bool isString() const; + public bool isSymbol() const; + public bool isUndefined() const; + public double asNumber() const; + public double getNumber() const; + public facebook::jsi::BigInt asBigInt(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::BigInt asBigInt(facebook::jsi::Runtime& runtime); + public facebook::jsi::BigInt getBigInt(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::BigInt getBigInt(facebook::jsi::Runtime&); + public facebook::jsi::Object asObject(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Object asObject(facebook::jsi::Runtime& runtime); + public facebook::jsi::Object getObject(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Object getObject(facebook::jsi::Runtime&); + public facebook::jsi::String asString(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::String asString(facebook::jsi::Runtime& runtime); + public facebook::jsi::String getString(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::String getString(facebook::jsi::Runtime&); + public facebook::jsi::String toString(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Symbol asSymbol(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Symbol asSymbol(facebook::jsi::Runtime& runtime); + public facebook::jsi::Symbol getSymbol(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Symbol getSymbol(facebook::jsi::Runtime&); + public facebook::jsi::Value& operator=(facebook::jsi::Value&& other) noexcept; + public static bool strictEquals(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& a, const facebook::jsi::Value& b); + public static facebook::jsi::Value createFromJsonUtf8(facebook::jsi::Runtime& runtime, const uint8_t* json, size_t length); + public static facebook::jsi::Value null(); + public static facebook::jsi::Value undefined(); + public ~Value(); + template + public Value(const char*); + template + public Value(facebook::jsi::Runtime&, const char*); + template ::value || std::is_base_of::value || std::is_base_of::value || std::is_base_of::value>> + public Value(T&& other); +} + +class facebook::jsi::WeakObject : public facebook::jsi::Pointer { + public WeakObject(facebook::jsi::Pointer&& other) noexcept; + public WeakObject(facebook::jsi::Runtime& runtime, const facebook::jsi::Object& o); + public WeakObject(facebook::jsi::Runtime::PointerValue* ptr); + public WeakObject(facebook::jsi::WeakObject&& other) = default; + public facebook::jsi::Value lock(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::WeakObject& operator=(facebook::jsi::WeakObject&& other) = default; +} + +struct facebook::jsi::ICast { + protected ~ICast() = default; + public virtual facebook::jsi::ICast* castInterface(const facebook::jsi::UUID& interfaceUUID) = 0; +} + +template +class facebook::jsi::RuntimeDecorator : public facebook::jsi::Runtime { + protected RuntimeDecorator(Plain& plain); + protected virtual Runtime::ScopeState* pushScope() override; + protected virtual bool bigintIsInt64(const facebook::jsi::BigInt& b) override; + protected virtual bool bigintIsUint64(const facebook::jsi::BigInt& b) override; + protected virtual bool compare(const facebook::jsi::PropNameID& a, const facebook::jsi::PropNameID& b) override; + protected virtual bool hasNativeState(const facebook::jsi::Object& o) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::String& name) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::Value& name) override; + protected virtual bool instanceOf(const facebook::jsi::Object& o, const facebook::jsi::Function& f) override; + protected virtual bool isArray(const facebook::jsi::Object& o) const override; + protected virtual bool isArrayBuffer(const facebook::jsi::Object& o) const override; + protected virtual bool isFunction(const facebook::jsi::Object& o) const override; + protected virtual bool isHostFunction(const facebook::jsi::Function& f) const override; + protected virtual bool isHostObject(const facebook::jsi::Object& o) const override; + protected virtual bool strictEquals(const facebook::jsi::BigInt& a, const facebook::jsi::BigInt& b) const override; + protected virtual bool strictEquals(const facebook::jsi::Object& a, const facebook::jsi::Object& b) const override; + protected virtual bool strictEquals(const facebook::jsi::String& a, const facebook::jsi::String& b) const override; + protected virtual bool strictEquals(const facebook::jsi::Symbol& a, const facebook::jsi::Symbol& b) const override; + protected virtual const void* getRuntimeDataImpl(const facebook::jsi::UUID& uuid) override; + protected virtual facebook::jsi::Array createArray(size_t length) override; + protected virtual facebook::jsi::Array getPropertyNames(const facebook::jsi::Object& o) override; + protected virtual facebook::jsi::ArrayBuffer createArrayBuffer(std::shared_ptr buffer) override; + protected virtual facebook::jsi::BigInt createBigIntFromInt64(int64_t value) override; + protected virtual facebook::jsi::BigInt createBigIntFromUint64(uint64_t value) override; + protected virtual facebook::jsi::Function createFunctionFromHostFunction(const facebook::jsi::PropNameID& name, unsigned int paramCount, facebook::jsi::HostFunctionType func) override; + protected virtual facebook::jsi::HostFunctionType& getHostFunction(const facebook::jsi::Function& f) override; + protected virtual facebook::jsi::Object createObject() override; + protected virtual facebook::jsi::Object createObject(std::shared_ptr ho) override; + protected virtual facebook::jsi::Object createObjectWithPrototype(const facebook::jsi::Value& prototype) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromAscii(const char* str, size_t length) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromString(const facebook::jsi::String& str) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromSymbol(const facebook::jsi::Symbol& sym) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf8(const uint8_t* utf8, size_t length) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf16(const char16_t* utf16, size_t length) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneBigInt(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneObject(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* clonePropNameID(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneString(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneSymbol(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::String bigintToString(const facebook::jsi::BigInt& bigint, int radix) override; + protected virtual facebook::jsi::String createStringFromAscii(const char* str, size_t length) override; + protected virtual facebook::jsi::String createStringFromUtf8(const uint8_t* utf8, size_t length) override; + protected virtual facebook::jsi::String createStringFromUtf16(const char16_t* utf16, size_t length) override; + protected virtual facebook::jsi::Value call(const facebook::jsi::Function& f, const facebook::jsi::Value& jsThis, const facebook::jsi::Value* args, size_t count) override; + protected virtual facebook::jsi::Value callAsConstructor(const facebook::jsi::Function& f, const facebook::jsi::Value* args, size_t count) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::String& name) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::Value& name) override; + protected virtual facebook::jsi::Value getPrototypeOf(const facebook::jsi::Object& object) override; + protected virtual facebook::jsi::Value getValueAtIndex(const facebook::jsi::Array& a, size_t i) override; + protected virtual facebook::jsi::Value lockWeakObject(const facebook::jsi::WeakObject& wo) override; + protected virtual facebook::jsi::WeakObject createWeakObject(const facebook::jsi::Object& o) override; + protected virtual size_t size(const facebook::jsi::Array& a) override; + protected virtual size_t size(const facebook::jsi::ArrayBuffer& ab) override; + protected virtual std::shared_ptr getHostObject(const facebook::jsi::Object& o) override; + protected virtual std::shared_ptr getNativeState(const facebook::jsi::Object& o) override; + protected virtual std::string flushAndDisableBridgeTrafficTrace() override; + protected virtual std::string getRecordedGCStats() override; + protected virtual std::string symbolToString(const facebook::jsi::Symbol& sym) override; + protected virtual std::string utf8(const facebook::jsi::PropNameID& id) override; + protected virtual std::string utf8(const facebook::jsi::String& s) override; + protected virtual std::u16string utf16(const facebook::jsi::PropNameID& sym) override; + protected virtual std::u16string utf16(const facebook::jsi::String& str) override; + protected virtual std::unordered_map getHeapInfo(bool includeExpensive) override; + protected virtual uint8_t* data(const facebook::jsi::ArrayBuffer& ab) override; + protected virtual uint64_t truncate(const facebook::jsi::BigInt& b) override; + protected virtual void collectGarbage(std::string cause) override; + protected virtual void createSnapshotToFile(const std::string& path, const facebook::jsi::Instrumentation::HeapSnapshotOptions& options) override; + protected virtual void createSnapshotToStream(std::ostream& os, const facebook::jsi::Instrumentation::HeapSnapshotOptions& options) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::PropNameID& name) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::String& name) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::Value& name) override; + protected virtual void dumpOpcodeStats(std::ostream& os) const override; + protected virtual void dumpProfilerSymbolsToFile(const std::string& fileName) const override; + protected virtual void setExternalMemoryPressure(const facebook::jsi::Object& obj, size_t amount) override; + protected virtual void setNativeState(const facebook::jsi::Object& o, std::shared_ptr state) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::String& name, const facebook::jsi::Value& value) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::Value& name, const facebook::jsi::Value& value) override; + protected virtual void setPrototypeOf(const facebook::jsi::Object& object, const facebook::jsi::Value& prototype) override; + protected virtual void setRuntimeDataImpl(const facebook::jsi::UUID& uuid, const void* data, void(*)(const void* data) deleter) override; + protected virtual void setValueAtIndexImpl(const facebook::jsi::Array& a, size_t i, const facebook::jsi::Value& value) override; + protected virtual void startHeapSampling(size_t samplingInterval) override; + protected virtual void stopHeapSampling(std::ostream& os) override; + protected virtual void stopTrackingHeapObjectStackTraces() override; + protected virtual void writeBasicBlockProfileTraceToFile(const std::string& fileName) const override; + protected void getPropNameIdData(const facebook::jsi::PropNameID& sym, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) override; + protected void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) override; + protected void popScope(Runtime::ScopeState* ss) override; + protected void startTrackingHeapObjectStackTraces(std::function)> callback) override; + public Plain& plain(); + public const Plain& plain() const; + public virtual bool drainMicrotasks(int maxMicrotasksHint) override; + public virtual bool isInspectable() override; + public virtual facebook::jsi::ICast* castInterface(const facebook::jsi::UUID& interfaceUUID) override; + public virtual facebook::jsi::Instrumentation& instrumentation() override; + public virtual facebook::jsi::Object global() override; + public virtual facebook::jsi::Value evaluateJavaScript(const std::shared_ptr& buffer, const std::string& sourceURL) override; + public virtual facebook::jsi::Value evaluatePreparedJavaScript(const std::shared_ptr& js) override; + public virtual std::shared_ptr prepareJavaScript(const std::shared_ptr& buffer, std::string sourceURL) override; + public virtual std::string description() override; + public virtual void queueMicrotask(const facebook::jsi::Function& callback) override; +} + +template +class facebook::jsi::WithRuntimeDecorator : public facebook::jsi::RuntimeDecorator { + protected virtual Runtime::ScopeState* pushScope() override; + protected virtual bool bigintIsInt64(const facebook::jsi::BigInt& bi) override; + protected virtual bool bigintIsUint64(const facebook::jsi::BigInt& bi) override; + protected virtual bool compare(const facebook::jsi::PropNameID& a, const facebook::jsi::PropNameID& b) override; + protected virtual bool hasNativeState(const facebook::jsi::Object& o) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::String& name) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::Value& name) override; + protected virtual bool instanceOf(const facebook::jsi::Object& o, const facebook::jsi::Function& f) override; + protected virtual bool isArray(const facebook::jsi::Object& o) const override; + protected virtual bool isArrayBuffer(const facebook::jsi::Object& o) const override; + protected virtual bool isFunction(const facebook::jsi::Object& o) const override; + protected virtual bool isHostFunction(const facebook::jsi::Function& f) const override; + protected virtual bool isHostObject(const facebook::jsi::Object& o) const override; + protected virtual bool strictEquals(const facebook::jsi::BigInt& a, const facebook::jsi::BigInt& b) const override; + protected virtual bool strictEquals(const facebook::jsi::Object& a, const facebook::jsi::Object& b) const override; + protected virtual bool strictEquals(const facebook::jsi::String& a, const facebook::jsi::String& b) const override; + protected virtual bool strictEquals(const facebook::jsi::Symbol& a, const facebook::jsi::Symbol& b) const override; + protected virtual const void* getRuntimeDataImpl(const facebook::jsi::UUID& uuid) override; + protected virtual facebook::jsi::Array createArray(size_t length) override; + protected virtual facebook::jsi::Array getPropertyNames(const facebook::jsi::Object& o) override; + protected virtual facebook::jsi::ArrayBuffer createArrayBuffer(std::shared_ptr buffer) override; + protected virtual facebook::jsi::BigInt createBigIntFromInt64(int64_t i) override; + protected virtual facebook::jsi::BigInt createBigIntFromUint64(uint64_t i) override; + protected virtual facebook::jsi::Function createFunctionFromHostFunction(const facebook::jsi::PropNameID& name, unsigned int paramCount, facebook::jsi::HostFunctionType func) override; + protected virtual facebook::jsi::HostFunctionType& getHostFunction(const facebook::jsi::Function& f) override; + protected virtual facebook::jsi::Object createObject() override; + protected virtual facebook::jsi::Object createObject(std::shared_ptr ho) override; + protected virtual facebook::jsi::Object createObjectWithPrototype(const facebook::jsi::Value& prototype) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromAscii(const char* str, size_t length) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromString(const facebook::jsi::String& str) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromSymbol(const facebook::jsi::Symbol& sym) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf8(const uint8_t* utf8, size_t length) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf16(const char16_t* utf16, size_t length) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneBigInt(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneObject(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* clonePropNameID(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneString(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneSymbol(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::String bigintToString(const facebook::jsi::BigInt& bi, int i) override; + protected virtual facebook::jsi::String createStringFromAscii(const char* str, size_t length) override; + protected virtual facebook::jsi::String createStringFromUtf8(const uint8_t* utf8, size_t length) override; + protected virtual facebook::jsi::String createStringFromUtf16(const char16_t* utf16, size_t length) override; + protected virtual facebook::jsi::Value call(const facebook::jsi::Function& f, const facebook::jsi::Value& jsThis, const facebook::jsi::Value* args, size_t count) override; + protected virtual facebook::jsi::Value callAsConstructor(const facebook::jsi::Function& f, const facebook::jsi::Value* args, size_t count) override; + protected virtual facebook::jsi::Value createValueFromJsonUtf8(const uint8_t* json, size_t length) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::String& name) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::Value& name) override; + protected virtual facebook::jsi::Value getPrototypeOf(const facebook::jsi::Object& object) override; + protected virtual facebook::jsi::Value getValueAtIndex(const facebook::jsi::Array& a, size_t i) override; + protected virtual facebook::jsi::Value lockWeakObject(const facebook::jsi::WeakObject& wo) override; + protected virtual facebook::jsi::WeakObject createWeakObject(const facebook::jsi::Object& o) override; + protected virtual size_t size(const facebook::jsi::Array& a) override; + protected virtual size_t size(const facebook::jsi::ArrayBuffer& ab) override; + protected virtual std::shared_ptr getHostObject(const facebook::jsi::Object& o) override; + protected virtual std::shared_ptr getNativeState(const facebook::jsi::Object& o) override; + protected virtual std::string symbolToString(const facebook::jsi::Symbol& sym) override; + protected virtual std::string utf8(const facebook::jsi::PropNameID& id) override; + protected virtual std::string utf8(const facebook::jsi::String& s) override; + protected virtual std::u16string utf16(const facebook::jsi::PropNameID& sym) override; + protected virtual std::u16string utf16(const facebook::jsi::String& str) override; + protected virtual uint8_t* data(const facebook::jsi::ArrayBuffer& ab) override; + protected virtual uint64_t truncate(const facebook::jsi::BigInt& bi) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::PropNameID& name) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::String& name) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::Value& name) override; + protected virtual void setExternalMemoryPressure(const facebook::jsi::Object& obj, size_t amt) override; + protected virtual void setNativeState(const facebook::jsi::Object& o, std::shared_ptr state) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::String& name, const facebook::jsi::Value& value) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::Value& name, const facebook::jsi::Value& value) override; + protected virtual void setPrototypeOf(const facebook::jsi::Object& object, const facebook::jsi::Value& prototype) override; + protected virtual void setRuntimeDataImpl(const facebook::jsi::UUID& uuid, const void* data, void(*)(const void* data) deleter) override; + protected virtual void setValueAtIndexImpl(const facebook::jsi::Array& a, size_t i, const facebook::jsi::Value& value) override; + protected void getPropNameIdData(const facebook::jsi::PropNameID& sym, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) override; + protected void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) override; + protected void popScope(Runtime::ScopeState* ss) override; + public WithRuntimeDecorator(Plain& plain, With& with); + public using RD = facebook::jsi::RuntimeDecorator; + public virtual bool drainMicrotasks(int maxMicrotasksHint) override; + public virtual bool isInspectable() override; + public virtual facebook::jsi::ICast* castInterface(const facebook::jsi::UUID& interfaceUUID) override; + public virtual facebook::jsi::Instrumentation& instrumentation() override; + public virtual facebook::jsi::Object global() override; + public virtual facebook::jsi::Value evaluateJavaScript(const std::shared_ptr& buffer, const std::string& sourceURL) override; + public virtual facebook::jsi::Value evaluatePreparedJavaScript(const std::shared_ptr& js) override; + public virtual std::shared_ptr prepareJavaScript(const std::shared_ptr& buffer, std::string sourceURL) override; + public virtual std::string description() override; + public virtual void queueMicrotask(const facebook::jsi::Function& callback) override; +} + + +facebook::jsi::PropNameID facebook::jsi::detail::toPropNameID(facebook::jsi::Runtime& runtime, const char* name); +facebook::jsi::PropNameID facebook::jsi::detail::toPropNameID(facebook::jsi::Runtime& runtime, const std::string& name); +facebook::jsi::PropNameID&& facebook::jsi::detail::toPropNameID(facebook::jsi::Runtime&, facebook::jsi::PropNameID&& name); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime& runtime, const char* str); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime& runtime, const std::string& str); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime&, bool b); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime&, double d); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime&, float f); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime&, int i); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime&, std::nullptr_t); +facebook::jsi::Value&& facebook::jsi::detail::toValue(facebook::jsi::Runtime&, facebook::jsi::Value&& value); +template +void facebook::jsi::detail::throwOrDie(Args &&... args); +template +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime& runtime, const T& other); + +template +class facebook::jsi::detail::ThreadSafeRuntimeImpl : public facebook::jsi::WithRuntimeDecorator, R, facebook::jsi::ThreadSafeRuntime> { + public virtual R& getUnsafeRuntime() override; + public virtual void lock() const override; + public virtual void unlock() const override; + template + public ThreadSafeRuntimeImpl(Args &&... args); +} + +template +struct facebook::jsi::detail::WithLock { + public L lock; + public WithLock(R& r); + public void after(); + public void before(); +} + +template +struct facebook::jsi::detail::AfterCaller { + public static void after(T&); +} + +template +struct facebook::jsi::detail::BeforeCaller { + public static void before(T&); +} + +template +struct facebook::jsi::detail::AfterCaller { + public static void after(T& t); +} + +template +struct facebook::jsi::detail::BeforeCaller { + public static void before(T& t); +} + +template +struct facebook::jsi::detail::AfterCaller> { + public static void after(std::tuple& tuple); +} + +template +struct facebook::jsi::detail::BeforeCaller> { + public static void before(std::tuple& tuple); +} + + +using facebook::yoga::ExperimentalFeatureSet = std::bitset()>; +using facebook::yoga::GridTrackList = std::vector; +template +concept facebook::yoga::Enumeration = std::is_enum_v; +template +concept facebook::yoga::HasOrdinality = (facebook::yoga::ordinalCount()> 0); +YGLogger facebook::yoga::getDefaultLogger(); +bool facebook::yoga::calculateLayoutInternal(facebook::yoga::Node* node, float availableWidth, float availableHeight, facebook::yoga::Direction ownerDirection, facebook::yoga::SizingMode widthSizingMode, facebook::yoga::SizingMode heightSizingMode, float ownerWidth, float ownerHeight, bool performLayout, facebook::yoga::LayoutPassReason reason, facebook::yoga::LayoutData& layoutMarkerData, uint32_t depth, uint32_t generationCount); +bool facebook::yoga::canUseCachedMeasurement(facebook::yoga::SizingMode widthMode, float availableWidth, facebook::yoga::SizingMode heightMode, float availableHeight, facebook::yoga::SizingMode lastWidthMode, float lastAvailableWidth, facebook::yoga::SizingMode lastHeightMode, float lastAvailableHeight, float lastComputedWidth, float lastComputedHeight, float marginRow, float marginColumn, const facebook::yoga::Config* config); +bool facebook::yoga::configUpdateInvalidatesLayout(const facebook::yoga::Config& oldConfig, const facebook::yoga::Config& newConfig); +bool facebook::yoga::inexactEquals(const facebook::yoga::StyleLength& a, const facebook::yoga::StyleLength& b); +bool facebook::yoga::inexactEquals(const facebook::yoga::StyleSizeLength& a, const facebook::yoga::StyleSizeLength& b); +bool facebook::yoga::inexactEquals(double a, double b); +bool facebook::yoga::inexactEquals(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +bool facebook::yoga::inexactEquals(float a, float b); +bool facebook::yoga::isBaselineLayout(const facebook::yoga::Node* node); +bool facebook::yoga::isColumn(const facebook::yoga::FlexDirection flexDirection); +bool facebook::yoga::isRow(const facebook::yoga::FlexDirection flexDirection); +bool facebook::yoga::layoutAbsoluteDescendants(facebook::yoga::Node* containingNode, facebook::yoga::Node* currentNode, facebook::yoga::SizingMode widthSizingMode, facebook::yoga::Direction currentNodeDirection, facebook::yoga::LayoutData& layoutMarkerData, uint32_t currentDepth, uint32_t generationCount, float currentNodeMainOffsetFromContainingBlock, float currentNodeCrossOffsetFromContainingBlock, float containingNodeAvailableInnerWidth, float containingNodeAvailableInnerHeight); +bool facebook::yoga::needsTrailingPosition(const facebook::yoga::FlexDirection axis); +const char* facebook::yoga::LayoutPassReasonToString(facebook::yoga::LayoutPassReason value); +const char* facebook::yoga::toString(facebook::yoga::Align e); +const char* facebook::yoga::toString(facebook::yoga::BoxSizing e); +const char* facebook::yoga::toString(facebook::yoga::Dimension e); +const char* facebook::yoga::toString(facebook::yoga::Direction e); +const char* facebook::yoga::toString(facebook::yoga::Display e); +const char* facebook::yoga::toString(facebook::yoga::Edge e); +const char* facebook::yoga::toString(facebook::yoga::Errata e); +const char* facebook::yoga::toString(facebook::yoga::ExperimentalFeature e); +const char* facebook::yoga::toString(facebook::yoga::FlexDirection e); +const char* facebook::yoga::toString(facebook::yoga::GridTrackType e); +const char* facebook::yoga::toString(facebook::yoga::Gutter e); +const char* facebook::yoga::toString(facebook::yoga::Justify e); +const char* facebook::yoga::toString(facebook::yoga::LogLevel e); +const char* facebook::yoga::toString(facebook::yoga::MeasureMode e); +const char* facebook::yoga::toString(facebook::yoga::NodeType e); +const char* facebook::yoga::toString(facebook::yoga::Overflow e); +const char* facebook::yoga::toString(facebook::yoga::PositionType e); +const char* facebook::yoga::toString(facebook::yoga::Unit e); +const char* facebook::yoga::toString(facebook::yoga::Wrap e); +const facebook::yoga::Node* facebook::yoga::resolveRef(const YGNodeConstRef ref); +constexpr YGAlign facebook::yoga::unscopedEnum(facebook::yoga::Align scoped); +constexpr YGBoxSizing facebook::yoga::unscopedEnum(facebook::yoga::BoxSizing scoped); +constexpr YGDimension facebook::yoga::unscopedEnum(facebook::yoga::Dimension scoped); +constexpr YGDirection facebook::yoga::unscopedEnum(facebook::yoga::Direction scoped); +constexpr YGDisplay facebook::yoga::unscopedEnum(facebook::yoga::Display scoped); +constexpr YGEdge facebook::yoga::unscopedEnum(facebook::yoga::Edge scoped); +constexpr YGErrata facebook::yoga::unscopedEnum(facebook::yoga::Errata scoped); +constexpr YGExperimentalFeature facebook::yoga::unscopedEnum(facebook::yoga::ExperimentalFeature scoped); +constexpr YGFlexDirection facebook::yoga::unscopedEnum(facebook::yoga::FlexDirection scoped); +constexpr YGGridTrackType facebook::yoga::unscopedEnum(facebook::yoga::GridTrackType scoped); +constexpr YGGutter facebook::yoga::unscopedEnum(facebook::yoga::Gutter scoped); +constexpr YGJustify facebook::yoga::unscopedEnum(facebook::yoga::Justify scoped); +constexpr YGLogLevel facebook::yoga::unscopedEnum(facebook::yoga::LogLevel scoped); +constexpr YGMeasureMode facebook::yoga::unscopedEnum(facebook::yoga::MeasureMode scoped); +constexpr YGNodeType facebook::yoga::unscopedEnum(facebook::yoga::NodeType scoped); +constexpr YGOverflow facebook::yoga::unscopedEnum(facebook::yoga::Overflow scoped); +constexpr YGPositionType facebook::yoga::unscopedEnum(facebook::yoga::PositionType scoped); +constexpr YGUnit facebook::yoga::unscopedEnum(facebook::yoga::Unit scoped); +constexpr YGWrap facebook::yoga::unscopedEnum(facebook::yoga::Wrap scoped); +constexpr auto facebook::yoga::maxOrDefined(std::floating_point auto a, std::floating_point auto b); +constexpr auto facebook::yoga::minOrDefined(std::floating_point auto a, std::floating_point auto b); +constexpr auto facebook::yoga::to_underlying(Enumeration auto e) noexcept; +constexpr bool facebook::yoga::isDefined(std::floating_point auto value); +constexpr bool facebook::yoga::isUndefined(std::floating_point auto value); +constexpr bool facebook::yoga::isinf(auto value); +constexpr facebook::yoga::Align facebook::yoga::fallbackAlignment(facebook::yoga::Align align); +constexpr facebook::yoga::Align facebook::yoga::scopedEnum(YGAlign unscoped); +constexpr facebook::yoga::BoxSizing facebook::yoga::scopedEnum(YGBoxSizing unscoped); +constexpr facebook::yoga::Dimension facebook::yoga::scopedEnum(YGDimension unscoped); +constexpr facebook::yoga::Direction facebook::yoga::scopedEnum(YGDirection unscoped); +constexpr facebook::yoga::Display facebook::yoga::scopedEnum(YGDisplay unscoped); +constexpr facebook::yoga::Edge facebook::yoga::scopedEnum(YGEdge unscoped); +constexpr facebook::yoga::Errata facebook::yoga::scopedEnum(YGErrata unscoped); +constexpr facebook::yoga::ExperimentalFeature facebook::yoga::scopedEnum(YGExperimentalFeature unscoped); +constexpr facebook::yoga::FlexDirection facebook::yoga::scopedEnum(YGFlexDirection unscoped); +constexpr facebook::yoga::FloatOptional facebook::yoga::maxOrDefined(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr facebook::yoga::GridTrackType facebook::yoga::scopedEnum(YGGridTrackType unscoped); +constexpr facebook::yoga::Gutter facebook::yoga::scopedEnum(YGGutter unscoped); +constexpr facebook::yoga::Justify facebook::yoga::fallbackAlignment(facebook::yoga::Justify align); +constexpr facebook::yoga::Justify facebook::yoga::scopedEnum(YGJustify unscoped); +constexpr facebook::yoga::LogLevel facebook::yoga::scopedEnum(YGLogLevel unscoped); +constexpr facebook::yoga::MeasureMode facebook::yoga::scopedEnum(YGMeasureMode unscoped); +constexpr facebook::yoga::NodeType facebook::yoga::scopedEnum(YGNodeType unscoped); +constexpr facebook::yoga::Overflow facebook::yoga::scopedEnum(YGOverflow unscoped); +constexpr facebook::yoga::PositionType facebook::yoga::scopedEnum(YGPositionType unscoped); +constexpr facebook::yoga::Unit facebook::yoga::scopedEnum(YGUnit unscoped); +constexpr facebook::yoga::Wrap facebook::yoga::scopedEnum(YGWrap unscoped); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +facebook::yoga::Align facebook::yoga::resolveChildAlignment(const facebook::yoga::Node* node, const facebook::yoga::Node* child); +facebook::yoga::Config* facebook::yoga::resolveRef(const YGConfigRef ref); +facebook::yoga::Dimension facebook::yoga::dimension(facebook::yoga::FlexDirection flexDirection); +facebook::yoga::FlexDirection facebook::yoga::resolveCrossDirection(const facebook::yoga::FlexDirection flexDirection, const facebook::yoga::Direction direction); +facebook::yoga::FlexDirection facebook::yoga::resolveDirection(const facebook::yoga::FlexDirection flexDirection, const facebook::yoga::Direction direction); +facebook::yoga::FlexLine facebook::yoga::calculateFlexLine(facebook::yoga::Node* node, facebook::yoga::Direction ownerDirection, float ownerWidth, float mainAxisOwnerSize, float availableInnerWidth, float availableInnerMainDim, facebook::yoga::Node::LayoutableChildren::Iterator& iterator, size_t lineCount); +facebook::yoga::FloatOptional facebook::yoga::boundAxisWithinMinAndMax(const facebook::yoga::Node *const node, const facebook::yoga::Direction direction, const facebook::yoga::FlexDirection axis, const facebook::yoga::FloatOptional value, const float axisSize, const float widthSize); +facebook::yoga::Justify facebook::yoga::resolveChildJustification(const facebook::yoga::Node* node, const facebook::yoga::Node* child); +facebook::yoga::MeasureMode facebook::yoga::measureMode(facebook::yoga::SizingMode mode); +facebook::yoga::Node* facebook::yoga::resolveRef(const YGNodeRef ref); +facebook::yoga::PhysicalEdge facebook::yoga::flexEndEdge(facebook::yoga::FlexDirection flexDirection); +facebook::yoga::PhysicalEdge facebook::yoga::flexStartEdge(facebook::yoga::FlexDirection flexDirection); +facebook::yoga::PhysicalEdge facebook::yoga::inlineEndEdge(facebook::yoga::FlexDirection flexDirection, facebook::yoga::Direction direction); +facebook::yoga::PhysicalEdge facebook::yoga::inlineStartEdge(facebook::yoga::FlexDirection flexDirection, facebook::yoga::Direction direction); +facebook::yoga::SizingMode facebook::yoga::sizingMode(facebook::yoga::MeasureMode mode); +float facebook::yoga::boundAxis(const facebook::yoga::Node *const node, const facebook::yoga::FlexDirection axis, const facebook::yoga::Direction direction, const float value, const float axisSize, const float widthSize); +float facebook::yoga::calculateAvailableInnerDimension(const facebook::yoga::Node *const node, const facebook::yoga::Direction direction, const facebook::yoga::Dimension dimension, const float availableDim, float paddingAndBorder, const float ownerDim, const float ownerWidth); +float facebook::yoga::calculateBaseline(const facebook::yoga::Node* node); +float facebook::yoga::getPositionOfOppositeEdge(float position, facebook::yoga::FlexDirection axis, const facebook::yoga::Node *const containingNode, const facebook::yoga::Node *const node); +float facebook::yoga::paddingAndBorderForAxis(const facebook::yoga::Node *const node, const facebook::yoga::FlexDirection axis, const facebook::yoga::Direction direction, const float widthSize); +float facebook::yoga::roundValueToPixelGrid(double value, double pointScaleFactor, bool forceCeil, bool forceFloor); +template +constexpr int32_t facebook::yoga::ordinalCount(); +template +auto facebook::yoga::ordinals(); +template +constexpr int32_t facebook::yoga::bitCount(); +template +bool facebook::yoga::inexactEquals(const std::array& val1, const std::array& val2); +void facebook::yoga::assertFatal(bool condition, const char* message); +void facebook::yoga::assertFatalWithConfig(const facebook::yoga::Config* config, bool condition, const char* message); +void facebook::yoga::assertFatalWithNode(const facebook::yoga::Node* node, bool condition, const char* message); +void facebook::yoga::calculateLayout(facebook::yoga::Node* node, float ownerWidth, float ownerHeight, facebook::yoga::Direction ownerDirection); +void facebook::yoga::cleanupContentsNodesRecursively(facebook::yoga::Node *const node); +void facebook::yoga::constrainMaxSizeForMode(const facebook::yoga::Node* node, facebook::yoga::Direction direction, facebook::yoga::FlexDirection axis, float ownerAxisSize, float ownerWidth, facebook::yoga::SizingMode* mode, float* size); +void facebook::yoga::fatalWithMessage(const char* message); +void facebook::yoga::layoutAbsoluteChild(const facebook::yoga::Node* containingNode, const facebook::yoga::Node* node, facebook::yoga::Node* child, float containingBlockWidth, float containingBlockHeight, facebook::yoga::SizingMode widthMode, facebook::yoga::Direction direction, facebook::yoga::LayoutData& layoutMarkerData, uint32_t depth, uint32_t generationCount); +void facebook::yoga::log(const facebook::yoga::Config* config, facebook::yoga::LogLevel level, const char* format, ...) noexcept; +void facebook::yoga::log(const facebook::yoga::Node* node, facebook::yoga::LogLevel level, const char* format, ...) noexcept; +void facebook::yoga::log(facebook::yoga::LogLevel level, const char* format, ...) noexcept; +void facebook::yoga::roundLayoutResultsToPixelGrid(facebook::yoga::Node* node, double absoluteLeft, double absoluteTop); +void facebook::yoga::setChildTrailingPosition(const facebook::yoga::Node *const node, facebook::yoga::Node *const child, const facebook::yoga::FlexDirection axis); +void facebook::yoga::zeroOutLayoutRecursively(facebook::yoga::Node *const node); +constexpr bool facebook::yoga::operator<(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr bool facebook::yoga::operator<=(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr bool facebook::yoga::operator==(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr bool facebook::yoga::operator==(facebook::yoga::FloatOptional lhs, float rhs); +constexpr bool facebook::yoga::operator==(float lhs, facebook::yoga::FloatOptional rhs); +constexpr bool facebook::yoga::operator>(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr bool facebook::yoga::operator>=(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr facebook::yoga::FloatOptional facebook::yoga::operator+(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); + +class facebook::yoga::Config : public YGConfig { + public Config(YGLogger logger); + public YGNodeRef cloneNode(YGNodeConstRef node, YGNodeConstRef owner, size_t childIndex) const; + public bool hasErrata(facebook::yoga::Errata errata) const; + public bool isExperimentalFeatureEnabled(facebook::yoga::ExperimentalFeature feature) const; + public bool useWebDefaults() const; + public facebook::yoga::Errata getErrata() const; + public facebook::yoga::ExperimentalFeatureSet getEnabledExperiments() const; + public float getPointScaleFactor() const; + public static const facebook::yoga::Config& getDefault(); + public uint32_t getVersion() const noexcept; + public void addErrata(facebook::yoga::Errata errata); + public void log(const facebook::yoga::Node* node, facebook::yoga::LogLevel logLevel, const char* format, va_list args) const; + public void removeErrata(facebook::yoga::Errata errata); + public void setCloneNodeCallback(YGCloneNodeFunc cloneNode); + public void setContext(void* context); + public void setErrata(facebook::yoga::Errata errata); + public void setExperimentalFeatureEnabled(facebook::yoga::ExperimentalFeature feature, bool enabled); + public void setLogger(YGLogger logger); + public void setPointScaleFactor(float pointScaleFactor); + public void setUseWebDefaults(bool useWebDefaults); + public void* getContext() const; +} + +class facebook::yoga::Node : public YGNode { + public Node(); + public Node(const facebook::yoga::Config* config); + public Node(const facebook::yoga::Node& node) = default; + public Node(facebook::yoga::Node&& node) noexcept; + public YGDirtiedFunc getDirtiedFunc() const; + public YGSize measure(float availableWidth, facebook::yoga::MeasureMode widthMode, float availableHeight, facebook::yoga::MeasureMode heightMode); + public bool alwaysFormsContainingBlock() const; + public bool getHasNewLayout() const; + public bool hasBaselineFunc() const noexcept; + public bool hasContentsChildren() const; + public bool hasDefiniteLength(facebook::yoga::Dimension dimension, float ownerSize); + public bool hasErrata(facebook::yoga::Errata errata) const; + public bool hasMeasureFunc() const noexcept; + public bool isDirty() const; + public bool isLayoutDimensionDefined(facebook::yoga::FlexDirection axis); + public bool isNodeFlexible(); + public bool isReferenceBaseline() const; + public bool removeChild(facebook::yoga::Node* child); + public const facebook::yoga::Config* getConfig() const; + public const facebook::yoga::LayoutResults& getLayout() const; + public const facebook::yoga::Style& style() const; + public const std::vector& getChildren() const; + public facebook::yoga::Direction resolveDirection(facebook::yoga::Direction ownerDirection); + public facebook::yoga::FloatOptional getResolvedDimension(facebook::yoga::Direction direction, facebook::yoga::Dimension dimension, float referenceLength, float ownerWidth) const; + public facebook::yoga::FloatOptional resolveFlexBasis(facebook::yoga::Direction direction, facebook::yoga::FlexDirection flexDirection, float referenceLength, float ownerWidth) const; + public facebook::yoga::LayoutResults& getLayout(); + public facebook::yoga::Node& operator=(const facebook::yoga::Node&) = delete; + public facebook::yoga::Node* getChild(size_t index) const; + public facebook::yoga::Node* getOwner() const; + public facebook::yoga::Node::LayoutableChildren getLayoutChildren() const; + public facebook::yoga::NodeType getNodeType() const; + public facebook::yoga::Style& style(); + public facebook::yoga::Style::SizeLength getProcessedDimension(facebook::yoga::Dimension dimension) const; + public facebook::yoga::Style::SizeLength processFlexBasis() const; + public float baseline(float width, float height) const; + public float dimensionWithMargin(facebook::yoga::FlexDirection axis, float widthSize); + public float relativePosition(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float axisSize) const; + public float resolveFlexGrow() const; + public float resolveFlexShrink() const; + public size_t getChildCount() const; + public size_t getLayoutChildCount() const; + public size_t getLineIndex() const; + public using LayoutableChildren = facebook::yoga::LayoutableChildren; + public void clearChildren(); + public void cloneChildrenIfNeeded(); + public void cloneContentsChildrenIfNeeded(); + public void insertChild(facebook::yoga::Node* child, size_t index); + public void markDirtyAndPropagate(); + public void processDimensions(); + public void removeChild(size_t index); + public void replaceChild(facebook::yoga::Node* child, size_t index); + public void replaceChild(facebook::yoga::Node* oldChild, facebook::yoga::Node* newChild); + public void reset(); + public void setAlwaysFormsContainingBlock(bool alwaysFormsContainingBlock); + public void setBaselineFunc(YGBaselineFunc baseLineFunc); + public void setChildren(const std::vector& children); + public void setConfig(facebook::yoga::Config* config); + public void setContext(void* context); + public void setDirtiedFunc(YGDirtiedFunc dirtiedFunc); + public void setDirty(bool isDirty); + public void setHasNewLayout(bool hasNewLayout); + public void setIsReferenceBaseline(bool isReferenceBaseline); + public void setLayout(const facebook::yoga::LayoutResults& layout); + public void setLayoutBorder(float border, facebook::yoga::PhysicalEdge edge); + public void setLayoutComputedFlexBasis(facebook::yoga::FloatOptional computedFlexBasis); + public void setLayoutComputedFlexBasisGeneration(uint32_t computedFlexBasisGeneration); + public void setLayoutDimension(float lengthValue, facebook::yoga::Dimension dimension); + public void setLayoutDirection(facebook::yoga::Direction direction); + public void setLayoutHadOverflow(bool hadOverflow); + public void setLayoutLastOwnerDirection(facebook::yoga::Direction direction); + public void setLayoutMargin(float margin, facebook::yoga::PhysicalEdge edge); + public void setLayoutMeasuredDimension(float measuredDimension, facebook::yoga::Dimension dimension); + public void setLayoutPadding(float padding, facebook::yoga::PhysicalEdge edge); + public void setLayoutPosition(float position, facebook::yoga::PhysicalEdge edge); + public void setLineIndex(size_t lineIndex); + public void setMeasureFunc(YGMeasureFunc measureFunc); + public void setNodeType(facebook::yoga::NodeType nodeType); + public void setOwner(facebook::yoga::Node* owner); + public void setPosition(facebook::yoga::Direction direction, float ownerWidth, float ownerHeight); + public void setStyle(const facebook::yoga::Style& style); + public void* getContext() const; +} + +class facebook::yoga::Style { + public bool flexEndMarginIsAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool flexStartMarginIsAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool horizontalInsetsDefined() const; + public bool inlineEndMarginIsAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool inlineStartMarginIsAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isFlexEndPositionAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isFlexEndPositionDefined(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isFlexStartPositionAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isFlexStartPositionDefined(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isInlineEndPositionAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isInlineEndPositionDefined(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isInlineStartPositionAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isInlineStartPositionDefined(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool operator==(const facebook::yoga::Style& other) const; + public bool verticalInsetsDefined() const; + public const facebook::yoga::GridLine& gridColumnEnd() const; + public const facebook::yoga::GridLine& gridColumnStart() const; + public const facebook::yoga::GridLine& gridRowEnd() const; + public const facebook::yoga::GridLine& gridRowStart() const; + public const facebook::yoga::GridTrackList& gridAutoColumns() const; + public const facebook::yoga::GridTrackList& gridAutoRows() const; + public const facebook::yoga::GridTrackList& gridTemplateColumns() const; + public const facebook::yoga::GridTrackList& gridTemplateRows() const; + public facebook::yoga::Align alignContent() const; + public facebook::yoga::Align alignItems() const; + public facebook::yoga::Align alignSelf() const; + public facebook::yoga::BoxSizing boxSizing() const; + public facebook::yoga::Direction direction() const; + public facebook::yoga::Display display() const; + public facebook::yoga::FlexDirection flexDirection() const; + public facebook::yoga::FloatOptional aspectRatio() const; + public facebook::yoga::FloatOptional flex() const; + public facebook::yoga::FloatOptional flexGrow() const; + public facebook::yoga::FloatOptional flexShrink() const; + public facebook::yoga::FloatOptional resolvedMaxDimension(facebook::yoga::Direction direction, facebook::yoga::Dimension axis, float referenceLength, float ownerWidth) const; + public facebook::yoga::FloatOptional resolvedMinDimension(facebook::yoga::Direction direction, facebook::yoga::Dimension axis, float referenceLength, float ownerWidth) const; + public facebook::yoga::Justify justifyContent() const; + public facebook::yoga::Justify justifyItems() const; + public facebook::yoga::Justify justifySelf() const; + public facebook::yoga::Overflow overflow() const; + public facebook::yoga::PositionType positionType() const; + public facebook::yoga::Style::Length border(facebook::yoga::Edge edge) const; + public facebook::yoga::Style::Length gap(facebook::yoga::Gutter gutter) const; + public facebook::yoga::Style::Length margin(facebook::yoga::Edge edge) const; + public facebook::yoga::Style::Length padding(facebook::yoga::Edge edge) const; + public facebook::yoga::Style::Length position(facebook::yoga::Edge edge) const; + public facebook::yoga::Style::SizeLength dimension(facebook::yoga::Dimension axis) const; + public facebook::yoga::Style::SizeLength flexBasis() const; + public facebook::yoga::Style::SizeLength maxDimension(facebook::yoga::Dimension axis) const; + public facebook::yoga::Style::SizeLength minDimension(facebook::yoga::Dimension axis) const; + public facebook::yoga::Wrap flexWrap() const; + public float computeBorderForAxis(facebook::yoga::FlexDirection axis) const; + public float computeFlexEndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public float computeFlexEndMargin(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexEndPadding(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexEndPaddingAndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexEndPosition(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float axisSize) const; + public float computeFlexStartBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public float computeFlexStartMargin(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexStartPadding(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexStartPaddingAndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexStartPosition(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float axisSize) const; + public float computeGapForAxis(facebook::yoga::FlexDirection axis, float ownerSize) const; + public float computeGapForDimension(facebook::yoga::Dimension dimension, float ownerSize) const; + public float computeInlineEndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public float computeInlineEndMargin(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineEndPadding(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineEndPaddingAndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineEndPosition(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float axisSize) const; + public float computeInlineStartBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public float computeInlineStartMargin(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineStartPadding(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineStartPaddingAndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineStartPosition(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float axisSize) const; + public float computeMarginForAxis(facebook::yoga::FlexDirection axis, float widthSize) const; + public float computePaddingAndBorderForDimension(facebook::yoga::Direction direction, facebook::yoga::Dimension dimension, float widthSize) const; + public static constexpr float DefaultFlexGrow; + public static constexpr float DefaultFlexShrink; + public static constexpr float WebDefaultFlexShrink; + public using Length = facebook::yoga::StyleLength; + public using SizeLength = facebook::yoga::StyleSizeLength; + public void resizeGridAutoColumns(size_t count); + public void resizeGridAutoRows(size_t count); + public void resizeGridTemplateColumns(size_t count); + public void resizeGridTemplateRows(size_t count); + public void setAlignContent(facebook::yoga::Align value); + public void setAlignItems(facebook::yoga::Align value); + public void setAlignSelf(facebook::yoga::Align value); + public void setAspectRatio(facebook::yoga::FloatOptional value); + public void setBorder(facebook::yoga::Edge edge, facebook::yoga::Style::Length value); + public void setBoxSizing(facebook::yoga::BoxSizing value); + public void setDimension(facebook::yoga::Dimension axis, facebook::yoga::Style::SizeLength value); + public void setDirection(facebook::yoga::Direction value); + public void setDisplay(facebook::yoga::Display value); + public void setFlex(facebook::yoga::FloatOptional value); + public void setFlexBasis(facebook::yoga::Style::SizeLength value); + public void setFlexDirection(facebook::yoga::FlexDirection value); + public void setFlexGrow(facebook::yoga::FloatOptional value); + public void setFlexShrink(facebook::yoga::FloatOptional value); + public void setFlexWrap(facebook::yoga::Wrap value); + public void setGap(facebook::yoga::Gutter gutter, facebook::yoga::Style::Length value); + public void setGridAutoColumnAt(size_t index, facebook::yoga::GridTrackSize value); + public void setGridAutoColumns(facebook::yoga::GridTrackList value); + public void setGridAutoRowAt(size_t index, facebook::yoga::GridTrackSize value); + public void setGridAutoRows(facebook::yoga::GridTrackList value); + public void setGridColumnEnd(facebook::yoga::GridLine value); + public void setGridColumnStart(facebook::yoga::GridLine value); + public void setGridRowEnd(facebook::yoga::GridLine value); + public void setGridRowStart(facebook::yoga::GridLine value); + public void setGridTemplateColumnAt(size_t index, facebook::yoga::GridTrackSize value); + public void setGridTemplateColumns(facebook::yoga::GridTrackList value); + public void setGridTemplateRowAt(size_t index, facebook::yoga::GridTrackSize value); + public void setGridTemplateRows(facebook::yoga::GridTrackList value); + public void setJustifyContent(facebook::yoga::Justify value); + public void setJustifyItems(facebook::yoga::Justify value); + public void setJustifySelf(facebook::yoga::Justify value); + public void setMargin(facebook::yoga::Edge edge, facebook::yoga::Style::Length value); + public void setMaxDimension(facebook::yoga::Dimension axis, facebook::yoga::Style::SizeLength value); + public void setMinDimension(facebook::yoga::Dimension axis, facebook::yoga::Style::SizeLength value); + public void setOverflow(facebook::yoga::Overflow value); + public void setPadding(facebook::yoga::Edge edge, facebook::yoga::Style::Length value); + public void setPosition(facebook::yoga::Edge edge, facebook::yoga::Style::Length value); + public void setPositionType(facebook::yoga::PositionType value); +} + +class facebook::yoga::StyleLength { + public constexpr StyleLength() = default; + public constexpr bool inexactEquals(const facebook::yoga::StyleLength& other) const; + public constexpr bool isAuto() const; + public constexpr bool isDefined() const; + public constexpr bool isPercent() const; + public constexpr bool isPoints() const; + public constexpr bool isUndefined() const; + public constexpr bool operator==(const facebook::yoga::StyleLength& rhs) const; + public constexpr facebook::yoga::FloatOptional resolve(float referenceLength); + public constexpr facebook::yoga::FloatOptional value() const; + public constexpr operator YGValue() const; + public static constexpr facebook::yoga::StyleLength ofAuto(); + public static constexpr facebook::yoga::StyleLength percent(float value); + public static constexpr facebook::yoga::StyleLength points(float value); + public static constexpr facebook::yoga::StyleLength undefined(); +} + +class facebook::yoga::StyleSizeLength { + public constexpr StyleSizeLength() = default; + public constexpr bool inexactEquals(const facebook::yoga::StyleSizeLength& other) const; + public constexpr bool isAuto() const; + public constexpr bool isDefined() const; + public constexpr bool isFitContent() const; + public constexpr bool isMaxContent() const; + public constexpr bool isPercent() const; + public constexpr bool isPoints() const; + public constexpr bool isStretch() const; + public constexpr bool isUndefined() const; + public constexpr bool operator==(const facebook::yoga::StyleSizeLength& rhs) const; + public constexpr facebook::yoga::FloatOptional resolve(float referenceLength) const; + public constexpr facebook::yoga::FloatOptional value() const; + public constexpr operator YGValue() const; + public static constexpr facebook::yoga::StyleSizeLength ofAuto(); + public static constexpr facebook::yoga::StyleSizeLength ofFitContent(); + public static constexpr facebook::yoga::StyleSizeLength ofMaxContent(); + public static constexpr facebook::yoga::StyleSizeLength ofStretch(); + public static constexpr facebook::yoga::StyleSizeLength percent(float value); + public static constexpr facebook::yoga::StyleSizeLength points(float value); + public static constexpr facebook::yoga::StyleSizeLength stretch(float fraction); + public static constexpr facebook::yoga::StyleSizeLength undefined(); +} + +class facebook::yoga::StyleValueHandle { + public constexpr bool isAuto() const; + public constexpr bool isDefined() const; + public constexpr bool isUndefined() const; + public static constexpr facebook::yoga::StyleValueHandle ofAuto(); +} + +class facebook::yoga::StyleValuePool { + public facebook::yoga::FloatOptional getNumber(facebook::yoga::StyleValueHandle handle) const; + public facebook::yoga::StyleLength getLength(facebook::yoga::StyleValueHandle handle) const; + public facebook::yoga::StyleSizeLength getSize(facebook::yoga::StyleValueHandle handle) const; + public void store(facebook::yoga::StyleValueHandle& handle, facebook::yoga::FloatOptional number); + public void store(facebook::yoga::StyleValueHandle& handle, facebook::yoga::StyleLength length); + public void store(facebook::yoga::StyleValueHandle& handle, facebook::yoga::StyleSizeLength sizeValue); +} + +enum facebook::yoga::Align : uint8_t { + Auto, + Baseline, + Center, + End, + FlexEnd, + FlexStart, + SpaceAround, + SpaceBetween, + SpaceEvenly, + Start, + Stretch, +} + +enum facebook::yoga::BoxSizing : uint8_t { + BorderBox, + ContentBox, +} + +enum facebook::yoga::Dimension : uint8_t { + Height, + Width, +} + +enum facebook::yoga::Direction : uint8_t { + Inherit, + LTR, + RTL, +} + +enum facebook::yoga::Display : uint8_t { + Contents, + Flex, + Grid, + None, +} + +enum facebook::yoga::Edge : uint8_t { + All, + Bottom, + End, + Horizontal, + Left, + Right, + Start, + Top, + Vertical, +} + +enum facebook::yoga::Errata : uint32_t { + AbsolutePercentAgainstInnerSize, + AbsolutePositionWithoutInsetsExcludesPadding, + All, + Classic, + None, + StretchFlexBasis, +} + +enum facebook::yoga::ExperimentalFeature : uint8_t { + FixFlexBasisFitContent, + WebFlexBasis, +} + +enum facebook::yoga::FlexDirection : uint8_t { + Column, + ColumnReverse, + Row, + RowReverse, +} + +enum facebook::yoga::GridLineType : uint8_t { + Auto, + Integer, + Span, +} + +enum facebook::yoga::GridTrackType : uint8_t { + Auto, + Fr, + Minmax, + Percent, + Points, +} + +enum facebook::yoga::Gutter : uint8_t { + All, + Column, + Row, +} + +enum facebook::yoga::Justify : uint8_t { + Auto, + Center, + End, + FlexEnd, + FlexStart, + SpaceAround, + SpaceBetween, + SpaceEvenly, + Start, + Stretch, +} + +enum facebook::yoga::LayoutPassReason : int { + COUNT, + kAbsLayout, + kAbsMeasureChild, + kFlexLayout, + kFlexMeasure, + kGridLayout, + kInitial, + kMeasureChild, + kMultilineStretch, + kStretch, +} + +enum facebook::yoga::LayoutType : int { + kCachedLayout, + kCachedMeasure, + kLayout, + kMeasure, +} + +enum facebook::yoga::LogLevel : uint8_t { + Debug, + Error, + Fatal, + Info, + Verbose, + Warn, +} + +enum facebook::yoga::MeasureMode : uint8_t { + AtMost, + Exactly, + Undefined, +} + +enum facebook::yoga::NodeType : uint8_t { + Default, + Text, +} + +enum facebook::yoga::Overflow : uint8_t { + Hidden, + Scroll, + Visible, +} + +enum facebook::yoga::PhysicalEdge : uint32_t { + Bottom, + Left, + Right, + Top, +} + +enum facebook::yoga::PositionType : uint8_t { + Absolute, + Relative, + Static, +} + +enum facebook::yoga::SizingMode { + FitContent, + MaxContent, + StretchFit, +} + +enum facebook::yoga::Unit : uint8_t { + Auto, + FitContent, + MaxContent, + Percent, + Point, + Stretch, + Undefined, +} + +enum facebook::yoga::Wrap : uint8_t { + NoWrap, + Wrap, + WrapReverse, +} + +struct facebook::yoga::CachedMeasurement { + public bool operator==(facebook::yoga::CachedMeasurement measurement) const; + public facebook::yoga::SizingMode heightSizingMode; + public facebook::yoga::SizingMode widthSizingMode; + public float availableHeight; + public float availableWidth; + public float computedHeight; + public float computedWidth; +} + +struct facebook::yoga::Event { + public static void reset(); + public static void subscribe(std::function&& subscriber); + public using Subscriber = void(YGNodeConstRef, facebook::yoga::Event::Type, facebook::yoga::Event::Data); + public using Subscribers = std::vector>; + template + public static void publish(YGNodeConstRef node, const facebook::yoga::Event::TypedData& eventData = {}); +} + +class facebook::yoga::Event::Data { + template + public Data(const facebook::yoga::Event::TypedData& data); + template + public const facebook::yoga::Event::TypedData& get() const; +} + +enum facebook::yoga::Event::Type { + LayoutPassEnd, + LayoutPassStart, + MeasureCallbackEnd, + MeasureCallbackStart, + NodeAllocation, + NodeBaselineEnd, + NodeBaselineStart, + NodeDeallocation, + NodeLayout, +} + +template +struct facebook::yoga::Event::TypedData { +} + +struct facebook::yoga::Event::TypedData { + public facebook::yoga::LayoutData* layoutData; +} + +struct facebook::yoga::Event::TypedData { + public YGMeasureMode heightMeasureMode; + public YGMeasureMode widthMeasureMode; + public const facebook::yoga::LayoutPassReason reason; + public float height; + public float measuredHeight; + public float measuredWidth; + public float width; +} + +struct facebook::yoga::Event::TypedData { + public YGConfigConstRef config; +} + +struct facebook::yoga::Event::TypedData { + public YGConfigConstRef config; +} + +struct facebook::yoga::Event::TypedData { + public facebook::yoga::LayoutType layoutType; +} + +struct facebook::yoga::FlexLine { + public const float sizeConsumed; + public const size_t numberOfAutoMargins; + public const std::vector itemsInFlow; + public facebook::yoga::FlexLineRunningLayout layout; +} + +struct facebook::yoga::FlexLineRunningLayout { + public float crossDim; + public float mainDim; + public float remainingFreeSpace; + public float totalFlexGrowFactors; + public float totalFlexShrinkScaledFactors; +} + +struct facebook::yoga::FloatOptional { + public constexpr FloatOptional() = default; + public constexpr FloatOptional(float value); + public constexpr bool isDefined() const; + public constexpr bool isUndefined() const; + public constexpr float unwrap() const; + public constexpr float unwrapOrDefault(float defaultValue) const; +} + +struct facebook::yoga::GridLine { + public bool operator==(const facebook::yoga::GridLine& other) const = default; + public constexpr bool isAuto() const; + public constexpr bool isInteger() const; + public constexpr bool isSpan() const; + public facebook::yoga::GridLineType type; + public int32_t integer; + public static constexpr facebook::yoga::GridLine auto_(); + public static constexpr facebook::yoga::GridLine fromInteger(int32_t value); + public static constexpr facebook::yoga::GridLine span(int32_t value); +} + +struct facebook::yoga::GridTrackSize { + public bool infinitelyGrowable; + public bool operator==(const facebook::yoga::GridTrackSize& other) const = default; + public facebook::yoga::StyleSizeLength maxSizingFunction; + public facebook::yoga::StyleSizeLength minSizingFunction; + public float baseSize; + public float growthLimit; + public static constexpr facebook::yoga::GridTrackSize auto_(); + public static constexpr facebook::yoga::GridTrackSize fr(float fraction); + public static constexpr facebook::yoga::GridTrackSize length(float points); + public static constexpr facebook::yoga::GridTrackSize minmax(facebook::yoga::StyleSizeLength min, facebook::yoga::StyleSizeLength max); + public static constexpr facebook::yoga::GridTrackSize percent(float percentage); +} + +struct facebook::yoga::LayoutData { + public int cachedLayouts; + public int cachedMeasures; + public int layouts; + public int measureCallbacks; + public int measures; + public std::array(facebook::yoga::LayoutPassReason::COUNT)> measureCallbackReasonsCount; + public uint32_t maxMeasureCache; +} + +struct facebook::yoga::LayoutResults { + public bool hadOverflow() const; + public bool operator==(facebook::yoga::LayoutResults layout) const; + public facebook::yoga::CachedMeasurement cachedLayout; + public facebook::yoga::Direction direction() const; + public facebook::yoga::Direction lastOwnerDirection; + public facebook::yoga::FloatOptional computedFlexBasis; + public float border(facebook::yoga::PhysicalEdge physicalEdge) const; + public float dimension(facebook::yoga::Dimension axis) const; + public float margin(facebook::yoga::PhysicalEdge physicalEdge) const; + public float measuredDimension(facebook::yoga::Dimension axis) const; + public float padding(facebook::yoga::PhysicalEdge physicalEdge) const; + public float position(facebook::yoga::PhysicalEdge physicalEdge) const; + public float rawDimension(facebook::yoga::Dimension axis) const; + public static constexpr int32_t MaxCachedMeasurements; + public std::array cachedMeasurements; + public uint32_t computedFlexBasisGeneration; + public uint32_t configVersion; + public uint32_t generationCount; + public uint32_t nextCachedMeasurementsIndex; + public void setBorder(facebook::yoga::PhysicalEdge physicalEdge, float dimension); + public void setDimension(facebook::yoga::Dimension axis, float dimension); + public void setDirection(facebook::yoga::Direction direction); + public void setHadOverflow(bool hadOverflow); + public void setMargin(facebook::yoga::PhysicalEdge physicalEdge, float dimension); + public void setMeasuredDimension(facebook::yoga::Dimension axis, float dimension); + public void setPadding(facebook::yoga::PhysicalEdge physicalEdge, float dimension); + public void setPosition(facebook::yoga::PhysicalEdge physicalEdge, float dimension); + public void setRawDimension(facebook::yoga::Dimension axis, float dimension); +} + +template +class facebook::yoga::SmallValueBuffer { + public SmallValueBuffer() = default; + public SmallValueBuffer(const facebook::yoga::SmallValueBuffer& other); + public SmallValueBuffer(facebook::yoga::SmallValueBuffer&& other) noexcept = default; + public facebook::yoga::SmallValueBuffer& operator=(const facebook::yoga::SmallValueBuffer& other); + public facebook::yoga::SmallValueBuffer& operator=(facebook::yoga::SmallValueBuffer&& other) noexcept = default; + public uint16_t push(uint32_t value); + public uint16_t push(uint64_t value); + public uint16_t replace(uint16_t index, uint32_t value); + public uint16_t replace(uint16_t index, uint64_t value); + public uint32_t get32(uint16_t index) const; + public uint64_t get64(uint16_t index) const; +} + +template +class facebook::yoga::LayoutableChildren { + public LayoutableChildren(const T* node); + public facebook::yoga::LayoutableChildren::Iterator begin() const; + public facebook::yoga::LayoutableChildren::Iterator end() const; +} + +struct facebook::yoga::LayoutableChildren::Iterator { + public Iterator() = default; + public Iterator(const T* node, size_t childIndex); + public T* operator*() const; + public facebook::yoga::LayoutableChildren::Iterator operator++(int); + public facebook::yoga::LayoutableChildren::Iterator& operator++(); + public using difference_type = std::ptrdiff_t; + public using iterator_category = std::input_iterator_tag; + public using pointer = T*; + public using reference = T*; + public using value_type = T*; +} + + +struct JS::NativeAccessibilityManager::SpecAnnounceForAccessibilityWithOptionsOptions { + protected NSString* priority() const; + protected SpecAnnounceForAccessibilityWithOptionsOptions(NSDictionary* const v); + protected std::optional queue() const; +} + +struct JS::NativeAccessibilityManager::SpecSetAccessibilityContentSizeMultipliersJSMultipliers { + protected SpecSetAccessibilityContentSizeMultipliersJSMultipliers(NSDictionary* const v); + protected std::optional accessibilityExtraExtraExtraLarge() const; + protected std::optional accessibilityExtraExtraLarge() const; + protected std::optional accessibilityExtraLarge() const; + protected std::optional accessibilityLarge() const; + protected std::optional accessibilityMedium() const; + protected std::optional extraExtraExtraLarge() const; + protected std::optional extraExtraLarge() const; + protected std::optional extraLarge() const; + protected std::optional extraSmall() const; + protected std::optional large() const; + protected std::optional medium() const; + protected std::optional small() const; +} + + +struct JS::NativeActionSheetManager::SpecShowActionSheetWithOptionsOptions { + protected NSString* message() const; + protected NSString* title() const; + protected NSString* userInterfaceStyle() const; + protected SpecShowActionSheetWithOptionsOptions(NSDictionary* const v); + protected std::optional anchor() const; + protected std::optional cancelButtonIndex() const; + protected std::optional cancelButtonTintColor() const; + protected std::optional disabledButtonTintColor() const; + protected std::optional tintColor() const; + protected std::optional> options() const; + protected std::optional> destructiveButtonIndices() const; + protected std::optional> disabledButtonIndices() const; +} + +struct JS::NativeActionSheetManager::SpecShowShareActionSheetWithOptionsOptions { + protected NSString* message() const; + protected NSString* subject() const; + protected NSString* url() const; + protected NSString* userInterfaceStyle() const; + protected SpecShowShareActionSheetWithOptionsOptions(NSDictionary* const v); + protected std::optional anchor() const; + protected std::optional cancelButtonTintColor() const; + protected std::optional disabledButtonTintColor() const; + protected std::optional tintColor() const; + protected std::optional> excludedActivityTypes() const; +} + + +struct JS::NativeAlertManager::Args { + protected Args(NSDictionary* const v); + protected NSString* cancelButtonKey() const; + protected NSString* defaultValue() const; + protected NSString* destructiveButtonKey() const; + protected NSString* keyboardType() const; + protected NSString* message() const; + protected NSString* preferredButtonKey() const; + protected NSString* title() const; + protected NSString* type() const; + protected NSString* userInterfaceStyle() const; + protected std::optional>> buttons() const; +} + + +struct JS::NativeAnimatedModule::EventMapping { + protected EventMapping(NSDictionary* const v); + protected facebook::react::LazyVector nativeEventPath() const; + protected std::optional animatedValueTag() const; +} + + +struct JS::NativeAnimatedTurboModule::EventMapping { + protected EventMapping(NSDictionary* const v); + protected facebook::react::LazyVector nativeEventPath() const; + protected std::optional animatedValueTag() const; +} + + +struct JS::NativeAppState::Constants { + protected NSDictionary* unsafeRawValue() const; + protected static JS::NativeAppState::Constants fromUnsafeRawValue(NSDictionary* const v); +} + +struct JS::NativeAppState::Constants::Builder { + protected Builder(JS::NativeAppState::Constants i); + protected Builder(const JS::NativeAppState::Constants::Builder::Input i); + protected NSDictionary* buildUnsafeRawValue() const; + protected using ResultT = JS::NativeAppState::Constants; +} + +struct JS::NativeAppState::Constants::Builder::Input { + protected RCTRequired initialAppState; +} + + +struct JS::NativeBlobModule::Constants { + protected NSDictionary* unsafeRawValue() const; + protected static JS::NativeBlobModule::Constants fromUnsafeRawValue(NSDictionary* const v); +} + +struct JS::NativeBlobModule::Constants::Builder { + protected Builder(JS::NativeBlobModule::Constants i); + protected Builder(const JS::NativeBlobModule::Constants::Builder::Input i); + protected NSDictionary* buildUnsafeRawValue() const; + protected using ResultT = JS::NativeBlobModule::Constants; +} + +struct JS::NativeBlobModule::Constants::Builder::Input { + protected RCTRequired BLOB_URI_HOST; + protected RCTRequired BLOB_URI_SCHEME; +} + + +struct JS::NativeDeviceInfo::Constants { + protected NSDictionary* unsafeRawValue() const; + protected static JS::NativeDeviceInfo::Constants fromUnsafeRawValue(NSDictionary* const v); +} + +struct JS::NativeDeviceInfo::Constants::Builder { + protected Builder(JS::NativeDeviceInfo::Constants i); + protected Builder(const JS::NativeDeviceInfo::Constants::Builder::Input i); + protected NSDictionary* buildUnsafeRawValue() const; + protected using ResultT = JS::NativeDeviceInfo::Constants; +} + +struct JS::NativeDeviceInfo::Constants::Builder::Input { + protected RCTRequired Dimensions; + protected std::optional isEdgeToEdge; + protected std::optional isIPhoneX_deprecated; +} + +struct JS::NativeDeviceInfo::DimensionsPayload { + protected NSDictionary* unsafeRawValue() const; + protected static JS::NativeDeviceInfo::DimensionsPayload fromUnsafeRawValue(NSDictionary* const v); +} + +struct JS::NativeDeviceInfo::DimensionsPayload::Builder { + protected Builder(JS::NativeDeviceInfo::DimensionsPayload i); + protected Builder(const JS::NativeDeviceInfo::DimensionsPayload::Builder::Input i); + protected NSDictionary* buildUnsafeRawValue() const; + protected using ResultT = JS::NativeDeviceInfo::DimensionsPayload; +} + +struct JS::NativeDeviceInfo::DimensionsPayload::Builder::Input { + protected std::optional screen; + protected std::optional window; + protected std::optional screenPhysicalPixels; + protected std::optional windowPhysicalPixels; +} + +struct JS::NativeDeviceInfo::DisplayMetrics { + protected NSDictionary* unsafeRawValue() const; + protected static JS::NativeDeviceInfo::DisplayMetrics fromUnsafeRawValue(NSDictionary* const v); +} + +struct JS::NativeDeviceInfo::DisplayMetrics::Builder { + protected Builder(JS::NativeDeviceInfo::DisplayMetrics i); + protected Builder(const JS::NativeDeviceInfo::DisplayMetrics::Builder::Input i); + protected NSDictionary* buildUnsafeRawValue() const; + protected using ResultT = JS::NativeDeviceInfo::DisplayMetrics; +} + +struct JS::NativeDeviceInfo::DisplayMetrics::Builder::Input { + protected RCTRequired fontScale; + protected RCTRequired height; + protected RCTRequired scale; + protected RCTRequired width; +} + +struct JS::NativeDeviceInfo::DisplayMetricsAndroid { + protected NSDictionary* unsafeRawValue() const; + protected static JS::NativeDeviceInfo::DisplayMetricsAndroid fromUnsafeRawValue(NSDictionary* const v); +} + +struct JS::NativeDeviceInfo::DisplayMetricsAndroid::Builder { + protected Builder(JS::NativeDeviceInfo::DisplayMetricsAndroid i); + protected Builder(const JS::NativeDeviceInfo::DisplayMetricsAndroid::Builder::Input i); + protected NSDictionary* buildUnsafeRawValue() const; + protected using ResultT = JS::NativeDeviceInfo::DisplayMetricsAndroid; +} + +struct JS::NativeDeviceInfo::DisplayMetricsAndroid::Builder::Input { + protected RCTRequired densityDpi; + protected RCTRequired fontScale; + protected RCTRequired height; + protected RCTRequired scale; + protected RCTRequired width; +} + + +struct JS::NativeExceptionsManager::ExceptionData { + protected ExceptionData(NSDictionary* const v); + protected NSString* componentStack() const; + protected NSString* message() const; + protected NSString* name() const; + protected NSString* originalMessage() const; + protected bool isFatal() const; + protected double id_() const; + protected facebook::react::LazyVector stack() const; + protected id _Nullable extraData() const; +} + +struct JS::NativeExceptionsManager::StackFrame { + protected NSString* file() const; + protected NSString* methodName() const; + protected StackFrame(NSDictionary* const v); + protected std::optional collapse() const; + protected std::optional column() const; + protected std::optional lineNumber() const; +} + + +struct JS::NativeFrameRateLogger::SpecSetGlobalOptionsOptions { + protected SpecSetGlobalOptionsOptions(NSDictionary* const v); + protected std::optional debug() const; +} + + +struct JS::NativeI18nManager::Constants { + protected NSDictionary* unsafeRawValue() const; + protected static JS::NativeI18nManager::Constants fromUnsafeRawValue(NSDictionary* const v); +} + +struct JS::NativeI18nManager::Constants::Builder { + protected Builder(JS::NativeI18nManager::Constants i); + protected Builder(const JS::NativeI18nManager::Constants::Builder::Input i); + protected NSDictionary* buildUnsafeRawValue() const; + protected using ResultT = JS::NativeI18nManager::Constants; +} + +struct JS::NativeI18nManager::Constants::Builder::Input { + protected NSString* localeIdentifier; + protected RCTRequired doLeftAndRightSwapInRTL; + protected RCTRequired isRTL; +} + + +struct JS::NativeImageEditor::Options { + protected JS::NativeImageEditor::OptionsOffset offset() const; + protected JS::NativeImageEditor::OptionsSize size() const; + protected NSString* resizeMode() const; + protected Options(NSDictionary* const v); + protected std::optional displaySize() const; + protected std::optional allowExternalStorage() const; +} + +struct JS::NativeImageEditor::OptionsDisplaySize { + protected OptionsDisplaySize(NSDictionary* const v); + protected double height() const; + protected double width() const; +} + +struct JS::NativeImageEditor::OptionsOffset { + protected OptionsOffset(NSDictionary* const v); + protected double x() const; + protected double y() const; +} + +struct JS::NativeImageEditor::OptionsSize { + protected OptionsSize(NSDictionary* const v); + protected double height() const; + protected double width() const; +} + + +struct JS::NativeNetworkingIOS::SpecSendRequestQuery { + protected NSString* method() const; + protected NSString* responseType() const; + protected NSString* unstable_devToolsRequestId() const; + protected NSString* url() const; + protected SpecSendRequestQuery(NSDictionary* const v); + protected bool incrementalUpdates() const; + protected bool withCredentials() const; + protected double timeout() const; + protected id data() const; + protected id headers() const; +} + + +struct JS::NativePlatformConstantsIOS::Constants { + protected NSDictionary* unsafeRawValue() const; + protected static JS::NativePlatformConstantsIOS::Constants fromUnsafeRawValue(NSDictionary* const v); +} + +struct JS::NativePlatformConstantsIOS::Constants::Builder { + protected Builder(JS::NativePlatformConstantsIOS::Constants i); + protected Builder(const JS::NativePlatformConstantsIOS::Constants::Builder::Input i); + protected NSDictionary* buildUnsafeRawValue() const; + protected using ResultT = JS::NativePlatformConstantsIOS::Constants; +} + +struct JS::NativePlatformConstantsIOS::Constants::Builder::Input { + protected RCTRequired reactNativeVersion; + protected RCTRequired interfaceIdiom; + protected RCTRequired osVersion; + protected RCTRequired systemName; + protected RCTRequired forceTouchAvailable; + protected RCTRequired isTesting; + protected std::optional isDisableAnimations; + protected std::optional isMacCatalyst; +} + +struct JS::NativePlatformConstantsIOS::ConstantsReactNativeVersion { + protected NSDictionary* unsafeRawValue() const; + protected static JS::NativePlatformConstantsIOS::ConstantsReactNativeVersion fromUnsafeRawValue(NSDictionary* const v); +} + +struct JS::NativePlatformConstantsIOS::ConstantsReactNativeVersion::Builder { + protected Builder(JS::NativePlatformConstantsIOS::ConstantsReactNativeVersion i); + protected Builder(const JS::NativePlatformConstantsIOS::ConstantsReactNativeVersion::Builder::Input i); + protected NSDictionary* buildUnsafeRawValue() const; + protected using ResultT = JS::NativePlatformConstantsIOS::ConstantsReactNativeVersion; +} + +struct JS::NativePlatformConstantsIOS::ConstantsReactNativeVersion::Builder::Input { + protected RCTRequired prerelease; + protected RCTRequired major; + protected RCTRequired minor; + protected RCTRequired patch; +} + + +struct JS::NativePushNotificationManagerIOS::Notification { + protected NSString* alertBody() const; + protected NSString* alertTitle() const; + protected NSString* category() const; + protected NSString* soundName() const; + protected Notification(NSDictionary* const v); + protected id _Nullable userInfo() const; + protected std::optional isSilent() const; + protected std::optional applicationIconBadgeNumber() const; + protected std::optional fireDate() const; + protected std::optional fireIntervalSeconds() const; +} + +struct JS::NativePushNotificationManagerIOS::SpecRequestPermissionsPermission { + protected SpecRequestPermissionsPermission(NSDictionary* const v); + protected bool alert() const; + protected bool badge() const; + protected bool sound() const; +} + + +struct JS::NativeReactDevToolsRuntimeSettingsModule::PartialReloadAndProfileConfig { + protected PartialReloadAndProfileConfig(NSDictionary* const v); + protected std::optional recordChangeDescriptions() const; + protected std::optional shouldReloadAndProfile() const; +} + + +struct JS::NativeSettingsManager::Constants { + protected NSDictionary* unsafeRawValue() const; + protected static JS::NativeSettingsManager::Constants fromUnsafeRawValue(NSDictionary* const v); +} + +struct JS::NativeSettingsManager::Constants::Builder { + protected Builder(JS::NativeSettingsManager::Constants i); + protected Builder(const JS::NativeSettingsManager::Constants::Builder::Input i); + protected NSDictionary* buildUnsafeRawValue() const; + protected using ResultT = JS::NativeSettingsManager::Constants; +} + +struct JS::NativeSettingsManager::Constants::Builder::Input { + protected RCTRequired> settings; +} + + +struct JS::NativeShareModule::SpecShareContent { + protected NSString* message() const; + protected NSString* title() const; + protected SpecShareContent(NSDictionary* const v); +} + + +struct JS::NativeSourceCode::Constants { + protected NSDictionary* unsafeRawValue() const; + protected static JS::NativeSourceCode::Constants fromUnsafeRawValue(NSDictionary* const v); +} + +struct JS::NativeSourceCode::Constants::Builder { + protected Builder(JS::NativeSourceCode::Constants i); + protected Builder(const JS::NativeSourceCode::Constants::Builder::Input i); + protected NSDictionary* buildUnsafeRawValue() const; + protected using ResultT = JS::NativeSourceCode::Constants; +} + +struct JS::NativeSourceCode::Constants::Builder::Input { + protected RCTRequired scriptURL; +} + + +struct JS::NativeStatusBarManagerIOS::Constants { + protected NSDictionary* unsafeRawValue() const; + protected static JS::NativeStatusBarManagerIOS::Constants fromUnsafeRawValue(NSDictionary* const v); +} + +struct JS::NativeStatusBarManagerIOS::Constants::Builder { + protected Builder(JS::NativeStatusBarManagerIOS::Constants i); + protected Builder(const JS::NativeStatusBarManagerIOS::Constants::Builder::Input i); + protected NSDictionary* buildUnsafeRawValue() const; + protected using ResultT = JS::NativeStatusBarManagerIOS::Constants; +} + +struct JS::NativeStatusBarManagerIOS::Constants::Builder::Input { + protected RCTRequired HEIGHT; + protected std::optional DEFAULT_BACKGROUND_COLOR; +} + + +struct JS::NativeWebSocketModule::SpecConnectOptions { + protected SpecConnectOptions(NSDictionary* const v); + protected id _Nullable headers() const; +} + + +struct std::hash { + public size_t operator()(const RCTComponentViewDescriptor& componentViewDescriptor) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::AttributedString& attributedString) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::AttributedStringBox& attributedStringBox) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::Color& color) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::EventAnimationDriverKey& key) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::LayoutConstraints& constraints) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::LayoutMetrics& layoutMetrics) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::LineMeasureCacheKey& key) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::ParagraphAttributes& attributes) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::Point& point) const noexcept; +} + +struct std::hash { + public size_t operator()(const facebook::react::PreparedTextCacheKey& key) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::Rect& rect) const noexcept; +} + +struct std::hash { + public size_t operator()(const facebook::react::ShadowView& shadowView) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::SharedColor& color) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::Size& size) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::TextAttributes& textAttributes) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::TextMeasureCacheKey& key) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::Transform& transform) const; +} + +template +struct std::hash> { + public size_t operator()(const facebook::react::RectangleCorners& corners) const noexcept; +} + +template +struct std::hash> { + public size_t operator()(const facebook::react::RectangleEdges& edges) const noexcept; +} + +struct std::hash { + public size_t operator()(const facebook::react::AttributedString::Fragment& fragment) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::jsinspector_modern::ConsoleTaskId& id) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::jsinspector_modern::ExecutionContextSelector& selector) const; +} + +template +struct std::hash> { + public size_t operator()(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; +} + + +template +FB::LazyIterator FB::operator+(typename FB::LazyIterator::difference_type n, const FB::LazyIterator& i); +template +bool FB::operator<=(const FB::LazyIterator& a, const FB::LazyIterator& b); +template +bool FB::operator>(const FB::LazyIterator& a, const FB::LazyIterator& b); +template +bool FB::operator>=(const FB::LazyIterator& a, const FB::LazyIterator& b); + +template +class FB::LazyIterator { + public FB::LazyIterator operator+(FB::LazyIterator::difference_type n) const; + public FB::LazyIterator operator++(int); + public FB::LazyIterator operator-(FB::LazyIterator::difference_type n) const; + public FB::LazyIterator operator--(int); + public FB::LazyIterator& operator++(); + public FB::LazyIterator& operator+=(FB::LazyIterator::difference_type n); + public FB::LazyIterator& operator--(); + public FB::LazyIterator& operator-=(FB::LazyIterator::difference_type n); + public FB::LazyIterator::difference_type operator-(const FB::LazyIterator& a) const; + public FB::LazyIterator::value_type operator*() const; + public FB::LazyIterator::value_type operator[](FB::LazyIterator::difference_type n) const; + public LazyIterator() = default; + public LazyIterator(U vector, FB::LazyIterator::convert_type convert, FB::LazyIterator::size_type i); + public bool operator<(const FB::LazyIterator& b) const; + public bool operator==(const FB::LazyIterator& other) const; + public std::unique_ptr operator->() const; + public using convert_type = std::function; + public using difference_type = std::int32_t; + public using iterator_category = std::random_access_iterator_tag; + public using pointer = std::unique_ptr; + public using reference = T; + public using size_type = std::int32_t; + public using value_type = T; +} + +template +class FB::LazyVector { + public FB::LazyVector::const_iterator begin() const; + public FB::LazyVector::const_iterator cbegin() const; + public FB::LazyVector::const_iterator cend() const; + public FB::LazyVector::const_iterator end() const; + public FB::LazyVector::const_reference at(FB::LazyVector::size_type pos) const; + public FB::LazyVector::const_reference back() const; + public FB::LazyVector::const_reference front() const; + public FB::LazyVector::const_reference operator[](FB::LazyVector::size_type pos) const; + public FB::LazyVector::size_type size() const; + public U unsafeRawValue() const; + public bool empty() const; + public static FB::LazyVector fromUnsafeRawValue(U v, FB::LazyVector::size_type size, FB::LazyVector::convert_type convert); + public using const_iterator = FB::LazyIterator; + public using const_reference = T; + public using convert_type = std::function; + public using iterator = FB::LazyVector::const_iterator; + public using reference = T; + public using size_type = std::int32_t; + public using value_type = T; +} \ No newline at end of file diff --git a/scripts/cxx-api/api-snapshots/ReactAppleReleaseCxx.api b/scripts/cxx-api/api-snapshots/ReactAppleReleaseCxx.api new file mode 100644 index 00000000000..936a4905a13 --- /dev/null +++ b/scripts/cxx-api/api-snapshots/ReactAppleReleaseCxx.api @@ -0,0 +1,17159 @@ +// @generated by scripts/cxx-api + +category NSTextStorage(FontScaling) { + public virtual void scaleFontSizeToFitSize:minimumFontSize:maximumFontSize:(CGSize size, CGFloat minimumFontSize, CGFloat maximumFontSize); + public virtual void scaleFontSizeWithRatio:minimumFontSize:maximumFontSize:(CGFloat ratio, CGFloat minimumFontSize, CGFloat maximumFontSize); +} + +category RCTBridge(Inspector) { + public @property (assign, readonly) BOOL inspectable; + public @property (assign, readonly) facebook::react::jsinspector_modern::HostTarget* inspectorTarget; +} + +category RCTBridge(RCTAccessibilityManager) { + public @property (assign, readonly) RCTAccessibilityManager* accessibilityManager; +} + +category RCTBridge(RCTDevMenu) { + public @property (assign, readonly) RCTDevMenu* devMenu; +} + +category RCTBridge(RCTDevSettings) { + public @property (assign, readonly) RCTDevSettings* devSettings; +} + +category RCTBridge(RCTEventDispatcher) { + public virtual id eventDispatcher(); +} + +category RCTBridge(RCTImageLoader) { + public @property (assign, readonly) RCTImageLoader* imageLoader; +} + +category RCTBridge(RCTImageStoreManager) { + public @property (assign, readonly) RCTImageStoreManager* imageStoreManager; +} + +category RCTBridge(RCTNetworking) { + public @property (assign, readonly) RCTNetworking* networking; +} + +category RCTBridge(RCTSurfacePresenterStub) { + public virtual id surfacePresenter(); + public virtual void setSurfacePresenter:(id presenter); +} + +category RCTBridge(RCTTurboModule) { + public virtual std::shared_ptr jsCallInvoker(); + public virtual std::shared_ptr decorateNativeMethodCallInvoker:(std::shared_ptr nativeMethodCallInvoker); +} + +category RCTBridge(RCTUIManager) { + public @property (assign, readonly) RCTUIManager* uiManager; +} + +category RCTBridge(RCTWebSocketModule) { + public virtual RCTWebSocketModule* webSocketModule(); +} + +category RCTBridgeProxy(Cxx) { + public @property (assign) std::shared_ptr jsCallInvoker; +} + +category RCTBridgeProxy(RCTAccessibilityManager) { + public @property (assign, readonly) RCTAccessibilityManager* accessibilityManager; +} + +category RCTBridgeProxy(RCTDevMenu) { + public @property (assign, readonly) RCTDevMenu* devMenu; +} + +category RCTBridgeProxy(RCTDevSettings) { + public @property (assign, readonly) RCTDevSettings* devSettings; +} + +category RCTBridgeProxy(RCTEventDispatcher) { + public virtual id eventDispatcher(); +} + +category RCTBridgeProxy(RCTImageLoader) { + public @property (assign, readonly) RCTImageLoader* imageLoader; +} + +category RCTBridgeProxy(RCTImageStoreManager) { + public @property (assign, readonly) RCTImageStoreManager* imageStoreManager; +} + +category RCTBridgeProxy(RCTNetworking) { + public @property (assign, readonly) RCTNetworking* networking; +} + +category RCTBridgeProxy(RCTSurfacePresenterStub) { + public virtual id surfacePresenter(); + public virtual void setSurfacePresenter:(id presenter); +} + +category RCTBridgeProxy(RCTUIManager) { + public @property (assign, readonly) RCTUIManager* uiManager; +} + +category RCTBridgeProxy(RCTWebSocketModule) { + public virtual RCTWebSocketModule* webSocketModule(); +} + +category RCTConvert(CoreLocation) { + public virtual static CLLocationCoordinate2D CLLocationCoordinate2D:(id json); + public virtual static CLLocationDegrees CLLocationDegrees:(id json); + public virtual static CLLocationDistance CLLocationDistance:(id json); +} + +category RCTConvert(Deprecated) { + protected typedef NSArray NSArrayArray; + protected typedef NSArray NSDictionaryArray; + protected typedef NSArray NSNumberArray; + protected typedef NSArray NSStringArray; + protected typedef NSArray NSStringArrayArray; + protected typedef NSArray NSURLArray; + protected typedef NSArray RCTFileURLArray; + protected typedef NSArray UIColorArray; + public virtual static CGImageRef CGImage:(id json); + public virtual static UIImage* UIImage:(id json); +} + +category RCTConvert(DynamicTypeRamp) { + public virtual static RCTDynamicTypeRamp RCTDynamicTypeRamp:(_Nullable id json); +} + +category RCTConvert(ImageSource) { + public virtual static NSArray* RCTImageSourceArray:(id json); + public virtual static RCTImageSource* RCTImageSource:(id json); +} + +category RCTConvert(RCTFont) { + public virtual static UIFont* UIFont:(id json); +} + +category RCTConvert(RCTResizeMode) { + public virtual static RCTResizeMode RCTResizeMode:(id json); +} + +category RCTConvert(RCTTextSelection) { + public virtual static RCTTextSelection* RCTTextSelection:(id json); +} + +category RCTConvert(Text) { + public virtual static RCTTextTransform RCTTextTransform:(_Nullable id json); + public virtual static UITextAutocorrectionType UITextAutocorrectionType:(_Nullable id json); + public virtual static UITextSmartInsertDeleteType UITextSmartInsertDeleteType:(_Nullable id json); + public virtual static UITextSpellCheckingType UITextSpellCheckingType:(_Nullable id json); +} + +category RCTConvert(Transform) { + public virtual static CATransform3D CATransform3D:(id json); + public virtual static RCTTransformOrigin RCTTransformOrigin:(id json); +} + +category RCTConvert(UIActivityIndicatorView) { + public virtual static UIActivityIndicatorViewStyle UIActivityIndicatorViewStyle:(id json); +} + +category RCTConvert(UIScrollView) { + public virtual static UIScrollViewKeyboardDismissMode UIScrollViewKeyboardDismissMode:(id json); +} + +category RCTConvert(UIStatusBar) { + public virtual static UIStatusBarAnimation UIStatusBarAnimation:(id json); + public virtual static UIStatusBarStyle UIStatusBarStyle:(id json); +} + +category RCTCxxConvert(NativeAccessibilityManager_SpecAnnounceForAccessibilityWithOptionsOptions) { + public virtual static RCTManagedPointer* JS_NativeAccessibilityManager_SpecAnnounceForAccessibilityWithOptionsOptions:(id json); +} + +category RCTCxxConvert(NativeAccessibilityManager_SpecSetAccessibilityContentSizeMultipliersJSMultipliers) { + public virtual static RCTManagedPointer* JS_NativeAccessibilityManager_SpecSetAccessibilityContentSizeMultipliersJSMultipliers:(id json); +} + +category RCTCxxConvert(NativeActionSheetManager_SpecShowActionSheetWithOptionsOptions) { + public virtual static RCTManagedPointer* JS_NativeActionSheetManager_SpecShowActionSheetWithOptionsOptions:(id json); +} + +category RCTCxxConvert(NativeActionSheetManager_SpecShowShareActionSheetWithOptionsOptions) { + public virtual static RCTManagedPointer* JS_NativeActionSheetManager_SpecShowShareActionSheetWithOptionsOptions:(id json); +} + +category RCTCxxConvert(NativeAlertManager_Args) { + public virtual static RCTManagedPointer* JS_NativeAlertManager_Args:(id json); +} + +category RCTCxxConvert(NativeAnimatedModule_EventMapping) { + public virtual static RCTManagedPointer* JS_NativeAnimatedModule_EventMapping:(id json); +} + +category RCTCxxConvert(NativeAnimatedTurboModule_EventMapping) { + public virtual static RCTManagedPointer* JS_NativeAnimatedTurboModule_EventMapping:(id json); +} + +category RCTCxxConvert(NativeExceptionsManager_ExceptionData) { + public virtual static RCTManagedPointer* JS_NativeExceptionsManager_ExceptionData:(id json); +} + +category RCTCxxConvert(NativeExceptionsManager_StackFrame) { + public virtual static RCTManagedPointer* JS_NativeExceptionsManager_StackFrame:(id json); +} + +category RCTCxxConvert(NativeFrameRateLogger_SpecSetGlobalOptionsOptions) { + public virtual static RCTManagedPointer* JS_NativeFrameRateLogger_SpecSetGlobalOptionsOptions:(id json); +} + +category RCTCxxConvert(NativeImageEditor_Options) { + public virtual static RCTManagedPointer* JS_NativeImageEditor_Options:(id json); +} + +category RCTCxxConvert(NativeImageEditor_OptionsDisplaySize) { + public virtual static RCTManagedPointer* JS_NativeImageEditor_OptionsDisplaySize:(id json); +} + +category RCTCxxConvert(NativeImageEditor_OptionsOffset) { + public virtual static RCTManagedPointer* JS_NativeImageEditor_OptionsOffset:(id json); +} + +category RCTCxxConvert(NativeImageEditor_OptionsSize) { + public virtual static RCTManagedPointer* JS_NativeImageEditor_OptionsSize:(id json); +} + +category RCTCxxConvert(NativeNetworkingIOS_SpecSendRequestQuery) { + public virtual static RCTManagedPointer* JS_NativeNetworkingIOS_SpecSendRequestQuery:(id json); +} + +category RCTCxxConvert(NativePushNotificationManagerIOS_Notification) { + public virtual static RCTManagedPointer* JS_NativePushNotificationManagerIOS_Notification:(id json); +} + +category RCTCxxConvert(NativePushNotificationManagerIOS_SpecRequestPermissionsPermission) { + public virtual static RCTManagedPointer* JS_NativePushNotificationManagerIOS_SpecRequestPermissionsPermission:(id json); +} + +category RCTCxxConvert(NativeReactDevToolsRuntimeSettingsModule_PartialReloadAndProfileConfig) { + public virtual static RCTManagedPointer* JS_NativeReactDevToolsRuntimeSettingsModule_PartialReloadAndProfileConfig:(id json); +} + +category RCTCxxConvert(NativeShareModule_SpecShareContent) { + public virtual static RCTManagedPointer* JS_NativeShareModule_SpecShareContent:(id json); +} + +category RCTCxxConvert(NativeWebSocketModule_SpecConnectOptions) { + public virtual static RCTManagedPointer* JS_NativeWebSocketModule_SpecConnectOptions:(id json); +} + +category RCTFabricSurface(Deprecated) { + public virtual instancetype initWithBridge:moduleName:initialProperties:(RCTBridge* bridge, NSString* moduleName, NSDictionary* initialProperties); +} + +category RCTFabricSurface(Internal) { + public virtual const facebook::react::SurfaceHandler& surfaceHandler(); +} + +category RCTImageStoreManager(Deprecated) { + public virtual NSString* storeImage:(UIImage* image); + public virtual UIImage* imageForTag:(NSString* imageTag); + public virtual void getImageForTag:withBlock:(NSString* imageTag, void(^)(UIImage* image) block); +} + +category RCTRootView(Deprecated) { + public @property (assign, readonly) CGSize intrinsicSize; + public virtual void cancelTouches(); +} + +category RCTScrollView(Internal) { + public virtual void updateContentSizeIfNeeded(); +} + +category RCTScrollViewComponentView(ScrollableProtocol) { +} + +category RCTShadowView(Layout) { + public @property (assign, readonly) CGRect contentFrame; + public @property (assign, readonly) CGSize availableSize; + public @property (assign, readonly) UIEdgeInsets borderAsInsets; + public @property (assign, readonly) UIEdgeInsets compoundInsets; + public @property (assign, readonly) UIEdgeInsets paddingAsInsets; + public virtual void clearLayout(); + public virtual void dirtyLayout(); +} + +category RCTSurfacePresenter(Surface) { + public @property (assign, readonly) RCTMountingManager* mountingManager; + public @property (assign, readonly) RCTScheduler* scheduler; + public virtual _Nullable RCTFabricSurface* surfaceForRootTag:(ReactTag rootTag); + public virtual _Nullable UIView* findComponentViewWithTag_DO_NOT_USE_DEPRECATED:(NSInteger tag); + public virtual id createFabricSurfaceForModuleName:initialProperties:(NSString* moduleName, NSDictionary* initialProperties); + public virtual void addObserver:(id observer); + public virtual void registerSurface:(RCTFabricSurface* surface); + public virtual void removeObserver:(id observer); + public virtual void schedulerDidSynchronouslyUpdateViewOnUIThread:props:(ReactTag tag, folly::dynamic props); + public virtual void setupAnimationDriverWithSurfaceHandler:(const facebook::react::SurfaceHandler& surfaceHandler); + public virtual void synchronouslyUpdateViewOnUIThread:props:(NSNumber* reactTag, NSDictionary* props); + public virtual void unregisterSurface:(RCTFabricSurface* surface); +} + +category UIImage(React) { + public @property (assign) NSInteger reactDecodedImageBytes; +} + +category UIView(ComponentViewProtocol) { + public virtual _Nullable NSSet* propKeysManagedByAnimated_DO_NOT_USE_THIS_IS_BROKEN(); + public virtual facebook::react::Props::Shared props(); + public virtual static std::vector supplementalComponentDescriptorProviders(); + public virtual void finalizeUpdates:(RNComponentViewUpdateMask updateMask); + public virtual void invalidate(); + public virtual void mountChildComponentView:index:(UIView* childComponentView, NSInteger index); + public virtual void prepareForRecycle(); + public virtual void setIsJSResponder:(BOOL isJSResponder); + public virtual void setPropKeysManagedByAnimated_DO_NOT_USE_THIS_IS_BROKEN:(_Nullable NSSet* props); + public virtual void unmountChildComponentView:index:(UIView* childComponentView, NSInteger index); + public virtual void updateClippedSubviewsWithClipRect:relativeToView:(CGRect clipRect, UIView* clipView); + public virtual void updateEventEmitter:(const facebook::react::EventEmitter::Shared& eventEmitter); + public virtual void updateLayoutMetrics:oldLayoutMetrics:(const facebook::react::LayoutMetrics& layoutMetrics, const facebook::react::LayoutMetrics& oldLayoutMetrics); + public virtual void updateProps:oldProps:(const facebook::react::Props::Shared& props, const facebook::react::Props::Shared& oldProps); + public virtual void updateState:oldState:(const facebook::react::State::Shared& state, const facebook::react::State::Shared& oldState); +} + +category UIView(RCTScrollView) { + public virtual void reactUpdateResponderOffsetForScrollView:(RCTScrollView* scrollView); +} + +category UIView(RCTScrollViewComponentView) { + public virtual void reactUpdateResponderOffsetForScrollView:(RCTScrollViewComponentView* scrollView); +} + +category UIView(React) { + public @property (assign) BOOL shouldAccessibilityIgnoresInvertColors; + public @property (assign) CATransform3D reactTransform; + public @property (assign) NSInteger reactZIndex; + public @property (assign) RCTTransformOrigin reactTransformOrigin; + public @property (assign) UIAccessibilityTraits accessibilityRoleTraits; + public @property (assign) UIAccessibilityTraits roleTraits; + public @property (assign) UIUserInterfaceLayoutDirection reactLayoutDirection; + public @property (assign) YGDisplay reactDisplay; + public @property (assign, readonly) CGRect reactContentFrame; + public @property (assign, readonly) UIEdgeInsets reactBorderInsets; + public @property (assign, readonly) UIEdgeInsets reactCompoundInsets; + public @property (assign, readonly) UIEdgeInsets reactPaddingInsets; + public @property (assign, readonly) UIView* reactAccessibilityElement; + public @property (copy) NSArray* accessibilityActions; + public @property (copy) NSDictionary* accessibilityValueInternal; + public @property (copy) NSDictionary* accessibilityState; + public @property (copy) NSString* accessibilityLanguage; + public @property (copy) NSString* accessibilityRole; + public @property (copy) NSString* nativeID; + public @property (copy) NSString* role; + public virtual NSArray* reactSubviews(); + public virtual NSArray* reactZIndexSortedSubviews(); + public virtual NSString* react_recursiveDescription(); + public virtual UIView* reactSuperview(); + public virtual UIViewController* reactViewController(); + public virtual void didSetProps:(NSArray* changedProps); + public virtual void didUpdateReactSubviews(); + public virtual void insertReactSubview:atIndex:(UIView* subview, NSInteger atIndex); + public virtual void reactAddControllerToClosestParent:(UIViewController* controller); + public virtual void reactBlur(); + public virtual void reactFocus(); + public virtual void reactFocusIfNeeded(); + public virtual void reactSetFrame:(CGRect frame); + public virtual void removeReactSubview:(UIView* subview); +} + +class ObjCTimerRegistry : public facebook::react::PlatformTimerRegistry { + public ObjCTimerRegistry(); + public RCTTiming* _Null_unspecified timing; + public virtual void createRecurringTimer(uint32_t timerID, double delayMS) override; + public virtual void createTimer(uint32_t timerID, double delayMS) override; + public virtual void deleteTimer(uint32_t timerID) override; + public void setTimerManager(std::weak_ptr timerManager); +} + +class RCTComponentViewClassDescriptor { + public Class viewClass; + public bool observesMountingTransactionDidMount; + public bool observesMountingTransactionWillMount; + public bool shouldBeRecycled; +} + +class RCTComponentViewDescriptor { + public __strong UIView* const view; + public const bool observesMountingTransactionDidMount; + public const bool observesMountingTransactionWillMount; + public const bool shouldBeRecycled; +} + +class RCTMountingTransactionObserverCoordinator { + public void notifyObserversMountingTransactionDidMount(const facebook::react::MountingTransaction& transaction, const facebook::react::SurfaceTelemetry& surfaceTelemetry) const; + public void notifyObserversMountingTransactionWillMount(const facebook::react::MountingTransaction& transaction, const facebook::react::SurfaceTelemetry& surfaceTelemetry) const; + public void registerViewComponentDescriptor(const RCTComponentViewDescriptor& componentViewDescriptor, facebook::react::SurfaceId surfaceId); + public void unregisterViewComponentDescriptor(const RCTComponentViewDescriptor& componentViewDescriptor, facebook::react::SurfaceId surfaceId); +} + +interface CommonHostMetadata : public NSObject { + public @property (strong) NSString* appDisplayName; + public @property (strong) NSString* appIdentifier; + public @property (strong) NSString* deviceName; + public @property (strong) NSString* platform; + public @property (strong) NSString* reactNativeVersion; +} + +interface EventEmitterCallbackWrapper : public NSObject { + public facebook::react::EventEmitterCallback _eventEmitterCallback; +} + +interface NativeAccessibilityInfoSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeAccessibilityManagerSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeActionSheetManagerSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeAlertManagerSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeAnimatedModuleSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeAnimatedTurboModuleSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeAppStateSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeAppearanceSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeBlobModuleSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeClipboardSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeDevLoadingViewSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeDevMenuSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeDevSettingsSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeDeviceEventManagerSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeDeviceInfoSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeExceptionsManagerSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeFileReaderModuleSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeFrameRateLoggerSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeHeadlessJsTaskSupportSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeI18nManagerSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeImageEditorSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeImageLoaderIOSSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeImageStoreIOSSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeJSCHeapCaptureSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeKeyboardObserverSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeLinkingManagerSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeLogBoxSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeModalManagerSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeNetworkingIOSSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativePlatformConstantsIOSSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativePushNotificationManagerIOSSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeReactDevToolsRuntimeSettingsModuleSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeReactDevToolsSettingsManagerSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeRedBoxSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeSegmentFetcherSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeSettingsManagerSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeShareModuleSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeSoundManagerSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeSourceCodeSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeStatusBarManagerIOSSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeTimingSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeVibrationSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeWebSocketModuleSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface RCTAccessibilityElement : public UIAccessibilityElement { + public @property (assign) CGRect frameInContainerSpace; +} + +interface RCTAccessibilityManager : public NSObject { + public @property (assign) BOOL isBoldTextEnabled; + public @property (assign) BOOL isDarkerSystemColorsEnabled; + public @property (assign) BOOL isGrayscaleEnabled; + public @property (assign) BOOL isInvertColorsEnabled; + public @property (assign) BOOL isReduceMotionEnabled; + public @property (assign) BOOL isReduceTransparencyEnabled; + public @property (assign) BOOL isVoiceOverEnabled; + public @property (assign) BOOL prefersCrossFadeTransitions; + public @property (assign, readonly) CGFloat multiplier; + public @property (copy) NSDictionary* multipliers; +} + +interface RCTActionSheetManager : public NSObject { +} + +interface RCTActivityIndicatorView : public UIActivityIndicatorView { +} + +interface RCTActivityIndicatorViewComponentView : public RCTViewComponentView { +} + +interface RCTActivityIndicatorViewManager : public RCTViewManager { +} + +interface RCTAdditionAnimatedNode : public RCTValueAnimatedNode { +} + +interface RCTAlertController : public UIAlertController { + public virtual void hide(); + public virtual void show:completion:(BOOL animated, void(^)(void) completion); +} + +interface RCTAlertManager : public NSObject { +} + +interface RCTAnimatedImage : public UIImage { +} + +interface RCTAnimatedModuleProvider : public NSObject { + public virtual std::shared_ptr getTurboModule:jsInvoker:(const std::string& name, std::shared_ptr jsInvoker); + public virtual void invalidate(); +} + +interface RCTAnimatedNode : public NSObject { + public @property (assign, readonly) BOOL needsUpdate; + public @property (assign, readonly) NSNumber* nodeTag; + public @property (copy, readonly) NSDictionary* config; + public @property (copy, readonly) NSMapTable* childNodes; + public @property (copy, readonly) NSMapTable* parentNodes; + public @property (weak) RCTNativeAnimatedNodesManager* manager; + public virtual BOOL isManagedByFabric(); + public virtual instancetype initWithTag:config:(NSNumber* tag, NSDictionary* config); + public virtual void addChild:(RCTAnimatedNode* child); + public virtual void detachNode(); + public virtual void onAttachedToNode:(RCTAnimatedNode* parent); + public virtual void onDetachedFromNode:(RCTAnimatedNode* parent); + public virtual void performUpdate(); + public virtual void removeChild:(RCTAnimatedNode* child); + public virtual void setNeedsUpdate(); + public virtual void updateNodeIfNecessary(); +} + +interface RCTAppDelegate : public RCTDefaultReactNativeFactoryDelegate { + public @property (assign) BOOL automaticallyLoadReactNativeWindow; + public @property (assign) RCTBridge* bridge; + public @property (assign) RCTSurfacePresenterBridgeAdapter* bridgeAdapter; + public @property (strong) NSDictionary* initialProps; + public @property (strong) NSString* moduleName; + public @property (strong) RCTReactNativeFactory* reactNativeFactory; + public @property (strong) UIWindow* window; + public virtual RCTRootViewFactory* rootViewFactory(); +} + +interface RCTAppDependencyProvider : public NSObject { +} + +interface RCTAppState : public RCTEventEmitter { +} + +interface RCTAppearance : public RCTEventEmitter { + public virtual instancetype init(); +} + +interface RCTBackedTextFieldDelegateAdapter : public NSObject { + public virtual instancetype initWithTextField:(UITextField* backedTextInputView); + public virtual void selectedTextRangeWasSet(); + public virtual void skipNextTextInputDidChangeSelectionEventWithTextRange:(UITextRange* textRange); +} + +interface RCTBackedTextViewDelegateAdapter : public NSObject { + public virtual instancetype initWithTextView:(UITextView* backedTextInputView); + public virtual void skipNextTextInputDidChangeSelectionEventWithTextRange:(UITextRange* textRange); +} + +interface RCTBackgroundImageUtils : public NSObject { + public virtual static CALayer* createBackgroundImageLayerWithSize:paintingArea:itemSize:backgroundPosition:backgroundRepeat:itemLayer:(const CGRect& positioningArea, const CGRect& paintingArea, const CGSize& itemSize, const facebook::react::BackgroundPosition& backgroundPosition, const facebook::react::BackgroundRepeat& backgroundRepeat, CALayer* itemLayer); + public virtual static CGSize calculateBackgroundImageSize:itemIntrinsicSize:backgroundSize:backgroundRepeat:(const CGRect& positioningArea, CGSize itemIntrinsicSize, const facebook::react::BackgroundSize& backgroundSize, const facebook::react::BackgroundRepeat& backgroundRepeat); +} + +interface RCTBaseTextInputShadowView : public RCTBaseTextShadowView { + public @property (assign) NSInteger maximumNumberOfLines; + public @property (copy) NSString* placeholder; + public @property (copy) NSString* text; + public @property (copy) RCTDirectEventBlock onContentSizeChange; + public virtual instancetype initWithBridge:(RCTBridge* bridge); + public virtual void uiManagerWillPerformMounting(); +} + +interface RCTBaseTextInputView : public RCTView { + public @property (assign) BOOL autoFocus; + public @property (assign) BOOL clearTextOnFocus; + public @property (assign) BOOL secureTextEntry; + public @property (assign) BOOL selectTextOnFocus; + public @property (assign) BOOL showSoftInputOnFocus; + public @property (assign) NSInteger mostRecentEventCount; + public @property (assign) UIEdgeInsets reactBorderInsets; + public @property (assign) UIEdgeInsets reactPaddingInsets; + public @property (assign) UIKeyboardType keyboardType; + public @property (assign, readonly) NSInteger nativeEventCount; + public @property (assign, readonly) UIView* backedTextInputView; + public @property (copy) NSAttributedString* attributedText; + public @property (copy) NSString* inputAccessoryViewID; + public @property (copy) NSString* submitBehavior; + public @property (copy) RCTDirectEventBlock onChange; + public @property (copy) RCTDirectEventBlock onChangeSync; + public @property (copy) RCTDirectEventBlock onContentSizeChange; + public @property (copy) RCTDirectEventBlock onScroll; + public @property (copy) RCTDirectEventBlock onSelectionChange; + public @property (copy) RCTTextSelection* selection; + public @property (strong) NSNumber* maxLength; + public @property (strong) NSString* inputAccessoryViewButtonLabel; + public @property (strong) RCTTextAttributes* textAttributes; + public virtual instancetype initWithBridge:(RCTBridge* bridge); + public virtual void setSelectionStart:selectionEnd:(NSInteger start, NSInteger end); +} + +interface RCTBaseTextInputViewManager : public RCTBaseTextViewManager { +} + +interface RCTBaseTextShadowView : public RCTShadowView { + protected NSAttributedString* _Nullable cachedAttributedText; + protected RCTTextAttributes* _Nullable cachedTextAttributes; + public @property (strong) RCTTextAttributes* textAttributes; + public virtual NSAttributedString* attributedTextWithBaseTextAttributes:(_Nullable RCTTextAttributes* baseTextAttributes); +} + +interface RCTBaseTextViewManager : public RCTViewManager { +} + +interface RCTBlobManager : public NSObject { + public virtual NSData* resolve:(NSDictionary* blob); + public virtual NSData* resolve:offset:size:(NSString* blobId, NSInteger offset, NSInteger size); + public virtual NSData* resolveURL:(NSURL* url); + public virtual NSString* store:(NSData* data); + public virtual NSUInteger lengthOfBlobWithId:(NSString* blobId); + public virtual void createFromParts:withId:(NSArray*>* parts, NSString* blobId); + public virtual void remove:(NSString* blobId); + public virtual void store:withId:(NSData* data, NSString* blobId); +} + +interface RCTBridge : public NSObject { + public @property (assign, readonly) BOOL loading; + public @property (assign, readonly) BOOL valid; + public @property (copy, readonly) NSArray* moduleClasses; + public @property (copy, readonly) NSDictionary* launchOptions; + public @property (strong) Class executorClass; + public @property (strong, readonly) NSURL* bundleURL; + public @property (strong, readonly) RCTPerformanceLogger* performanceLogger; + public @property (weak, readonly) id delegate; + public virtual BOOL isBatchActive(); + public virtual BOOL moduleIsInitialized:(Class moduleClass); + public virtual NSArray* modulesConformingToProtocol:(Protocol* protocol); + public virtual RCTBridgeModuleDecorator* bridgeModuleDecorator(); + public virtual id moduleForClass:(Class moduleClass); + public virtual id moduleForName:(NSString* moduleName); + public virtual id moduleForName:lazilyLoadIfNecessary:(NSString* moduleName, BOOL lazilyLoad); + public virtual instancetype initWithBundleURL:moduleProvider:launchOptions:(NSURL* bundleURL, RCTBridgeModuleListProvider block, NSDictionary* launchOptions); + public virtual instancetype initWithDelegate:launchOptions:(id delegate, NSDictionary* launchOptions); + public virtual void enqueueJSCall:args:(NSString* moduleDotMethod, NSArray* args); + public virtual void enqueueJSCall:method:args:completion:(NSString* module, NSString* method, NSArray* args, dispatch_block_t completion); + public virtual void onFastRefresh(); + public virtual void registerSegmentWithId:path:(NSUInteger segmentId, NSString* path); + public virtual void reload(); + public virtual void reloadWithReason:(NSString* reason); + public virtual void requestReload(); + public virtual void setRCTTurboModuleRegistry:(id turboModuleRegistry); +} + +interface RCTBridgeModuleDecorator : public NSObject { + public @property (strong, readonly) RCTBundleManager* bundleManager; + public @property (strong, readonly) RCTCallableJSModules* callableJSModules; + public @property (strong, readonly) RCTModuleRegistry* moduleRegistry; + public @property (strong, readonly) RCTViewRegistry* viewRegistry_DEPRECATED; + public virtual instancetype initWithViewRegistry:moduleRegistry:bundleManager:callableJSModules:(RCTViewRegistry* viewRegistry, RCTModuleRegistry* moduleRegistry, RCTBundleManager* bundleManager, RCTCallableJSModules* callableJSModules); + public virtual void attachInteropAPIsToModule:(id bridgeModule); +} + +interface RCTBridgeProxy : public NSProxy { + public virtual NSMethodSignature* methodSignatureForSelector:(SEL sel); + public virtual id moduleForClass:(Class moduleClass); + public virtual id moduleForName:lazilyLoadIfNecessary:(NSString* moduleName, BOOL lazilyLoad); + public virtual instancetype initWithViewRegistry:moduleRegistry:bundleManager:callableJSModules:dispatchToJSThread:registerSegmentWithId:runtime:launchOptions:(RCTViewRegistry* viewRegistry, RCTModuleRegistry* moduleRegistry, RCTBundleManager* bundleManager, RCTCallableJSModules* callableJSModules, void(^)(dispatch_block_t) dispatchToJSThread, void(^)(NSNumber*, NSString*) registerSegmentWithId, void* runtime, _Nullable NSDictionary* launchOptions); + public virtual void forwardInvocation:(NSInvocation* invocation); + public virtual void logError:cmd:(NSString* message, SEL cmd); + public virtual void logWarning:cmd:(NSString* message, SEL cmd); +} + +interface RCTBundleAssetImageLoader : public NSObject { +} + +interface RCTBundleConfiguration : public NSObject { + public @property (assign, readonly) NSString* bundlePath; + public @property (assign, readonly) NSString* packagerServerHost; + public @property (assign, readonly) NSString* packagerServerScheme; + public @property (assign, readonly) NSURL* bundleFilePath; + public @property (copy) RCTPackagerOptionsUpdater packagerOptionsUpdater; + public virtual _Nonnull NSString* getPackagerServerHost(); + public virtual _Nonnull NSString* getPackagerServerScheme(); + public virtual _Nonnull instancetype initWithBundleFilePath:(_Nullable NSURL* bundleFilePath); + public virtual _Nonnull instancetype initWithPackagerServerScheme:packagerServerHost:bundlePath:(_Nullable NSString* packagerServerScheme, _Nullable NSString* packagerServerHost, _Nullable NSString* bundlePath); + public virtual _Nullable NSURL* getBundleURL(); + public virtual static _Nonnull instancetype defaultConfiguration(); +} + +interface RCTBundleManager : public NSObject { + public @property (assign) NSURL* bundleURL; + public @property (assign) RCTBundleConfiguration* bundleConfig; + public virtual _Nullable instancetype initWithBundleConfig:(_Nullable RCTBundleConfiguration* bundleConfig); + public virtual void resetBundleURL(); + public virtual void setBridge:(_Nullable RCTBridge* bridge); + public virtual void setBridgelessBundleURLGetter:andSetter:andDefaultGetter:(_Nullable RCTBridgelessBundleURLGetter getter, _Nullable RCTBridgelessBundleURLSetter setter, _Nullable RCTBridgelessBundleURLGetter defaultGetter); +} + +interface RCTBundleURLProvider : public NSObject { + public @property (assign) BOOL enableDev; + public @property (assign) BOOL enableMinification; + public @property (assign) BOOL inlineSourceMap; + public @property (copy) NSString* jsLocation; + public @property (copy) NSString* packagerScheme; + public virtual NSString* packagerServerHost(); + public virtual NSString* packagerServerHostPort(); + public virtual NSURL* _Nullable jsBundleURLForBundleRoot:(NSString* bundleRoot); + public virtual NSURL* _Nullable jsBundleURLForBundleRoot:fallbackExtension:(NSString* bundleRoot, NSString* _Nullable extension); + public virtual NSURL* _Nullable jsBundleURLForBundleRoot:fallbackURLProvider:(NSString* bundleRoot, NSURL* _Nullable(^)(void) fallbackURLProvider); + public virtual NSURL* _Nullable jsBundleURLForBundleRoot:packagerServerScheme:packagerServerHost:packagerOptionsUpdater:(NSString* bundleRoot, NSString* packagerServerScheme, NSString* packagerServerHost, RCTPackagerOptionsUpdater packagerOptionsUpdater); + public virtual NSURL* _Nullable jsBundleURLForFallbackExtension:(NSString* _Nullable extension); + public virtual NSURL* _Nullable jsBundleURLForSplitBundleRoot:(NSString* bundleRoot); + public virtual NSURL* _Nullable resourceURLForResourceRoot:resourceName:resourceExtension:offlineBundle:(NSString* root, NSString* name, NSString* extension, NSBundle* offlineBundle); + public virtual static BOOL isPackagerRunning:(NSString* hostPort); + public virtual static BOOL isPackagerRunning:scheme:(NSString* hostPort, NSString* _Nullable scheme); + public virtual static NSArray* createJSBundleURLQuery:packagerScheme:enableDev:enableMinification:inlineSourceMap:modulesOnly:runModule:additionalOptions:(NSString* packagerHost, NSString* _Nullable scheme, BOOL enableDev, BOOL enableMinification, BOOL inlineSourceMap, BOOL modulesOnly, BOOL runModule, NSDictionary* _Nullable additionalOptions); + public virtual static NSURL* _Nullable jsBundleURLForBundleRoot:packagerHost:enableDev:enableMinification:inlineSourceMap:(NSString* bundleRoot, NSString* packagerHost, BOOL enableDev, BOOL enableMinification, BOOL inlineSourceMap); + public virtual static NSURL* _Nullable jsBundleURLForBundleRoot:packagerHost:enableDev:enableMinification:inlineSourceMap:additionalOptions:(NSString* bundleRoot, NSString* packagerHost, BOOL enableDev, BOOL enableMinification, BOOL inlineSourceMap, NSDictionary* _Nullable additionalOptions); + public virtual static NSURL* _Nullable jsBundleURLForBundleRoot:packagerHost:packagerScheme:enableDev:enableMinification:inlineSourceMap:modulesOnly:runModule:(NSString* bundleRoot, NSString* packagerHost, NSString* _Nullable scheme, BOOL enableDev, BOOL enableMinification, BOOL inlineSourceMap, BOOL modulesOnly, BOOL runModule); + public virtual static NSURL* _Nullable jsBundleURLForBundleRoot:packagerHost:packagerScheme:enableDev:enableMinification:inlineSourceMap:modulesOnly:runModule:additionalOptions:(NSString* bundleRoot, NSString* packagerHost, NSString* _Nullable scheme, BOOL enableDev, BOOL enableMinification, BOOL inlineSourceMap, BOOL modulesOnly, BOOL runModule, NSDictionary* _Nullable additionalOptions); + public virtual static NSURL* resourceURLForResourcePath:packagerHost:scheme:query:(NSString* path, NSString* packagerHost, NSString* _Nullable scheme, NSString* _Nullable query); + public virtual static NSURL* resourceURLForResourcePath:packagerHost:scheme:queryItems:(NSString* path, NSString* packagerHost, NSString* scheme, NSArray* _Nullable queryItems); + public virtual static instancetype sharedSettings(); + public virtual static void isPackagerRunningAsync:completion:(NSString* hostPort, void(^)(BOOL isRunning) completion); + public virtual static void isPackagerRunningAsync:scheme:completion:(NSString* hostPort, NSString* _Nullable scheme, void(^)(BOOL isRunning) completion); + public virtual void resetToDefaults(); +} + +interface RCTCallInvoker : public NSObject { + public virtual instancetype initWithCallInvoker:(std::shared_ptr callInvoker); + public virtual std::shared_ptr callInvoker(); +} + +interface RCTCallableJSModules : public NSObject { + public virtual void invokeModule:method:withArgs:(NSString* moduleName, NSString* methodName, NSArray* args); + public virtual void invokeModule:method:withArgs:onComplete:(NSString* moduleName, NSString* methodName, NSArray* args, dispatch_block_t onComplete); + public virtual void setBridge:(RCTBridge* bridge); + public virtual void setBridgelessJSModuleMethodInvoker:(RCTBridgelessJSModuleMethodInvoker bridgelessJSModuleMethodInvoker); +} + +interface RCTClipboard : public NSObject { +} + +interface RCTColorAnimatedNode : public RCTAnimatedNode { + public @property (assign) int32_t color; +} + +interface RCTColorSpaceUtils : public NSObject { + public virtual static void applyDefaultColorSpace:(RCTColorSpace colorSpace); +} + +interface RCTComponentData : public NSObject { + public @property (assign, readonly) Class managerClass; + public @property (copy) void(^eventInterceptor)(NSString* eventName, NSDictionary* event, NSNumber* reactTag); + public @property (copy, readonly) NSString* name; + public @property (strong, readonly) RCTViewManager* bridgelessViewManager; + public @property (weak, readonly) RCTViewManager* manager; + public virtual NSDictionary* viewConfig(); + public virtual RCTShadowView* createShadowViewWithTag:(NSNumber* tag); + public virtual UIView* createViewWithTag:rootTag:(_Nullable NSNumber* tag, _Nullable NSNumber* rootTag); + public virtual instancetype initWithManagerClass:bridge:eventDispatcher:(Class managerClass, RCTBridge* bridge, id eventDispatcher); + public virtual static NSDictionary* viewConfigForViewMangerClass:(Class managerClass); + public virtual void setProps:forShadowView:(NSDictionary* props, RCTShadowView* shadowView); + public virtual void setProps:forView:(NSDictionary* props, id view); +} + +interface RCTComponentEvent : public NSObject { + public virtual instancetype initWithName:viewTag:body:(NSString* name, NSNumber* viewTag, NSDictionary* body); +} + +interface RCTComponentViewFactory : public NSObject { + public @property (weak) id thirdPartyFabricComponentsProvider; + public virtual RCTComponentViewDescriptor createComponentViewWithComponentHandle:(facebook::react::ComponentHandle componentHandle); + public virtual facebook::react::ComponentDescriptorRegistry::Shared createComponentDescriptorRegistryWithParameters:(facebook::react::ComponentDescriptorParameters parameters); + public virtual static RCTComponentViewFactory* currentComponentViewFactory(); + public virtual void registerComponentViewClass:(Class componentViewClass); +} + +interface RCTComponentViewRegistry : public NSObject { + public @property (strong, readonly) RCTComponentViewFactory* componentViewFactory; + public virtual _Nullable UIView* findComponentViewWithTag:(facebook::react::Tag tag); + public virtual const RCTComponentViewDescriptor& componentViewDescriptorWithTag:(facebook::react::Tag tag); + public virtual const RCTComponentViewDescriptor& dequeueComponentViewWithComponentHandle:tag:(facebook::react::ComponentHandle componentHandle, facebook::react::Tag tag); + public virtual void enqueueComponentViewWithComponentHandle:tag:componentViewDescriptor:(facebook::react::ComponentHandle componentHandle, facebook::react::Tag tag, RCTComponentViewDescriptor componentViewDescriptor); +} + +interface RCTComposedViewRegistry : public NSMutableDictionary { + public virtual instancetype initWithUIManager:andRegistry:(RCTUIManager* uiManager, NSDictionary* registry); +} + +interface RCTConvert : public NSObject { + public typedef BOOL css_backface_visibility_t; + public typedef NSArray CGColorArray; + public typedef NSURL RCTFileURL; + public typedef id NSPropertyList; + public virtual static BOOL BOOL:(id json); + public virtual static CGAffineTransform CGAffineTransform:(id json); + public virtual static CGColorRef CGColor:(id json); + public virtual static CGFloat CGFloat:(id json); + public virtual static CGLineCap CGLineCap:(id json); + public virtual static CGLineJoin CGLineJoin:(id json); + public virtual static CGPoint CGPoint:(id json); + public virtual static CGRect CGRect:(id json); + public virtual static CGSize CGSize:(id json); + public virtual static NSArray* NSArray:(id json); + public virtual static NSArray* NSArrayArray:(id json); + public virtual static NSArray*>* NSStringArrayArray:(id json); + public virtual static NSArray* NSDictionaryArray:(id json); + public virtual static NSArray* NSNumberArray:(id json); + public virtual static NSArray* NSStringArray:(id json); + public virtual static NSArray* NSURLArray:(id json); + public virtual static NSArray* RCTFileURLArray:(id json); + public virtual static NSArray* UIColorArray:(id json); + public virtual static NSData* NSData:(id json); + public virtual static NSDate* NSDate:(id json); + public virtual static NSDictionary* NSDictionary:(id json); + public virtual static NSIndexSet* NSIndexSet:(id json); + public virtual static NSInteger NSInteger:(id json); + public virtual static NSLineBreakMode NSLineBreakMode:(id json); + public virtual static NSLineBreakStrategy NSLineBreakStrategy:(id json); + public virtual static NSLocale* NSLocale:(id json); + public virtual static NSNumber* NSNumber:(id json); + public virtual static NSSet* NSSet:(id json); + public virtual static NSString* NSString:(id json); + public virtual static NSTextAlignment NSTextAlignment:(id json); + public virtual static NSTimeInterval NSTimeInterval:(id json); + public virtual static NSTimeZone* NSTimeZone:(id json); + public virtual static NSUInteger NSUInteger:(id json); + public virtual static NSURL* NSURL:(id json); + public virtual static NSURLRequest* NSURLRequest:(id json); + public virtual static NSURLRequestCachePolicy NSURLRequestCachePolicy:(id json); + public virtual static NSUnderlineStyle NSUnderlineStyle:(id json); + public virtual static NSWritingDirection NSWritingDirection:(id json); + public virtual static RCTAnimationType RCTAnimationType:(id json); + public virtual static RCTBorderCurve RCTBorderCurve:(id json); + public virtual static RCTBorderStyle RCTBorderStyle:(id json); + public virtual static RCTColorSpace RCTColorSpaceFromString:(NSString* colorSpace); + public virtual static RCTConvert::CGColorArray* CGColorArray:(id json); + public virtual static RCTConvert::NSPropertyList NSPropertyList:(id json); + public virtual static RCTConvert::RCTFileURL* RCTFileURL:(id json); + public virtual static RCTConvert::css_backface_visibility_t css_backface_visibility_t:(id json); + public virtual static RCTCursor RCTCursor:(id json); + public virtual static RCTPointerEvents RCTPointerEvents:(id json); + public virtual static RCTTextDecorationLineType RCTTextDecorationLineType:(id json); + public virtual static UIColor* UIColor:(id json); + public virtual static UIColor* UIColorWithRed:green:blue:alpha:(CGFloat red, CGFloat green, CGFloat blue, CGFloat alpha); + public virtual static UIColor* UIColorWithRed:green:blue:alpha:andColorSpace:(CGFloat red, CGFloat green, CGFloat blue, CGFloat alpha, RCTColorSpace colorSpace); + public virtual static UIDataDetectorTypes UIDataDetectorTypes:(id json); + public virtual static UIEdgeInsets UIEdgeInsets:(id json); + public virtual static UIInterfaceOrientationMask UIInterfaceOrientationMask:(NSString* orientation); + public virtual static UIKeyboardAppearance UIKeyboardAppearance:(id json); + public virtual static UIKeyboardType UIKeyboardType:(id json); + public virtual static UIModalPresentationStyle UIModalPresentationStyle:(id json); + public virtual static UIReturnKeyType UIReturnKeyType:(id json); + public virtual static UITextAutocapitalizationType UITextAutocapitalizationType:(id json); + public virtual static UITextFieldViewMode UITextFieldViewMode:(id json); + public virtual static UIUserInterfaceStyle UIUserInterfaceStyle:(id json); + public virtual static UIViewContentMode UIViewContentMode:(id json); + public virtual static YGAlign YGAlign:(id json); + public virtual static YGDirection YGDirection:(id json); + public virtual static YGDisplay YGDisplay:(id json); + public virtual static YGFlexDirection YGFlexDirection:(id json); + public virtual static YGJustify YGJustify:(id json); + public virtual static YGOverflow YGOverflow:(id json); + public virtual static YGPositionType YGPositionType:(id json); + public virtual static YGValue YGValue:(id json); + public virtual static YGWrap YGWrap:(id json); + public virtual static double double:(id json); + public virtual static float float:(id json); + public virtual static id id:(id json); + public virtual static int64_t int64_t:(id json); + public virtual static int int:(id json); + public virtual static uint64_t uint64_t:(id json); +} + +interface RCTCxxConvert : public NSObject { +} + +interface RCTCxxMethod : public NSObject { + public virtual instancetype initWithCxxMethod:(const facebook::xplat::module::CxxModule::Method& cxxMethod); +} + +interface RCTDataRequestHandler : public NSObject { +} + +interface RCTDebuggingOverlay : public RCTView { + public virtual void clearElementsHighlights(); + public virtual void highlightElements:(NSArray* rectangles); + public virtual void highlightTraceUpdates:(NSArray* updates); +} + +interface RCTDebuggingOverlayComponentView : public RCTViewComponentView { +} + +interface RCTDebuggingOverlayManager : public RCTViewManager { +} + +interface RCTDecayAnimation : public NSObject { +} + +interface RCTDefaultReactNativeFactoryDelegate : public UIResponder { +} + +interface RCTDevLoadingView : public NSObject { +} + +interface RCTDevMenu : public NSObject { + public @property (assign) BOOL devMenuEnabled; + public @property (assign) BOOL hotLoadingEnabled; + public @property (assign) BOOL hotkeysEnabled; + public @property (assign) BOOL keyboardShortcutsEnabled; + public @property (assign) BOOL profilingEnabled; + public @property (assign) BOOL shakeToShow; + public @property (copy, readonly) NSArray* presentedItems; + public virtual BOOL isActionSheetShown(); + public virtual void addItem:(RCTDevMenuItem* item); + public virtual void addItem:handler:(NSString* title, void(^)(void) handler); + public virtual void disableReloadCommand(); + public virtual void reload(); + public virtual void show(); +} + +interface RCTDevMenuConfiguration : public NSObject { + public virtual static instancetype defaultConfiguration(); +} + +interface RCTDevMenuConfigurationDecorator : public NSObject { +} + +interface RCTDevMenuItem : public NSObject { + public @property (assign) BOOL disabled; + public virtual static instancetype buttonItemWithTitle:handler:(NSString* title, dispatch_block_t handler); + public virtual static instancetype buttonItemWithTitleBlock:handler:(RCTDevMenuItemTitleBlock titleBlock, dispatch_block_t handler); +} + +interface RCTDevSettings : public RCTEventEmitter { + public @property (assign) BOOL isHotLoadingEnabled; + public @property (assign) BOOL isPerfMonitorShown; + public @property (assign) BOOL isProfilingEnabled; + public @property (assign) BOOL isShakeGestureEnabled; + public @property (assign) BOOL isShakeToShowDevMenuEnabled; + public @property (assign) BOOL startSamplingProfilerOnLaunch; + public @property (assign, readonly) BOOL isDeviceDebuggingAvailable; + public @property (assign, readonly) BOOL isElementInspectorShown; + public @property (assign, readonly) BOOL isHotLoadingAvailable; + public virtual instancetype initWithDataSource:(id dataSource); + public virtual void setupHMRClientWithAdditionalBundleURL:(NSURL* bundleURL); + public virtual void setupHMRClientWithBundleURL:(NSURL* bundleURL); + public virtual void toggleElementInspector(); +} + +interface RCTDevSupportHttpHeaders : public NSObject { + public virtual NSDictionary* allHeaders(); + public virtual static instancetype sharedInstance(); + public virtual void addRequestHeader:value:(NSString* name, NSString* value); + public virtual void applyHeadersToRequest:(NSMutableURLRequest* request); + public virtual void removeRequestHeader:(NSString* name); +} + +interface RCTDevToolsRuntimeSettingsModule : public NSObject { +} + +interface RCTDeviceInfo : public NSObject { + public virtual instancetype initWithDimensionsProvider:(NSDictionary*(^)(void) dimensionsProvider); +} + +interface RCTDiffClampAnimatedNode : public RCTValueAnimatedNode { +} + +interface RCTDisplayLink : public NSObject { + public virtual instancetype init(); + public virtual void addToRunLoop:(NSRunLoop* runLoop); + public virtual void invalidate(); + public virtual void registerModuleForFrameUpdates:withModuleHolder:(id module, id moduleHolder); +} + +interface RCTDisplayWeakRefreshable : public NSObject { + public @property (weak) id refreshable; + public virtual static CADisplayLink* displayLinkWithWeakRefreshable:(id refreshable); +} + +interface RCTDivisionAnimatedNode : public RCTValueAnimatedNode { +} + +interface RCTEnhancedScrollView : public UIScrollView { + public @property (assign) BOOL centerContent; + public @property (assign) BOOL disableIntervalMomentum; + public @property (assign) BOOL pinchGestureEnabled; + public @property (assign) BOOL snapToEnd; + public @property (assign) BOOL snapToStart; + public @property (assign) CGFloat snapToInterval; + public @property (copy) NSArray* snapToOffsets; + public @property (copy) NSString* snapToAlignment; + public @property (strong, readonly) RCTGenericDelegateSplitter>* delegateSplitter; + public @property (weak) id overridingDelegate; + public virtual void preserveContentOffsetWithBlock:(void(^)() block); +} + +interface RCTErrorInfo : public NSObject { + public @property (copy, readonly) NSArray* stack; + public @property (copy, readonly) NSString* errorMessage; + public virtual instancetype initWithErrorMessage:stack:(NSString* errorMessage, NSArray* stack); +} + +interface RCTEventAnimation : public NSObject { + public @property (weak, readonly) RCTValueAnimatedNode* valueNode; + public virtual instancetype initWithEventPath:valueNode:(NSArray* eventPath, RCTValueAnimatedNode* valueNode); + public virtual void updateWithEvent:(id event); +} + +interface RCTEventDispatcher : public NSObject { +} + +interface RCTEventEmitter : public NSObject { + public @property (weak) RCTBridge* bridge; + public @property (weak) RCTModuleRegistry* moduleRegistry; + public @property (weak) RCTViewRegistry* viewRegistry_DEPRECATED; + public virtual NSArray* supportedEvents(); + public virtual instancetype initWithDisabledObservation(); + public virtual void addListener:(NSString* eventName); + public virtual void invalidate(); + public virtual void removeListeners:(double count); + public virtual void sendEventWithName:body:(NSString* name, id body); + public virtual void startObserving(); + public virtual void stopObserving(); +} + +interface RCTExceptionsManager : public NSObject { + public @property (assign) NSUInteger maxReloadAttempts; + public @property (weak) id delegate; + public virtual instancetype initWithDelegate:(id delegate); + public virtual void reportFatalException:stack:exceptionId:(_Nullable NSString* message, _Nullable NSArray* stack, double exceptionId); + public virtual void reportJsException:stack:exceptionId:isFatal:(_Nullable NSString* message, _Nullable NSArray* stack, double exceptionId, bool isFatal); + public virtual void reportSoftException:stack:exceptionId:(_Nullable NSString* message, _Nullable NSArray* stack, double exceptionId); +} + +interface RCTFabricModalHostViewController : public UIViewController { + public @property (assign) UIInterfaceOrientationMask supportedInterfaceOrientations; + public @property (weak) id delegate; +} + +interface RCTFabricSurface : public NSObject { + public @property (assign, readonly) CGPoint viewportOffset; + public @property (assign, readonly) CGSize intrinsicSize; + public @property (assign, readonly) CGSize maximumSize; + public @property (assign, readonly) CGSize minimumSize; + public virtual BOOL synchronouslyWaitFor:(NSTimeInterval timeout); + public virtual CGSize sizeThatFitsMinimumSize:maximumSize:(CGSize minimumSize, CGSize maximumSize); + public virtual RCTSurfaceView* view(); + public virtual instancetype initWithSurfacePresenter:moduleName:initialProperties:(RCTSurfacePresenter* surfacePresenter, NSString* moduleName, NSDictionary* initialProperties); + public virtual void resetWithSurfacePresenter:(RCTSurfacePresenter* surfacePresenter); + public virtual void setSize:(CGSize size); +} + +interface RCTFileReaderModule : public NSObject { +} + +interface RCTFileRequestHandler : public NSObject { +} + +interface RCTFont : public NSObject { + public virtual static UIFont* updateFont:withFamily:(UIFont* font, NSString* family); + public virtual static UIFont* updateFont:withFamily:size:weight:style:variant:scaleMultiplier:(UIFont* font, NSString* family, NSNumber* size, NSString* weight, NSString* style, NSArray* variant, CGFloat scaleMultiplier); + public virtual static UIFont* updateFont:withSize:(UIFont* font, NSNumber* size); + public virtual static UIFont* updateFont:withStyle:(UIFont* font, NSString* style); + public virtual static UIFont* updateFont:withWeight:(UIFont* font, NSString* weight); +} + +interface RCTFrameAnimation : public NSObject { +} + +interface RCTFrameTimingsObserver : public NSObject { + public virtual instancetype initWithScreenshotsEnabled:callback:(BOOL screenshotsEnabled, RCTFrameTimingCallback callback); + public virtual void start(); + public virtual void stop(); +} + +interface RCTFrameUpdate : public NSObject { + public @property (assign, readonly) NSTimeInterval deltaTime; + public @property (assign, readonly) NSTimeInterval timestamp; + public virtual instancetype initWithDisplayLink:(CADisplayLink* displayLink); +} + +interface RCTGIFImageDecoder : public NSObject { +} + +interface RCTGenericDelegateSplitter : public NSObject { + public @property (copy) void(^delegateUpdateBlock)(DelegateT _Nullable delegate); + public virtual instancetype initWithDelegateUpdateBlock:(void(^)(DelegateT _Nullable delegate) block); + public virtual void addDelegate:(DelegateT delegate); + public virtual void removeAllDelegates(); + public virtual void removeDelegate:(DelegateT delegate); +} + +interface RCTGradientUtils : public NSObject { + public virtual static std::pair pointsForCAGradientLayerLinearGradient:endPoint:bounds:(CGPoint startPoint, CGPoint endPoint, CGSize bounds); + public virtual static std::vector getFixedColorStops:gradientLineLength:(const std::vector& colorStops, CGFloat gradientLineLength); + public virtual static void getColors:andLocations:fromColorStops:(NSMutableArray* colors, NSMutableArray* locations, const std::vector& colorStops); +} + +interface RCTHTTPRequestHandler : public NSObject { +} + +interface RCTHost : public NSObject { + public @property (assign, readonly) RCTModuleRegistry* moduleRegistry; + public @property (assign, readonly) RCTSurfacePresenter* surfacePresenter; + public @property (weak) id runtimeDelegate; + public virtual RCTFabricSurface* createSurfaceWithModuleName:initialProperties:(NSString* moduleName, NSDictionary* properties); + public virtual RCTFabricSurface* createSurfaceWithModuleName:mode:initialProperties:(NSString* moduleName, facebook::react::DisplayMode displayMode, NSDictionary* properties); + public virtual instancetype initWithBundleURL:hostDelegate:turboModuleManagerDelegate:jsEngineProvider:launchOptions:(NSURL* bundleURL, id hostDelegate, id turboModuleManagerDelegate, RCTHostJSEngineProvider jsEngineProvider, _Nullable NSDictionary* launchOptions); + public virtual instancetype initWithBundleURLProvider:hostDelegate:turboModuleManagerDelegate:jsEngineProvider:launchOptions:(RCTHostBundleURLProvider provider, id hostDelegate, id turboModuleManagerDelegate, RCTHostJSEngineProvider jsEngineProvider, _Nullable NSDictionary* launchOptions); + public virtual instancetype initWithBundleURLProvider:hostDelegate:turboModuleManagerDelegate:jsEngineProvider:launchOptions:bundleConfiguration:devMenuConfiguration:(RCTHostBundleURLProvider provider, id hostDelegate, id turboModuleManagerDelegate, RCTHostJSEngineProvider jsEngineProvider, _Nullable NSDictionary* launchOptions, RCTBundleConfiguration* bundleConfiguration, RCTDevMenuConfiguration* devMenuConfiguration); + public virtual void callFunctionOnJSModule:method:args:(NSString* moduleName, NSString* method, NSArray* args); + public virtual void start(); +} + +interface RCTI18nManager : public NSObject { +} + +interface RCTI18nUtil : public NSObject { + public virtual BOOL doLeftAndRightSwapInRTL(); + public virtual BOOL isRTL(); + public virtual BOOL isRTLAllowed(); + public virtual BOOL isRTLForced(); + public virtual static instancetype sharedInstance(); + public virtual void allowRTL:(BOOL value); + public virtual void forceRTL:(BOOL value); + public virtual void swapLeftAndRightInRTL:(BOOL value); +} + +interface RCTImageCache : public NSObject { + protected void RCTSetImageCacheLimits(NSUInteger maxCacheableDecodedImageSizeInBytes, NSUInteger imageCacheTotalCostLimit); +} + +interface RCTImageComponentView : public RCTViewComponentView { + protected RCTUIImageViewAnimated* _imageView; +} + +interface RCTImageEditingManager : public NSObject { +} + +interface RCTImageLoader : public NSObject { + public virtual instancetype init(); + public virtual instancetype initWithRedirectDelegate:(id redirectDelegate); + public virtual instancetype initWithRedirectDelegate:loadersProvider:decodersProvider:(id redirectDelegate, NSArray>*(^)(RCTModuleRegistry*) getLoaders, NSArray>*(^)(RCTModuleRegistry*) getDecoders); +} + +interface RCTImageManager : public NSObject { + public virtual facebook::react::ImageRequest requestImage:surfaceId:(facebook::react::ImageSource imageSource, facebook::react::SurfaceId surfaceId); + public virtual instancetype initWithImageLoader:(id imageLoader); +} + +interface RCTImageShadowView : public RCTShadowView { +} + +interface RCTImageSource : public NSObject { + public @property (assign, readonly) CGFloat scale; + public @property (assign, readonly) CGSize size; + public @property (copy, readonly) NSURLRequest* request; + public virtual instancetype imageSourceWithSize:scale:(CGSize size, CGFloat scale); + public virtual instancetype initWithURLRequest:size:scale:(NSURLRequest* request, CGSize size, CGFloat scale); +} + +interface RCTImageStoreManager : public NSObject { + public virtual void getImageDataForTag:withBlock:(NSString* imageTag, void(^)(NSData* imageData) block); + public virtual void removeImageForTag:withBlock:(NSString* imageTag, void(^)(void) block); + public virtual void storeImage:withBlock:(UIImage* image, void(^)(NSString* imageTag) block); + public virtual void storeImageData:withBlock:(NSData* imageData, void(^)(NSString* imageTag) block); +} + +interface RCTImageURLLoaderRequest : public NSObject { + public @property (copy, readonly) RCTImageLoaderCancellationBlock cancellationBlock; + public @property (strong, readonly) NSString* requestId; + public @property (strong, readonly) NSURL* imageURL; + public virtual instancetype initWithRequestId:imageURL:cancellationBlock:(NSString* requestId, NSURL* imageURL, RCTImageLoaderCancellationBlock cancellationBlock); + public virtual void cancel(); +} + +interface RCTImageView : public RCTView { + public @property (assign) CGFloat blurRadius; + public @property (assign) RCTResizeMode resizeMode; + public @property (assign) UIEdgeInsets capInsets; + public @property (assign) UIImageRenderingMode renderingMode; + public @property (copy) NSArray* imageSources; + public @property (copy) NSString* internal_analyticTag; + public @property (strong) UIImage* defaultImage; + public virtual instancetype initWithBridge:(RCTBridge* bridge); +} + +interface RCTImageViewManager : public RCTViewManager { +} + +interface RCTInputAccessoryComponentView : public RCTViewComponentView { +} + +interface RCTInputAccessoryContentView : public UIView { +} + +interface RCTInputAccessoryShadowView : public RCTShadowView { +} + +interface RCTInputAccessoryView : public UIView { + public virtual instancetype initWithBridge:(RCTBridge* bridge); +} + +interface RCTInputAccessoryViewContent : public UIView { +} + +interface RCTInputAccessoryViewManager : public RCTViewManager { +} + +interface RCTInspectorNetworkHelper : public NSObject { + public virtual instancetype init(); + public virtual void loadNetworkResourceWithParams:executor:(const RCTInspectorLoadNetworkResourceRequest& params, RCTInspectorNetworkExecutor executor); +} + +interface RCTInspectorNetworkReporter : public NSObject { + public virtual static void maybeStoreResponseBody:data:base64Encoded:(NSString* requestId, NSData* data, bool base64Encoded); + public virtual static void maybeStoreResponseBodyIncremental:data:(NSString* requestId, NSString* data); + public virtual static void reportConnectionTiming:request:(NSString* requestId, NSURLRequest* request); + public virtual static void reportDataReceived:data:(NSString* requestId, NSData* data); + public virtual static void reportRequestFailed:cancelled:(NSString* requestId, BOOL cancelled); + public virtual static void reportRequestStart:request:encodedDataLength:(NSString* requestId, NSURLRequest* request, int encodedDataLength); + public virtual static void reportResponseEnd:encodedDataLength:(NSString* requestId, int encodedDataLength); + public virtual static void reportResponseStart:response:statusCode:headers:(NSString* requestId, NSURLResponse* response, int statusCode, NSDictionary* headers); +} + +interface RCTInspectorUtils : public NSObject { + public virtual static CommonHostMetadata* getHostMetadata(); +} + +interface RCTInstance : public NSObject { + public @property (strong, readonly) RCTSurfacePresenter* surfacePresenter; + public virtual instancetype initWithDelegate:jsRuntimeFactory:bundleManager:turboModuleManagerDelegate:moduleRegistry:parentInspectorTarget:launchOptions:(id delegate, std::shared_ptr jsRuntimeFactory, RCTBundleManager* bundleManager, id turboModuleManagerDelegate, RCTModuleRegistry* moduleRegistry, facebook::react::jsinspector_modern::HostTarget* parentInspectorTarget, _Nullable NSDictionary* launchOptions); + public virtual instancetype initWithDelegate:jsRuntimeFactory:bundleManager:turboModuleManagerDelegate:moduleRegistry:parentInspectorTarget:launchOptions:devMenuConfiguration:(id delegate, std::shared_ptr jsRuntimeFactory, RCTBundleManager* bundleManager, id turboModuleManagerDelegate, RCTModuleRegistry* moduleRegistry, facebook::react::jsinspector_modern::HostTarget* parentInspectorTarget, _Nullable NSDictionary* launchOptions, RCTDevMenuConfiguration* _Nullable devMenuConfiguration); + public virtual void callFunctionOnBufferedRuntimeExecutor:(std::function&& executor); + public virtual void callFunctionOnJSModule:method:args:(NSString* moduleName, NSString* method, NSArray* args); + public virtual void invalidate(); + public virtual void registerSegmentWithId:path:(NSNumber* segmentId, NSString* path); +} + +interface RCTInterpolationAnimatedNode : public RCTValueAnimatedNode { +} + +interface RCTJSStackFrame : public NSObject { + public @property (assign, readonly) BOOL collapse; + public @property (assign, readonly) NSInteger column; + public @property (assign, readonly) NSInteger lineNumber; + public @property (copy, readonly) NSString* file; + public @property (copy, readonly) NSString* methodName; + public virtual NSDictionary* toDictionary(); + public virtual instancetype initWithMethodName:file:lineNumber:column:collapse:(NSString* methodName, NSString* file, NSInteger lineNumber, NSInteger column, BOOL collapse); + public virtual static NSArray* stackFramesWithDictionaries:(NSArray* dicts); + public virtual static NSArray* stackFramesWithLines:(NSString* lines); + public virtual static instancetype stackFrameWithDictionary:(NSDictionary* dict); + public virtual static instancetype stackFrameWithLine:(NSString* line); +} + +interface RCTJSThreadManager : public NSObject { + public virtual std::shared_ptr jsMessageThread(); + public virtual void dispatchToJSThread:(dispatch_block_t block); +} + +interface RCTJSTimerExecutor : public NSObject { + public virtual void setTimerManager:(std::weak_ptr timerManager); +} + +interface RCTJavaScriptLoader : public NSObject { + public virtual static NSData* attemptSynchronousLoadOfBundleAtURL:sourceLength:error:(NSURL* scriptURL, int64_t* sourceLength, NSError** error); + public virtual static void loadBundleAtURL:onProgress:onComplete:(NSURL* scriptURL, RCTSourceLoadProgressBlock onProgress, RCTSourceLoadBlock onComplete); +} + +interface RCTKeyCommands : public NSObject { + public virtual BOOL isKeyCommandRegisteredForInput:modifierFlags:(NSString* input, UIKeyModifierFlags flags); + public virtual static instancetype sharedInstance(); + public virtual void registerKeyCommandWithInput:modifierFlags:action:(NSString* input, UIKeyModifierFlags flags, void(^)(UIKeyCommand* command) block); + public virtual void unregisterKeyCommandWithInput:modifierFlags:(NSString* input, UIKeyModifierFlags flags); +} + +interface RCTKeyboardObserver : public RCTEventEmitter { +} + +interface RCTLayoutAnimation : public NSObject { + public @property (assign, readonly) CGFloat initialVelocity; + public @property (assign, readonly) CGFloat springDamping; + public @property (assign, readonly) NSTimeInterval delay; + public @property (assign, readonly) NSTimeInterval duration; + public @property (assign, readonly) RCTAnimationType animationType; + public @property (copy, readonly) NSString* property; + public virtual instancetype initWithDuration:config:(NSTimeInterval duration, NSDictionary* config); + public virtual instancetype initWithDuration:delay:property:springDamping:initialVelocity:animationType:(NSTimeInterval duration, NSTimeInterval delay, NSString* property, CGFloat springDamping, CGFloat initialVelocity, RCTAnimationType animationType); + public virtual static void initializeStatics(); + public virtual void performAnimations:withCompletionBlock:(void(^)(void) animations, void(^)(BOOL completed) completionBlock); +} + +interface RCTLayoutAnimationGroup : public NSObject { + public @property (assign, readonly) RCTLayoutAnimation* creatingLayoutAnimation; + public @property (assign, readonly) RCTLayoutAnimation* deletingLayoutAnimation; + public @property (assign, readonly) RCTLayoutAnimation* updatingLayoutAnimation; + public @property (copy) RCTResponseSenderBlock callback; + public virtual instancetype initWithConfig:callback:(NSDictionary* config, RCTResponseSenderBlock callback); + public virtual instancetype initWithCreatingLayoutAnimation:updatingLayoutAnimation:deletingLayoutAnimation:callback:(RCTLayoutAnimation* creatingLayoutAnimation, RCTLayoutAnimation* updatingLayoutAnimation, RCTLayoutAnimation* deletingLayoutAnimation, RCTResponseSenderBlock callback); +} + +interface RCTLegacyViewManagerInteropComponentView : public RCTViewComponentView { + public virtual UIView* paperView(); + public virtual static BOOL isSupported:(NSString* componentName); + public virtual static void supportLegacyViewManagerWithName:(NSString* componentName); + public virtual static void supportLegacyViewManagersWithPrefix:(NSString* prefix); +} + +interface RCTLegacyViewManagerInteropCoordinator : public NSObject { + public virtual NSString* componentViewName(); + public virtual UIView* createPaperViewWithTag:(NSInteger tag); + public virtual instancetype initWithComponentData:bridge:bridgeProxy:bridgelessInteropData:(RCTComponentData* componentData, _Nullable RCTBridge* bridge, _Nullable RCTBridgeProxy* bridgeProxy, RCTBridgeModuleDecorator* bridgelessInteropData); + public virtual void addObserveForTag:usingBlock:(NSInteger tag, InterceptorBlock block); + public virtual void handleCommand:args:reactTag:paperView:(NSString* commandName, NSArray* args, NSInteger tag, UIView* paperView); + public virtual void removeObserveForTag:(NSInteger tag); + public virtual void setProps:forView:(NSDictionary* props, UIView* view); +} + +interface RCTLegacyViewManagerInteropCoordinatorAdapter : public NSObject { + public @property (copy) void(^eventInterceptor)(std::string eventName, folly::dynamic&& event); + public @property (strong) UIView* paperView; + public virtual instancetype initWithCoordinator:reactTag:(RCTLegacyViewManagerInteropCoordinator* coordinator, NSInteger tag); + public virtual void handleCommand:args:(NSString* commandName, NSArray* args); + public virtual void setProps:(const folly::dynamic& props); +} + +interface RCTLinearGradient : public NSObject { + public virtual static CALayer* gradientLayerWithSize:gradient:(CGSize size, const facebook::react::LinearGradient& gradient); +} + +interface RCTLinkingManager : public RCTEventEmitter { + public virtual static BOOL application:continueUserActivity:restorationHandler:(_Nonnull UIApplication* application, _Nonnull NSUserActivity* userActivity, _Nonnull void(^)(NSArray>* _Nullable) restorationHandler); + public virtual static BOOL application:openURL:options:(_Nonnull UIApplication* app, _Nonnull NSURL* URL, _Nonnull NSDictionary* options); + public virtual static BOOL application:openURL:sourceApplication:annotation:(_Nonnull UIApplication* application, _Nonnull NSURL* URL, _Nullable NSString* sourceApplication, _Nonnull id annotation); +} + +interface RCTLoadingProgress : public NSObject { + public @property (copy) NSString* status; + public @property (strong) NSNumber* done; + public @property (strong) NSNumber* percent; + public @property (strong) NSNumber* total; +} + +interface RCTLocalAssetImageLoader { +} + +interface RCTLocalizationProvider : public NSObject { + public virtual static NSString* RCTLocalizedString:withDescription:(NSString* oldString, NSString* description); +} + +interface RCTLogBox : public NSObject { +} + +interface RCTLogBoxView : public UIWindow { + public virtual instancetype initWithFrame:(CGRect frame); + public virtual instancetype initWithWindow:bridge:(UIWindow* window, RCTBridge* bridge); + public virtual instancetype initWithWindow:surfacePresenter:(UIWindow* window, id surfacePresenter); + public virtual void createRootViewController:(UIView* view); + public virtual void show(); +} + +interface RCTManagedPointer : public NSObject { + public @property (assign, readonly) void* voidPointer; + public virtual instancetype initWithPointer:(std::shared_ptr pointer); +} + +interface RCTMethodArgument : public NSObject { + public @property (assign, readonly) BOOL unused; + public @property (assign, readonly) RCTNullability nullability; + public @property (copy, readonly) NSString* type; +} + +interface RCTModalHostView : public UIView { + public @property (assign) BOOL allowSwipeDismissal; + public @property (assign) BOOL animated; + public @property (assign) BOOL hardwareAccelerated; + public @property (assign) BOOL statusBarTranslucent; + public @property (assign) BOOL transparent; + public @property (assign) BOOL visible; + public @property (assign) UIModalPresentationStyle presentationStyle; + public @property (copy) NSArray* supportedOrientations; + public @property (copy) NSNumber* identifier; + public @property (copy) NSString* animationType; + public @property (copy) RCTDirectEventBlock onDismiss; + public @property (copy) RCTDirectEventBlock onOrientationChange; + public @property (copy) RCTDirectEventBlock onShow; + public @property (weak) id delegate; + public virtual instancetype initWithBridge:(RCTBridge* bridge); +} + +interface RCTModalHostViewComponentView : public RCTViewComponentView { + public virtual void dismissViewController:animated:completion:(UIViewController* modalViewController, BOOL animated, void(^)(void) completion); + public virtual void presentViewController:animated:completion:(UIViewController* modalViewController, BOOL animated, void(^)(void) completion); +} + +interface RCTModalHostViewController : public UIViewController { + public @property (assign) UIInterfaceOrientationMask supportedInterfaceOrientations; + public @property (copy) void(^boundsDidChangeBlock)(CGRect newBounds); +} + +interface RCTModalHostViewManager : public RCTViewManager { + public @property (strong) RCTModalViewInteractionBlock dismissalBlock; + public @property (strong) RCTModalViewInteractionBlock presentationBlock; +} + +interface RCTModalManager : public RCTEventEmitter { + public virtual void modalDismissed:(NSNumber* modalID); +} + +interface RCTModuleData : public NSObject { + public @property (assign) BOOL requiresMainQueueSetup; + public @property (assign, readonly) BOOL hasConstantsToExport; + public @property (assign, readonly) BOOL hasInstance; + public @property (assign, readonly) BOOL implementsBatchDidComplete; + public @property (copy, readonly) NSArray>* methods; + public @property (copy, readonly) NSDictionary>* methodsByName; + public @property (copy, readonly) NSDictionary* exportedConstants; + public @property (copy, readonly) NSString* name; + public @property (strong) id instance; + public @property (strong, readonly) Class moduleClass; + public @property (strong, readonly) dispatch_queue_t methodQueue; + public @property (weak) id callInvokerProvider; + public virtual instancetype initWithModuleClass:bridge:moduleRegistry:viewRegistry_DEPRECATED:bundleManager:callableJSModules:(Class moduleClass, RCTBridge* bridge, RCTModuleRegistry* moduleRegistry, RCTViewRegistry* viewRegistry_DEPRECATED, RCTBundleManager* bundleManager, RCTCallableJSModules* callableJSModules); + public virtual instancetype initWithModuleInstance:bridge:moduleRegistry:viewRegistry_DEPRECATED:bundleManager:callableJSModules:(id instance, RCTBridge* bridge, RCTModuleRegistry* moduleRegistry, RCTViewRegistry* viewRegistry_DEPRECATED, RCTBundleManager* bundleManager, RCTCallableJSModules* callableJSModules); + public virtual void gatherConstants(); +} + +interface RCTModuleMethod : public NSObject { + public @property (assign, readonly) Class moduleClass; + public @property (assign, readonly) SEL selector; + public virtual instancetype initWithExportedMethod:moduleClass:(const RCTMethodInfo* exportMethod, Class moduleClass); +} + +interface RCTModuleProviders : public NSObject { + public virtual static NSDictionary>* moduleProviders(); +} + +interface RCTModuleRegistry : public NSObject { + public virtual BOOL moduleIsInitialized:(Class moduleClass); + public virtual id moduleForClass:(Class moduleClass); + public virtual id moduleForName:(const char* moduleName); + public virtual id moduleForName:lazilyLoadIfNecessary:(const char* moduleName, BOOL lazilyLoad); + public virtual void setBridge:(RCTBridge* bridge); + public virtual void setTurboModuleRegistry:(id turboModuleRegistry); +} + +interface RCTModulesConformingToProtocolsProvider : public NSObject { + public virtual static NSArray* URLRequestHandlerClassNames(); + public virtual static NSArray* imageDataDecoderClassNames(); + public virtual static NSArray* imageURLLoaderClassNames(); +} + +interface RCTModuloAnimatedNode : public RCTValueAnimatedNode { +} + +interface RCTMountingManager : public NSObject { + public @property (strong) RCTComponentViewRegistry* componentViewRegistry; + public @property (weak) id delegate; + public virtual void attachSurfaceToView:surfaceId:(UIView* view, facebook::react::SurfaceId surfaceId); + public virtual void detachSurfaceFromView:surfaceId:(UIView* view, facebook::react::SurfaceId surfaceId); + public virtual void dispatchCommand:commandName:args:(ReactTag reactTag, NSString* commandName, NSArray* args); + public virtual void scheduleTransaction:(std::shared_ptr mountingCoordinator); + public virtual void sendAccessibilityEvent:eventType:(ReactTag reactTag, NSString* eventType); + public virtual void setContextContainer:(std::shared_ptr contextContainer); + public virtual void setIsJSResponder:blockNativeResponder:forShadowView:(BOOL isJSResponder, BOOL blockNativeResponder, const facebook::react::ShadowView& shadowView); + public virtual void synchronouslyUpdateViewOnUIThread:changedProps:componentDescriptor:(ReactTag reactTag, folly::dynamic props, const facebook::react::ComponentDescriptor& componentDescriptor); +} + +interface RCTMultilineTextInputView : public RCTBaseTextInputView { +} + +interface RCTMultilineTextInputViewManager : public RCTBaseTextInputViewManager { +} + +interface RCTMultipartDataTask : public NSObject { + public virtual instancetype initWithURL:partHandler:progressHandler:(NSURL* url, RCTMultipartDataTaskCallback partHandler, RCTMultipartProgressCallback progressHandler); + public virtual void startTask(); +} + +interface RCTMultipartStreamReader : public NSObject { + public virtual BOOL readAllPartsWithCompletionCallback:progressCallback:(RCTMultipartCallback callback, RCTMultipartProgressCallback progressCallback); + public virtual instancetype initWithInputStream:boundary:(NSInputStream* stream, NSString* boundary); +} + +interface RCTMultiplicationAnimatedNode : public RCTValueAnimatedNode { +} + +interface RCTNativeAnimatedModule : public RCTEventEmitter { +} + +interface RCTNativeAnimatedNodesManager : public NSObject { + public virtual BOOL isNodeManagedByFabric:(NSNumber* tag); + public virtual NSSet* getTagsOfConnectedNodesFrom:andEvent:(NSNumber* tag, NSString* eventName); + public virtual _Nonnull instancetype initWithBridge:surfacePresenter:(_Nullable RCTBridge* bridge, id surfacePresenter); + public virtual void addAnimatedEventToView:eventName:eventMapping:(NSNumber* viewTag, NSString* eventName, NSDictionary* eventMapping); + public virtual void connectAnimatedNodeToView:viewTag:viewName:(NSNumber* nodeTag, NSNumber* viewTag, _Nullable NSString* viewName); + public virtual void connectAnimatedNodes:childTag:(NSNumber* parentTag, NSNumber* childTag); + public virtual void createAnimatedNode:config:(NSNumber* tag, NSDictionary* config); + public virtual void disconnectAnimatedNodeFromView:viewTag:(NSNumber* nodeTag, NSNumber* viewTag); + public virtual void disconnectAnimatedNodes:childTag:(NSNumber* parentTag, NSNumber* childTag); + public virtual void dropAnimatedNode:(NSNumber* tag); + public virtual void extractAnimatedNodeOffset:(NSNumber* nodeTag); + public virtual void flattenAnimatedNodeOffset:(NSNumber* nodeTag); + public virtual void getValue:saveCallback:(NSNumber* nodeTag, RCTResponseSenderBlock saveCallback); + public virtual void handleAnimatedEvent:(id event); + public virtual void removeAnimatedEventFromView:eventName:animatedNodeTag:(NSNumber* viewTag, NSString* eventName, NSNumber* animatedNodeTag); + public virtual void restoreDefaultValues:(NSNumber* nodeTag); + public virtual void setAnimatedNodeOffset:offset:(NSNumber* nodeTag, NSNumber* offset); + public virtual void setAnimatedNodeValue:value:(NSNumber* nodeTag, NSNumber* value); + public virtual void startAnimatingNode:nodeTag:config:endCallback:(NSNumber* animationId, NSNumber* nodeTag, NSDictionary* config, _Nullable RCTResponseSenderBlock callBack); + public virtual void startListeningToAnimatedNodeValue:valueObserver:(NSNumber* tag, id valueObserver); + public virtual void stepAnimations:(CADisplayLink* displaylink); + public virtual void stopAnimation:(NSNumber* animationId); + public virtual void stopAnimationLoop(); + public virtual void stopListeningToAnimatedNodeValue:(NSNumber* tag); + public virtual void updateAnimatedNodeConfig:config:(NSNumber* tag, NSDictionary* config); + public virtual void updateAnimations(); +} + +interface RCTNativeAnimatedTurboModule : public RCTEventEmitter { +} + +interface RCTNetworkTask : public NSObject { + public @property (assign, readonly) NSNumber* requestID; + public @property (assign, readonly) NSString* devToolsRequestId; + public @property (assign, readonly) NSURLRequest* request; + public @property (assign, readonly) NSURLResponse* response; + public @property (assign, readonly) RCTNetworkTaskStatus status; + public @property (copy) RCTURLRequestCompletionBlock completionBlock; + public @property (copy) RCTURLRequestIncrementalDataBlock incrementalDataBlock; + public @property (copy) RCTURLRequestProgressBlock downloadProgressBlock; + public @property (copy) RCTURLRequestProgressBlock uploadProgressBlock; + public @property (copy) RCTURLRequestResponseBlock responseBlock; + public @property (weak, readonly) id requestToken; + public virtual instancetype initWithDevToolsRequestId:request:handler:callbackQueue:(NSString* devToolsRequestId, NSURLRequest* request, id handler, dispatch_queue_t callbackQueue); + public virtual instancetype initWithRequest:handler:callbackQueue:(NSURLRequest* request, id handler, dispatch_queue_t callbackQueue); + public virtual void cancel(); + public virtual void start(); +} + +interface RCTNetworking : public RCTEventEmitter { + public virtual BOOL canHandleRequest:(NSURLRequest* request); + public virtual RCTNetworkTask* networkTaskWithDevToolsRequestId:request:completionBlock:(NSString* devToolsRequestId, NSURLRequest* request, RCTURLRequestCompletionBlock completionBlock); + public virtual RCTNetworkTask* networkTaskWithRequest:completionBlock:(NSURLRequest* request, RCTURLRequestCompletionBlock completionBlock); + public virtual instancetype init(); + public virtual instancetype initWithHandlersProvider:(NSArray>*(^)(RCTModuleRegistry*) getHandlers); + public virtual void addRequestHandler:(id handler); + public virtual void addResponseHandler:(id handler); + public virtual void removeRequestHandler:(id handler); + public virtual void removeResponseHandler:(id handler); +} + +interface RCTObjectAnimatedNode : public RCTAnimatedNode { + public @property (strong, readonly) id value; +} + +interface RCTParagraphComponentAccessibilityProvider : public NSObject { + public virtual BOOL isUpToDate:(facebook::react::AttributedString currentAttributedString); + public virtual NSArray* accessibilityElements(); + public virtual instancetype initWithString:layoutManager:paragraphAttributes:frame:view:(facebook::react::AttributedString attributedString, RCTTextLayoutManager* layoutManager, facebook::react::ParagraphAttributes paragraphAttributes, CGRect frame, UIView* view); +} + +interface RCTParagraphComponentView : public RCTViewComponentView { + public @property (assign, readonly) NSAttributedString* attributedText; +} + +interface RCTPausedInDebuggerOverlayController : public NSObject { + public virtual void hide(); + public virtual void showWithMessage:onResume:(NSString* message, void(^)(void) onResume); +} + +interface RCTPerformanceLogger : public NSObject { + public virtual NSArray* valuesForTags(); + public virtual int64_t durationForTag:(RCTPLTag tag); + public virtual int64_t valueForTag:(RCTPLTag tag); + public virtual void addValue:forTag:(int64_t value, RCTPLTag tag); + public virtual void appendStartForTag:(RCTPLTag tag); + public virtual void appendStopForTag:(RCTPLTag tag); + public virtual void markStartForTag:(RCTPLTag tag); + public virtual void markStopForTag:(RCTPLTag tag); + public virtual void setValue:forTag:(int64_t value, RCTPLTag tag); +} + +interface RCTPlatform : public NSObject { +} + +interface RCTPropsAnimatedNode : public RCTAnimatedNode { + public virtual void connectToView:viewName:bridge:surfacePresenter:(NSNumber* viewTag, NSString* viewName, RCTBridge* bridge, id surfacePresenter); + public virtual void disconnectFromView:(NSNumber* viewTag); + public virtual void restoreDefaultValues(); +} + +interface RCTPullToRefreshViewComponentView : public RCTViewComponentView { +} + +interface RCTRadialGradient : public NSObject { + public virtual static CALayer* gradientLayerWithSize:gradient:(CGSize size, const facebook::react::RadialGradient& gradient); +} + +interface RCTRawTextShadowView : public RCTShadowView { + public @property (copy) NSString* text; +} + +interface RCTRawTextViewManager : public RCTViewManager { +} + +interface RCTReactNativeFactory : public NSObject { + public @property (assign) RCTBridge* bridge; + public @property (assign) RCTDevMenuConfiguration* devMenuConfiguration; + public @property (assign) RCTSurfacePresenterBridgeAdapter* bridgeAdapter; + public @property (strong) RCTBundleConfiguration* bundleConfiguration; + public @property (strong) RCTRootViewFactory* rootViewFactory; + public @property (weak) id delegate; + public virtual instancetype initWithDelegate:(id delegate); + public virtual instancetype initWithDelegate:releaseLevel:(id delegate, RCTReleaseLevel releaseLevel); + public virtual void startReactNativeWithModuleName:inWindow:(NSString* moduleName, UIWindow* _Nullable window); + public virtual void startReactNativeWithModuleName:inWindow:initialProperties:launchOptions:(NSString* moduleName, UIWindow* _Nullable window, NSDictionary* _Nullable initialProperties, NSDictionary* _Nullable launchOptions); + public virtual void startReactNativeWithModuleName:inWindow:launchOptions:(NSString* moduleName, UIWindow* _Nullable window, NSDictionary* _Nullable launchOptions); +} + +interface RCTReactTaggedView : public NSObject { + protected NSInteger _tag; + protected UIView* _view; + public virtual BOOL isEqual:(id other); + public virtual NSInteger tag(); + public virtual NSUInteger hash(); + public virtual _Nullable UIView* view(); + public virtual instancetype initWithView:(UIView* view); + public virtual static RCTReactTaggedView* wrap:(UIView* view); +} + +interface RCTRedBox : public NSObject { + public @property (strong) NSURL* overrideBundleURL; + public @property (strong) dispatch_block_t overrideReloadAction; + public virtual void addCustomButton:onPressHandler:(NSString* title, RCTRedBoxButtonPressHandler handler); + public virtual void dismiss(); + public virtual void registerErrorCustomizer:(id errorCustomizer); + public virtual void showError:(NSError* error); + public virtual void showErrorMessage:(NSString* message); + public virtual void showErrorMessage:withDetails:(NSString* message, NSString* details); + public virtual void showErrorMessage:withParsedStack:(NSString* message, NSArray* stack); + public virtual void showErrorMessage:withParsedStack:errorCookie:(NSString* message, NSArray* stack, int errorCookie); + public virtual void showErrorMessage:withRawStack:(NSString* message, NSString* rawStack); + public virtual void showErrorMessage:withRawStack:errorCookie:(NSString* message, NSString* rawStack, int errorCookie); + public virtual void showErrorMessage:withStack:(NSString* message, NSArray* stack); + public virtual void showErrorMessage:withStack:errorCookie:(NSString* message, NSArray* stack, int errorCookie); + public virtual void updateErrorMessage:withParsedStack:(NSString* message, NSArray* stack); + public virtual void updateErrorMessage:withParsedStack:errorCookie:(NSString* message, NSArray* stack, int errorCookie); + public virtual void updateErrorMessage:withStack:(NSString* message, NSArray* stack); + public virtual void updateErrorMessage:withStack:errorCookie:(NSString* message, NSArray* stack, int errorCookie); +} + +interface RCTRedBoxExtraDataViewController : public UIViewController { + public @property (weak) id actionDelegate; + public virtual void addExtraData:forIdentifier:(NSDictionary* data, NSString* identifier); +} + +interface RCTRefreshControl : public UIRefreshControl { + public @property (copy) NSString* title; + public @property (copy) RCTDirectEventBlock onRefresh; + public @property (weak) UIScrollView* scrollView; +} + +interface RCTRefreshControlManager : public RCTViewManager { +} + +interface RCTRootComponentView : public RCTViewComponentView { +} + +interface RCTRootContentView : public RCTView { + public @property (assign) BOOL passThroughTouches; + public @property (assign) RCTRootViewSizeFlexibility sizeFlexibility; + public @property (assign, readonly) BOOL contentHasAppeared; + public @property (assign, readonly) CGSize availableSize; + public @property (strong, readonly) RCTTouchHandler* touchHandler; + public @property (weak, readonly) RCTBridge* bridge; + public virtual instancetype initWithFrame:bridge:reactTag:sizeFlexibility:(CGRect frame, RCTBridge* bridge, NSNumber* reactTag, RCTRootViewSizeFlexibility sizeFlexibility); +} + +interface RCTRootShadowView : public RCTShadowView { + public @property (assign) CGSize availableSize; + public @property (assign) CGSize minimumSize; + public @property (assign) YGDirection baseDirection; + public virtual void layoutWithAffectedShadowViews:(NSPointerArray* affectedShadowViews); +} + +interface RCTRootView : public UIView { + public @property (assign) BOOL passThroughTouches; + public @property (assign) CGSize intrinsicContentSize; + public @property (assign) CGSize minimumSize; + public @property (assign) NSTimeInterval loadingViewFadeDelay; + public @property (assign) NSTimeInterval loadingViewFadeDuration; + public @property (assign) RCTRootViewSizeFlexibility sizeFlexibility; + public @property (copy) NSDictionary* appProperties; + public @property (copy, readonly) NSString* moduleName; + public @property (strong) UIView* loadingView; + public @property (strong, readonly) RCTBridge* bridge; + public @property (strong, readonly) UIView* contentView; + public @property (strong, readonly) UIView* view; + public @property (weak) UIViewController* reactViewController; + public @property (weak) id delegate; + public virtual instancetype initWithBridge:moduleName:initialProperties:(RCTBridge* bridge, NSString* moduleName, _Nullable NSDictionary* initialProperties); + public virtual instancetype initWithBundleURL:moduleName:initialProperties:launchOptions:(NSURL* bundleURL, NSString* moduleName, _Nullable NSDictionary* initialProperties, _Nullable NSDictionary* launchOptions); + public virtual instancetype initWithFrame:bridge:moduleName:initialProperties:(CGRect frame, RCTBridge* bridge, NSString* moduleName, _Nullable NSDictionary* initialProperties); + public virtual void contentViewInvalidated(); +} + +interface RCTRootViewFactory : public NSObject { + public @property (strong) RCTBridge* bridge; + public @property (strong) RCTHost* reactHost; + public @property (strong) RCTSurfacePresenterBridgeAdapter* bridgeAdapter; + public virtual RCTHost* createReactHost:(NSDictionary* _Nullable launchOptions); + public virtual RCTHost* createReactHost:bundleConfiguration:devMenuConfiguration:(NSDictionary* _Nullable launchOptions, RCTBundleConfiguration* bundleConfiguration, RCTDevMenuConfiguration* devMenuConfiguration); + public virtual UIView* _Nonnull viewWithModuleName:(NSString* moduleName); + public virtual UIView* _Nonnull viewWithModuleName:initialProperties:(NSString* moduleName, NSDictionary* _Nullable initialProperties); + public virtual UIView* _Nonnull viewWithModuleName:initialProperties:launchOptions:(NSString* moduleName, NSDictionary* _Nullable initialProperties, NSDictionary* _Nullable launchOptions); + public virtual UIView* _Nonnull viewWithModuleName:initialProperties:launchOptions:bundleConfiguration:devMenuConfiguration:(NSString* moduleName, NSDictionary* _Nullable initialProperties, NSDictionary* _Nullable launchOptions, RCTBundleConfiguration* bundleConfiguration, RCTDevMenuConfiguration* devMenuConfiguration); + public virtual instancetype initWithConfiguration:(RCTRootViewFactoryConfiguration* configuration); + public virtual instancetype initWithConfiguration:andTurboModuleManagerDelegate:(RCTRootViewFactoryConfiguration* configuration, id _Nullable turboModuleManagerDelegate); + public virtual instancetype initWithTurboModuleDelegate:hostDelegate:configuration:(id turboModuleManagerDelegate, id hostDelegate, RCTRootViewFactoryConfiguration* configuration); + public virtual void initializeReactHostWithLaunchOptions:bundleConfiguration:devMenuConfiguration:(NSDictionary* _Nullable launchOptions, RCTBundleConfiguration* bundleConfiguration, RCTDevMenuConfiguration* devMenuConfiguration); +} + +interface RCTRootViewFactoryConfiguration : public NSObject { + public @property (assign) RCTBridgeDidNotFindModuleBlock bridgeDidNotFindModule; + public @property (assign) RCTBundleURLBlock bundleURLBlock; + public @property (assign) RCTCreateBridgeWithDelegateBlock createBridgeWithDelegate; + public @property (assign) RCTCreateRootViewWithBridgeBlock createRootViewWithBridge; + public @property (assign) RCTCustomizeRootViewBlock customizeRootView; + public @property (assign) RCTExtraLazyModuleClassesForBridge extraLazyModuleClassesForBridge; + public @property (assign) RCTExtraModulesForBridgeBlock extraModulesForBridge; + public @property (assign) RCTLoadSourceForBridgeBlock loadSourceForBridge; + public @property (assign) RCTLoadSourceForBridgeWithProgressBlock loadSourceForBridgeWithProgress; + public @property (assign) RCTSourceURLForBridgeBlock sourceURLForBridge; + public @property (assign, readonly) BOOL bridgelessEnabled; + public @property (assign, readonly) BOOL fabricEnabled; + public @property (assign, readonly) BOOL turboModuleEnabled; + public @property (weak) id jsRuntimeConfiguratorDelegate; + public virtual instancetype initWithBundleURL:newArchEnabled:(NSURL* bundleURL, BOOL newArchEnabled); + public virtual instancetype initWithBundleURL:newArchEnabled:turboModuleEnabled:bridgelessEnabled:(NSURL* bundleURL, BOOL newArchEnabled, BOOL turboModuleEnabled, BOOL bridgelessEnabled); + public virtual instancetype initWithBundleURLBlock:newArchEnabled:(RCTBundleURLBlock bundleURLBlock, BOOL newArchEnabled); + public virtual instancetype initWithBundleURLBlock:newArchEnabled:turboModuleEnabled:bridgelessEnabled:(RCTBundleURLBlock bundleURLBlock, BOOL newArchEnabled, BOOL turboModuleEnabled, BOOL bridgelessEnabled); +} + +interface RCTSafeAreaShadowView : public RCTShadowView { +} + +interface RCTSafeAreaView : public RCTView { + public virtual instancetype initWithBridge:(RCTBridge* bridge); +} + +interface RCTSafeAreaViewComponentView : public RCTViewComponentView { +} + +interface RCTSafeAreaViewLocalData : public NSObject { + public @property (assign, readonly) UIEdgeInsets insets; + public virtual instancetype initWithInsets:(UIEdgeInsets insets); +} + +interface RCTSafeAreaViewManager : public RCTViewManager { +} + +interface RCTScheduler : public NSObject { + public @property (assign, readonly) const std::shared_ptr uiManager; + public @property (weak) id delegate; + public virtual const facebook::react::ComponentDescriptor* findComponentDescriptorByHandle_DO_NOT_USE_THIS_IS_BROKEN:(facebook::react::ComponentHandle handle); + public virtual instancetype initWithToolbox:(facebook::react::SchedulerToolbox toolbox); + public virtual void addEventListener:(const std::shared_ptr& listener); + public virtual void animationTick(); + public virtual void onAllAnimationsComplete(); + public virtual void onAnimationStarted(); + public virtual void registerSurface:(const facebook::react::SurfaceHandler& surfaceHandler); + public virtual void removeEventListener:(const std::shared_ptr& listener); + public virtual void reportMount:(facebook::react::SurfaceId surfaceId); + public virtual void setupAnimationDriver:(const facebook::react::SurfaceHandler& surfaceHandler); + public virtual void unregisterSurface:(const facebook::react::SurfaceHandler& surfaceHandler); +} + +interface RCTScrollContentShadowView : public RCTShadowView { +} + +interface RCTScrollContentView : public RCTView { +} + +interface RCTScrollContentViewManager : public RCTViewManager { +} + +interface RCTScrollEvent : public NSObject { + public virtual instancetype initWithEventName:reactTag:scrollViewContentOffset:scrollViewContentInset:scrollViewContentSize:scrollViewFrame:scrollViewZoomScale:userData:coalescingKey:(NSString* eventName, NSNumber* reactTag, CGPoint scrollViewContentOffset, UIEdgeInsets scrollViewContentInset, CGSize scrollViewContentSize, CGRect scrollViewFrame, CGFloat scrollViewZoomScale, NSDictionary* userData, uint16_t coalescingKey); +} + +interface RCTScrollView : public RCTView { + public @property (assign) BOOL DEPRECATED_sendUpdatedChildFrames; + public @property (assign) BOOL automaticallyAdjustContentInsets; + public @property (assign) BOOL automaticallyAdjustKeyboardInsets; + public @property (assign) BOOL centerContent; + public @property (assign) BOOL disableIntervalMomentum; + public @property (assign) BOOL inverted; + public @property (assign) BOOL scrollToOverflowEnabled; + public @property (assign) BOOL snapToEnd; + public @property (assign) BOOL snapToStart; + public @property (assign) CGRect firstResponderFocus; + public @property (assign) NSTimeInterval scrollEventThrottle; + public @property (assign) UIEdgeInsets contentInset; + public @property (assign) int snapToInterval; + public @property (assign, readonly) UIScrollView* scrollView; + public @property (assign, readonly) UIView* contentView; + public @property (copy) NSArray* snapToOffsets; + public @property (copy) NSDictionary* maintainVisibleContentPosition; + public @property (copy) NSString* snapToAlignment; + public @property (copy) RCTDirectEventBlock onMomentumScrollBegin; + public @property (copy) RCTDirectEventBlock onMomentumScrollEnd; + public @property (copy) RCTDirectEventBlock onScroll; + public @property (copy) RCTDirectEventBlock onScrollBeginDrag; + public @property (copy) RCTDirectEventBlock onScrollEndDrag; + public @property (copy) RCTDirectEventBlock onScrollToTop; + public @property (weak) UIView* firstResponderViewOutsideScrollView; + public virtual instancetype initWithEventDispatcher:(id eventDispatcher); +} + +interface RCTScrollViewComponentView { + protected __pad0__; + public @property (assign) CGRect firstResponderFocus; + public @property (strong, readonly) RCTGenericDelegateSplitter>* scrollViewDelegateSplitter; + public @property (strong, readonly) UIScrollView* scrollView; + public @property (strong, readonly) UIView* containerView; + public @property (weak) UIView* firstResponderViewOutsideScrollView; + public virtual static _Nullable RCTScrollViewComponentView* findScrollViewComponentViewForView:(UIView* view); +} + +interface RCTScrollViewManager : public RCTViewManager { +} + +interface RCTSettingsManager : public NSObject { + public virtual instancetype initWithUserDefaults:(NSUserDefaults* defaults); +} + +interface RCTShadowView : public NSObject { + public @property (assign) BOOL newView; + public @property (assign) CGSize intrinsicContentSize; + public @property (assign) CGSize size; + public @property (assign) RCTLayoutMetrics layoutMetrics; + public @property (assign) YGAlign alignContent; + public @property (assign) YGAlign alignItems; + public @property (assign) YGAlign alignSelf; + public @property (assign) YGDirection direction; + public @property (assign) YGDisplay display; + public @property (assign) YGFlexDirection flexDirection; + public @property (assign) YGJustify justifyContent; + public @property (assign) YGOverflow overflow; + public @property (assign) YGPositionType position; + public @property (assign) YGValue bottom; + public @property (assign) YGValue columnGap; + public @property (assign) YGValue end; + public @property (assign) YGValue flexBasis; + public @property (assign) YGValue gap; + public @property (assign) YGValue height; + public @property (assign) YGValue left; + public @property (assign) YGValue margin; + public @property (assign) YGValue marginBottom; + public @property (assign) YGValue marginEnd; + public @property (assign) YGValue marginHorizontal; + public @property (assign) YGValue marginLeft; + public @property (assign) YGValue marginRight; + public @property (assign) YGValue marginStart; + public @property (assign) YGValue marginTop; + public @property (assign) YGValue marginVertical; + public @property (assign) YGValue maxHeight; + public @property (assign) YGValue maxWidth; + public @property (assign) YGValue minHeight; + public @property (assign) YGValue minWidth; + public @property (assign) YGValue padding; + public @property (assign) YGValue paddingBottom; + public @property (assign) YGValue paddingEnd; + public @property (assign) YGValue paddingHorizontal; + public @property (assign) YGValue paddingLeft; + public @property (assign) YGValue paddingRight; + public @property (assign) YGValue paddingStart; + public @property (assign) YGValue paddingTop; + public @property (assign) YGValue paddingVertical; + public @property (assign) YGValue right; + public @property (assign) YGValue rowGap; + public @property (assign) YGValue start; + public @property (assign) YGValue top; + public @property (assign) YGValue width; + public @property (assign) YGWrap flexWrap; + public @property (assign) float aspectRatio; + public @property (assign) float borderBottomWidth; + public @property (assign) float borderEndWidth; + public @property (assign) float borderLeftWidth; + public @property (assign) float borderRightWidth; + public @property (assign) float borderStartWidth; + public @property (assign) float borderTopWidth; + public @property (assign) float borderWidth; + public @property (assign) float flex; + public @property (assign) float flexGrow; + public @property (assign) float flexShrink; + public @property (assign, readonly) YGNodeRef yogaNode; + public @property (copy) NSString* viewName; + public @property (copy) RCTDirectEventBlock onLayout; + public @property (weak, readonly) RCTRootShadowView* rootView; + public @property (weak, readonly) RCTShadowView* superview; + public virtual BOOL canHaveSubviews(); + public virtual BOOL isYogaLeafNode(); + public virtual BOOL viewIsDescendantOf:(RCTShadowView* ancestor); + public virtual CGRect measureLayoutRelativeToAncestor:(RCTShadowView* ancestor); + public virtual CGSize sizeThatFitsMinimumSize:maximumSize:(CGSize minimumSize, CGSize maximumSize); + public virtual NSArray* reactSubviews(); + public virtual RCTShadowView* reactSuperview(); + public virtual static YGConfigRef yogaConfig(); + public virtual void didSetProps:(NSArray* changedProps); + public virtual void didUpdateReactSubviews(); + public virtual void insertReactSubview:atIndex:(RCTShadowView* subview, NSInteger atIndex); + public virtual void layoutSubviewsWithContext:(RCTLayoutContext layoutContext); + public virtual void layoutWithMetrics:layoutContext:(RCTLayoutMetrics layoutMetrics, RCTLayoutContext layoutContext); + public virtual void layoutWithMinimumSize:maximumSize:layoutDirection:layoutContext:(CGSize minimumSize, CGSize maximumSize, UIUserInterfaceLayoutDirection layoutDirection, RCTLayoutContext layoutContext); + public virtual void removeReactSubview:(RCTShadowView* subview); + public virtual void setLocalData:(NSObject* localData); +} + +interface RCTSinglelineTextInputView : public RCTBaseTextInputView { +} + +interface RCTSinglelineTextInputViewManager : public RCTBaseTextInputViewManager { +} + +interface RCTSource : public NSObject { + public @property (assign, readonly) NSInteger filesChangedCount; + public @property (assign, readonly) NSUInteger length; + public @property (strong, readonly) NSData* data; + public @property (strong, readonly) NSURL* url; +} + +interface RCTSourceCode : public NSObject { +} + +interface RCTSpringAnimation : public NSObject { +} + +interface RCTStatusBarManager : public RCTEventEmitter { +} + +interface RCTStyleAnimatedNode : public RCTAnimatedNode { + public virtual NSDictionary* propsDictionary(); +} + +interface RCTSubtractionAnimatedNode : public RCTValueAnimatedNode { +} + +interface RCTSurface { + protected __pad0__; + public @property (assign, readonly) CGSize maximumSize; + public @property (assign, readonly) CGSize minimumSize; + public virtual BOOL synchronouslyWaitForStage:timeout:(RCTSurfaceStage stage, NSTimeInterval timeout); + public virtual void mountReactComponentWithBridge:moduleName:params:(RCTBridge* bridge, NSString* moduleName, NSDictionary* params); + public virtual void setSize:(CGSize size); + public virtual void unmountReactComponentWithBridge:rootViewTag:(RCTBridge* bridge, NSNumber* rootViewTag); +} + +interface RCTSurfaceHostingProxyRootView : public RCTSurfaceHostingView { + public @property (assign) BOOL passThroughTouches; + public @property (assign) CGSize minimumSize; + public @property (assign) NSTimeInterval loadingViewFadeDelay; + public @property (assign) NSTimeInterval loadingViewFadeDuration; + public @property (assign) RCTRootViewSizeFlexibility sizeFlexibility; + public @property (copy) NSDictionary* appProperties; + public @property (copy, readonly) NSString* moduleName; + public @property (strong) UIView* loadingView; + public @property (strong, readonly) RCTBridge* bridge; + public @property (strong, readonly) UIView* contentView; + public @property (strong, readonly) UIView* view; + public @property (weak) UIViewController* reactViewController; + public @property (weak) id delegate; + public virtual instancetype initWithSurface:(id surface); + public virtual void cancelTouches(); +} + +interface RCTSurfaceHostingView : public UIView { + public @property (assign) RCTSurfaceSizeMeasureMode sizeMeasureMode; + public @property (copy) RCTSurfaceHostingViewActivityIndicatorViewFactory activityIndicatorViewFactory; + public @property (strong, readonly) id surface; + public virtual instancetype initWithSurface:sizeMeasureMode:(id surface, RCTSurfaceSizeMeasureMode sizeMeasureMode); + public virtual void disableActivityIndicatorAutoHide:(BOOL disabled); +} + +interface RCTSurfacePointerHandler : public UIGestureRecognizer { + public @property (assign) CGPoint viewOriginOffset; + public virtual void attachToView:(UIView* view); + public virtual void detachFromView:(UIView* view); +} + +interface RCTSurfacePresenter : public NSObject { + public @property (assign) facebook::react::RuntimeExecutor runtimeExecutor; + public @property (assign) std::shared_ptr contextContainer; + public virtual BOOL resume(); + public virtual BOOL suspend(); + public virtual instancetype initWithContextContainer:runtimeExecutor:bridgelessBindingsExecutor:(std::shared_ptr contextContainer, facebook::react::RuntimeExecutor runtimeExecutor, std::optional bridgelessBindingsExecutor); +} + +interface RCTSurfacePresenterBridgeAdapter : public NSObject { + public @property (assign, readonly) RCTSurfacePresenter* surfacePresenter; + public @property (weak) RCTBridge* bridge; + public virtual instancetype initWithBridge:contextContainer:(RCTBridge* bridge, std::shared_ptr contextContainer); +} + +interface RCTSurfaceRegistry : public NSObject { + public virtual _Nullable RCTFabricSurface* surfaceForRootTag:(ReactTag rootTag); + public virtual void enumerateWithBlock:(RCTSurfaceEnumeratorBlock block); + public virtual void registerSurface:(RCTFabricSurface* surface); + public virtual void unregisterSurface:(RCTFabricSurface* surface); +} + +interface RCTSurfaceRootShadowView { + protected __pad0__; + protected assign; + protected readonly CGSize minimumSize; + public @property (assign) YGDirection baseDirection; + public @property (assign, readonly) CGSize intrinsicSize; + public @property (assign, readonly) CGSize maximumSize; + public @property (weak) id delegate; + public virtual void layoutWithAffectedShadowViews:(NSPointerArray* affectedShadowViews); + public virtual void setMinimumSize:maximumSize:(CGSize size, CGSize maximumSize); +} + +interface RCTSurfaceRootView : public RCTView { +} + +interface RCTSurfaceTouchHandler : public UIGestureRecognizer { + public @property (assign) CGPoint viewOriginOffset; + public virtual void attachToView:(UIView* view); + public virtual void detachFromView:(UIView* view); +} + +interface RCTSurfaceView : public UIView { + public @property (weak, readonly) id surface; + public virtual instancetype initWithSurface:(id surface); +} + +interface RCTSwiftUIContainerViewWrapper : public NSObject { + public virtual UIView* _Nullable contentView(); + public virtual UIView* _Nullable hostingView(); + public virtual void resetStyles(); + public virtual void updateBlurRadius:(NSNumber* radius); + public virtual void updateContentView:(UIView* view); + public virtual void updateContrast:(NSNumber* contrast); + public virtual void updateDropShadow:x:y:color:(NSNumber* standardDeviation, NSNumber* x, NSNumber* y, UIColor* color); + public virtual void updateGrayscale:(NSNumber* grayscale); + public virtual void updateHueRotate:(NSNumber* degrees); + public virtual void updateLayoutWithBounds:(CGRect bounds); + public virtual void updateSaturation:(NSNumber* saturation); +} + +interface RCTSwitch : public UISwitch { + public @property (assign) BOOL wasOn; + public @property (copy) RCTBubblingEventBlock onChange; +} + +interface RCTSwitchComponentView : public RCTViewComponentView { +} + +interface RCTSwitchManager : public RCTViewManager { +} + +interface RCTSyncImageManager : public NSObject { + public virtual facebook::react::ImageRequest requestImage:surfaceId:(facebook::react::ImageSource imageSource, facebook::react::SurfaceId surfaceId); + public virtual instancetype initWithImageLoader:(id imageLoader); +} + +interface RCTTextAttributes : public NSObject { + public @property (assign) BOOL allowFontScaling; + public @property (assign) BOOL isHighlighted; + public @property (assign) CGFloat fontSize; + public @property (assign) CGFloat fontSizeMultiplier; + public @property (assign) CGFloat letterSpacing; + public @property (assign) CGFloat lineHeight; + public @property (assign) CGFloat maxFontSizeMultiplier; + public @property (assign) CGFloat opacity; + public @property (assign) CGFloat textShadowRadius; + public @property (assign) CGSize textShadowOffset; + public @property (assign) NSLineBreakMode lineBreakMode; + public @property (assign) NSLineBreakStrategy lineBreakStrategy; + public @property (assign) NSTextAlignment alignment; + public @property (assign) NSUnderlineStyle textDecorationStyle; + public @property (assign) NSWritingDirection baseWritingDirection; + public @property (assign) RCTDynamicTypeRamp dynamicTypeRamp; + public @property (assign) RCTTextDecorationLineType textDecorationLine; + public @property (assign) RCTTextTransform textTransform; + public @property (assign) UIUserInterfaceLayoutDirection layoutDirection; + public @property (copy) NSArray* fontVariant; + public @property (copy) NSString* fontFamily; + public @property (copy) NSString* fontStyle; + public @property (copy) NSString* fontWeight; + public @property (strong) NSNumber* tag; + public @property (strong) UIColor* backgroundColor; + public @property (strong) UIColor* foregroundColor; + public @property (strong) UIColor* textDecorationColor; + public @property (strong) UIColor* textShadowColor; + public virtual CGFloat effectiveFontSizeMultiplier(); + public virtual NSDictionary* effectiveTextAttributes(); + public virtual NSParagraphStyle* _Nullable effectiveParagraphStyle(); + public virtual NSString* applyTextAttributesToText:(NSString* text); + public virtual UIColor* effectiveBackgroundColor(); + public virtual UIColor* effectiveForegroundColor(); + public virtual UIFont* effectiveFont(); + public virtual void applyTextAttributes:(RCTTextAttributes* textAttributes); +} + +interface RCTTextInputComponentView : public RCTViewComponentView { +} + +interface RCTTextLayoutManager : public NSObject { + public virtual facebook::react::LinesMeasurements getLinesForAttributedString:paragraphAttributes:size:(facebook::react::AttributedString attributedString, facebook::react::ParagraphAttributes paragraphAttributes, CGSize size); + public virtual facebook::react::TextMeasurement measureAttributedString:paragraphAttributes:layoutContext:layoutConstraints:(facebook::react::AttributedString attributedString, facebook::react::ParagraphAttributes paragraphAttributes, facebook::react::TextLayoutContext layoutContext, facebook::react::LayoutConstraints layoutConstraints); + public virtual facebook::react::TextMeasurement measureNSAttributedString:paragraphAttributes:layoutContext:layoutConstraints:(NSAttributedString* attributedString, facebook::react::ParagraphAttributes paragraphAttributes, facebook::react::TextLayoutContext layoutContext, facebook::react::LayoutConstraints layoutConstraints); + public virtual std::shared_ptr getEventEmitterWithAttributeString:paragraphAttributes:frame:atPoint:(facebook::react::AttributedString attributedString, facebook::react::ParagraphAttributes paragraphAttributes, CGRect frame, CGPoint point); + public virtual void drawAttributedString:paragraphAttributes:frame:drawHighlightPath:(facebook::react::AttributedString attributedString, facebook::react::ParagraphAttributes paragraphAttributes, CGRect frame, void(^)(UIBezierPath* highlightPath) block); + public virtual void getRectWithAttributedString:paragraphAttributes:enumerateAttribute:frame:usingBlock:(facebook::react::AttributedString attributedString, facebook::react::ParagraphAttributes paragraphAttributes, NSString* enumerateAttribute, CGRect frame, RCTTextLayoutFragmentEnumerationBlock block); +} + +interface RCTTextSelection : public NSObject { + public @property (assign, readonly) NSInteger end; + public @property (assign, readonly) NSInteger start; + public virtual instancetype initWithStart:end:(NSInteger start, NSInteger end); +} + +interface RCTTextShadowView : public RCTBaseTextShadowView { + public @property (assign) BOOL adjustsFontSizeToFit; + public @property (assign) CGFloat minimumFontScale; + public @property (assign) NSInteger maximumNumberOfLines; + public @property (assign) NSLineBreakMode lineBreakMode; + public @property (copy) RCTDirectEventBlock onTextLayout; + public virtual instancetype initWithBridge:(RCTBridge* bridge); + public virtual void uiManagerWillPerformMounting(); +} + +interface RCTTextView : public UIView { + public @property (assign) BOOL selectable; + public @property (assign) RCTBubblingEventBlock onClick; + public virtual void setTextStorage:contentFrame:descendantViews:(NSTextStorage* textStorage, CGRect contentFrame, NSArray* descendantViews); +} + +interface RCTTextViewManager : public RCTBaseTextViewManager { +} + +interface RCTThirdPartyComponentsProvider : public NSObject { + public virtual static NSDictionary>* thirdPartyFabricComponents(); +} + +interface RCTTiming : public NSObject { + public virtual instancetype initWithDelegate:(id delegate); + public virtual void createTimerForNextFrame:duration:jsSchedulingTime:repeats:(NSNumber* callbackID, NSTimeInterval jsDuration, _Nullable NSDate* jsSchedulingTime, BOOL repeats); + public virtual void deleteTimer:(double timerID); +} + +interface RCTTouchEvent : public NSObject { + public virtual instancetype initWithEventName:reactTag:reactTouches:changedIndexes:coalescingKey:(NSString* eventName, NSNumber* reactTag, NSArray* reactTouches, NSArray* changedIndexes, uint16_t coalescingKey); +} + +interface RCTTouchHandler : public UIGestureRecognizer { + public virtual instancetype initWithBridge:(RCTBridge* bridge); + public virtual void attachToView:(UIView* view); + public virtual void cancel(); + public virtual void detachFromView:(UIView* view); +} + +interface RCTTrackingAnimatedNode : public RCTAnimatedNode { +} + +interface RCTTransformAnimatedNode : public RCTAnimatedNode { + public virtual NSDictionary* propsDictionary(); +} + +interface RCTTurboModuleManager : public NSObject { + public virtual instancetype initWithBridge:delegate:jsInvoker:(RCTBridge* bridge, id delegate, std::shared_ptr jsInvoker); + public virtual instancetype initWithBridgeProxy:bridgeModuleDecorator:delegate:jsInvoker:(RCTBridgeProxy* bridgeProxy, RCTBridgeModuleDecorator* bridgeModuleDecorator, id delegate, std::shared_ptr jsInvoker); + public virtual instancetype initWithBridgeProxy:bridgeModuleDecorator:delegate:jsInvoker:devMenuConfigurationDecorator:(RCTBridgeProxy* bridgeProxy, RCTBridgeModuleDecorator* bridgeModuleDecorator, id delegate, std::shared_ptr jsInvoker, RCTDevMenuConfigurationDecorator* devMenuConfigurationDecorator); + public virtual void installJSBindings:(facebook::jsi::Runtime& runtime); + public virtual void invalidate(); +} + +interface RCTUIImageViewAnimated : public UIImageView { +} + +interface RCTUIManager : public NSObject { + public @property (retain, readonly) RCTUIManagerObserverCoordinator* observerCoordinator; + public virtual NSString* viewNameForReactTag:(NSNumber* reactTag); + public virtual RCTShadowView* shadowViewForReactTag:(NSNumber* reactTag); + public virtual UIView* viewForNativeID:withRootTag:(NSString* nativeID, NSNumber* rootTag); + public virtual UIView* viewForReactTag:(NSNumber* reactTag); + public virtual static UIView* JSResponder(); + public virtual void addUIBlock:(RCTViewManagerUIBlock block); + public virtual void prependUIBlock:(RCTViewManagerUIBlock block); + public virtual void registerRootView:(UIView* rootView); + public virtual void registerRootViewTag:(NSNumber* rootTag); + public virtual void rootViewForReactTag:withCompletion:(NSNumber* reactTag, void(^)(UIView* view) completion); + public virtual void setAvailableSize:forRootView:(CGSize availableSize, UIView* rootView); + public virtual void setIntrinsicContentSize:forView:(CGSize intrinsicContentSize, UIView* view); + public virtual void setLocalData:forView:(NSObject* localData, UIView* view); + public virtual void setNativeID:forView:(NSString* nativeID, UIView* view); + public virtual void setNeedsLayout(); + public virtual void setNextLayoutAnimationGroup:(RCTLayoutAnimationGroup* layoutAnimationGroup); + public virtual void setSize:forView:(CGSize size, UIView* view); + public virtual void synchronouslyUpdateViewOnUIThread:viewName:props:(NSNumber* reactTag, NSString* viewName, NSDictionary* props); +} + +interface RCTUIManagerObserverCoordinator : public NSObject { + public virtual void addObserver:(id observer); + public virtual void removeObserver:(id observer); +} + +interface RCTUITextField : public UITextField { + public @property (assign) BOOL caretHidden; + public @property (assign) BOOL contextMenuHidden; + public @property (assign) BOOL disableKeyboardShortcuts; + public @property (assign) BOOL editable; + public @property (assign) BOOL scrollEnabled; + public @property (assign) UIEdgeInsets textContainerInset; + public @property (assign, readonly) BOOL dictationRecognizing; + public @property (assign, readonly) BOOL textWasPasted; + public @property (assign, readonly) CGFloat zoomScale; + public @property (assign, readonly) CGPoint contentOffset; + public @property (assign, readonly) UIEdgeInsets contentInset; + public @property (strong) NSString* inputAccessoryViewButtonLabel; + public @property (strong) NSString* inputAccessoryViewID; + public @property (strong) UIColor* placeholderColor; + public @property (weak) id textInputDelegate; +} + +interface RCTUITextView : public UITextView { + public @property (assign) BOOL caretHidden; + public @property (assign) BOOL contextMenuHidden; + public @property (assign) BOOL disableKeyboardShortcuts; + public @property (assign) CGFloat preferredMaxLayoutWidth; + public @property (assign) UITextFieldViewMode clearButtonMode; + public @property (assign, readonly) BOOL dictationRecognizing; + public @property (assign, readonly) BOOL textWasPasted; + public @property (copy) NSString* placeholder; + public @property (strong) NSString* inputAccessoryViewButtonLabel; + public @property (strong) NSString* inputAccessoryViewID; + public @property (strong) UIColor* placeholderColor; + public @property (weak) id textInputDelegate; +} + +interface RCTUnimplementedNativeComponentView : public RCTViewComponentView { +} + +interface RCTUnimplementedViewComponentView : public RCTViewComponentView { +} + +interface RCTUnstableModulesRequiringMainQueueSetupProvider : public NSObject { + public virtual static NSArray* modules(); +} + +interface RCTUtilsUIOverride : public NSObject { + public virtual static BOOL hasPresentedViewController(); + public virtual static UIViewController* presentedViewController(); + public virtual static void setPresentedViewController:(UIViewController* presentedViewController); +} + +interface RCTValueAnimatedNode : public RCTAnimatedNode { + public @property (assign) CGFloat value; + public @property (strong, readonly) id animatedObject; + public @property (weak) id valueObserver; + public virtual void extractOffset(); + public virtual void flattenOffset(); + public virtual void setOffset:(CGFloat offset); +} + +interface RCTVibration : public NSObject { +} + +interface RCTView : public UIView { + public @property (assign) BOOL removeClippedSubviews; + public @property (assign) CGFloat borderBlockEndWidth; + public @property (assign) CGFloat borderBlockStartWidth; + public @property (assign) CGFloat borderBlockWidth; + public @property (assign) CGFloat borderBottomEndRadius; + public @property (assign) CGFloat borderBottomLeftRadius; + public @property (assign) CGFloat borderBottomRightRadius; + public @property (assign) CGFloat borderBottomStartRadius; + public @property (assign) CGFloat borderBottomWidth; + public @property (assign) CGFloat borderEndEndRadius; + public @property (assign) CGFloat borderEndStartRadius; + public @property (assign) CGFloat borderEndWidth; + public @property (assign) CGFloat borderLeftWidth; + public @property (assign) CGFloat borderRadius; + public @property (assign) CGFloat borderRightWidth; + public @property (assign) CGFloat borderStartEndRadius; + public @property (assign) CGFloat borderStartStartRadius; + public @property (assign) CGFloat borderStartWidth; + public @property (assign) CGFloat borderTopEndRadius; + public @property (assign) CGFloat borderTopLeftRadius; + public @property (assign) CGFloat borderTopRightRadius; + public @property (assign) CGFloat borderTopStartRadius; + public @property (assign) CGFloat borderTopWidth; + public @property (assign) CGFloat borderWidth; + public @property (assign) RCTBorderCurve borderCurve; + public @property (assign) RCTBorderStyle borderStyle; + public @property (assign) RCTBubblingEventBlock onClick; + public @property (assign) RCTBubblingEventBlock onGotPointerCapture; + public @property (assign) RCTBubblingEventBlock onLostPointerCapture; + public @property (assign) RCTBubblingEventBlock onPointerCancel; + public @property (assign) RCTBubblingEventBlock onPointerDown; + public @property (assign) RCTBubblingEventBlock onPointerMove; + public @property (assign) RCTBubblingEventBlock onPointerOut; + public @property (assign) RCTBubblingEventBlock onPointerOver; + public @property (assign) RCTBubblingEventBlock onPointerUp; + public @property (assign) RCTCapturingEventBlock onPointerEnter; + public @property (assign) RCTCapturingEventBlock onPointerLeave; + public @property (assign) RCTCursor cursor; + public @property (assign) RCTPointerEvents pointerEvents; + public @property (assign) UIEdgeInsets hitTestEdgeInsets; + public @property (assign) UIUserInterfaceLayoutDirection reactLayoutDirection; + public @property (copy) RCTDirectEventBlock onAccessibilityAction; + public @property (copy) RCTDirectEventBlock onAccessibilityEscape; + public @property (copy) RCTDirectEventBlock onAccessibilityTap; + public @property (copy) RCTDirectEventBlock onMagicTap; + public @property (strong) UIColor* borderBlockColor; + public @property (strong) UIColor* borderBlockEndColor; + public @property (strong) UIColor* borderBlockStartColor; + public @property (strong) UIColor* borderBottomColor; + public @property (strong) UIColor* borderColor; + public @property (strong) UIColor* borderEndColor; + public @property (strong) UIColor* borderLeftColor; + public @property (strong) UIColor* borderRightColor; + public @property (strong) UIColor* borderStartColor; + public @property (strong) UIColor* borderTopColor; + public virtual static void autoAdjustInsetsForView:withScrollView:updateOffset:(UIView* parentView, UIScrollView* scrollView, BOOL updateOffset); + public virtual void updateClippedSubviews(); +} + +interface RCTViewComponentView : public UIView { + protected facebook::react::LayoutMetrics _layoutMetrics; + protected facebook::react::SharedViewEventEmitter _eventEmitter; + protected facebook::react::SharedViewProps _props; + public @property (assign) UIEdgeInsets hitTestEdgeInsets; + public @property (strong) NSString* nativeId; + public @property (strong) UIView* contentView; + public @property (strong, readonly) NSObject* accessibilityElement; + public virtual BOOL wantsToCooptLabel(); + public virtual NSString* accessibilityLabelForCoopting(); + public virtual NSString* componentViewName_DO_NOT_USE_THIS_IS_BROKEN(); + public virtual UIView* betterHitTest:withEvent:(CGPoint point, UIEvent* event); + public virtual void finalizeUpdates:(RNComponentViewUpdateMask updateMask); + public virtual void prepareForRecycle(); + public virtual void updateEventEmitter:(const facebook::react::EventEmitter::Shared& eventEmitter); + public virtual void updateLayoutMetrics:oldLayoutMetrics:(const facebook::react::LayoutMetrics& layoutMetrics, const facebook::react::LayoutMetrics& oldLayoutMetrics); + public virtual void updateProps:oldProps:(const facebook::react::Props::Shared& props, const facebook::react::Props::Shared& oldProps); +} + +interface RCTViewManager : public NSObject { + public @property (weak) RCTBridge* bridge; + public CGFloat RCTJSONParseOnlyNumber(id json); + public virtual NSArray* customBubblingEventTypes(); + public virtual RCTShadowView* shadowView(); + public virtual UIView* view(); +} + +interface RCTViewRegistry : public NSObject { + public virtual UIView* viewForReactTag:(NSNumber* reactTag); + public virtual void addUIBlock:(RCTViewRegistryUIBlock block); + public virtual void setBridge:(RCTBridge* bridge); + public virtual void setBridgelessComponentViewProvider:(RCTBridgelessComponentViewProvider bridgelessComponentViewProvider); +} + +interface RCTVirtualTextShadowView : public RCTBaseTextShadowView { +} + +interface RCTVirtualTextView : public UIView { + public @property (assign) RCTBubblingEventBlock onClick; +} + +interface RCTVirtualTextViewManager : public RCTBaseTextViewManager { +} + +interface RCTVirtualViewComponentView : public RCTViewComponentView { + public virtual instancetype initWithFrame:(CGRect frame); +} + +interface RCTVirtualViewContainerState : public NSObject { + public virtual instancetype initWithScrollView:(RCTScrollViewComponentView* scrollView); + public virtual void onChange:(id virtualView); + public virtual void remove:(id virtualView); +} + +interface RCTWebSocketModule : public RCTEventEmitter { + public virtual void sendData:forSocketID:(NSData* data, _Nonnull NSNumber* socketID); + public virtual void setContentHandler:forSocketID:(id _Nullable handler, NSNumber* socketID); +} + +interface RCTWrapperExampleView : public UIView { +} + +interface RCTWrapperExampleViewController : public UIViewController { +} + +interface RCTWrapperReactRootViewController : public UIViewController { + public virtual instancetype initWithBridge:(RCTBridge* bridge); +} + +interface RCTWrapperReactRootViewManager : public RCTWrapperViewManager { +} + +interface RCTWrapperShadowView : public RCTShadowView { + public virtual instancetype initWithBridge:(RCTBridge* bridge); +} + +interface RCTWrapperView : public UIView { + public @property (assign, readonly) RCTWrapperMeasureBlock measureBlock; + public @property (retain) UIView* contentView; + public virtual instancetype initWithBridge:(RCTBridge* bridge); +} + +interface RCTWrapperViewController : public UIViewController { + public virtual instancetype initWithContentView:(UIView* contentView); +} + +interface RCTWrapperViewControllerHostingView : public UIView { + public @property (retain) UIViewController* contentViewController; +} + +interface RCTWrapperViewManager : public RCTViewManager { + public virtual RCTWrapperView* view(); +} + +interface TraceUpdateTuple : public NSObject { + public @property (copy, readonly) dispatch_block_t cleanupBlock; + public @property (strong, readonly) UIView* view; + public virtual instancetype initWithView:cleanupBlock:(UIView* view, dispatch_block_t cleanupBlock); +} + +interface _RCTTypedModuleConstants : public NSDictionary { + public virtual static instancetype newWithUnsafeDictionary:(NSDictionary* dictionary); +} + +protocol NativeAccessibilityInfoSpec : public RCTBridgeModule, public RCTTurboModule { + public virtual void announceForAccessibility:(NSString* announcement); + public virtual void getRecommendedTimeoutMillis:onSuccess:(double mSec, RCTResponseSenderBlock onSuccess); + public virtual void isAccessibilityServiceEnabled:(RCTResponseSenderBlock onSuccess); + public virtual void isGrayscaleEnabled:(RCTResponseSenderBlock onSuccess); + public virtual void isHighTextContrastEnabled:(RCTResponseSenderBlock onSuccess); + public virtual void isInvertColorsEnabled:(RCTResponseSenderBlock onSuccess); + public virtual void isReduceMotionEnabled:(RCTResponseSenderBlock onSuccess); + public virtual void isTouchExplorationEnabled:(RCTResponseSenderBlock onSuccess); + public virtual void setAccessibilityFocus:(double reactTag); +} + +protocol NativeAccessibilityManagerSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void announceForAccessibility:(NSString* announcement); + public virtual void announceForAccessibilityWithOptions:options:(NSString* announcement, JS::NativeAccessibilityManager::SpecAnnounceForAccessibilityWithOptionsOptions& options); + public virtual void getCurrentBoldTextState:onError:(RCTResponseSenderBlock onSuccess, RCTResponseSenderBlock onError); + public virtual void getCurrentDarkerSystemColorsState:onError:(RCTResponseSenderBlock onSuccess, RCTResponseSenderBlock onError); + public virtual void getCurrentGrayscaleState:onError:(RCTResponseSenderBlock onSuccess, RCTResponseSenderBlock onError); + public virtual void getCurrentInvertColorsState:onError:(RCTResponseSenderBlock onSuccess, RCTResponseSenderBlock onError); + public virtual void getCurrentPrefersCrossFadeTransitionsState:onError:(RCTResponseSenderBlock onSuccess, RCTResponseSenderBlock onError); + public virtual void getCurrentReduceMotionState:onError:(RCTResponseSenderBlock onSuccess, RCTResponseSenderBlock onError); + public virtual void getCurrentReduceTransparencyState:onError:(RCTResponseSenderBlock onSuccess, RCTResponseSenderBlock onError); + public virtual void getCurrentVoiceOverState:onError:(RCTResponseSenderBlock onSuccess, RCTResponseSenderBlock onError); + public virtual void setAccessibilityContentSizeMultipliers:(JS::NativeAccessibilityManager::SpecSetAccessibilityContentSizeMultipliersJSMultipliers& JSMultipliers); + public virtual void setAccessibilityFocus:(double reactTag); +} + +protocol NativeActionSheetManagerSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void dismissActionSheet(); + public virtual void showActionSheetWithOptions:callback:(JS::NativeActionSheetManager::SpecShowActionSheetWithOptionsOptions& options, RCTResponseSenderBlock callback); + public virtual void showShareActionSheetWithOptions:failureCallback:successCallback:(JS::NativeActionSheetManager::SpecShowShareActionSheetWithOptionsOptions& options, RCTResponseSenderBlock failureCallback, RCTResponseSenderBlock successCallback); +} + +protocol NativeAlertManagerSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void alertWithArgs:callback:(JS::NativeAlertManager::Args& args, RCTResponseSenderBlock callback); +} + +protocol NativeAnimatedModuleSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void addAnimatedEventToView:eventName:eventMapping:(double viewTag, NSString* eventName, JS::NativeAnimatedModule::EventMapping& eventMapping); + public virtual void addListener:(NSString* eventName); + public virtual void connectAnimatedNodeToShadowNodeFamily:shadowNode:(double nodeTag, NSDictionary* shadowNode); + public virtual void connectAnimatedNodeToView:viewTag:(double nodeTag, double viewTag); + public virtual void connectAnimatedNodes:childTag:(double parentTag, double childTag); + public virtual void createAnimatedNode:config:(double tag, NSDictionary* config); + public virtual void disconnectAnimatedNodeFromView:viewTag:(double nodeTag, double viewTag); + public virtual void disconnectAnimatedNodes:childTag:(double parentTag, double childTag); + public virtual void dropAnimatedNode:(double tag); + public virtual void extractAnimatedNodeOffset:(double nodeTag); + public virtual void finishOperationBatch(); + public virtual void flattenAnimatedNodeOffset:(double nodeTag); + public virtual void getValue:saveValueCallback:(double tag, RCTResponseSenderBlock saveValueCallback); + public virtual void queueAndExecuteBatchedOperations:(NSArray* operationsAndArgs); + public virtual void removeAnimatedEventFromView:eventName:animatedNodeTag:(double viewTag, NSString* eventName, double animatedNodeTag); + public virtual void removeListeners:(double count); + public virtual void restoreDefaultValues:(double nodeTag); + public virtual void setAnimatedNodeOffset:offset:(double nodeTag, double offset); + public virtual void setAnimatedNodeValue:value:(double nodeTag, double value); + public virtual void startAnimatingNode:nodeTag:config:endCallback:(double animationId, double nodeTag, NSDictionary* config, RCTResponseSenderBlock endCallback); + public virtual void startListeningToAnimatedNodeValue:(double tag); + public virtual void startOperationBatch(); + public virtual void stopAnimation:(double animationId); + public virtual void stopListeningToAnimatedNodeValue:(double tag); + public virtual void updateAnimatedNodeConfig:config:(double tag, NSDictionary* config); +} + +protocol NativeAnimatedTurboModuleSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void addAnimatedEventToView:eventName:eventMapping:(double viewTag, NSString* eventName, JS::NativeAnimatedTurboModule::EventMapping& eventMapping); + public virtual void addListener:(NSString* eventName); + public virtual void connectAnimatedNodeToView:viewTag:(double nodeTag, double viewTag); + public virtual void connectAnimatedNodes:childTag:(double parentTag, double childTag); + public virtual void createAnimatedNode:config:(double tag, NSDictionary* config); + public virtual void disconnectAnimatedNodeFromView:viewTag:(double nodeTag, double viewTag); + public virtual void disconnectAnimatedNodes:childTag:(double parentTag, double childTag); + public virtual void dropAnimatedNode:(double tag); + public virtual void extractAnimatedNodeOffset:(double nodeTag); + public virtual void finishOperationBatch(); + public virtual void flattenAnimatedNodeOffset:(double nodeTag); + public virtual void getValue:saveValueCallback:(double tag, RCTResponseSenderBlock saveValueCallback); + public virtual void queueAndExecuteBatchedOperations:(NSArray* operationsAndArgs); + public virtual void removeAnimatedEventFromView:eventName:animatedNodeTag:(double viewTag, NSString* eventName, double animatedNodeTag); + public virtual void removeListeners:(double count); + public virtual void restoreDefaultValues:(double nodeTag); + public virtual void setAnimatedNodeOffset:offset:(double nodeTag, double offset); + public virtual void setAnimatedNodeValue:value:(double nodeTag, double value); + public virtual void startAnimatingNode:nodeTag:config:endCallback:(double animationId, double nodeTag, NSDictionary* config, RCTResponseSenderBlock endCallback); + public virtual void startListeningToAnimatedNodeValue:(double tag); + public virtual void startOperationBatch(); + public virtual void stopAnimation:(double animationId); + public virtual void stopListeningToAnimatedNodeValue:(double tag); + public virtual void updateAnimatedNodeConfig:config:(double tag, NSDictionary* config); +} + +protocol NativeAppStateSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual facebook::react::ModuleConstants constantsToExport(); + public virtual facebook::react::ModuleConstants getConstants(); + public virtual void addListener:(NSString* eventName); + public virtual void getCurrentAppState:error:(RCTResponseSenderBlock success, RCTResponseSenderBlock error); + public virtual void removeListeners:(double count); +} + +protocol NativeAppearanceSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual NSString* _Nullable getColorScheme(); + public virtual void addListener:(NSString* eventName); + public virtual void removeListeners:(double count); + public virtual void setColorScheme:(NSString* colorScheme); +} + +protocol NativeBlobModuleSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual facebook::react::ModuleConstants constantsToExport(); + public virtual facebook::react::ModuleConstants getConstants(); + public virtual void addNetworkingHandler(); + public virtual void addWebSocketHandler:(double id); + public virtual void createFromParts:withId:(NSArray* parts, NSString* withId); + public virtual void release:(NSString* blobId); + public virtual void removeWebSocketHandler:(double id); + public virtual void sendOverSocket:socketID:(NSDictionary* blob, double socketID); +} + +protocol NativeClipboardSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void getString:reject:(RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); + public virtual void setString:(NSString* content); +} + +protocol NativeDevLoadingViewSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void hide(); + public virtual void showMessage:withColor:withBackgroundColor:withDismissButton:(NSString* message, NSNumber* withColor, NSNumber* withBackgroundColor, NSNumber* withDismissButton); +} + +protocol NativeDevMenuSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void reload(); + public virtual void setHotLoadingEnabled:(BOOL enabled); + public virtual void setProfilingEnabled:(BOOL enabled); + public virtual void show(); +} + +protocol NativeDevSettingsSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void addListener:(NSString* eventName); + public virtual void addMenuItem:(NSString* title); + public virtual void onFastRefresh(); + public virtual void openDebugger(); + public virtual void reload(); + public virtual void reloadWithReason:(NSString* reason); + public virtual void removeListeners:(double count); + public virtual void setHotLoadingEnabled:(BOOL isHotLoadingEnabled); + public virtual void setIsShakeToShowDevMenuEnabled:(BOOL enabled); + public virtual void setProfilingEnabled:(BOOL isProfilingEnabled); + public virtual void toggleElementInspector(); +} + +protocol NativeDeviceEventManagerSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void invokeDefaultBackPressHandler(); +} + +protocol NativeDeviceInfoSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual facebook::react::ModuleConstants constantsToExport(); + public virtual facebook::react::ModuleConstants getConstants(); +} + +protocol NativeExceptionsManagerSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void dismissRedbox(); + public virtual void reportException:(JS::NativeExceptionsManager::ExceptionData& data); + public virtual void reportFatalException:stack:exceptionId:(NSString* message, NSArray* stack, double exceptionId); + public virtual void reportSoftException:stack:exceptionId:(NSString* message, NSArray* stack, double exceptionId); +} + +protocol NativeFileReaderModuleSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void readAsDataURL:resolve:reject:(NSDictionary* data, RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); + public virtual void readAsText:encoding:resolve:reject:(NSDictionary* data, NSString* encoding, RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); +} + +protocol NativeFrameRateLoggerSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void beginScroll(); + public virtual void endScroll(); + public virtual void setContext:(NSString* context); + public virtual void setGlobalOptions:(JS::NativeFrameRateLogger::SpecSetGlobalOptionsOptions& options); +} + +protocol NativeHeadlessJsTaskSupportSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void notifyTaskFinished:(double taskId); + public virtual void notifyTaskRetry:resolve:reject:(double taskId, RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); +} + +protocol NativeI18nManagerSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual facebook::react::ModuleConstants constantsToExport(); + public virtual facebook::react::ModuleConstants getConstants(); + public virtual void allowRTL:(BOOL allowRTL); + public virtual void forceRTL:(BOOL forceRTL); + public virtual void swapLeftAndRightInRTL:(BOOL flipStyles); +} + +protocol NativeImageEditorSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void cropImage:cropData:successCallback:errorCallback:(NSString* uri, JS::NativeImageEditor::Options& cropData, RCTResponseSenderBlock successCallback, RCTResponseSenderBlock errorCallback); +} + +protocol NativeImageLoaderIOSSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void getSize:resolve:reject:(NSString* uri, RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); + public virtual void getSizeWithHeaders:headers:resolve:reject:(NSString* uri, NSDictionary* headers, RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); + public virtual void prefetchImage:resolve:reject:(NSString* uri, RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); + public virtual void prefetchImageWithMetadata:queryRootName:rootTag:resolve:reject:(NSString* uri, NSString* queryRootName, double rootTag, RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); + public virtual void queryCache:resolve:reject:(NSArray* uris, RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); +} + +protocol NativeImageStoreIOSSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void addImageFromBase64:successCallback:errorCallback:(NSString* base64ImageData, RCTResponseSenderBlock successCallback, RCTResponseSenderBlock errorCallback); + public virtual void getBase64ForTag:successCallback:errorCallback:(NSString* uri, RCTResponseSenderBlock successCallback, RCTResponseSenderBlock errorCallback); + public virtual void hasImageForTag:callback:(NSString* uri, RCTResponseSenderBlock callback); + public virtual void removeImageForTag:(NSString* uri); +} + +protocol NativeJSCHeapCaptureSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void captureComplete:error:(NSString* path, NSString* _Nullable error); +} + +protocol NativeKeyboardObserverSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void addListener:(NSString* eventName); + public virtual void removeListeners:(double count); +} + +protocol NativeLinkingManagerSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void addListener:(NSString* eventName); + public virtual void canOpenURL:resolve:reject:(NSString* url, RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); + public virtual void getInitialURL:reject:(RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); + public virtual void openSettings:reject:(RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); + public virtual void openURL:resolve:reject:(NSString* url, RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); + public virtual void removeListeners:(double count); +} + +protocol NativeLogBoxSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void hide(); + public virtual void show(); +} + +protocol NativeModalManagerSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void addListener:(NSString* eventName); + public virtual void removeListeners:(double count); +} + +protocol NativeNetworkingIOSSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void abortRequest:(double requestId); + public virtual void addListener:(NSString* eventName); + public virtual void clearCookies:(RCTResponseSenderBlock callback); + public virtual void removeListeners:(double count); + public virtual void sendRequest:callback:(JS::NativeNetworkingIOS::SpecSendRequestQuery& query, RCTResponseSenderBlock callback); +} + +protocol NativePlatformConstantsIOSSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual facebook::react::ModuleConstants constantsToExport(); + public virtual facebook::react::ModuleConstants getConstants(); +} + +protocol NativePushNotificationManagerIOSSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void abandonPermissions(); + public virtual void addListener:(NSString* eventType); + public virtual void cancelAllLocalNotifications(); + public virtual void cancelLocalNotifications:(NSDictionary* userInfo); + public virtual void checkPermissions:(RCTResponseSenderBlock callback); + public virtual void getApplicationIconBadgeNumber:(RCTResponseSenderBlock callback); + public virtual void getAuthorizationStatus:(RCTResponseSenderBlock callback); + public virtual void getDeliveredNotifications:(RCTResponseSenderBlock callback); + public virtual void getInitialNotification:reject:(RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); + public virtual void getScheduledLocalNotifications:(RCTResponseSenderBlock callback); + public virtual void onFinishRemoteNotification:fetchResult:(NSString* notificationId, NSString* fetchResult); + public virtual void presentLocalNotification:(JS::NativePushNotificationManagerIOS::Notification& notification); + public virtual void removeAllDeliveredNotifications(); + public virtual void removeDeliveredNotifications:(NSArray* identifiers); + public virtual void removeListeners:(double count); + public virtual void requestPermissions:resolve:reject:(JS::NativePushNotificationManagerIOS::SpecRequestPermissionsPermission& permission, RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); + public virtual void scheduleLocalNotification:(JS::NativePushNotificationManagerIOS::Notification& notification); + public virtual void setApplicationIconBadgeNumber:(double num); +} + +protocol NativeReactDevToolsRuntimeSettingsModuleSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual NSDictionary* getReloadAndProfileConfig(); + public virtual void setReloadAndProfileConfig:(JS::NativeReactDevToolsRuntimeSettingsModule::PartialReloadAndProfileConfig& config); +} + +protocol NativeReactDevToolsSettingsManagerSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual NSString* _Nullable getGlobalHookSettings(); + public virtual void setGlobalHookSettings:(NSString* settings); +} + +protocol NativeRedBoxSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void dismiss(); + public virtual void setExtraData:forIdentifier:(NSDictionary* extraData, NSString* forIdentifier); +} + +protocol NativeSegmentFetcherSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void fetchSegment:options:callback:(double segmentId, NSDictionary* options, RCTResponseSenderBlock callback); + public virtual void getSegment:options:callback:(double segmentId, NSDictionary* options, RCTResponseSenderBlock callback); +} + +protocol NativeSettingsManagerSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual facebook::react::ModuleConstants constantsToExport(); + public virtual facebook::react::ModuleConstants getConstants(); + public virtual void deleteValues:(NSArray* values); + public virtual void setValues:(NSDictionary* values); +} + +protocol NativeShareModuleSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void share:dialogTitle:resolve:reject:(JS::NativeShareModule::SpecShareContent& content, NSString* dialogTitle, RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); +} + +protocol NativeSoundManagerSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void playTouchSound(); +} + +protocol NativeSourceCodeSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual facebook::react::ModuleConstants constantsToExport(); + public virtual facebook::react::ModuleConstants getConstants(); +} + +protocol NativeStatusBarManagerIOSSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual facebook::react::ModuleConstants constantsToExport(); + public virtual facebook::react::ModuleConstants getConstants(); + public virtual void addListener:(NSString* eventType); + public virtual void getHeight:(RCTResponseSenderBlock callback); + public virtual void removeListeners:(double count); + public virtual void setHidden:withAnimation:(BOOL hidden, NSString* withAnimation); + public virtual void setNetworkActivityIndicatorVisible:(BOOL visible); + public virtual void setStyle:animated:(NSString* _Nullable statusBarStyle, BOOL animated); +} + +protocol NativeTimingSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void createTimer:duration:jsSchedulingTime:repeats:(double callbackID, double duration, double jsSchedulingTime, BOOL repeats); + public virtual void deleteTimer:(double timerID); + public virtual void setSendIdleEvents:(BOOL sendIdleEvents); +} + +protocol NativeVibrationSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void cancel(); + public virtual void vibrate:(double pattern); + public virtual void vibrateByPattern:repeat:(NSArray* pattern, double repeat); +} + +protocol NativeWebSocketModuleSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void addListener:(NSString* eventName); + public virtual void close:reason:socketID:(double code, NSString* reason, double socketID); + public virtual void connect:protocols:options:socketID:(NSString* url, NSArray* _Nullable protocols, JS::NativeWebSocketModule::SpecConnectOptions& options, double socketID); + public virtual void ping:(double socketID); + public virtual void removeListeners:(double count); + public virtual void send:forSocketID:(NSString* message, double forSocketID); + public virtual void sendBinary:forSocketID:(NSString* base64String, double forSocketID); +} + +protocol RCTActivityIndicatorViewViewProtocol : public NSObject { +} + +protocol RCTAndroidDrawerLayoutViewProtocol : public NSObject { + public virtual void closeDrawer(); + public virtual void openDrawer(); +} + +protocol RCTAndroidHorizontalScrollContentViewViewProtocol : public NSObject { +} + +protocol RCTAndroidProgressBarViewProtocol : public NSObject { +} + +protocol RCTAndroidSwipeRefreshLayoutViewProtocol : public NSObject { + public virtual void setNativeRefreshing:(BOOL value); +} + +protocol RCTAndroidSwitchViewProtocol : public NSObject { + public virtual void setNativeValue:(BOOL value); +} + +protocol RCTAnimatedImage : public NSObject { + public @property (assign, readonly) NSUInteger animatedImageFrameCount; + public @property (assign, readonly) NSUInteger animatedImageLoopCount; + public virtual NSTimeInterval animatedImageDurationAtIndex:(NSUInteger index); + public virtual _Nullable UIImage* animatedImageFrameAtIndex:(NSUInteger index); +} + +protocol RCTAnimationDriver : public NSObject { + public @property (assign, readonly) BOOL animationHasBegun; + public @property (assign, readonly) BOOL animationHasFinished; + public @property (assign, readonly) NSNumber* animationId; + public @property (assign, readonly) RCTValueAnimatedNode* valueNode; + public virtual instancetype initWithId:config:forNode:callBack:(NSNumber* animationId, NSDictionary* config, RCTValueAnimatedNode* valueNode, _Nullable RCTResponseSenderBlock callback); + public virtual void resetAnimationConfig:(NSDictionary* config); + public virtual void startAnimation(); + public virtual void stepAnimationWithTime:(NSTimeInterval currentTime); + public virtual void stopAnimation(); +} + +protocol RCTArchConfiguratorProtocol { + public virtual BOOL bridgelessEnabled(); + public virtual BOOL fabricEnabled(); + public virtual BOOL newArchEnabled(); + public virtual BOOL turboModuleEnabled(); +} + +protocol RCTAutoInsetsProtocol { + public @property (assign) BOOL automaticallyAdjustContentInsets; + public @property (assign) UIEdgeInsets contentInset; + public virtual void refreshContentInset(); +} + +protocol RCTBackedTextInputDelegate : public NSObject { + public virtual BOOL textInputShouldBeginEditing(); + public virtual BOOL textInputShouldEndEditing(); + public virtual BOOL textInputShouldReturn(); + public virtual BOOL textInputShouldSubmitOnReturn(); + public virtual NSString* textInputShouldChangeText:inRange:(NSString* text, NSRange range); + public virtual void scrollViewDidScroll:(UIScrollView* scrollView); + public virtual void textInputDidBeginEditing(); + public virtual void textInputDidChange(); + public virtual void textInputDidChangeSelection(); + public virtual void textInputDidEndEditing(); + public virtual void textInputDidReturn(); +} + +protocol RCTBackedTextInputViewProtocol : public UITextInput { + public @property (assign) BOOL caretHidden; + public @property (assign) BOOL contextMenuHidden; + public @property (assign) BOOL disableKeyboardShortcuts; + public @property (assign) BOOL editable; + public @property (assign) BOOL enablesReturnKeyAutomatically; + public @property (assign) BOOL scrollEnabled; + public @property (assign) UIDataDetectorTypes dataDetectorTypes; + public @property (assign) UIEdgeInsets textContainerInset; + public @property (assign) UITextFieldViewMode clearButtonMode; + public @property (assign, readonly) BOOL dictationRecognizing; + public @property (assign, readonly) BOOL textWasPasted; + public @property (assign, readonly) CGFloat zoomScale; + public @property (assign, readonly) CGPoint contentOffset; + public @property (assign, readonly) CGSize contentSize; + public @property (assign, readonly) UIEdgeInsets contentInset; + public @property (copy) NSAttributedString* attributedText; + public @property (copy) NSDictionary* typingAttributes; + public @property (copy) NSString* placeholder; + public @property (strong) NSArray* acceptDragAndDropTypes; + public @property (strong) NSDictionary* defaultTextAttributes; + public @property (strong) NSString* inputAccessoryViewButtonLabel; + public @property (strong) NSString* inputAccessoryViewID; + public @property (strong) UIColor* placeholderColor; + public @property (strong) UIView* inputAccessoryView; + public @property (strong) UIView* inputView; + public @property (weak) id textInputDelegate; + public virtual void scrollRangeToVisible:(NSRange selectedTextRange); + public virtual void setSelectedTextRange:notifyDelegate:(_Nullable UITextRange* selectedTextRange, BOOL notifyDelegate); +} + +protocol RCTBridgeDelegate : public NSObject { + public virtual BOOL bridge:didNotFindModule:(RCTBridge* bridge, NSString* moduleName); + public virtual NSArray>* extraModulesForBridge:(RCTBridge* bridge); + public virtual NSDictionary* extraLazyModuleClassesForBridge:(RCTBridge* bridge); + public virtual NSURL* _Nullable sourceURLForBridge:(RCTBridge* bridge); + public virtual void loadSourceForBridge:onProgress:onComplete:(RCTBridge* bridge, RCTSourceLoadProgressBlock onProgress, RCTSourceLoadBlock loadCallback); + public virtual void loadSourceForBridge:withBlock:(RCTBridge* bridge, RCTSourceLoadBlock loadCallback); +} + +protocol RCTBridgeMethod : public NSObject { + public @property (assign, readonly) RCTFunctionType functionType; + public @property (assign, readonly) const char* JSMethodName; + public virtual id invokeWithBridge:module:arguments:(RCTBridge* bridge, id module, NSArray* arguments); +} + +protocol RCTBridgeModule : public NSObject { + public @property (strong, readonly) dispatch_queue_t methodQueue; + public @property (weak) RCTBundleManager* bundleManager; + public @property (weak) RCTCallableJSModules* callableJSModules; + public @property (weak) RCTModuleRegistry* moduleRegistry; + public @property (weak) RCTViewRegistry* viewRegistry_DEPRECATED; + public @property (weak, readonly) RCTBridge* bridge; + public virtual NSArray>* methodsToExport(); + public virtual NSDictionary* constantsToExport(); + public virtual static BOOL requiresMainQueueSetup(); + public virtual static NSString* moduleName(); + public virtual void batchDidComplete(); +} + +protocol RCTCallInvokerModule : public NSObject { + public @property (assign) RCTCallInvoker* callInvoker; +} + +protocol RCTComponent : public NSObject { + public @property (copy) NSNumber* reactTag; + public @property (copy) NSNumber* rootTag; + public virtual BOOL isReactRootView(); + public virtual NSArray>* reactSubviews(); + public virtual NSNumber* reactTagAtPoint:(CGPoint point); + public virtual id reactSuperview(); + public virtual void didSetProps:(NSArray* changedProps); + public virtual void didUpdateReactSubviews(); + public virtual void insertReactSubview:atIndex:(id subview, NSInteger atIndex); + public virtual void removeReactSubview:(id subview); +} + +protocol RCTComponentViewFactoryComponentProvider : public NSObject { + public virtual NSDictionary>* thirdPartyFabricComponents(); +} + +protocol RCTComponentViewProtocol : public NSObject { + public virtual BOOL isJSResponder(); + public virtual _Nullable NSSet* propKeysManagedByAnimated_DO_NOT_USE_THIS_IS_BROKEN(); + public virtual facebook::react::Props::Shared props(); + public virtual static facebook::react::ComponentDescriptorProvider componentDescriptorProvider(); + public virtual static std::vector supplementalComponentDescriptorProviders(); + public virtual void finalizeUpdates:(RNComponentViewUpdateMask updateMask); + public virtual void handleCommand:args:(const NSString* commandName, const NSArray* args); + public virtual void invalidate(); + public virtual void mountChildComponentView:index:(UIView* childComponentView, NSInteger index); + public virtual void prepareForRecycle(); + public virtual void setIsJSResponder:(BOOL isJSResponder); + public virtual void setPropKeysManagedByAnimated_DO_NOT_USE_THIS_IS_BROKEN:(_Nullable NSSet* props); + public virtual void unmountChildComponentView:index:(UIView* childComponentView, NSInteger index); + public virtual void updateEventEmitter:(const facebook::react::EventEmitter::Shared& eventEmitter); + public virtual void updateLayoutMetrics:oldLayoutMetrics:(const facebook::react::LayoutMetrics& layoutMetrics, const facebook::react::LayoutMetrics& oldLayoutMetrics); + public virtual void updateProps:oldProps:(const facebook::react::Props::Shared& props, const facebook::react::Props::Shared& oldProps); + public virtual void updateState:oldState:(const facebook::react::State::Shared& state, const facebook::react::State::Shared& oldState); +} + +protocol RCTContextContainerHandling : public NSObject { + public virtual void didCreateContextContainer:(std::shared_ptr contextContainer); +} + +protocol RCTCustomPullToRefreshViewProtocol { +} + +protocol RCTCustomRefreshContolProtocol : public RCTCustomRefreshControlProtocol { +} + +protocol RCTCustomRefreshControlProtocol { + public @property (assign, readonly) BOOL refreshing; + public @property (copy) RCTDirectEventBlock onRefresh; + public @property (weak) UIScrollView* scrollView; +} + +protocol RCTCxxBridgeDelegate : public RCTBridgeDelegate { + public virtual std::unique_ptr jsExecutorFactoryForBridge:(RCTBridge* bridge); +} + +protocol RCTDebuggingOverlayViewProtocol : public NSObject { + public virtual void clearElementsHighlights(); + public virtual void highlightElements:(const NSArray* elements); + public virtual void highlightTraceUpdates:(const NSArray* updates); +} + +protocol RCTDependencyProvider : public NSObject { + public virtual NSArray* URLRequestHandlerClassNames(); + public virtual NSArray* imageDataDecoderClassNames(); + public virtual NSArray* imageURLLoaderClassNames(); + public virtual NSArray* unstableModulesRequiringMainQueueSetup(); + public virtual NSDictionary>* thirdPartyFabricComponents(); + public virtual _Nonnull NSDictionary>* moduleProviders(); +} + +protocol RCTDevLoadingViewProtocol : public NSObject { + public virtual static void setEnabled:(BOOL enabled); + public virtual void hide(); + public virtual void showMessage:color:backgroundColor:dismissButton:(NSString* message, UIColor* color, UIColor* backgroundColor, BOOL dismissButton); + public virtual void showWithURL:(NSURL* URL); + public virtual void updateProgress:(RCTLoadingProgress* progress); +} + +protocol RCTDevSettingsDataSource : public NSObject { + public virtual id settingForKey:(NSString* key); + public virtual void updateSettingWithValue:forKey:(id value, NSString* key); +} + +protocol RCTDevSettingsInspectable : public NSObject { + public @property (assign) BOOL isInspectable; +} + +protocol RCTDisplayLinkModuleHolder { + public virtual Class moduleClass(); + public virtual dispatch_queue_t methodQueue(); + public virtual id instance(); +} + +protocol RCTDisplayRefreshable { + public virtual void displayDidRefresh:(CADisplayLink* displayLink); +} + +protocol RCTEnhancedScrollViewOverridingDelegate : public NSObject { + public virtual BOOL touchesShouldCancelInContentView:(UIView* view); +} + +protocol RCTErrorCustomizer : public NSObject { + public virtual _Nonnull RCTErrorInfo* customizeErrorInfo:(_Nonnull RCTErrorInfo* info); +} + +protocol RCTEvent : public NSObject { + public @property (assign, readonly) uint16_t coalescingKey; + public @property (copy, readonly) NSString* eventName; + public @property (strong, readonly) NSNumber* viewTag; + public virtual BOOL canCoalesce(); + public virtual NSArray* arguments(); + public virtual id coalesceWithEvent:(id newEvent); + public virtual static NSString* moduleDotMethod(); +} + +protocol RCTEventDispatcherObserver : public NSObject { + public virtual void eventDispatcherWillDispatchEvent:(id event); +} + +protocol RCTEventDispatcherProtocol : public RCTBridgeModule, public RCTJSDispatcherModule { + public virtual void addDispatchObserver:(id observer); + public virtual void notifyObserversOfEvent:(id event); + public virtual void removeDispatchObserver:(id observer); + public virtual void sendAppEventWithName:body:(NSString* name, id body); + public virtual void sendDeviceEventWithName:body:(NSString* name, id body); + public virtual void sendEvent:(id event); + public virtual void sendTextEventWithType:reactTag:text:key:eventCount:(RCTTextEventType type, NSNumber* reactTag, NSString* text, NSString* key, NSInteger eventCount); + public virtual void sendViewEventWithName:reactTag:(NSString* name, NSNumber* reactTag); +} + +protocol RCTExceptionsManagerDelegate : public NSObject { + public virtual NSDictionary* decorateJSExceptionData:(NSDictionary* exceptionData); + public virtual void handleFatalJSExceptionWithMessage:stack:exceptionId:extraDataAsJSON:(_Nullable NSString* message, _Nullable NSArray* stack, NSNumber* exceptionId, _Nullable NSString* extraDataAsJSON); + public virtual void handleSoftJSExceptionWithMessage:stack:exceptionId:extraDataAsJSON:(_Nullable NSString* message, _Nullable NSArray* stack, NSNumber* exceptionId, _Nullable NSString* extraDataAsJSON); +} + +protocol RCTFabricModalHostViewControllerDelegate : public NSObject { + public virtual void boundsDidChange:(CGRect newBounds); +} + +protocol RCTFrameUpdateObserver : public NSObjectNSObject { + public @property (assign, readonly) BOOL paused; + public @property (copy) dispatch_block_t pauseCallback; + public virtual void didUpdateFrame:(RCTFrameUpdate* update); +} + +protocol RCTHostDelegate : public NSObject { + public virtual NSArray* unstableModulesRequiringMainQueueSetup(); + public virtual void host:didInitializeRuntime:(RCTHost* host, facebook::jsi::Runtime& runtime); + public virtual void host:didReceiveJSErrorStack:message:originalMessage:name:componentStack:exceptionId:isFatal:extraData:(RCTHost* host, NSArray*>* stack, NSString* message, NSString* _Nullable originalMessage, NSString* _Nullable name, NSString* _Nullable componentStack, NSUInteger exceptionId, BOOL isFatal, NSDictionary* extraData); + public virtual void hostDidStart:(RCTHost* host); + public virtual void loadBundleAtURL:onProgress:onComplete:(NSURL* sourceURL, RCTSourceLoadProgressBlock onProgress, RCTSourceLoadBlock loadCallback); +} + +protocol RCTHostRuntimeDelegate : public NSObject { + public virtual void host:didInitializeRuntime:(RCTHost* host, facebook::jsi::Runtime& runtime); +} + +protocol RCTImageCache : public NSObject { + public virtual UIImage* imageForUrl:size:scale:resizeMode:(NSString* url, CGSize size, CGFloat scale, RCTResizeMode resizeMode); + public virtual void addImageToCache:URL:size:scale:resizeMode:response:(UIImage* image, NSString* url, CGSize size, CGFloat scale, RCTResizeMode resizeMode, NSURLResponse* response); +} + +protocol RCTImageDataDecoder : public RCTBridgeModule { + public virtual BOOL canDecodeImageData:(NSData* imageData); + public virtual RCTImageLoaderCancellationBlock decodeImageData:size:scale:resizeMode:completionHandler:(NSData* imageData, CGSize size, CGFloat scale, RCTResizeMode resizeMode, RCTImageLoaderCompletionBlock completionHandler); + public virtual float decoderPriority(); +} + +protocol RCTImageLoaderLoggable { + public virtual BOOL shouldEnablePerfLogging(); +} + +protocol RCTImageLoaderLoggableProtocol : public NSObject { + public virtual BOOL shouldEnablePerfLoggingForRequestUrl:(NSURL* url); +} + +protocol RCTImageLoaderProtocol : public RCTURLRequestHandler { + public @property (assign) NSUInteger maxConcurrentDecodingBytes; + public @property (assign) NSUInteger maxConcurrentDecodingTasks; + public @property (assign) NSUInteger maxConcurrentLoadingTasks; + public virtual NSDictionary* getImageCacheStatus:(NSArray* requests); + public virtual RCTImageLoaderCancellationBlock decodeImageData:size:scale:clipped:resizeMode:completionBlock:(NSData* imageData, CGSize size, CGFloat scale, BOOL clipped, RCTResizeMode resizeMode, RCTImageLoaderCompletionBlock completionBlock); + public virtual RCTImageLoaderCancellationBlock getImageSizeForURLRequest:block:(NSURLRequest* imageURLRequest, void(^)(NSError* error, CGSize size) completionBlock); + public virtual _Nullable RCTImageLoaderCancellationBlock loadImageWithURLRequest:callback:(NSURLRequest* imageURLRequest, RCTImageLoaderCompletionBlock callback); + public virtual _Nullable RCTImageLoaderCancellationBlock loadImageWithURLRequest:priority:callback:(NSURLRequest* imageURLRequest, RCTImageLoaderPriority priority, RCTImageLoaderCompletionBlock callback); + public virtual _Nullable RCTImageLoaderCancellationBlock loadImageWithURLRequest:size:scale:clipped:resizeMode:progressBlock:partialLoadBlock:completionBlock:(NSURLRequest* imageURLRequest, CGSize size, CGFloat scale, BOOL clipped, RCTResizeMode resizeMode, RCTImageLoaderProgressBlock progressBlock, RCTImageLoaderPartialLoadBlock partialLoadBlock, RCTImageLoaderCompletionBlock completionBlock); + public virtual void setImageCache:(id cache); +} + +protocol RCTImageLoaderWithAttributionProtocol : public RCTImageLoaderProtocol, public RCTImageLoaderLoggableProtocol { + public virtual RCTImageURLLoaderRequest* loadImageWithURLRequest:size:scale:clipped:resizeMode:priority:attribution:progressBlock:partialLoadBlock:completionBlock:(NSURLRequest* imageURLRequest, CGSize size, CGFloat scale, BOOL clipped, RCTResizeMode resizeMode, RCTImageLoaderPriority priority, const facebook::react::ImageURLLoaderAttribution& attribution, RCTImageLoaderProgressBlock progressBlock, RCTImageLoaderPartialLoadBlock partialLoadBlock, RCTImageLoaderCompletionBlockWithMetadata completionBlock); + public virtual void trackURLImageDidDestroy:(RCTImageURLLoaderRequest* loaderRequest); + public virtual void trackURLImageRequestDidDestroy:(RCTImageURLLoaderRequest* loaderRequest); + public virtual void trackURLImageVisibilityForRequest:imageView:(RCTImageURLLoaderRequest* loaderRequest, UIView* imageView); +} + +protocol RCTImageManagerProtocol : public NSObject { + public virtual facebook::react::ImageRequest requestImage:surfaceId:(facebook::react::ImageSource imageSource, facebook::react::SurfaceId surfaceId); +} + +protocol RCTImageRedirectProtocol { + public virtual NSURL* redirectAssetsURL:(NSURL* URL); +} + +protocol RCTImageResponseDelegate : public NSObject { + public virtual void didReceiveFailure:fromObserver:(NSError* error, const void* observer); + public virtual void didReceiveImage:metadata:fromObserver:(UIImage* image, id metadata, const void* observer); + public virtual void didReceiveProgress:loaded:total:fromObserver:(float progress, int64_t loaded, int64_t total, const void* observer); +} + +protocol RCTImageURLLoader : public RCTBridgeModule { + public virtual BOOL canLoadImageURL:(NSURL* requestURL); + public virtual BOOL requiresScheduling(); + public virtual BOOL shouldCacheLoadedImages(); + public virtual _Nullable RCTImageLoaderCancellationBlock loadImageForURL:size:scale:resizeMode:progressHandler:partialLoadHandler:completionHandler:(NSURL* imageURL, CGSize size, CGFloat scale, RCTResizeMode resizeMode, RCTImageLoaderProgressBlock progressHandler, RCTImageLoaderPartialLoadBlock partialLoadHandler, RCTImageLoaderCompletionBlock completionHandler); + public virtual _Nullable RCTImageLoaderCancellationBlock loadImageForURL:size:scale:resizeMode:progressHandler:partialLoadHandler:completionHandlerWithMetadata:(NSURL* imageURL, CGSize size, CGFloat scale, RCTResizeMode resizeMode, RCTImageLoaderProgressBlock progressHandler, RCTImageLoaderPartialLoadBlock partialLoadHandler, RCTImageLoaderCompletionBlockWithMetadata completionHandlerWithMetadata); + public virtual float loaderPriority(); +} + +protocol RCTImageURLLoaderWithAttribution : public NSObjectRCTImageURLLoader, public RCTImageLoaderLoggable { + public virtual RCTImageURLLoaderRequest* loadImageForURL:size:scale:resizeMode:requestId:priority:attribution:progressHandler:partialLoadHandler:completionHandler:(NSURL* imageURL, CGSize size, CGFloat scale, RCTResizeMode resizeMode, NSString* requestId, RCTImageLoaderPriority priority, const facebook::react::ImageURLLoaderAttribution& attribution, RCTImageLoaderProgressBlock progressHandler, RCTImageLoaderPartialLoadBlock partialLoadHandler, RCTImageLoaderCompletionBlockWithMetadata completionHandler); + public virtual void trackURLImageDidDestroy:(RCTImageURLLoaderRequest* loaderRequest); + public virtual void trackURLImageRequestDidDestroy:(RCTImageURLLoaderRequest* loaderRequest); + public virtual void trackURLImageVisibilityForRequest:imageView:(RCTImageURLLoaderRequest* loaderRequest, UIView* imageView); +} + +protocol RCTInitializing : public NSObject { + public virtual void initialize(); +} + +protocol RCTInputAccessoryViewProtocol : public NSObject { +} + +protocol RCTInstanceDelegate : public RCTContextContainerHandling { + public virtual BOOL instance:didReceiveJSErrorStack:message:originalMessage:name:componentStack:exceptionId:isFatal:extraData:(RCTInstance* instance, NSArray*>* stack, NSString* message, NSString* _Nullable originalMessage, NSString* _Nullable name, NSString* _Nullable componentStack, NSUInteger exceptionId, BOOL isFatal, NSDictionary* extraData); + public virtual NSArray* unstableModulesRequiringMainQueueSetup(); + public virtual void instance:didInitializeRuntime:(RCTInstance* instance, facebook::jsi::Runtime& runtime); + public virtual void loadBundleAtURL:onProgress:onComplete:(NSURL* sourceURL, RCTSourceLoadProgressBlock onProgress, RCTSourceLoadBlock loadCallback); +} + +protocol RCTInvalidating : public NSObject { + public virtual void invalidate(); +} + +protocol RCTJSDispatcherModule { + public @property (copy) void(^dispatchToJSThread)(dispatch_block_t block); +} + +protocol RCTJSRuntimeConfiguratorProtocol { + public virtual JSRuntimeFactoryRef createJSRuntimeFactory(); +} + +protocol RCTJavaScriptExecutor : public RCTInvalidating, public RCTBridgeModule { + public @property (assign, readonly) BOOL valid; + public virtual void callFunctionOnModule:method:arguments:callback:(NSString* module, NSString* method, NSArray* args, RCTJavaScriptCallback onComplete); + public virtual void executeApplicationScript:sourceURL:onComplete:(NSData* script, NSURL* sourceURL, RCTJavaScriptCompleteBlock onComplete); + public virtual void executeAsyncBlockOnJavaScriptQueue:(dispatch_block_t block); + public virtual void executeBlockOnJavaScriptQueue:(dispatch_block_t block); + public virtual void flushedQueue:(RCTJavaScriptCallback onComplete); + public virtual void injectJSONText:asGlobalObjectNamed:callback:(NSString* script, NSString* objectName, RCTJavaScriptCompleteBlock onComplete); + public virtual void invokeCallbackID:arguments:callback:(NSNumber* cbID, NSArray* args, RCTJavaScriptCallback onComplete); + public virtual void setUp(); +} + +protocol RCTLocalizationProtocol : public NSObject { + public virtual NSString* localizedString:withDescription:(NSString* oldString, NSString* description); +} + +protocol RCTModalHostViewInteractor : public NSObject { + public virtual void dismissModalHostView:withViewController:animated:(RCTModalHostView* modalHostView, RCTModalHostViewController* viewController, BOOL animated); + public virtual void presentModalHostView:withViewController:animated:(RCTModalHostView* modalHostView, RCTModalHostViewController* viewController, BOOL animated); +} + +protocol RCTModalHostViewViewProtocol : public NSObject { +} + +protocol RCTModuleDataCallInvokerProvider : public NSObject { + public virtual RCTCallInvoker* callInvokerForModuleData:(RCTModuleData* moduleData); +} + +protocol RCTModuleProvider : public NSObjectNSObject { + public virtual std::shared_ptr getTurboModule:(const facebook::react::ObjCTurboModule::InitParams& params); +} + +protocol RCTMountingManagerDelegate : public NSObject { + public virtual void mountingManager:didMountComponentsWithRootTag:(RCTMountingManager* mountingManager, ReactTag rootTag); + public virtual void mountingManager:willMountComponentsWithRootTag:(RCTMountingManager* mountingManager, ReactTag MountingManager); +} + +protocol RCTMountingTransactionObserving : public NSObject { + public virtual void mountingTransactionDidMount:withSurfaceTelemetry:(const facebook::react::MountingTransaction& transaction, const facebook::react::SurfaceTelemetry& surfaceTelemetry); + public virtual void mountingTransactionWillMount:withSurfaceTelemetry:(const facebook::react::MountingTransaction& transaction, const facebook::react::SurfaceTelemetry& surfaceTelemetry); +} + +protocol RCTNetworkingRequestHandler : public NSObject { + public virtual BOOL canHandleNetworkingRequest:(NSDictionary* data); + public virtual NSDictionary* handleNetworkingRequest:(NSDictionary* data); +} + +protocol RCTNetworkingResponseHandler : public NSObject { + public virtual BOOL canHandleNetworkingResponse:(NSString* responseType); + public virtual id handleNetworkingResponse:data:(NSURLResponse* response, NSData* data); +} + +protocol RCTPullToRefreshViewViewProtocol : public NSObject { + public virtual void setNativeRefreshing:(BOOL refreshing); +} + +protocol RCTReactNativeFactoryDelegate : public RCTBridgeDelegate, public RCTUIConfiguratorProtocol, public RCTHostDelegate, public RCTTurboModuleManagerDelegate, public RCTComponentViewFactoryComponentProvider, public RCTJSRuntimeConfiguratorProtocol, public RCTArchConfiguratorProtocol { + public @property (strong) id dependencyProvider; + public virtual NSDictionary>* thirdPartyFabricComponents(); + public virtual NSURL* _Nullable bundleURL(); + public virtual RCTBridge* createBridgeWithDelegate:launchOptions:(id delegate, NSDictionary* launchOptions); + public virtual UIView* createRootViewWithBridge:moduleName:initProps:(RCTBridge* bridge, NSString* moduleName, NSDictionary* initProps); +} + +protocol RCTRedBoxExtraDataActionDelegate : public NSObject { + public virtual void reload(); +} + +protocol RCTRefreshableProtocol { + public virtual void setRefreshing:(BOOL refreshing); +} + +protocol RCTReloadListener { + public virtual void didReceiveReloadCommand(); +} + +protocol RCTRendererInteropLayerAdapting { + public virtual UIView* paperView(); +} + +protocol RCTRootViewDelegate : public NSObject { + public virtual void rootViewDidChangeIntrinsicSize:(RCTRootView* rootView); +} + +protocol RCTSafeAreaViewViewProtocol : public NSObject { +} + +protocol RCTSchedulerDelegate { + public virtual void schedulerDidDispatchCommand:commandName:args:(const facebook::react::ShadowView& shadowView, const std::string& commandName, const folly::dynamic& args); + public virtual void schedulerDidFinishTransaction:(std::shared_ptr mountingCoordinator); + public virtual void schedulerDidSendAccessibilityEvent:eventType:(const facebook::react::ShadowView& shadowView, const std::string& eventType); + public virtual void schedulerDidSetIsJSResponder:blockNativeResponder:forShadowView:(BOOL isJSResponder, BOOL blockNativeResponder, const facebook::react::ShadowView& shadowView); + public virtual void schedulerDidSynchronouslyUpdateViewOnUIThread:props:(facebook::react::Tag reactTag, folly::dynamic props); + public virtual void schedulerShouldMergeReactRevision:(facebook::react::SurfaceId surfaceId); + public virtual void schedulerShouldRenderTransactions:(std::shared_ptr mountingCoordinator); +} + +protocol RCTScrollViewProtocol : public NSObject { + public virtual void flashScrollIndicators(); + public virtual void scrollTo:y:animated:(double x, double y, BOOL animated); + public virtual void scrollToEnd:(BOOL animated); + public virtual void zoomToRect:animated:(CGRect rect, BOOL animated); +} + +protocol RCTScrollableProtocol { + public @property (assign, readonly) CGSize contentSize; + public virtual void addScrollListener:(NSObject* scrollListener); + public virtual void removeScrollListener:(NSObject* scrollListener); + public virtual void scrollToEnd:(BOOL animated); + public virtual void scrollToOffset:(CGPoint offset); + public virtual void scrollToOffset:animated:(CGPoint offset, BOOL animated); + public virtual void zoomToRect:animated:(CGRect rect, BOOL animated); +} + +protocol RCTSurfaceDelegate : public NSObject { + public virtual void surface:didChangeIntrinsicSize:(RCTSurface* surface, CGSize intrinsicSize); + public virtual void surface:didChangeStage:(RCTSurface* surface, RCTSurfaceStage stage); +} + +protocol RCTSurfacePresenterObserver : public NSObject { + public virtual void didMountComponentsWithRootTag:(NSInteger rootTag); + public virtual void willMountComponentsWithRootTag:(NSInteger rootTag); +} + +protocol RCTSurfacePresenterStub : public NSObject { + public virtual _Nullable UIView* findComponentViewWithTag_DO_NOT_USE_DEPRECATED:(NSInteger tag); + public virtual id createFabricSurfaceForModuleName:initialProperties:(NSString* moduleName, NSDictionary* initialProperties); + public virtual void addObserver:(id observer); + public virtual void removeObserver:(id observer); + public virtual void synchronouslyUpdateViewOnUIThread:props:(NSNumber* reactTag, NSDictionary* props); +} + +protocol RCTSurfaceProtocol : public NSObject { + public @property (assign, readonly) CGSize intrinsicSize; + public @property (assign, readonly) NSInteger rootTag; + public @property (assign, readonly) NSNumber* rootViewTag; + public @property (assign, readonly) NSString* moduleName; + public @property (assign, readonly) RCTSurfaceStage stage; + public @property (copy) NSDictionary* properties; + public @property (weak) id delegate; + public virtual CGSize sizeThatFitsMinimumSize:maximumSize:(CGSize minimumSize, CGSize maximumSize); + public virtual RCTSurfaceView* view(); + public virtual void setMinimumSize:maximumSize:(CGSize minimumSize, CGSize maximumSize); + public virtual void setMinimumSize:maximumSize:viewportOffset:(CGSize minimumSize, CGSize maximumSize, CGPoint viewportOffset); + public virtual void start(); + public virtual void stop(); +} + +protocol RCTSurfaceRootShadowViewDelegate : public NSObject { + public virtual void rootShadowView:didChangeIntrinsicSize:(RCTSurfaceRootShadowView* rootShadowView, CGSize intrinsicSize); + public virtual void rootShadowViewDidStartLayingOut:(RCTSurfaceRootShadowView* rootShadowView); + public virtual void rootShadowViewDidStartRendering:(RCTSurfaceRootShadowView* rootShadowView); +} + +protocol RCTSwitchViewProtocol : public NSObject { + public virtual void setValue:(BOOL value); +} + +protocol RCTTextInputViewProtocol : public NSObject { + public virtual void blur(); + public virtual void focus(); + public virtual void setTextAndSelection:value:start:end:(NSInteger eventCount, NSString* _Nullable value, NSInteger start, NSInteger end); +} + +protocol RCTTimingDelegate { + public virtual void callIdleCallbacks:(NSNumber* absoluteFrameStartMS); + public virtual void callTimers:(NSArray* timers); + public virtual void immediatelyCallTimer:(NSNumber* callbackID); +} + +protocol RCTTouchableComponentViewProtocol : public NSObject { + public virtual facebook::react::SharedTouchEventEmitter touchEventEmitterAtPoint:(CGPoint point); +} + +protocol RCTTurboModule : public RCTModuleProvider { + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +protocol RCTTurboModuleManagerDelegate : public NSObject { + public virtual Class getModuleClassFromName:(const char* name); + public virtual NSArray>* extraModulesForBridge:((deprecated("Please make all native modules returned from this method TurboModule-compatible.")) __attribute); + public virtual id getModuleProvider:(const char* name); + public virtual id getModuleInstanceFromClass:(Class moduleClass); + public virtual std::shared_ptr getTurboModule:jsInvoker:(const std::string& name, std::shared_ptr jsInvoker); +} + +protocol RCTTurboModuleRegistry : public NSObject { + public virtual BOOL moduleIsInitialized:(const char* moduleName); + public virtual id moduleForName:(const char* moduleName); + public virtual id moduleForName:warnOnLookupFailure:(const char* moduleName, BOOL warnOnLookupFailure); +} + +protocol RCTTurboModuleWithJSIBindings : public NSObject { + public virtual void installJSIBindingsWithRuntime:(facebook::jsi::Runtime& runtime); + public virtual void installJSIBindingsWithRuntime:callInvoker:(facebook::jsi::Runtime& runtime, const std::shared_ptr& callinvoker); +} + +protocol RCTUIConfiguratorProtocol { + public virtual RCTColorSpace defaultColorSpace(); + public virtual UIViewController* createRootViewController(); + public virtual void customizeRootView:(RCTRootView* rootView); + public virtual void setRootView:toRootViewController:(UIView* rootView, UIViewController* rootViewController); +} + +protocol RCTUIManagerObserver : public NSObject { + public virtual BOOL uiManager:performMountingWithBlock:(RCTUIManager* manager, RCTUIManagerMountingBlock block); + public virtual void uiManagerDidPerformLayout:(RCTUIManager* manager); + public virtual void uiManagerDidPerformMounting:(RCTUIManager* manager); + public virtual void uiManagerWillPerformLayout:(RCTUIManager* manager); + public virtual void uiManagerWillPerformMounting:(RCTUIManager* manager); +} + +protocol RCTURLRequestDelegate : public NSObject { + public virtual void URLRequest:didCompleteWithError:(id requestToken, NSError* error); + public virtual void URLRequest:didReceiveData:(id requestToken, NSData* data); + public virtual void URLRequest:didReceiveResponse:(id requestToken, NSURLResponse* response); + public virtual void URLRequest:didSendDataWithProgress:(id requestToken, int64_t bytesSent); +} + +protocol RCTURLRequestHandler : public RCTBridgeModule { + public virtual BOOL canHandleRequest:(NSURLRequest* request); + public virtual float handlerPriority(); + public virtual id sendRequest:withDelegate:(NSURLRequest* request, id delegate); + public virtual void cancelRequest:(id requestToken); +} + +protocol RCTUnimplementedNativeViewViewProtocol : public NSObject { +} + +protocol RCTValueAnimatedNodeObserver : public NSObject { + public virtual void animatedNode:didUpdateValue:(RCTValueAnimatedNode* node, CGFloat value); +} + +protocol RCTVirtualViewContainerProtocol { + public virtual RCTVirtualViewContainerState* virtualViewContainerState(); +} + +protocol RCTVirtualViewExperimentalViewProtocol : public NSObject { +} + +protocol RCTVirtualViewProtocol : public NSObject { + public virtual CGRect containerRelativeRect:(UIView* view); + public virtual NSString* virtualViewID(); + public virtual void onModeChange:targetRect:thresholdRect:(RCTVirtualViewMode newMode, CGRect targetRect, CGRect thresholdRect); +} + +protocol RCTVirtualViewViewProtocol : public NSObject { +} + +protocol RCTWebSocketContentHandler : public NSObject { + public virtual id processWebsocketMessage:forSocketID:withType:(id _Nullable message, NSNumber* socketID, NSString* _Nonnull __autoreleasing* _Nonnull type); +} + +struct RCTBorderColors { + public UIColor* bottom; + public UIColor* left; + public UIColor* right; + public UIColor* top; +} + +struct RCTCornerInsets { + public CGSize bottomLeft; + public CGSize bottomRight; + public CGSize topLeft; + public CGSize topRight; +} + +struct RCTCornerRadii { + public CGFloat bottomLeftHorizontal; + public CGFloat bottomLeftVertical; + public CGFloat bottomRightHorizontal; + public CGFloat bottomRightVertical; + public CGFloat topLeftHorizontal; + public CGFloat topLeftVertical; + public CGFloat topRightHorizontal; + public CGFloat topRightVertical; +} + +struct RCTFontProperties { + public CGFloat size; + public CGFloat sizeMultiplier; + public NSString* family; + public RCTFontStyle style; + public RCTFontVariant variant; + public UIFontWeight weight; +} + +struct RCTLayoutContext { + public CGPoint absolutePosition; + public __unsafe_unretained NSHashTable* _Nonnull other; + public __unsafe_unretained NSPointerArray* _Nonnull affectedShadowViews; +} + +struct RCTLayoutMetrics { + public CGRect contentFrame; + public CGRect frame; + public RCTDisplayType displayType; + public UIEdgeInsets borderWidth; + public UIUserInterfaceLayoutDirection layoutDirection; +} + +struct RCTMethodInfo { + public const BOOL isSync; + public const char* const jsName; + public const char* const objcName; +} + +struct RCTTransformOrigin { + public CGFloat z; + public YGValue x; + public YGValue y; +} + +struct YGConfig { +} + +struct YGNode { +} + +struct YGSize { + public float height; + public float width; +} + +struct YGValue { + public YGUnit unit; + public float value; +} + +template +class TinyMap { + public TinyMap::Iterator begin(); + public TinyMap::Iterator end(); + public TinyMap::Iterator find(KeyT key); + public using Iterator = TinyMap::Pair*; + public using Pair = std::pair; + public void erase(TinyMap::Iterator iterator); + public void insert(TinyMap::Pair pair); +} + +template +struct RCTRequired { + public RCTRequired& operator=(RCTRequired&&) = default; + public RCTRequired& operator=(const RCTRequired&) = default; + public RCTRequired(RCTRequired&&) = default; + public RCTRequired(const RCTRequired&) = default; + public T& get(); + public const T& get() const; + public operator T&(); + public operator T() const; + public ~RCTRequired() = default; + template + public RCTRequired(Args &&... args); +} + + +bool facebook::xplat::jsArgAsBool(const folly::dynamic& args, size_t n); +double facebook::xplat::jsArgAsDouble(const folly::dynamic& args, size_t n); +int64_t facebook::xplat::jsArgAsInt(const folly::dynamic& args, size_t n); +std::string facebook::xplat::jsArgAsString(const folly::dynamic& args, size_t n); +template +R facebook::xplat::jsArg(const folly::dynamic& arg, R(folly::dynamic::*asFoo)() const &, const T &... desc); +template +R facebook::xplat::jsArg(const folly::dynamic& arg, R(folly::dynamic::*asFoo)() const, const T &... desc); +template +R facebook::xplat::jsArgN(const folly::dynamic& args, size_t n, R(folly::dynamic::*asFoo)() const &); +template +R facebook::xplat::jsArgN(const folly::dynamic& args, size_t n, R(folly::dynamic::*asFoo)() const); +template +facebook::xplat::detail::is_dynamic::type& facebook::xplat::jsArgAsArray(T&& args, size_t n); +template +facebook::xplat::detail::is_dynamic::type& facebook::xplat::jsArgAsDynamic(T&& args, size_t n); +template +facebook::xplat::detail::is_dynamic::type& facebook::xplat::jsArgAsObject(T&& args, size_t n); + +class facebook::xplat::JsArgumentException : public std::logic_error { + public JsArgumentException(const std::string& msg); +} + + +class facebook::xplat::module::CxxModule { + public static constexpr AsyncTagType AsyncTag; + public static constexpr SyncTagType SyncTag; + public std::weak_ptr getInstance(); + public using Callback = std::function)>; + public using Provider = std::function()>; + public virtual std::map getConstants(); + public virtual std::string getName() = 0; + public virtual std::vector getMethods() = 0; + public virtual ~CxxModule() = default; + public void setInstance(std::weak_ptr instance); +} + +struct facebook::xplat::module::CxxModule::Method { + public Method(std::string aname, std::function&& afunc, SyncTagType); + public Method(std::string aname, std::function&& afunc, SyncTagType); + public Method(std::string aname, std::function&& afunc); + public Method(std::string aname, std::function&& afunc); + public Method(std::string aname, std::function&& afunc); + public Method(std::string aname, std::function&& afunc); + public Method(std::string aname, std::function&& afunc, AsyncTagType); + public bool isPromise; + public const char* getType(); + public size_t callbacks; + public std::function syncFunc; + public std::function func; + public std::string name; + template + public Method(std::string aname, T* t, void(T::*method)()); + template + public Method(std::string aname, T* t, void(T::*method)(folly::dynamic)); + template + public Method(std::string aname, T* t, void(T::*method)(folly::dynamic, facebook::xplat::module::CxxModule::Callback)); + template + public Method(std::string aname, T* t, void(T::*method)(folly::dynamic, facebook::xplat::module::CxxModule::Callback, facebook::xplat::module::CxxModule::Callback)); + template + public Method(std::string aname, T* t, void(T::*method)(folly::dynamic, facebook::xplat::module::CxxModule::Callback, facebook::xplat::module::CxxModule::Callback), AsyncTagType); +} + + +std::string facebook::xplat::detail::toStringHelper(); +template +R facebook::xplat::detail::jsArg1(const folly::dynamic& arg, M asFoo, const T &... desc); +template +std::string facebook::xplat::detail::toStringHelper(const T& value, const Rest &... rest); +template +facebook::xplat::detail::is_dynamic::type& facebook::xplat::detail::jsArgAsType(T&& args, size_t n, const char* required, bool(folly::dynamic::*isFoo)() const); +template +std::string facebook::xplat::detail::toStringHelper(const char* value, const Rest &... rest); + +template +struct facebook::xplat::detail::is_dynamic { + public using type = typename std::enable_if::value, T>::type; +} + + +class facebook::hermes::IHermes : public facebook::jsi::ICast { + protected ~IHermes() = default; + public static constexpr facebook::jsi::UUID uuid; + public virtual ICast* getHermesRootAPI() = 0; + public virtual SHRuntime* getSHRuntime() noexcept = 0; + public virtual const hermes::vm::GCExecTrace& getGCExecTrace() const = 0; + public virtual debugger::Debugger& getDebugger() = 0; + public virtual facebook::jsi::Value evaluateJavaScriptWithSourceMap(const std::shared_ptr& buffer, const std::shared_ptr& sourceMapBuf, const std::string& sourceURL) = 0; + public virtual facebook::jsi::Value evaluateSHUnit(SHUnitCreator shUnitCreator) = 0; + public virtual facebook::jsi::Value getObjectForID(uint64_t id) = 0; + public virtual sampling_profiler::Profile dumpSampledTraceToProfile() = 0; + public virtual std::string getIOTrackingInfoJSON() = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::BigInt& s) const = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::Object& o) const = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::PropNameID& pni) const = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::String& s) const = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::Symbol& sym) const = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::Value& val) const = 0; + public virtual void asyncTriggerTimeout() = 0; + public virtual void debugJavaScript(const std::string& src, const std::string& sourceURL, const facebook::hermes::IHermes::DebugFlags& debugFlags) = 0; + public virtual void loadSegment(std::unique_ptr buffer, const facebook::jsi::Value& context) = 0; + public virtual void registerForProfiling() = 0; + public virtual void resetTimezoneCache() = 0; + public virtual void sampledTraceToStreamInDevToolsFormat(std::ostream& stream) = 0; + public virtual void unregisterForProfiling() = 0; + public virtual void unwatchTimeLimit() = 0; + public virtual void watchTimeLimit(uint32_t timeoutInMs) = 0; + public virtual void* getVMRuntimeUnsafe() const = 0; +} + +struct facebook::hermes::IHermes::DebugFlags { +} + +class facebook::hermes::IHermesSHUnit : public facebook::jsi::ICast { + protected ~IHermesSHUnit() = default; + public static constexpr facebook::jsi::UUID uuid; + public virtual SHUnitCreator getSHUnitCreator() const = 0; +} + + +const char facebook::react::AndroidProgressBarComponentName[]; +const char facebook::react::AndroidSwitchComponentName[]; +const char facebook::react::AppleSwitchComponentName[]; +const char facebook::react::ImageComponentName[]; +const char facebook::react::ImageManagerKey[]; +const char facebook::react::InputAccessoryComponentName[]; +const char facebook::react::LegacyViewManagerAndroidInteropComponentName[]; +const char facebook::react::LegacyViewManagerInteropComponentName[]; +const char facebook::react::ModalHostViewComponentName[]; +const char facebook::react::ParagraphComponentName[]; +const char facebook::react::RawTextComponentName[]; +const char facebook::react::RootComponentName[]; +const char facebook::react::RuntimeSchedulerKey[]; +const char facebook::react::SafeAreaViewComponentName[]; +const char facebook::react::ScrollViewComponentName[]; +const char facebook::react::TextComponentName[]; +const char facebook::react::TextInputComponentName[]; +const char facebook::react::UnimplementedViewComponentName[]; +const char facebook::react::ViewComponentName[]; +const facebook::react::EventTag facebook::react::EMPTY_EVENT_TAG; +constexpr auto facebook::react::kSimpleThreadSafeCacheSizeCap; +constexpr char facebook::react::LayoutConformanceShadowNodeComponentName[]; +constexpr char facebook::react::VirtualViewComponentName[]; +constexpr char* const facebook::react::TextLayoutManagerKey; +constexpr facebook::react::HighResDuration facebook::react::DEFAULT_DURATION_THRESHOLD; +constexpr facebook::react::HighResDuration facebook::react::LONG_TASK_DURATION_THRESHOLD; +constexpr facebook::react::ReactNativeVersionType facebook::react::ReactNativeVersion; +constexpr float facebook::react::kDefaultEpsilon; +constexpr size_t facebook::react::EVENT_BUFFER_SIZE; +constexpr size_t facebook::react::LONG_TASK_BUFFER_SIZE; +constexpr size_t facebook::react::RESOURCE_TIMING_BUFFER_SIZE; +constexpr uint32_t facebook::react::INITIAL_BUCKETS_SIZE; +static const facebook::react::LayoutMetrics facebook::react::EmptyLayoutMetrics; +static const facebook::react::TelemetryTimePoint facebook::react::kTelemetryUndefinedTimePoint; +static const int facebook::react::NO_VIEW_TAG; +static constexpr auto facebook::react::kPropNameLengthHardCap; +static constexpr double facebook::react::SingleFrameIntervalMs; +static constexpr double facebook::react::TicksPerMs; +static constexpr facebook::react::RawPropsValueIndex facebook::react::kRawPropsValueIndexEmpty; +static constexpr std::string_view facebook::react::ExtrapolateTypeClamp; +static constexpr std::string_view facebook::react::ExtrapolateTypeExtend; +static constexpr std::string_view facebook::react::ExtrapolateTypeIdentity; +template +using facebook::react::CSSCompoundDataType = std::variant; +template +using facebook::react::CSSCommaSeparatedList = facebook::react::CSSList; +template +using facebook::react::CSSWhitespaceSeparatedList = facebook::react::CSSList; +template +using facebook::react::CSSMergedDataTypes = typename facebook::react::detail::merge_data_types::type; +template +using facebook::react::CSSVariantWithTypes = typename facebook::react::detail::merge_variant::type; +template +using facebook::react::LazyVector = FB::LazyVector; +template +using facebook::react::ModuleConstants = _RCTTypedModuleConstants*; +template +using facebook::react::EventListenerT = std::function; +typedef std::function facebook::react::ValueListenerCallback; +typedef void(*facebook::react::WarnOnUsageLogger)(std::string message); +using facebook::react::ActivePointerRegistry = std::unordered_map; +using facebook::react::ActivityIndicatorViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::ActivityIndicatorViewShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::ActivityIndicatorViewState = facebook::react::StateData; +using facebook::react::AndroidDrawerLayoutComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::AndroidDrawerLayoutShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::AndroidDrawerLayoutState = facebook::react::StateData; +using facebook::react::AndroidSwipeRefreshLayoutComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::AndroidSwipeRefreshLayoutShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::AndroidSwipeRefreshLayoutState = facebook::react::StateData; +using facebook::react::AnimationEndCallback = facebook::react::AsyncCallback; +using facebook::react::AnimationTimestamp = std::chrono::duration; +using facebook::react::BackgroundExecutor = std::function&& callback)>; +using facebook::react::BackgroundImage = std::variant; +using facebook::react::BackgroundSize = std::variant; +using facebook::react::BorderColors = facebook::react::RectangleEdges; +using facebook::react::BorderCurves = facebook::react::RectangleCorners; +using facebook::react::BorderRadii = facebook::react::RectangleCorners; +using facebook::react::BorderStyles = facebook::react::RectangleEdges; +using facebook::react::BorderWidths = facebook::react::RectangleEdges; +using facebook::react::CSSBackgroundImage = facebook::react::CSSCompoundDataType; +using facebook::react::CSSBackgroundImageList = facebook::react::CSSCommaSeparatedList; +using facebook::react::CSSFilterFunction = facebook::react::CSSCompoundDataType; +using facebook::react::CSSFilterList = facebook::react::CSSWhitespaceSeparatedList; +using facebook::react::CSSFontVariantList = facebook::react::CSSWhitespaceSeparatedList; +using facebook::react::CSSLengthPercentage = facebook::react::CSSCompoundDataType; +using facebook::react::CSSPreservedToken = facebook::react::CSSToken; +using facebook::react::CSSRadialGradientSize = std::variant; +using facebook::react::CSSShadowList = facebook::react::CSSCommaSeparatedList; +using facebook::react::CSSTransformFunction = facebook::react::CSSCompoundDataType; +using facebook::react::CSSTransformList = facebook::react::CSSWhitespaceSeparatedList; +using facebook::react::CallFunc = std::function; +using facebook::react::Callback = std::function; +using facebook::react::CallbackHandle = facebook::jsi::Object; +using facebook::react::CallbackId = uint64_t; +using facebook::react::CaptureTargetOverrideRegistry = std::unordered_map>; +using facebook::react::CascadedBorderColors = facebook::react::CascadedRectangleEdges; +using facebook::react::CascadedBorderCurves = facebook::react::CascadedRectangleCorners; +using facebook::react::CascadedBorderRadii = facebook::react::CascadedRectangleCorners; +using facebook::react::CascadedBorderStyles = facebook::react::CascadedRectangleEdges; +using facebook::react::CascadedBorderWidths = facebook::react::CascadedRectangleEdges; +using facebook::react::ComponentDescriptorConstructor = facebook::react::ComponentDescriptor::Unique(const facebook::react::ComponentDescriptorParameters& parameters); +using facebook::react::ComponentDescriptorProviderRequest = std::function; +using facebook::react::ComponentHandle = int64_t; +using facebook::react::ComponentName = const char*; +using facebook::react::ComponentRegistryFactory = std::function& contextContainer)>; +using facebook::react::CornerInsets = facebook::react::RectangleCorners; +using facebook::react::CrashManagerProvider = std::function()>; +using facebook::react::DebuggingOverlayComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::DebuggingOverlayShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::DebuggingOverlayState = facebook::react::StateData; +using facebook::react::DispatchEvent = std::function; +using facebook::react::EdgeInsets = facebook::react::RectangleEdges; +using facebook::react::EndResult = facebook::react::NativeAnimatedTurboModuleEndResult, std::optional>; +using facebook::react::EventEmitterCallback = std::function; +using facebook::react::EventEmitterListener = facebook::react::EventListenerT; +using facebook::react::EventEmitterListenerContainer = facebook::react::EventListenerContainerT; +using facebook::react::EventListener = std::function; +using facebook::react::EventPipe = std::function; +using facebook::react::EventPipeConclusion = std::function; +using facebook::react::EventTag = unsigned int; +using facebook::react::Float = CGFloat; +using facebook::react::GarbageCollectionTrigger = std::function; +using facebook::react::GradientDirection = std::variant; +using facebook::react::HasComponentProviderFunctionType = std::function; +using facebook::react::Headers = std::map; +using facebook::react::HostPlatformTouch = facebook::react::BaseTouch; +using facebook::react::HostPlatformViewEventEmitter = facebook::react::BaseViewEventEmitter; +using facebook::react::ImageSources = std::vector; +using facebook::react::InteractionTypesMap = std::unordered_map; +using facebook::react::IntersectionObserverObserverId = int32_t; +using facebook::react::JSIScopedTimeoutInvoker = std::function& invokee, std::function errorMessageProducer)>; +using facebook::react::LayoutConformanceComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::LegacyViewManagerAndroidInteropShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::LegacyViewManagerInteropShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::LineMeasureCache = facebook::react::SimpleThreadSafeCache; +using facebook::react::LinesMeasurements = std::vector; +using facebook::react::Logger = std::function; +using facebook::react::MeasureInWindowOnSuccessCallback = facebook::react::SyncCallback; +using facebook::react::MeasureLayoutOnSuccessCallback = facebook::react::SyncCallback; +using facebook::react::MeasureOnSuccessCallback = facebook::react::SyncCallback; +using facebook::react::MethodCallResult = std::optional; +using facebook::react::ModalHostViewSupportedOrientationsMask = uint32_t; +using facebook::react::MountingTransactionCallback = std::function; +using facebook::react::MutationObserverId = int32_t; +using facebook::react::NativeIntersectionObserverEntry = facebook::react::NativeIntersectionObserverNativeIntersectionObserverEntry; +using facebook::react::NativeIntersectionObserverIntersectionObserverId = int32_t; +using facebook::react::NativeIntersectionObserverObserveOptions = facebook::react::NativeIntersectionObserverNativeIntersectionObserverObserveOptions>, std::shared_ptr, std::vector, std::optional>, std::optional>; +using facebook::react::NativeMethodCallFunc = std::function; +using facebook::react::NativeMutationObserverObserveOptions = facebook::react::NativeMutationObserverNativeMutationObserverObserveOptions, bool>; +using facebook::react::NativeMutationRecord = facebook::react::NativeMutationObserverNativeMutationRecord, std::vector>; +using facebook::react::NativePartialReloadAndProfileConfig = facebook::react::NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfig, std::optional>; +using facebook::react::NativePerformancePerformanceObserverCallback = facebook::react::AsyncCallback<>; +using facebook::react::NativePerformancePerformanceObserverObserveOptions = facebook::react::NativePerformancePerformanceObserverInit>, std::optional, std::optional, std::optional>; +using facebook::react::NativeReloadAndProfileConfig = facebook::react::NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfig; +using facebook::react::NativeRequestIdleCallbackOptions = facebook::react::NativeIdleCallbacksRequestIdleCallbackOptions>; +using facebook::react::OnMutations = std::function&)>; +using facebook::react::ParagraphProps = HostPlatformParagraphProps; +using facebook::react::PerformanceEntry = std::variant; +using facebook::react::PerformanceEntryInteractionId = uint32_t; +using facebook::react::PerformanceObserverCallback = std::function; +using facebook::react::PerformanceObserverEntryTypeFilter = std::unordered_set; +using facebook::react::PointerHoverTrackerRegistry = std::unordered_map; +using facebook::react::PointerIdentifier = int32_t; +using facebook::react::PromiseSetupFunctionType = std::function)>; +using facebook::react::PullToRefreshViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::PullToRefreshViewShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::PullToRefreshViewState = facebook::react::StateData; +using facebook::react::RawCallback = std::function; +using facebook::react::RawPropsPropNameHash = uint32_t; +using facebook::react::RawPropsPropNameLength = uint16_t; +using facebook::react::RawPropsValueIndex = uint16_t; +using facebook::react::RawTextComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::RectAsTuple = std::tuple; +using facebook::react::RootComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::RuntimeExecutor = std::function&& callback)>; +using facebook::react::RuntimeSchedulerRenderingUpdate = std::function; +using facebook::react::RuntimeSchedulerTaskErrorHandler = std::function; +using facebook::react::ScrollViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::ScrollViewProps = HostPlatformScrollViewProps; +using facebook::react::ShadowTreeCommitTransaction = std::function; +using facebook::react::ShadowViewMutationList = std::vector; +using facebook::react::SharedComponentDescriptor = std::shared_ptr; +using facebook::react::SharedComponentDescriptorRegistry = std::shared_ptr; +using facebook::react::SharedEventEmitter = std::shared_ptr; +using facebook::react::SharedEventPayload = std::shared_ptr; +using facebook::react::SharedEventTarget = std::shared_ptr; +using facebook::react::SharedParagraphAttributes = std::shared_ptr; +using facebook::react::SharedRawTextProps = std::shared_ptr; +using facebook::react::SharedScrollViewProps = std::shared_ptr; +using facebook::react::SharedShadowNodeFamily = std::shared_ptr; +using facebook::react::SharedTextAttributes = std::shared_ptr; +using facebook::react::SharedTouchEventEmitter = std::shared_ptr; +using facebook::react::SharedViewEventEmitter = std::shared_ptr; +using facebook::react::SharedViewProps = std::shared_ptr; +using facebook::react::SnapshotMap = std::unordered_map>; +using facebook::react::StatePipe = std::function; +using facebook::react::SurfaceId = int32_t; +using facebook::react::Tag = int32_t; +using facebook::react::TelemetryClock = std::chrono::steady_clock; +using facebook::react::TelemetryDuration = std::chrono::nanoseconds; +using facebook::react::TelemetryTimePoint = facebook::react::TelemetryClock::time_point; +using facebook::react::TextComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::TextEventEmitter = facebook::react::TouchEventEmitter; +using facebook::react::TextLayoutManagerExtended = facebook::react::detail::TextLayoutManagerExtended; +using facebook::react::TextMeasureCache = facebook::react::SimpleThreadSafeCache; +using facebook::react::TimePointFunction = std::chrono::steady_clock::time_point(*)(); +using facebook::react::TimerHandle = int; +using facebook::react::TimerManagerDelegate = facebook::react::PlatformTimerRegistry; +using facebook::react::Touch = facebook::react::HostPlatformTouch; +using facebook::react::Touches = std::unordered_set; +using facebook::react::TraceSectionUnwrapped = facebook::react::DummyTraceSection; +using facebook::react::TurboModuleProviderFunctionTypeWithRuntime = std::function(facebook::jsi::Runtime& runtime, const std::string& name)>; +using facebook::react::UiTask = std::function; +using facebook::react::UnimplementedNativeViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::UnimplementedNativeViewShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::UnimplementedNativeViewState = facebook::react::StateData; +using facebook::react::UnimplementedViewShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::UserTimingDetailProvider = std::function; +using facebook::react::ValueFactory = std::function; +using facebook::react::ViewEventEmitter = facebook::react::HostPlatformViewEventEmitter; +using facebook::react::ViewNodePairScope = std::deque; +using facebook::react::ViewProps = facebook::react::HostPlatformViewProps; +using facebook::react::VirtualViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::parsePlatformColorFn = facebook::react::SharedColor(*)(const facebook::react::ContextContainer&, int32_t, const facebook::react::RawValue&); +template +concept facebook::react::CacheGeneratorFunction = std::invocable && std::same_as, ValueT>; +template +concept facebook::react::CSSUniqueComponentValueVisitors = CSSSyntaxVisitorReturn&& (CSSComponentValueVisitor && ...) && + ((CSSFunctionVisitor ? 1 : 0) + ... + 0) <= 1&& + ((CSSPreservedTokenVisitor ? 1 : 0) + ... + 0) <= 1&& + ((CSSSimpleBlockVisitor ? 1 : 0) + ... + 0) <= 1; +template +concept facebook::react::CSSFunctionBlockSink = requires(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser) { + { T::consumeFunctionBlock(func, parser) } -> std::convertible_to; +}; +template +concept facebook::react::CSSParserSink = requires(facebook::react::CSSValueParser& parser) { + { T::consume(parser) } -> std::convertible_to; +}; +template +concept facebook::react::CSSPreservedTokenSink = requires(const facebook::react::CSSPreservedToken& token) { + { T::consumePreservedToken(token) } -> std::convertible_to; +}; +template +concept facebook::react::CSSSimpleBlockSink = requires(const facebook::react::CSSSimpleBlock& block, facebook::react::CSSValueParser& parser) { + { T::consumeSimpleBlock(block, parser) } -> std::convertible_to; +}; +template +concept facebook::react::CSSValidDataTypeParser = ((CSSFunctionBlockSink || CSSSimpleBlockSink || CSSPreservedTokenSink) && + !CSSParserSink) || +CSSParserSink; +template +concept facebook::react::CSSComponentValueVisitor = CSSSyntaxVisitorReturn&& + (CSSFunctionVisitor || CSSPreservedTokenVisitor || CSSSimpleBlockVisitor); +template +concept facebook::react::CSSFunctionVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSFunctionBlock func, facebook::react::CSSSyntaxParser& blockParser) { + { visitor(func, blockParser) } -> std::convertible_to; +}; +template +concept facebook::react::CSSPreservedTokenVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSPreservedToken token) { + { visitor(token) } -> std::convertible_to; +}; +template +concept facebook::react::CSSSimpleBlockVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSSimpleBlock block, facebook::react::CSSSyntaxParser& blockParser) { + { visitor(block, blockParser) } -> std::convertible_to; +}; +template +concept facebook::react::CSSDataType = CSSValidDataTypeParser, std::optional> && std::equality_comparable; +template +concept facebook::react::CSSKeywordSet = std::is_enum_v && std::is_same_v, std::underlying_type_t>; +template +concept facebook::react::CSSMaybeCompoundDataType = CSSDataType || CSSValidCompoundDataType; +template +concept facebook::react::CSSSyntaxVisitorReturn = std::is_default_constructible_v && std::equality_comparable; +template +concept facebook::react::CSSValidCompoundDataType = facebook::react::detail::is_variant_of_data_types::value; +template +concept facebook::react::Hashable = !std::is_same_v&& (requires(T a) { + { std::hash{}(a) } -> std::convertible_to; +}); +template +concept facebook::react::RawPropsFilterable = requires(facebook::react::RawProps& rawProps) { + { T::filterRawProps(rawProps) } -> std::same_as; +}; +template +concept facebook::react::TextLayoutManagerWithPreparedTextLayout = requires( + TextLayoutManagerT textLayoutManager, + facebook::react::AttributedString attributedString, + facebook::react::ParagraphAttributes paragraphAttributes, + facebook::react::TextLayoutContext layoutContext, + facebook::react::LayoutConstraints layoutConstraints, + typename TextLayoutManagerT::PreparedTextLayout preparedTextLayout) { + sizeof(typename TextLayoutManagerT::PreparedTextLayout); + { + textLayoutManager.prepareLayout(attributedString, paragraphAttributes, layoutContext, layoutConstraints) + } -> std::same_as; + { + textLayoutManager.measurePreparedLayout(preparedTextLayout, layoutContext, layoutConstraints) + } -> std::same_as; +}; +NSArray* facebook::react::extractKeysFromFollyDynamic(const folly::dynamic& dyn); +NSError* facebook::react::tryAndReturnError(const std::function& func); +NSString* facebook::react::deriveSourceURL(NSURL* url); +YGDirection facebook::react::yogaDirectionFromLayoutDirection(facebook::react::LayoutDirection direction); +bool facebook::react::areAttributedStringFragmentsEquivalentDisplayWise(const facebook::react::AttributedString::Fragment& lhs, const facebook::react::AttributedString::Fragment& rhs); +bool facebook::react::areAttributedStringFragmentsEquivalentLayoutWise(const facebook::react::AttributedString::Fragment& lhs, const facebook::react::AttributedString::Fragment& rhs); +bool facebook::react::areAttributedStringsEquivalentDisplayWise(const facebook::react::AttributedString& lhs, const facebook::react::AttributedString& rhs); +bool facebook::react::areAttributedStringsEquivalentLayoutWise(const facebook::react::AttributedString& lhs, const facebook::react::AttributedString& rhs); +bool facebook::react::areTextAttributesEquivalentLayoutWise(const facebook::react::TextAttributes& lhs, const facebook::react::TextAttributes& rhs); +bool facebook::react::hasAccurateCPUTimeNanosForBenchmarks(); +bool facebook::react::hostPlatformColorIsColorMeaningful(facebook::react::Color color) noexcept; +bool facebook::react::isColorMeaningful(const facebook::react::SharedColor& color) noexcept; +bool facebook::react::isHermesBytecodeBundle(const facebook::react::BundleHeader& header); +bool facebook::react::isZero(facebook::react::Float n); +const char* facebook::react::stringForScriptTag(const facebook::react::ScriptTag& tag); +const facebook::react::InteractionTypesMap& facebook::react::getInteractionTypes(); +const std::unordered_set& facebook::react::getDirectManipulationAllowlist(); +constexpr auto facebook::react::to_underlying(auto e) noexcept; +constexpr bool facebook::react::iequals(std::string_view a, std::string_view b); +constexpr char facebook::react::toLower(char c); +constexpr float facebook::react::canonicalize(float value, facebook::react::CSSAngleUnit unit); +constexpr std::optional facebook::react::parseCSSAngleUnit(std::string_view unit); +constexpr std::optional facebook::react::parseCSSLengthUnit(std::string_view unit); +constexpr uint32_t facebook::react::fnv1aLowercase(std::string_view string); +double facebook::react::ceil(double value) noexcept; +double facebook::react::floor(double value) noexcept; +double facebook::react::getCPUTimeNanos(); +double facebook::react::interpolate(double inputValue, double inputMin, double inputMax, double outputMin, double outputMax, std::string_view extrapolateLeft, std::string_view extrapolateRight); +double facebook::react::round(double value) noexcept; +facebook::jsi::Value facebook::react::createPromiseAsJSIValue(facebook::jsi::Runtime& rt, facebook::react::PromiseSetupFunctionType&& func); +facebook::react::AttributedString facebook::react::ensurePlaceholderIfEmpty_DO_NOT_USE(const facebook::react::AttributedString& attributedString); +facebook::react::Color facebook::react::hostPlatformColorFromComponents(facebook::react::ColorComponents components); +facebook::react::Color facebook::react::hostPlatformColorFromRGBA(uint8_t r, uint8_t g, uint8_t b, uint8_t a); +facebook::react::ColorComponents facebook::react::colorComponentsFromColor(facebook::react::SharedColor color); +facebook::react::ColorComponents facebook::react::colorComponentsFromHostPlatformColor(facebook::react::Color color); +facebook::react::ColorSpace facebook::react::getDefaultColorSpace(); +facebook::react::ComponentBuilder facebook::react::simpleComponentBuilder(std::shared_ptr contextContainer = nullptr); +facebook::react::ComponentRegistryFactory facebook::react::getDefaultComponentRegistryFactory(); +facebook::react::DisplayType facebook::react::displayTypeFromYGDisplay(YGDisplay display); +facebook::react::FilterType facebook::react::filterTypeFromVariant(const facebook::react::CSSFilterFunction& filter); +facebook::react::Float facebook::react::floatFromYogaFloat(float value); +facebook::react::Float facebook::react::floatFromYogaOptionalFloat(facebook::yoga::FloatOptional value); +facebook::react::JSIExecutor::RuntimeInstaller facebook::react::RCTJSIExecutorRuntimeInstaller(facebook::react::JSIExecutor::RuntimeInstaller runtimeInstallerToWrap); +facebook::react::LayoutMetrics facebook::react::layoutMetricsFromYogaNode(facebook::yoga::Node& yogaNode); +facebook::react::ParagraphAttributes facebook::react::convertRawProp(const facebook::react::PropsParserContext& context, const facebook::react::RawProps& rawProps, const facebook::react::ParagraphAttributes& sourceParagraphAttributes, const facebook::react::ParagraphAttributes& defaultParagraphAttributes); +facebook::react::Rect facebook::react::insetBy(const facebook::react::Rect& rect, const facebook::react::EdgeInsets& insets) noexcept; +facebook::react::Rect facebook::react::outsetBy(const facebook::react::Rect& rect, const facebook::react::EdgeInsets& outsets) noexcept; +facebook::react::ScriptTag facebook::react::parseTypeFromHeader(const facebook::react::BundleHeader& header); +facebook::react::ShadowView facebook::react::shadowViewFromShadowNode(const facebook::react::ShadowNode& shadowNode); +facebook::react::ShadowViewMutation::List facebook::react::calculateShadowViewMutations(const facebook::react::ShadowNode& oldRootShadowNode, const facebook::react::ShadowNode& newRootShadowNode); +facebook::react::SharedColor facebook::react::blackColor(); +facebook::react::SharedColor facebook::react::clearColor(); +facebook::react::SharedColor facebook::react::coerceColor(const facebook::react::RawValue& value, const facebook::react::PropsParserContext& context); +facebook::react::SharedColor facebook::react::colorFromComponents(facebook::react::ColorComponents components); +facebook::react::SharedColor facebook::react::colorFromRGBA(uint8_t r, uint8_t g, uint8_t b, uint8_t a); +facebook::react::SharedColor facebook::react::fromCSSColor(const facebook::react::CSSColor& cssColor); +facebook::react::SharedColor facebook::react::parsePlatformColor(const facebook::react::ContextContainer& contextContainer, int32_t surfaceId, const facebook::react::RawValue& value); +facebook::react::SharedColor facebook::react::whiteColor(); +facebook::react::Size facebook::react::ModalHostViewScreenSize(void); +facebook::react::Size facebook::react::yogaMeassureToSize(int64_t value); +facebook::react::StubViewTree facebook::react::buildStubViewTreeUsingDifferentiator(const facebook::react::ShadowNode& rootShadowNode); +facebook::react::StubViewTree facebook::react::buildStubViewTreeWithoutUsingDifferentiator(const facebook::react::ShadowNode& rootShadowNode); +facebook::react::SurfaceId facebook::react::getNextRootViewTag() noexcept; +facebook::react::TurboModuleMethodValueKind facebook::react::getTurboModuleMethodValueKind(facebook::jsi::Runtime& rt, const facebook::jsi::Value* value); +facebook::react::ValueUnit facebook::react::cssLengthPercentageToValueUnit(const std::variant& value); +facebook::react::ValueUnit facebook::react::toValueUnit(const facebook::react::RawValue& value); +facebook::yoga::FloatOptional facebook::react::convertAspectRatio(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value); +facebook::yoga::FloatOptional facebook::react::yogaOptionalFloatFromFloat(facebook::react::Float value); +float facebook::react::alphaFromHostPlatformColor(facebook::react::Color color); +float facebook::react::blueFromHostPlatformColor(facebook::react::Color color); +float facebook::react::ceil(float value) noexcept; +float facebook::react::floor(float value) noexcept; +float facebook::react::greenFromHostPlatformColor(facebook::react::Color color); +float facebook::react::redFromHostPlatformColor(facebook::react::Color color); +float facebook::react::round(float value) noexcept; +float facebook::react::yogaFloatFromFloat(facebook::react::Float value); +folly::dynamic facebook::react::convertIdToFollyDynamic(id json); +folly::dynamic facebook::react::diffDynamicProps(const folly::dynamic& oldProps, const folly::dynamic& newProps); +folly::dynamic facebook::react::mergeDynamicProps(const folly::dynamic& source, const folly::dynamic& patch, facebook::react::NullValueStrategy nullValueStrategy); +folly::dynamic facebook::react::toDynamic(const facebook::react::SubmitBehavior& value); +id facebook::react::convertFollyDynamicToId(const folly::dynamic& dyn); +int facebook::react::toInt(const facebook::react::DisplayType& displayType); +int facebook::react::toInt(const facebook::react::LayoutDirection& layoutDirection); +long double facebook::react::ceil(long double value) noexcept; +long double facebook::react::floor(long double value) noexcept; +long double facebook::react::round(long double value) noexcept; +size_t facebook::react::attributedStringFragmentHashDisplayWise(const facebook::react::AttributedString::Fragment& fragment); +size_t facebook::react::attributedStringFragmentHashLayoutWise(const facebook::react::AttributedString::Fragment& fragment); +size_t facebook::react::attributedStringHashDisplayWise(const facebook::react::AttributedString& attributedString); +size_t facebook::react::attributedStringHashLayoutWise(const facebook::react::AttributedString& attributedString); +size_t facebook::react::textAttributesHashLayoutWise(const facebook::react::TextAttributes& textAttributes); +std::function facebook::react::makeCallback(std::weak_ptr instance, const folly::dynamic& callbackId); +std::optional facebook::react::blendModeFromString(std::string_view blendModeName); +std::optional facebook::react::fromCSSShadow(const facebook::react::CSSShadow& cssShadow); +std::optional facebook::react::parseBoxShadowRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value); +std::optional facebook::react::fromCSSFilter(const facebook::react::CSSFilterFunction& cssFilter); +std::optional facebook::react::parseDropShadow(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value); +std::optional facebook::react::parseFilterRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value); +std::optional facebook::react::filterTypeFromString(std::string_view filterName); +std::optional facebook::react::coerceAmount(const facebook::react::RawValue& value); +std::optional facebook::react::coerceAngle(const facebook::react::RawValue& value); +std::optional facebook::react::coerceLength(const facebook::react::RawValue& value); +std::optional facebook::react::optionalFloatFromYogaValue(const facebook::yoga::Style::Length& length, std::optional base = {}); +std::optional facebook::react::toRadians(const facebook::react::RawValue& value); +std::optional facebook::react::fontVariantFromCSSFontVariant(facebook::react::CSSFontVariant cssVariant); +std::optional facebook::react::isolationFromString(std::string_view isolationSetting); +std::optional facebook::react::fromCSSTransformFunction(const facebook::react::CSSTransformFunction& cssTransform); +std::pair facebook::react::calculateAnimationProgress(uint64_t now, const facebook::react::LayoutAnimation& animation, const facebook::react::AnimationConfig& mutationConfig); +std::string facebook::react::base64Encode(const std::string_view s); +std::string facebook::react::componentNameByReactViewName(std::string viewName); +std::string facebook::react::generateRandomUuidString(); +std::string facebook::react::toString(const facebook::react::AccessibilityRole& accessibilityRole); +std::string facebook::react::toString(const facebook::react::AttributedString::Range& range); +std::string facebook::react::toString(const facebook::react::BlendMode& blendMode); +std::string facebook::react::toString(const facebook::react::DisplayType& displayType); +std::string facebook::react::toString(const facebook::react::DynamicTypeRamp& dynamicTypeRamp); +std::string facebook::react::toString(const facebook::react::EllipsizeMode& ellipsisMode); +std::string facebook::react::toString(const facebook::react::FilterType& filterType); +std::string facebook::react::toString(const facebook::react::FontStyle& fontStyle); +std::string facebook::react::toString(const facebook::react::FontVariant& fontVariant); +std::string facebook::react::toString(const facebook::react::FontWeight& fontWeight); +std::string facebook::react::toString(const facebook::react::HyphenationFrequency& hyphenationFrequency); +std::string facebook::react::toString(const facebook::react::ImageResizeMode& value); +std::string facebook::react::toString(const facebook::react::ImageSource& value); +std::string facebook::react::toString(const facebook::react::ImportantForAccessibility& importantForAccessibility); +std::string facebook::react::toString(const facebook::react::LayoutDirection& layoutDirection); +std::string facebook::react::toString(const facebook::react::LineBreakMode& lineBreakMode); +std::string facebook::react::toString(const facebook::react::LineBreakStrategy& lineBreakStrategy); +std::string facebook::react::toString(const facebook::react::Role& role); +std::string facebook::react::toString(const facebook::react::ScrollViewSnapToAlignment& value); +std::string facebook::react::toString(const facebook::react::SharedColor& value); +std::string facebook::react::toString(const facebook::react::TextAlignment& textAlignment); +std::string facebook::react::toString(const facebook::react::TextAlignmentVertical& textAlignment); +std::string facebook::react::toString(const facebook::react::TextBreakStrategy& textBreakStrategy); +std::string facebook::react::toString(const facebook::react::TextDecorationLineType& textDecorationLineType); +std::string facebook::react::toString(const facebook::react::TextDecorationStyle& textDecorationStyle); +std::string facebook::react::toString(const facebook::react::TextTransform& textTransform); +std::string facebook::react::toString(const facebook::react::WritingDirection& writingDirection); +std::string facebook::react::toString(double doubleValue, char suffix); +std::string facebook::react::toString(facebook::react::AccessibilityLiveRegion accessibilityLiveRegion); +std::string facebook::react::toString(facebook::react::PointerEventsMode value); +std::string_view facebook::react::getInteractionTypeForEvent(std::string_view eventName); +std::unordered_map(std::shared_ptr jsInvoker)>>& facebook::react::globalExportedCxxTurboModuleMap(); +std::vector facebook::react::longestIncreasingSubsequence(const std::vector& values, const std::vector& include); +std::vector facebook::react::parseNormalizedRootMargin(const std::string& marginStr); +std::vector facebook::react::parseMethodCalls(folly::dynamic&& jsonData); +std::vector facebook::react::sliceChildShadowNodeViewPairs(const facebook::react::ShadowViewNodePair& shadowNodePair, facebook::react::ViewNodePairScope& viewNodePairScope, bool allowFlattened, facebook::react::Point layoutOffset, const facebook::react::CullingContext& cullingContext); +std::vector> facebook::react::createNativeModules(NSArray* modules, RCTBridge* bridge, const std::shared_ptr& instance); +template +constexpr std::optional facebook::react::parseCSSKeyword(std::string_view ident); +template +constexpr facebook::react::CSSVariantWithTypes, std::monostate> facebook::react::parseCSSProperty(std::string_view css); +template +facebook::react::Float facebook::react::roundToPixel(facebook::react::Float value, facebook::react::Float scaleFactor); +template +facebook::react::Point facebook::react::roundToPixel(facebook::react::Point value, facebook::react::Float scaleFactor); +template +facebook::react::Rect facebook::react::roundToPixel(facebook::react::Rect value, facebook::react::Float scaleFactor); +template +facebook::react::Size facebook::react::roundToPixel(facebook::react::Size value, facebook::react::Float scaleFactor); +template +std::size_t facebook::react::hash_combine(const T& v, const Args &... args); +template +void facebook::react::hash_combine(std::size_t& seed, const T& v, const Rest &... rest); +template ::type> +facebook::react::MoveWrapper facebook::react::makeMoveWrapper(T&& t); +template +constexpr std::optional facebook::react::parseCSSColorFunction(std::string_view colorFunction, facebook::react::CSSValueParser& parser); +template +constexpr std::optional facebook::react::parseCSSHexColor(std::string_view hexColorValue); +template +constexpr std::optional facebook::react::parseCSSNamedColor(std::string_view name); +template +constexpr uint32_t facebook::react::fnv1a(std::string_view string) noexcept; +template +facebook::react::ComponentDescriptor::Unique facebook::react::concreteComponentDescriptorConstructor(const facebook::react::ComponentDescriptorParameters& parameters); +template +facebook::react::ComponentDescriptorProvider facebook::react::concreteComponentDescriptorProvider(); +template +DestinationTimePointT facebook::react::clockCast(SourceTimePointT timePoint); +template +RCTManagedPointer* facebook::react::managedPointer(P initializer); +template +T facebook::react::convertRawProp(const facebook::react::PropsParserContext& context, const facebook::react::RawProps& rawProps, const char* name, const T& sourceValue, const U& defaultValue, const char* namePrefix = nullptr, const char* nameSuffix = nullptr); +template +T facebook::react::get(const facebook::react::AnimatedPropBase& animatedProp); +template +T facebook::react::get(const std::unique_ptr& animatedProp); +template +bool facebook::react::floatEquality(T a, T b, T epsilon = static_cast(facebook::react::kDefaultEpsilon)); +template +facebook::react::ModuleConstants facebook::react::typedConstants(typename T::Builder::Input&& value); +template +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, T& result); +template +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, T& result, T defaultValue); +template +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, std::optional& result); +template +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, std::vector& result); +template +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, std::vector>& result); +template +std::shared_ptr facebook::react::getManagerByName(std::shared_ptr& contextContainer, const char name[]); +uint8_t facebook::react::alphaFromColor(facebook::react::SharedColor color) noexcept; +uint8_t facebook::react::blueFromColor(facebook::react::SharedColor color) noexcept; +uint8_t facebook::react::greenFromColor(facebook::react::SharedColor color) noexcept; +uint8_t facebook::react::redFromColor(facebook::react::SharedColor color) noexcept; +void facebook::react::FBReactNativeSpec_registerComponentDescriptorsFromCodegen(std::shared_ptr registry); +void facebook::react::RCTDefaultCxxLogFunction(ReactNativeLogLevel level, const char* message); +void facebook::react::bindHasComponentProvider(facebook::jsi::Runtime& runtime, facebook::react::HasComponentProviderFunctionType&& provider); +void facebook::react::bindNativeLogger(facebook::jsi::Runtime& runtime, facebook::react::Logger logger); +void facebook::react::bindNativePerformanceNow(facebook::jsi::Runtime& runtime); +void facebook::react::cloneProp(facebook::react::BaseViewProps& viewProps, const facebook::react::AnimatedPropBase& animatedProp); +void facebook::react::defineReadOnlyGlobal(facebook::jsi::Runtime& runtime, const std::string& propName, facebook::jsi::Value&& value); +void facebook::react::executeSynchronouslyOnSameThread_CAN_DEADLOCK(const facebook::react::RuntimeExecutor& runtimeExecutor, std::function&& runtimeWork); +void facebook::react::fromRawValue(const facebook::react::ContextContainer& contextContainer, int32_t surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, YGValue& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityAction& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityLabelledBy& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityLiveRegion& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityRole& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityState& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityTraits& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AttributedString::Range& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AutocapitalizationType& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BackfaceVisibility& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BorderCurve& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BorderStyle& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ContentInsetAdjustmentBehavior& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::CornerInsets& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Cursor& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::DynamicTypeRamp& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::EdgeInsets& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::EllipsizeMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontStyle& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontVariant& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontWeight& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::HyphenationFrequency& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ImageResizeMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ImageSource& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ImportantForAccessibility& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::KeyboardAppearance& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::KeyboardType& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::LineBreakStrategy& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::OutlineStyle& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Point& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::PointerEventsMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ReturnKeyType& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Role& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewIndicatorStyle& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewKeyboardDismissMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewMaintainVisibleContentPosition& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewSnapToAlignment& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Selection& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::SharedColor& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Size& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextAlignment& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextBreakStrategy& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextDecorationLineType& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextDecorationStyle& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextInputAccessoryVisibilityMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextTransform& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Transform& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TransformOrigin& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::WritingDirection& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Align& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Direction& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Display& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::FlexDirection& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::FloatOptional& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Justify& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Overflow& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::PositionType& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Style::Length& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Wrap& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::AccessibilityValue& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::BlendMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Isolation& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::LayoutConformance& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::LineBreakMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::SubmitBehavior& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::TextAlignmentVertical& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::ValueUnit& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::yoga::BoxSizing& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::yoga::Style::SizeLength& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::fromRawValueShared(const facebook::react::ContextContainer& contextContainer, int32_t surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result, facebook::react::parsePlatformColorFn parsePlatformColor); +void facebook::react::fromString(const std::string& string, facebook::react::AccessibilityTraits& result); +void facebook::react::g_setNativeAnimatedNowTimestampFunction(facebook::react::TimePointFunction nowFunction); +void facebook::react::installLegacyUIManagerConstantsProviderBinding(facebook::jsi::Runtime& runtime); +void facebook::react::parseProcessedBackgroundImage(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::parseProcessedBoxShadow(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::parseProcessedFilter(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::parseProcessedFontVariant(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::FontVariant& result); +void facebook::react::parseProcessedTransform(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Transform& result); +void facebook::react::parseProcessedTransformOrigin(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::TransformOrigin& result); +void facebook::react::parseUnprocessedBackgroundImageList(const facebook::react::PropsParserContext& context, const std::vector& value, std::vector& result); +void facebook::react::parseUnprocessedBackgroundImageString(const std::string& value, std::vector& result); +void facebook::react::parseUnprocessedBoxShadow(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::parseUnprocessedBoxShadowList(const facebook::react::PropsParserContext& context, std::vector&& value, std::vector& result); +void facebook::react::parseUnprocessedBoxShadowString(std::string&& value, std::vector& result); +void facebook::react::parseUnprocessedFilter(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::parseUnprocessedFilterList(const facebook::react::PropsParserContext& context, std::vector&& value, std::vector& result); +void facebook::react::parseUnprocessedFilterString(std::string&& value, std::vector& result); +void facebook::react::parseUnprocessedFontVariant(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontVariant& result); +void facebook::react::parseUnprocessedFontVariantString(const std::string& value, facebook::react::FontVariant& result); +void facebook::react::parseUnprocessedTransform(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Transform& result); +void facebook::react::parseUnprocessedTransformOrigin(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TransformOrigin& result); +void facebook::react::parseUnprocessedTransformOriginString(const std::string& value, facebook::react::TransformOrigin& result); +void facebook::react::parseUnprocessedTransformString(const std::string& value, facebook::react::Transform& result); +void facebook::react::registerCxxModuleToGlobalModuleMap(std::string name, std::function(std::shared_ptr jsInvoker)> moduleProviderFunc); +void facebook::react::serializeTransformAxis(const facebook::react::TransformOperation& operation, const std::string& operationName, float defaultValue, folly::dynamic& resultTranslateArray); +void facebook::react::serializeTransformOperationValue(const std::string& operationName, const facebook::react::ValueUnit& valueUnit, folly::dynamic& resultArray); +void facebook::react::setDefaultColorSpace(facebook::react::ColorSpace newColorSpace); +void facebook::react::setTouchPayloadOnObject(facebook::jsi::Object& object, facebook::jsi::Runtime& runtime, const facebook::react::BaseTouch& touch); +void facebook::react::unsafeExecuteOnMainThreadSync(std::function work); +void facebook::react::updateMountedFlag(const std::vector>& oldChildren, const std::vector>& newChildren, facebook::react::ShadowTreeCommitSource commitSource); +void facebook::react::updateProp(const facebook::react::PropName propName, facebook::react::BaseViewProps& viewProps, const facebook::react::PropsSnapshot& snapshot); +void facebook::react::updateTransformProps(const facebook::react::Transform& transform, const facebook::react::TransformOperation& operation, folly::dynamic& resultTranslateArray); +bool facebook::react::operator==(const facebook::react::AttributedStringBox& lhs, const facebook::react::AttributedStringBox& rhs); +bool facebook::react::operator==(const facebook::react::LayoutConstraints& lhs, const facebook::react::LayoutConstraints& rhs); +bool facebook::react::operator==(const facebook::react::LayoutContext& lhs, const facebook::react::LayoutContext& rhs); +bool facebook::react::operator==(const facebook::react::LineMeasureCacheKey& lhs, const facebook::react::LineMeasureCacheKey& rhs); +bool facebook::react::operator==(const facebook::react::PerformanceObserver& lhs, const facebook::react::PerformanceObserver& rhs); +bool facebook::react::operator==(const facebook::react::PreparedTextCacheKey& lhs, const facebook::react::PreparedTextCacheKey& rhs); +bool facebook::react::operator==(const facebook::react::RawPropsKey& lhs, const facebook::react::RawPropsKey& rhs) noexcept; +bool facebook::react::operator==(const facebook::react::Size& rhs, const facebook::react::Size& lhs) noexcept; +bool facebook::react::operator==(const facebook::react::StubView& lhs, const facebook::react::StubView& rhs); +bool facebook::react::operator==(const facebook::react::StubViewTree& lhs, const facebook::react::StubViewTree& rhs); +bool facebook::react::operator==(const facebook::react::TextMeasureCacheKey& lhs, const facebook::react::TextMeasureCacheKey& rhs); +constexpr bool facebook::react::operator&(facebook::react::ModalHostViewSupportedOrientationsMask const lhs, enum facebook::react::ModalHostViewSupportedOrientations const rhs); +constexpr bool facebook::react::operator==(const facebook::react::AccessibilityState& lhs, const facebook::react::AccessibilityState& rhs); +constexpr bool facebook::react::operator==(const facebook::react::AccessibilityValue& lhs, const facebook::react::AccessibilityValue& rhs); +constexpr enum facebook::react::AccessibilityTraits facebook::react::operator&(const enum facebook::react::AccessibilityTraits lhs, const enum facebook::react::AccessibilityTraits rhs); +constexpr enum facebook::react::AccessibilityTraits facebook::react::operator|(const enum facebook::react::AccessibilityTraits lhs, const enum facebook::react::AccessibilityTraits rhs); +constexpr facebook::react::HighResDuration facebook::react::operator-(const facebook::react::HighResTimeStamp& lhs, const facebook::react::HighResTimeStamp& rhs); +constexpr facebook::react::HighResTimeStamp facebook::react::operator+(const facebook::react::HighResTimeStamp& lhs, const facebook::react::HighResDuration& rhs); +constexpr facebook::react::HighResTimeStamp facebook::react::operator-(const facebook::react::HighResTimeStamp& lhs, const facebook::react::HighResDuration& rhs); +constexpr facebook::react::ModalHostViewSupportedOrientationsMask facebook::react::operator|(facebook::react::ModalHostViewSupportedOrientationsMask const lhs, enum facebook::react::ModalHostViewSupportedOrientations const rhs); +constexpr void facebook::react::operator|=(facebook::react::ModalHostViewSupportedOrientationsMask& lhs, enum facebook::react::ModalHostViewSupportedOrientations const rhs); +facebook::react::EdgeInsets facebook::react::operator*(const facebook::react::EdgeInsets& edgeInsets, const facebook::react::Transform& transform); +facebook::react::Point facebook::react::operator*(const facebook::react::Point& point, const facebook::react::Transform& transform); +facebook::react::Rect facebook::react::operator*(const facebook::react::Rect& rect, const facebook::react::Transform& transform); +facebook::react::Size facebook::react::operator*(const facebook::react::Size& size, const facebook::react::Transform& transform); +facebook::react::Vector facebook::react::operator*(const facebook::react::Transform& transform, const facebook::react::Vector& vector); +template +facebook::react::RectangleEdges facebook::react::operator+(const facebook::react::RectangleEdges& lhs, const facebook::react::RectangleEdges& rhs) noexcept; +template +facebook::react::RectangleEdges facebook::react::operator-(const facebook::react::RectangleEdges& lhs, const facebook::react::RectangleEdges& rhs) noexcept; +JSI_EXPORT const char facebook::react::ActivityIndicatorViewComponentName[]; +JSI_EXPORT const char facebook::react::AndroidDrawerLayoutComponentName[]; +JSI_EXPORT const char facebook::react::AndroidSwipeRefreshLayoutComponentName[]; +JSI_EXPORT const char facebook::react::DebuggingOverlayComponentName[]; +JSI_EXPORT const char facebook::react::PullToRefreshViewComponentName[]; +JSI_EXPORT const char facebook::react::UnimplementedNativeViewComponentName[]; + +class facebook::react::AccessibilityProps { + public AccessibilityProps() = default; + public AccessibilityProps(const facebook::react::PropsParserContext& context, const facebook::react::AccessibilityProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool accessibilityElementsHidden; + public bool accessibilityIgnoresInvertColors; + public bool accessibilityRespondsToUserInteraction; + public bool accessibilityShowsLargeContentViewer; + public bool accessibilityViewIsModal; + public bool accessible; + public bool onAccessibilityAction; + public bool onAccessibilityEscape; + public bool onAccessibilityMagicTap; + public bool onAccessibilityTap; + public facebook::react::AccessibilityLabelledBy accessibilityLabelledBy; + public facebook::react::AccessibilityLiveRegion accessibilityLiveRegion; + public facebook::react::AccessibilityTraits accessibilityTraits; + public facebook::react::AccessibilityValue accessibilityValue; + public facebook::react::ImportantForAccessibility importantForAccessibility; + public facebook::react::Role role; + public std::optional accessibilityState; + public std::string accessibilityHint; + public std::string accessibilityLabel; + public std::string accessibilityLanguage; + public std::string accessibilityLargeContentTitle; + public std::string accessibilityRole; + public std::string testId; + public std::vector accessibilityActions; + public std::vector accessibilityOrder; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::ActivityIndicatorViewEventEmitter : public facebook::react::BaseViewEventEmitter { +} + +class facebook::react::ActivityIndicatorViewProps : public facebook::react::HostPlatformViewProps { + public ActivityIndicatorViewProps() = default; + public ActivityIndicatorViewProps(const facebook::react::PropsParserContext& context, const facebook::react::ActivityIndicatorViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool animating; + public bool hidesWhenStopped; + public facebook::react::ActivityIndicatorViewSize size; + public facebook::react::SharedColor color; +} + +class facebook::react::AdditionAnimatedNode : public facebook::react::OperatorAnimatedNode { + public AdditionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::AndroidDrawerLayoutEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onDrawerClose(facebook::react::AndroidDrawerLayoutEventEmitter::OnDrawerClose value) const; + public void onDrawerOpen(facebook::react::AndroidDrawerLayoutEventEmitter::OnDrawerOpen value) const; + public void onDrawerSlide(facebook::react::AndroidDrawerLayoutEventEmitter::OnDrawerSlide value) const; + public void onDrawerStateChanged(facebook::react::AndroidDrawerLayoutEventEmitter::OnDrawerStateChanged value) const; +} + +struct facebook::react::AndroidDrawerLayoutEventEmitter::OnDrawerClose { +} + +struct facebook::react::AndroidDrawerLayoutEventEmitter::OnDrawerOpen { +} + +struct facebook::react::AndroidDrawerLayoutEventEmitter::OnDrawerSlide { + public facebook::react::Float offset; +} + +struct facebook::react::AndroidDrawerLayoutEventEmitter::OnDrawerStateChanged { + public int drawerState; +} + +class facebook::react::AndroidDrawerLayoutProps : public facebook::react::HostPlatformViewProps { + public AndroidDrawerLayoutProps() = default; + public AndroidDrawerLayoutProps(const facebook::react::PropsParserContext& context, const facebook::react::AndroidDrawerLayoutProps& sourceProps, const facebook::react::RawProps& rawProps); + public facebook::react::AndroidDrawerLayoutDrawerLockMode drawerLockMode; + public facebook::react::AndroidDrawerLayoutDrawerPosition drawerPosition; + public facebook::react::AndroidDrawerLayoutKeyboardDismissMode keyboardDismissMode; + public facebook::react::Float drawerWidth; + public facebook::react::SharedColor drawerBackgroundColor; + public facebook::react::SharedColor statusBarBackgroundColor; +} + +class facebook::react::AndroidHorizontalScrollContentViewEventEmitter : public facebook::react::BaseViewEventEmitter { +} + +class facebook::react::AndroidHorizontalScrollContentViewProps : public facebook::react::HostPlatformViewProps { + public AndroidHorizontalScrollContentViewProps() = default; + public AndroidHorizontalScrollContentViewProps(const facebook::react::PropsParserContext& context, const facebook::react::AndroidHorizontalScrollContentViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool removeClippedSubviews; +} + +class facebook::react::AndroidProgressBarComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public AndroidProgressBarComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); + public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; +} + +class facebook::react::AndroidProgressBarEventEmitter : public facebook::react::BaseViewEventEmitter { +} + +class facebook::react::AndroidProgressBarMeasurementsManager { + public AndroidProgressBarMeasurementsManager(const std::shared_ptr& contextContainer); + public facebook::react::Size measure(facebook::react::SurfaceId surfaceId, const facebook::react::AndroidProgressBarProps& props, facebook::react::LayoutConstraints layoutConstraints) const; +} + +class facebook::react::AndroidProgressBarProps : public facebook::react::HostPlatformViewProps { + public AndroidProgressBarProps() = default; + public AndroidProgressBarProps(const facebook::react::PropsParserContext& context, const facebook::react::AndroidProgressBarProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool animating; + public bool indeterminate; + public double progress; + public facebook::react::SharedColor color; + public std::string styleAttr; + public std::string testID; + public std::string typeAttr; +} + +class facebook::react::AndroidProgressBarShadowNode : public facebook::react::ConcreteViewShadowNode { + public AndroidProgressBarShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public AndroidProgressBarShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; + public void setAndroidProgressBarMeasurementsManager(const std::shared_ptr& measurementsManager); +} + +class facebook::react::AndroidSwipeRefreshLayoutEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onRefresh(facebook::react::AndroidSwipeRefreshLayoutEventEmitter::OnRefresh value) const; +} + +struct facebook::react::AndroidSwipeRefreshLayoutEventEmitter::OnRefresh { +} + +class facebook::react::AndroidSwipeRefreshLayoutProps : public facebook::react::HostPlatformViewProps { + public AndroidSwipeRefreshLayoutProps() = default; + public AndroidSwipeRefreshLayoutProps(const facebook::react::PropsParserContext& context, const facebook::react::AndroidSwipeRefreshLayoutProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool enabled; + public bool refreshing; + public facebook::react::AndroidSwipeRefreshLayoutSize size; + public facebook::react::Float progressViewOffset; + public facebook::react::SharedColor progressBackgroundColor; + public std::vector colors; +} + +class facebook::react::AndroidSwitchComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public AndroidSwitchComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); + public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; +} + +class facebook::react::AndroidSwitchEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onChange(facebook::react::AndroidSwitchEventEmitter::OnChange value) const; +} + +struct facebook::react::AndroidSwitchEventEmitter::OnChange { + public bool value; + public int target; +} + +class facebook::react::AndroidSwitchMeasurementsManager { + public AndroidSwitchMeasurementsManager(const std::shared_ptr& contextContainer); + public facebook::react::Size measure(facebook::react::SurfaceId surfaceId, facebook::react::LayoutConstraints layoutConstraints) const; +} + +class facebook::react::AndroidSwitchProps : public facebook::react::HostPlatformViewProps { + public AndroidSwitchProps() = default; + public AndroidSwitchProps(const facebook::react::PropsParserContext& context, const facebook::react::AndroidSwitchProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool disabled; + public bool enabled; + public bool on; + public bool value; + public facebook::react::SharedColor thumbColor; + public facebook::react::SharedColor thumbTintColor; + public facebook::react::SharedColor trackColorForFalse; + public facebook::react::SharedColor trackColorForTrue; + public facebook::react::SharedColor trackTintColor; +} + +class facebook::react::AndroidSwitchShadowNode : public facebook::react::ConcreteViewShadowNode { + public AndroidSwitchShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public AndroidSwitchShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; + public void setAndroidSwitchMeasurementsManager(const std::shared_ptr& measurementsManager); +} + +class facebook::react::AnimatedModule : public facebook::react::NativeAnimatedModuleCxxSpec, public facebook::react::TurboModuleWithJSIBindings { + public AnimatedModule(std::shared_ptr jsInvoker, std::shared_ptr nodesManagerProvider); + public void addAnimatedEventToView(facebook::jsi::Runtime& rt, facebook::react::Tag viewTag, std::string eventName, facebook::jsi::Object eventMapping); + public void addListener(facebook::jsi::Runtime& rt, const std::string& eventName); + public void connectAnimatedNodeToShadowNodeFamily(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::jsi::Object shadowNode); + public void connectAnimatedNodeToView(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::react::Tag viewTag); + public void connectAnimatedNodes(facebook::jsi::Runtime& rt, facebook::react::Tag parentTag, facebook::react::Tag childTag); + public void createAnimatedNode(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::jsi::Object config); + public void disconnectAnimatedNodeFromView(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::react::Tag viewTag); + public void disconnectAnimatedNodes(facebook::jsi::Runtime& rt, facebook::react::Tag parentTag, facebook::react::Tag childTag); + public void dropAnimatedNode(facebook::jsi::Runtime& rt, facebook::react::Tag tag); + public void extractAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); + public void finishOperationBatch(facebook::jsi::Runtime& rt); + public void flattenAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); + public void getValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::react::AsyncCallback saveValueCallback); + public void queueAndExecuteBatchedOperations(facebook::jsi::Runtime& rt, facebook::jsi::Array operationsAndArgs); + public void removeAnimatedEventFromView(facebook::jsi::Runtime& rt, facebook::react::Tag viewTag, std::string eventName, facebook::react::Tag animatedNodeTag); + public void removeListeners(facebook::jsi::Runtime& rt, int count); + public void restoreDefaultValues(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); + public void setAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, double offset); + public void setAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, double value); + public void startAnimatingNode(facebook::jsi::Runtime& rt, int animationId, facebook::react::Tag nodeTag, facebook::jsi::Object config, facebook::react::AnimationEndCallback endCallback); + public void startListeningToAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag); + public void startOperationBatch(facebook::jsi::Runtime& rt); + public void stopAnimation(facebook::jsi::Runtime& rt, int animationId); + public void stopListeningToAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag); + public void updateAnimatedNodeConfig(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::jsi::Object config); +} + +class facebook::react::AnimatedMountingOverrideDelegate : public facebook::react::MountingOverrideDelegate { + public AnimatedMountingOverrideDelegate(facebook::react::NativeAnimatedNodesManager& animatedManager, const facebook::react::Scheduler& scheduler); + public virtual bool shouldOverridePullTransaction() const override; + public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number transactionNumber, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const override; +} + +class facebook::react::AnimatedNode { + protected facebook::react::AnimatedNode* getChildNode(facebook::react::Tag tag); + protected facebook::react::AnimatedNodeType type_; + protected facebook::react::NativeAnimatedNodesManager* manager_; + protected facebook::react::Tag tag_; + protected std::unordered_set children_; + public AnimatedNode(const facebook::react::AnimatedNode&) = default; + public AnimatedNode(facebook::react::AnimatedNode&&) noexcept = default; + public AnimatedNode(facebook::react::Tag tag, folly::dynamic config, facebook::react::NativeAnimatedNodesManager& manager, facebook::react::AnimatedNodeType type); + public const folly::dynamic& getConfig() const noexcept; + public const std::unordered_set& getChildren() const noexcept; + public facebook::react::AnimatedNode& operator=(const facebook::react::AnimatedNode&) = default; + public facebook::react::AnimatedNode& operator=(facebook::react::AnimatedNode&&) noexcept = default; + public facebook::react::AnimatedNodeType type() const noexcept; + public facebook::react::Tag tag() const noexcept; + public int activeIncomingNodes; + public int bfsColor; + public static constexpr int INITIAL_BFS_COLOR; + public static std::optional getNodeTypeByName(const std::string& nodeTypeName); + public virtual void onAttachToNode(facebook::react::Tag); + public virtual void onDetachedFromNode(facebook::react::Tag); + public virtual void update(); + public virtual ~AnimatedNode() = default; + public void addChild(facebook::react::Tag tag); + public void removeChild(facebook::react::Tag tag); +} + +class facebook::react::AnimatedPropsRegistry { + public std::pair>&, facebook::react::SnapshotMap&> getMap(facebook::react::SurfaceId surfaceId); + public void clear(facebook::react::SurfaceId surfaceId); + public void update(const std::unordered_map& surfaceUpdates); +} + +class facebook::react::AnimationBackend : public facebook::react::UIManagerAnimationBackend { + public AnimationBackend(std::shared_ptr animationChoreographer, std::shared_ptr uiManager); + public using PauseCallback = std::function; + public using ResumeCallback = std::function; + public virtual facebook::react::CallbackId start(const facebook::react::UIManagerAnimationBackend::Callback& callback) override; + public virtual void clearRegistry(facebook::react::SurfaceId surfaceId) override; + public virtual void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) override; + public virtual void registerJSInvoker(std::shared_ptr jsInvoker) override; + public virtual void stop(facebook::react::CallbackId callbackId) override; + public virtual void trigger() override; + public void commitUpdates(facebook::react::SurfaceId surfaceId, facebook::react::SurfaceUpdates& surfaceUpdates); + public void requestAsyncFlushForSurfaces(const std::set& surfaces); + public void synchronouslyUpdateProps(const std::unordered_map& updates); +} + +class facebook::react::AnimationBackendCommitHook : public facebook::react::UIManagerCommitHook { + public AnimationBackendCommitHook(facebook::react::UIManager& uiManager, std::shared_ptr animatedPropsRegistry); + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions& commitOptions) noexcept override; + public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept override; + public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept override; +} + +class facebook::react::AnimationChoreographer { + public virtual void pause() = 0; + public virtual void resume() = 0; + public virtual ~AnimationChoreographer() = default; + public void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) const; + public void setAnimationBackend(std::weak_ptr animationBackend); +} + +class facebook::react::AnimationDriver { + protected bool ignoreCompletedHandlers_; + protected bool isComplete_; + protected bool isStarted_; + protected double startFrameTimeMs_; + protected facebook::react::NativeAnimatedNodesManager* manager_; + protected facebook::react::Tag animatedValueTag_; + protected folly::dynamic config_; + protected int currentIteration_; + protected int id_; + protected int iterations_; + protected std::optional endCallback_; + protected virtual bool update(double, bool); + protected void markNodeUpdated(facebook::react::Tag tag); + public AnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); + public bool getIsComplete() const noexcept; + public facebook::react::Tag getAnimatedValueTag() const noexcept; + public int getId() const noexcept; + public static std::optional getDriverTypeByName(const std::string& driverTypeName); + public virtual void updateConfig(folly::dynamic config); + public virtual ~AnimationDriver() = default; + public void runAnimationStep(double renderingTime); + public void startAnimation(); + public void stopAnimation(bool ignoreCompletedHandlers = false); +} + +class facebook::react::AppRegistryBinding { + public AppRegistryBinding() = delete; + public static void setSurfaceProps(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& initialProps, facebook::react::DisplayMode displayMode); + public static void startSurface(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& initialProps, facebook::react::DisplayMode displayMode); + public static void stopSurface(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId); +} + +class facebook::react::AppleEventBeat : public facebook::react::EventBeat, public facebook::react::RunLoopObserver::Delegate { + public AppleEventBeat(std::shared_ptr ownerBox, std::unique_ptr uiRunLoopObserver, facebook::react::RuntimeScheduler& RuntimeScheduler); + public virtual void activityDidChange(const facebook::react::RunLoopObserver::Delegate* delegate, facebook::react::RunLoopObserver::Activity activity) const noexcept override; +} + +class facebook::react::AttributedString : public facebook::react::Sealable, public facebook::react::DebugStringConvertible { + public bool compareTextAttributesWithoutFrame(const facebook::react::AttributedString& rhs) const; + public bool isContentEqual(const facebook::react::AttributedString& rhs) const; + public bool isEmpty() const; + public bool operator==(const facebook::react::AttributedString& rhs) const; + public const facebook::react::AttributedString::Fragments& getFragments() const; + public const facebook::react::TextAttributes& getBaseTextAttributes() const; + public facebook::react::AttributedString::Fragments& getFragments(); + public std::string getString() const; + public using Fragments = std::vector; + public void appendFragment(facebook::react::AttributedString::Fragment&& fragment); + public void prependFragment(facebook::react::AttributedString::Fragment&& fragment); + public void setBaseTextAttributes(const facebook::react::TextAttributes& defaultAttributes); +} + +class facebook::react::AttributedString::Fragment { + public bool isAttachment() const; + public bool isContentEqual(const facebook::react::AttributedString::Fragment& rhs) const; + public bool operator==(const facebook::react::AttributedString::Fragment& rhs) const; + public facebook::react::ShadowView parentShadowView; + public facebook::react::TextAttributes textAttributes; + public static std::string AttachmentCharacter(); + public std::string string; +} + +class facebook::react::AttributedString::Range { + public int length; + public int location; +} + +class facebook::react::AttributedStringBox { + public AttributedStringBox(); + public AttributedStringBox(const facebook::react::AttributedString& value); + public AttributedStringBox(const facebook::react::AttributedStringBox& other) = default; + public AttributedStringBox(facebook::react::AttributedStringBox&& other) noexcept; + public AttributedStringBox(std::shared_ptr opaquePointer); + public const facebook::react::AttributedString& getValue() const; + public facebook::react::AttributedStringBox& operator=(const facebook::react::AttributedStringBox& other) = default; + public facebook::react::AttributedStringBox& operator=(facebook::react::AttributedStringBox&& other) noexcept; + public facebook::react::AttributedStringBox::Mode getMode() const; + public std::shared_ptr getOpaquePointer() const; +} + +enum facebook::react::AttributedStringBox::Mode { + OpaquePointer, + Value, +} + +class facebook::react::BaseParagraphProps : public facebook::react::HostPlatformViewProps, public facebook::react::BaseTextProps { + public BaseParagraphProps() = default; + public BaseParagraphProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseParagraphProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool isSelectable; + public bool onTextLayout; + public facebook::react::ParagraphAttributes paragraphAttributes; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::BaseScrollViewProps : public facebook::react::HostPlatformViewProps { + public BaseScrollViewProps() = default; + public BaseScrollViewProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseScrollViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool alwaysBounceHorizontal; + public bool alwaysBounceVertical; + public bool automaticallyAdjustContentInsets; + public bool automaticallyAdjustKeyboardInsets; + public bool automaticallyAdjustsScrollIndicatorInsets; + public bool bounces; + public bool bouncesZoom; + public bool canCancelContentTouches; + public bool centerContent; + public bool directionalLockEnabled; + public bool disableIntervalMomentum; + public bool horizontal; + public bool isInvertedVirtualizedList; + public bool pagingEnabled; + public bool persistentScrollbar; + public bool pinchGestureEnabled; + public bool scrollEnabled; + public bool scrollToOverflowEnabled; + public bool scrollsToTop; + public bool showsHorizontalScrollIndicator; + public bool showsVerticalScrollIndicator; + public bool snapToEnd; + public bool snapToStart; + public facebook::react::ContentInsetAdjustmentBehavior contentInsetAdjustmentBehavior; + public facebook::react::EdgeInsets contentInset; + public facebook::react::EdgeInsets scrollIndicatorInsets; + public facebook::react::Float decelerationRate; + public facebook::react::Float endDraggingSensitivityMultiplier; + public facebook::react::Float maximumZoomScale; + public facebook::react::Float minimumZoomScale; + public facebook::react::Float scrollEventThrottle; + public facebook::react::Float snapToInterval; + public facebook::react::Float zoomScale; + public facebook::react::Point contentOffset; + public facebook::react::ScrollViewIndicatorStyle indicatorStyle; + public facebook::react::ScrollViewKeyboardDismissMode keyboardDismissMode; + public facebook::react::ScrollViewSnapToAlignment snapToAlignment; + public std::optional maintainVisibleContentPosition; + public std::vector snapToOffsets; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::BaseTextInputProps : public facebook::react::HostPlatformViewProps, public facebook::react::BaseTextProps { + public BaseTextInputProps() = default; + public BaseTextInputProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseTextInputProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool autoFocus; + public bool disableKeyboardShortcuts; + public bool editable; + public bool multiline; + public bool readOnly; + public facebook::react::ParagraphAttributes paragraphAttributes; + public facebook::react::SharedColor cursorColor; + public facebook::react::SharedColor placeholderTextColor; + public facebook::react::SharedColor selectionColor; + public facebook::react::SharedColor selectionHandleColor; + public facebook::react::SharedColor underlineColorAndroid; + public facebook::react::SubmitBehavior getNonDefaultSubmitBehavior() const; + public facebook::react::SubmitBehavior submitBehavior; + public facebook::react::TextAttributes getEffectiveTextAttributes(facebook::react::Float fontSizeMultiplier) const; + public int maxLength; + public int mostRecentEventCount; + public std::optional> acceptDragAndDropTypes; + public std::string autoCapitalize; + public std::string defaultValue; + public std::string placeholder; + public std::string text; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::BaseTextProps { + public BaseTextProps() = default; + public BaseTextProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseTextProps& sourceProps, const facebook::react::RawProps& rawProps); + public facebook::react::TextAttributes textAttributes; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::BaseTextShadowNode { + public static void buildAttributedString(const facebook::react::TextAttributes& baseTextAttributes, const facebook::react::ShadowNode& parentNode, facebook::react::AttributedString& outAttributedString, facebook::react::BaseTextShadowNode::Attachments& outAttachments); + public using Attachments = std::vector; +} + +class facebook::react::BaseTextShadowNode::Attachment { + public const facebook::react::ShadowNode* shadowNode; + public size_t fragmentIndex; +} + +class facebook::react::BaseViewEventEmitter : public facebook::react::TouchEventEmitter { + public void onAccessibilityAction(const std::string& name) const; + public void onAccessibilityEscape() const; + public void onAccessibilityMagicTap() const; + public void onAccessibilityTap() const; + public void onBlur() const; + public void onFocus() const; + public void onLayout(const facebook::react::LayoutMetrics& layoutMetrics) const; +} + +class facebook::react::BaseViewProps : public facebook::react::YogaStylableProps, public facebook::react::AccessibilityProps { + public BaseViewProps() = default; + public BaseViewProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseViewProps& sourceProps, const facebook::react::RawProps& rawProps, const std::function& filterObjectKeys = nullptr); + public bool collapsable; + public bool collapsableChildren; + public bool getClipsContentToBounds() const; + public bool onLayout; + public bool removeClippedSubviews; + public bool shouldRasterize; + public facebook::react::BackfaceVisibility backfaceVisibility; + public facebook::react::BlendMode mixBlendMode; + public facebook::react::BorderMetrics resolveBorderMetrics(const facebook::react::LayoutMetrics& layoutMetrics) const; + public facebook::react::CascadedBorderColors borderColors; + public facebook::react::CascadedBorderCurves borderCurves; + public facebook::react::CascadedBorderRadii borderRadii; + public facebook::react::CascadedBorderStyles borderStyles; + public facebook::react::CascadedBorderWidths getBorderWidths() const; + public facebook::react::Cursor cursor; + public facebook::react::EdgeInsets hitSlop; + public facebook::react::Float opacity; + public facebook::react::Float outlineOffset; + public facebook::react::Float outlineWidth; + public facebook::react::Float shadowOpacity; + public facebook::react::Float shadowRadius; + public facebook::react::Isolation isolation; + public facebook::react::OutlineStyle outlineStyle; + public facebook::react::PointerEventsMode pointerEvents; + public facebook::react::SharedColor backgroundColor; + public facebook::react::SharedColor outlineColor; + public facebook::react::SharedColor shadowColor; + public facebook::react::Size shadowOffset; + public facebook::react::Transform resolveTransform(const facebook::react::LayoutMetrics& layoutMetrics) const; + public facebook::react::Transform transform; + public facebook::react::TransformOrigin transformOrigin; + public facebook::react::ViewEvents events; + public static facebook::react::Transform resolveTransform(const facebook::react::Size& frameSize, const facebook::react::Transform& transform, const facebook::react::TransformOrigin& transformOrigin); + public std::optional zIndex; + public std::vector backgroundImage; + public std::vector backgroundPosition; + public std::vector backgroundRepeat; + public std::vector backgroundSize; + public std::vector boxShadow; + public std::vector filter; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::BigStringBuffer : public facebook::jsi::Buffer { + public BigStringBuffer(std::unique_ptr script); + public virtual const uint8_t* data() const override; + public virtual size_t size() const override; +} + +class facebook::react::BindingsInstaller { + public virtual facebook::react::ReactInstance::BindingsInstallFunc getBindingsInstallFunc(); +} + +class facebook::react::BridgelessNativeMethodCallInvoker : public facebook::react::NativeMethodCallInvoker { + public BridgelessNativeMethodCallInvoker(std::shared_ptr messageQueueThread); + public virtual void invokeAsync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) noexcept override; + public virtual void invokeSync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) override; +} + +class facebook::react::BufferedRuntimeExecutor { + public BufferedRuntimeExecutor(facebook::react::RuntimeExecutor runtimeExecutor); + public using Work = std::function; + public void execute(facebook::react::BufferedRuntimeExecutor::Work&& callback); + public void flush(); +} + +struct facebook::react::BufferedRuntimeExecutor::BufferedWork { + public bool operator<(const facebook::react::BufferedRuntimeExecutor::BufferedWork& rhs) const; + public facebook::react::BufferedRuntimeExecutor::Work work_; + public uint64_t index_; +} + +class facebook::react::CSSSyntaxParser { + public constexpr CSSSyntaxParser(const facebook::react::CSSSyntaxParser&) = default; + public constexpr CSSSyntaxParser(facebook::react::CSSSyntaxParser&&) = default; + public constexpr CSSSyntaxParser(std::string_view css); + public constexpr bool consumeDelimiter(facebook::react::CSSDelimiter delimiter); + public constexpr bool isFinished() const; + public constexpr const facebook::react::CSSToken& peek() const; + public constexpr facebook::react::CSSSyntaxParser& operator=(const facebook::react::CSSSyntaxParser&) = default; + public constexpr facebook::react::CSSSyntaxParser& operator=(facebook::react::CSSSyntaxParser&&) = default; + public constexpr void consumeWhitespace(); + template + public constexpr ReturnT consumeComponentValue(const facebook::react::CSSComponentValueVisitor auto &... visitors); + template + public constexpr ReturnT consumeComponentValue(facebook::react::CSSDelimiter delimiter, const facebook::react::CSSComponentValueVisitor auto &... visitors); +} + +class facebook::react::CSSToken { + public constexpr CSSToken(const facebook::react::CSSToken& other) = default; + public constexpr CSSToken(facebook::react::CSSToken&& other) = default; + public constexpr CSSToken(facebook::react::CSSTokenType type); + public constexpr CSSToken(facebook::react::CSSTokenType type, float value); + public constexpr CSSToken(facebook::react::CSSTokenType type, float value, std::string_view unit); + public constexpr CSSToken(facebook::react::CSSTokenType type, std::string_view value); + public constexpr bool operator==(const facebook::react::CSSToken& other) const = default; + public constexpr facebook::react::CSSToken& operator=(const facebook::react::CSSToken& other) = default; + public constexpr facebook::react::CSSToken& operator=(facebook::react::CSSToken&& other) = default; + public constexpr facebook::react::CSSTokenType type() const; + public constexpr float numericValue() const; + public constexpr std::string_view stringValue() const; + public constexpr std::string_view unit() const; +} + +class facebook::react::CSSTokenizer { + public constexpr CSSTokenizer(std::string_view characters); + public constexpr facebook::react::CSSToken next(); +} + +class facebook::react::CSSValueParser { + public constexpr CSSValueParser(const facebook::react::CSSValueParser&) = default; + public constexpr CSSValueParser(facebook::react::CSSSyntaxParser& parser); + public constexpr const facebook::react::CSSSyntaxParser& syntaxParser() const; + public constexpr facebook::react::CSSSyntaxParser& syntaxParser(); + public constexpr facebook::react::CSSValueParser& operator=(const facebook::react::CSSValueParser&) = default; + template + public constexpr facebook::react::CSSVariantWithTypes, std::monostate> parseNextValue(facebook::react::CSSDelimiter delimiter = facebook::react::CSSDelimiter::None); + template + public constexpr facebook::react::CSSVariantWithTypes, std::monostate> peekNextValue(facebook::react::CSSDelimiter delimiter = facebook::react::CSSDelimiter::None); +} + +class facebook::react::CallInvoker { + public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept = 0; + public virtual void invokeAsync(facebook::react::SchedulerPriority, facebook::react::CallFunc&& func) noexcept; + public virtual void invokeAsync(std::function&& func) noexcept; + public virtual void invokeSync(facebook::react::CallFunc&& func) = 0; + public virtual void invokeSync(std::function&& func); + public virtual ~CallInvoker() = default; +} + +class facebook::react::CallbackWrapper : public facebook::react::LongLivedObject { + public facebook::jsi::Function& callback() noexcept; + public facebook::jsi::Runtime& runtime() noexcept; + public facebook::react::CallInvoker& jsInvoker() noexcept; + public static std::weak_ptr createWeak(facebook::jsi::Function&& callback, facebook::jsi::Runtime& runtime, std::shared_ptr jsInvoker); + public std::shared_ptr jsInvokerPtr() noexcept; + public void destroy(); +} + +class facebook::react::CdpMetricsReporter : public facebook::react::PerformanceEntryReporterEventListener { + public CdpMetricsReporter(facebook::react::RuntimeExecutor runtimeExecutor); + public virtual void onEventTimingEntry(const facebook::react::PerformanceEventTiming& entry) override; +} + +class facebook::react::CdpPerfIssuesReporter : public facebook::react::PerformanceEntryReporterEventListener { + public CdpPerfIssuesReporter(facebook::react::RuntimeExecutor runtimeExecutor); + public virtual void onMeasureEntry(const facebook::react::PerformanceMeasure& entry, const std::optional& detailProvider) override; +} + +class facebook::react::ColorAnimatedNode : public facebook::react::AnimatedNode { + public ColorAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public facebook::react::Color getColor(); + public virtual void update() override; +} + +class facebook::react::ComponentBuilder { + public ComponentBuilder(const facebook::react::ComponentBuilder& componentBuilder) = default; + public ComponentBuilder(facebook::react::ComponentBuilder&& componentBuilder) noexcept = default; + public ComponentBuilder(facebook::react::ComponentDescriptorRegistry::Shared componentDescriptorRegistry); + public facebook::react::ComponentBuilder& operator=(const facebook::react::ComponentBuilder& other) = default; + public facebook::react::ComponentBuilder& operator=(facebook::react::ComponentBuilder&& other) = default; + template + public std::shared_ptr build(facebook::react::Element element) const; +} + +class facebook::react::ComponentDescriptor { + protected facebook::react::ComponentDescriptor::Flavor flavor_; + protected facebook::react::EventDispatcher::Weak eventDispatcher_; + protected facebook::react::RawPropsParser rawPropsParser_; + protected friend ShadowNode; + protected std::shared_ptr contextContainer_; + protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const = 0; + public ComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public const std::shared_ptr& getContextContainer() const; + public using Flavor = std::shared_ptr; + public using Shared = std::shared_ptr; + public using Unique = std::unique_ptr; + public virtual facebook::react::ComponentHandle getComponentHandle() const = 0; + public virtual facebook::react::ComponentName getComponentName() const = 0; + public virtual facebook::react::Props::Shared cloneProps(const facebook::react::PropsParserContext& context, const facebook::react::Props::Shared& props, facebook::react::RawProps rawProps) const = 0; + public virtual facebook::react::ShadowNodeFamily::Shared createFamily(const facebook::react::ShadowNodeFamilyFragment& fragment) const = 0; + public virtual facebook::react::ShadowNodeTraits getTraits() const = 0; + public virtual facebook::react::State::Shared createInitialState(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family) const = 0; + public virtual facebook::react::State::Shared createState(const facebook::react::ShadowNodeFamily& family, const facebook::react::StateData::Shared& data) const = 0; + public virtual std::shared_ptr cloneShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) const = 0; + public virtual std::shared_ptr createShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family) const = 0; + public virtual void appendChild(const std::shared_ptr& parentShadowNode, const std::shared_ptr& childShadowNode) const = 0; + public virtual ~ComponentDescriptor() = default; +} + +class facebook::react::ComponentDescriptorParameters { + public facebook::react::ComponentDescriptor::Flavor flavor; + public facebook::react::EventDispatcher::Weak eventDispatcher; + public std::shared_ptr contextContainer; +} + +class facebook::react::ComponentDescriptorProvider { + public facebook::react::ComponentDescriptor::Flavor flavor; + public facebook::react::ComponentDescriptorConstructor* constructor; + public facebook::react::ComponentHandle handle; + public facebook::react::ComponentName name; +} + +class facebook::react::ComponentDescriptorProviderRegistry { + public facebook::react::ComponentDescriptorRegistry::Shared createComponentDescriptorRegistry(const facebook::react::ComponentDescriptorParameters& parameters) const; + public void add(const facebook::react::ComponentDescriptorProvider& provider) const; + public void setComponentDescriptorProviderRequest(facebook::react::ComponentDescriptorProviderRequest request) const; +} + +class facebook::react::ComponentDescriptorRegistry { + public ComponentDescriptorRegistry(facebook::react::ComponentDescriptorParameters parameters, const facebook::react::ComponentDescriptorProviderRegistry& providerRegistry, std::shared_ptr contextContainer); + public bool hasComponentDescriptorAt(facebook::react::ComponentHandle componentHandle) const; + public const facebook::react::ComponentDescriptor& at(const std::string& componentName) const; + public const facebook::react::ComponentDescriptor& at(facebook::react::ComponentHandle componentHandle) const; + public const facebook::react::ComponentDescriptor* findComponentDescriptorByHandle_DO_NOT_USE_THIS_IS_BROKEN(facebook::react::ComponentHandle componentHandle) const; + public facebook::react::ComponentDescriptor::Shared getFallbackComponentDescriptor() const; + public using Shared = std::shared_ptr; + public void setFallbackComponentDescriptor(const facebook::react::SharedComponentDescriptor& descriptor); +} + +class facebook::react::ContextContainer { + public void erase(const std::string& key) const; + public void update(const facebook::react::ContextContainer& contextContainer) const; + template + public T at(const std::string& key) const; + template + public std::optional find(const std::string& key) const; + template + public void insert(const std::string& key, const T& instance) const; +} + +class facebook::react::CxxNativeModule : public facebook::react::NativeModule { + public CxxNativeModule(std::weak_ptr instance, std::string name, facebook::xplat::module::CxxModule::Provider provider, std::shared_ptr messageQueueThread); + public static void setShouldWarnOnUse(bool value); + public virtual facebook::react::MethodCallResult callSerializableNativeHook(unsigned int hookId, folly::dynamic&& args) override; + public virtual folly::dynamic getConstants() override; + public virtual std::string getName() override; + public virtual std::string getSyncMethodName(unsigned int methodId) override; + public virtual std::vector getMethods() override; + public virtual void invoke(unsigned int reactMethodId, folly::dynamic&& params, int callId) override; +} + +class facebook::react::DebugStringConvertible { +} + +class facebook::react::DebuggingOverlayEventEmitter : public facebook::react::BaseViewEventEmitter { +} + +class facebook::react::DebuggingOverlayProps : public facebook::react::HostPlatformViewProps { + public DebuggingOverlayProps() = default; + public DebuggingOverlayProps(const facebook::react::PropsParserContext& context, const facebook::react::DebuggingOverlayProps& sourceProps, const facebook::react::RawProps& rawProps); +} + +class facebook::react::DecayAnimationDriver : public facebook::react::AnimationDriver { + protected virtual bool update(double timeDeltaMs, bool restarting) override; + public DecayAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); +} + +class facebook::react::DevToolsRuntimeSettings { + public DevToolsRuntimeSettings(const facebook::react::DevToolsRuntimeSettings&) = delete; + public DevToolsRuntimeSettings(facebook::react::DevToolsRuntimeSettings&&) = delete; + public facebook::react::NativeReloadAndProfileConfig getReloadAndProfileConfig() const; + public static facebook::react::DevToolsRuntimeSettings& getInstance(); + public void operator=(const facebook::react::DevToolsRuntimeSettings&) = delete; + public void operator=(facebook::react::DevToolsRuntimeSettings&&) = delete; + public void setReloadAndProfileConfig(facebook::react::NativePartialReloadAndProfileConfig config); + public ~DevToolsRuntimeSettings() = default; +} + +class facebook::react::DevToolsRuntimeSettingsModule : public facebook::react::NativeReactDevToolsRuntimeSettingsModuleCxxSpec { + public DevToolsRuntimeSettingsModule(std::shared_ptr jsInvoker); + public facebook::react::NativeReloadAndProfileConfig getReloadAndProfileConfig(facebook::jsi::Runtime& rt); + public void setReloadAndProfileConfig(facebook::jsi::Runtime& rt, facebook::react::NativePartialReloadAndProfileConfig config); +} + +class facebook::react::DiffClampAnimatedNode : public facebook::react::ValueAnimatedNode { + public DiffClampAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::DispatchMessageQueueThread : public facebook::react::MessageQueueThread { + public DispatchMessageQueueThread(RCTModuleData* moduleData); + public virtual void quitSynchronous() override; + public virtual void runOnQueue(std::function&& func) override; + public void runOnQueueSync(std::function&& __unused func) override; +} + +class facebook::react::DivisionAnimatedNode : public facebook::react::OperatorAnimatedNode { + public DivisionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::ElementFragment { + public facebook::react::ComponentHandle componentHandle; + public facebook::react::ComponentName componentName; + public facebook::react::ElementFragment::FinalizeCallback finalizeCallback; + public facebook::react::ElementFragment::List children; + public facebook::react::ElementFragment::ReferenceCallback referenceCallback; + public facebook::react::ElementFragment::StateCallback stateCallback; + public facebook::react::Props::Shared props; + public facebook::react::SurfaceId surfaceId; + public facebook::react::Tag tag; + public using FinalizeCallback = std::function; + public using List = std::vector; + public using ListOfShared = std::vector; + public using ReferenceCallback = std::function& shadowNode)>; + public using Shared = std::shared_ptr; + public using StateCallback = std::function; +} + +class facebook::react::Error { + public Error(const char* message); + public Error(std::string message); + public const std::string& message() const; +} + +class facebook::react::EventAnimationDriver { + protected const facebook::react::Tag animatedValueTag_; + protected std::vector eventPath_; + public EventAnimationDriver(const std::vector& eventPath, facebook::react::Tag animatedValueTag); + public facebook::react::Tag getAnimatedNodeTag() const; + public std::optional getValueFromPayload(const facebook::react::EventPayload& eventPayload); + public ~EventAnimationDriver() = default; +} + +class facebook::react::EventBeat { + protected facebook::react::EventBeat::BeatCallback beatCallback_; + protected mutable std::atomic isEventBeatRequested_; + protected std::function induceCallback_; + protected std::shared_ptr ownerBox_; + protected void induce() const; + public EventBeat(const facebook::react::EventBeat& other) = delete; + public EventBeat(std::shared_ptr ownerBox, facebook::react::RuntimeScheduler& runtimeScheduler); + public facebook::react::EventBeat& operator=(const facebook::react::EventBeat& other) = delete; + public using BeatCallback = std::function; + public using Factory = std::function(std::shared_ptr ownerBox)>; + public virtual void request() const; + public virtual void requestSynchronous() const; + public virtual ~EventBeat() = default; + public void setBeatCallback(facebook::react::EventBeat::BeatCallback beatCallback); + public void unstable_setInduceCallback(std::function callback); +} + +struct facebook::react::EventBeat::OwnerBox { + public std::weak_ptr owner; +} + +class facebook::react::EventDispatcher { + public EventDispatcher(const facebook::react::EventQueueProcessor& eventProcessor, std::unique_ptr eventBeat, facebook::react::StatePipe statePipe, std::weak_ptr eventLogger); + public using Shared = std::shared_ptr; + public using Weak = std::weak_ptr; + public void addListener(std::shared_ptr listener) const; + public void dispatchEvent(facebook::react::RawEvent&& rawEvent) const; + public void dispatchStateUpdate(facebook::react::StateUpdate&& stateUpdate, facebook::react::EventQueue::UpdateMode updateMode) const; + public void dispatchUniqueEvent(facebook::react::RawEvent&& rawEvent) const; + public void experimental_flushSync() const; + public void removeListener(const std::shared_ptr& listener) const; +} + +class facebook::react::EventEmitter { + public EventEmitter(facebook::react::SharedEventTarget eventTarget, facebook::react::EventDispatcher::Weak eventDispatcher); + public const facebook::react::SharedEventTarget& getEventTarget() const; + public static facebook::react::ValueFactory defaultPayloadFactory(); + public static std::mutex& DispatchMutex(); + public static std::string normalizeEventType(std::string type); + public using Shared = std::shared_ptr; + public virtual ~EventEmitter() = default; + public void dispatchEvent(std::string type, const facebook::react::ValueFactory& payloadFactory = facebook::react::EventEmitter::defaultPayloadFactory(), facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified) const; + public void dispatchEvent(std::string type, const facebook::react::ValueFactory& payloadFactory, facebook::react::RawEvent::Category category, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified) const; + public void dispatchEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::RawEvent::Category category, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchEvent(std::string type, folly::dynamic&& payload, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified) const; + public void dispatchEvent(std::string type, folly::dynamic&& payload, facebook::react::RawEvent::Category category, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, const facebook::react::ValueFactory& payloadFactory = facebook::react::EventEmitter::defaultPayloadFactory()) const; + public void dispatchUniqueEvent(std::string type, const facebook::react::ValueFactory& payloadFactory, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload) const; + public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload) const; + public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void setEnabled(bool enabled); + public void setShadowNodeFamily(std::weak_ptr shadowNodeFamily); + template + public void experimental_flushSync(Lambda syncFunc) const; +} + +class facebook::react::EventListenerContainer { + public bool willDispatchEvent(const facebook::react::RawEvent& event); + public void addListener(std::shared_ptr listener); + public void removeListener(const std::shared_ptr& listener); +} + +class facebook::react::EventLogger { + public virtual facebook::react::EventTag onEventStart(std::string_view name, facebook::react::SharedEventTarget target, std::optional eventStartTimeStamp = std::nullopt) = 0; + public virtual void onEventProcessingEnd(facebook::react::EventTag tag) = 0; + public virtual void onEventProcessingStart(facebook::react::EventTag tag) = 0; + public virtual ~EventLogger() = default; +} + +class facebook::react::EventPerformanceLogger : public facebook::react::EventLogger, public facebook::react::RuntimeSchedulerEventTimingDelegate, public facebook::react::UIManagerMountHook { + public EventPerformanceLogger(std::weak_ptr performanceEntryReporter); + public virtual facebook::react::EventTag onEventStart(std::string_view name, facebook::react::SharedEventTarget target, std::optional eventStartTimeStamp = std::nullopt) override; + public virtual void dispatchPendingEventTimingEntries(facebook::react::HighResTimeStamp taskEndTime, const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) override; + public virtual void onEventProcessingEnd(facebook::react::EventTag tag) override; + public virtual void onEventProcessingStart(facebook::react::EventTag tag) override; + public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp mountTime) noexcept override; +} + +class facebook::react::EventQueue { + protected const std::unique_ptr eventBeat_; + protected facebook::react::EventQueueProcessor eventProcessor_; + protected mutable std::mutex queueMutex_; + protected mutable std::vector eventQueue_; + protected mutable std::vector stateUpdateQueue_; + protected void flushEvents(facebook::jsi::Runtime& runtime) const; + protected void flushStateUpdates() const; + protected void onBeat(facebook::jsi::Runtime& runtime) const; + protected void onEnqueue() const; + public EventQueue(facebook::react::EventQueueProcessor eventProcessor, std::unique_ptr eventBeat); + public void enqueueEvent(facebook::react::RawEvent&& rawEvent) const; + public void enqueueStateUpdate(facebook::react::StateUpdate&& stateUpdate, facebook::react::EventQueue::UpdateMode updateMode = facebook::react::EventQueue::UpdateMode::Asynchronous) const; + public void enqueueUniqueEvent(facebook::react::RawEvent&& rawEvent) const; + public void experimental_flushSync() const; +} + +enum facebook::react::EventQueue::UpdateMode { + Asynchronous, + unstable_Immediate, +} + +class facebook::react::EventQueueProcessor { + public EventQueueProcessor(facebook::react::EventPipe eventPipe, facebook::react::EventPipeConclusion eventPipeConclusion, facebook::react::StatePipe statePipe, std::weak_ptr eventLogger); + public void flushEvents(facebook::jsi::Runtime& runtime, std::vector&& events) const; + public void flushStateUpdates(std::vector&& states) const; +} + +class facebook::react::EventSubscription { + public EventSubscription(const facebook::react::EventSubscription&) = delete; + public EventSubscription(facebook::react::EventSubscription&&) noexcept = default; + public EventSubscription(std::function remove); + public facebook::react::EventSubscription& operator=(const facebook::react::EventSubscription&) = delete; + public facebook::react::EventSubscription& operator=(facebook::react::EventSubscription&&) noexcept = default; + public void remove(); + public ~EventSubscription() = default; +} + +class facebook::react::EventTarget { + public EventTarget(facebook::react::InstanceHandle::Shared instanceHandle, facebook::react::SurfaceId surfaceId); + public facebook::jsi::Value getInstanceHandle(facebook::jsi::Runtime& runtime) const; + public facebook::react::EventTarget::Tag getTag() const; + public facebook::react::SurfaceId getSurfaceId() const; + public using Tag = int32_t; + public void release(facebook::jsi::Runtime& runtime); + public void retain(facebook::jsi::Runtime& runtime); + public void setEnabled(bool enabled); +} + +class facebook::react::ExecutorDelegate { + public virtual facebook::react::MethodCallResult callSerializableNativeHook(facebook::react::JSExecutor& executor, unsigned int moduleId, unsigned int methodId, folly::dynamic&& args) = 0; + public virtual std::shared_ptr getModuleRegistry() = 0; + public virtual void callNativeModules(facebook::react::JSExecutor& executor, folly::dynamic&& calls, bool isEndOfBatch) = 0; + public virtual ~ExecutorDelegate() = default; +} + +class facebook::react::FrameAnimationDriver : public facebook::react::AnimationDriver { + protected virtual bool update(double timeDeltaMs, bool restarting) override; + protected virtual void updateConfig(folly::dynamic config) override; + public FrameAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); +} + +class facebook::react::FuseboxTracer { + public FuseboxTracer(const facebook::react::FuseboxTracer&) = delete; + public bool isTracing(); + public bool startTracing(); + public bool stopTracing(const std::function& resultCallback); + public bool stopTracingAndWriteToFile(const std::string& path); + public static facebook::react::FuseboxTracer& getFuseboxTracer(); + public void addEvent(const std::string_view& name, uint64_t start, uint64_t end, const std::optional& track); +} + +class facebook::react::HermesExecutor : public facebook::react::JSIExecutor { + public HermesExecutor(std::shared_ptr runtime, std::shared_ptr delegate, std::shared_ptr jsQueue, const facebook::react::JSIScopedTimeoutInvoker& timeoutInvoker, facebook::react::JSIExecutor::RuntimeInstaller runtimeInstaller, hermes::HermesRuntime& hermesRuntime); + public virtual facebook::react::jsinspector_modern::RuntimeTargetDelegate& getRuntimeTargetDelegate() override; +} + +class facebook::react::HermesExecutorFactory : public facebook::react::JSExecutorFactory { + public HermesExecutorFactory(facebook::react::JSIExecutor::RuntimeInstaller runtimeInstaller, const facebook::react::JSIScopedTimeoutInvoker& timeoutInvoker = facebook::react::JSIExecutor::defaultTimeoutInvoker, hermes::vm::RuntimeConfig runtimeConfig = defaultRuntimeConfig()); + public virtual std::unique_ptr createJSExecutor(std::shared_ptr delegate, std::shared_ptr jsQueue) override; + public void setDebuggerName(const std::string& debuggerName); + public void setEnableDebugger(bool enableDebugger); +} + +class facebook::react::HermesInstance { + public static std::unique_ptr createJSRuntime(std::shared_ptr crashManager, std::shared_ptr msgQueueThread, bool allocInOldGenBeforeTTI) noexcept; +} + +class facebook::react::HighResDuration { + public constexpr HighResDuration(); + public constexpr bool operator!=(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator!=(const std::chrono::steady_clock::duration& rhs) const; + public constexpr bool operator<(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator<(const std::chrono::steady_clock::duration& rhs) const; + public constexpr bool operator<=(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator<=(const std::chrono::steady_clock::duration& rhs) const; + public constexpr bool operator==(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator==(const std::chrono::steady_clock::duration& rhs) const; + public constexpr bool operator>(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator>(const std::chrono::steady_clock::duration& rhs) const; + public constexpr bool operator>=(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator>=(const std::chrono::steady_clock::duration& rhs) const; + public constexpr double toDOMHighResTimeStamp() const; + public constexpr facebook::react::HighResDuration operator+(const facebook::react::HighResDuration& rhs) const; + public constexpr facebook::react::HighResDuration operator+(const std::chrono::steady_clock::duration& rhs) const; + public constexpr facebook::react::HighResDuration operator-(const facebook::react::HighResDuration& rhs) const; + public constexpr facebook::react::HighResDuration operator-(const std::chrono::steady_clock::duration& rhs) const; + public constexpr facebook::react::HighResDuration& operator+=(const facebook::react::HighResDuration& rhs); + public constexpr facebook::react::HighResDuration& operator+=(const std::chrono::steady_clock::duration& rhs); + public constexpr facebook::react::HighResDuration& operator-=(const facebook::react::HighResDuration& rhs); + public constexpr facebook::react::HighResDuration& operator-=(const std::chrono::steady_clock::duration& rhs); + public constexpr int64_t toNanoseconds() const; + public constexpr operator std::chrono::steady_clock::duration() const; + public static constexpr facebook::react::HighResDuration fromChrono(std::chrono::steady_clock::duration chronoDuration); + public static constexpr facebook::react::HighResDuration fromDOMHighResTimeStamp(double units); + public static constexpr facebook::react::HighResDuration fromMilliseconds(int64_t units); + public static constexpr facebook::react::HighResDuration fromNanoseconds(int64_t units); + public static constexpr facebook::react::HighResDuration zero(); +} + +class facebook::react::HighResTimeStamp { + public HighResTimeStamp() noexcept; + public constexpr bool operator!=(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr bool operator<(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr bool operator<=(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr bool operator==(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr bool operator>(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr bool operator>=(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr double toDOMHighResTimeStamp() const; + public constexpr facebook::react::HighResTimeStamp& operator+=(const facebook::react::HighResDuration& rhs); + public constexpr facebook::react::HighResTimeStamp& operator-=(const facebook::react::HighResDuration& rhs); + public constexpr std::chrono::steady_clock::time_point toChronoSteadyClockTimePoint() const; + public static constexpr facebook::react::HighResTimeStamp fromChronoSteadyClockTimePoint(std::chrono::steady_clock::time_point chronoTimePoint); + public static constexpr facebook::react::HighResTimeStamp fromDOMHighResTimeStamp(double units); + public static constexpr facebook::react::HighResTimeStamp max() noexcept; + public static constexpr facebook::react::HighResTimeStamp min() noexcept; + public static facebook::react::HighResDuration unsafeOriginFromUnixTimeStamp() noexcept; + public static facebook::react::HighResTimeStamp now() noexcept; +} + +class facebook::react::HostPlatformViewProps : public facebook::react::BaseViewProps { + public HostPlatformViewProps() = default; + public HostPlatformViewProps(const facebook::react::PropsParserContext& context, const facebook::react::HostPlatformViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool focusable; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::IAsyncEventEmitter { + public IAsyncEventEmitter() noexcept = default; + public IAsyncEventEmitter(const facebook::react::IAsyncEventEmitter&) = delete; + public IAsyncEventEmitter(facebook::react::IAsyncEventEmitter&&) noexcept = default; + public facebook::react::IAsyncEventEmitter& operator=(const facebook::react::IAsyncEventEmitter&) = delete; + public facebook::react::IAsyncEventEmitter& operator=(facebook::react::IAsyncEventEmitter&&) noexcept = default; + public virtual facebook::jsi::Object get(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker) const = 0; + public virtual ~IAsyncEventEmitter() noexcept = default; +} + +class facebook::react::ImageComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public ImageComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); + public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; +} + +class facebook::react::ImageErrorInfo { + public int responseCode; + public std::string error; + public std::vector> httpResponseHeaders; +} + +class facebook::react::ImageEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onError(const facebook::react::ImageErrorInfo& error) const; + public void onLoad(const facebook::react::ImageSource& source) const; + public void onLoadEnd() const; + public void onLoadStart() const; + public void onPartialLoad() const; + public void onProgress(double progress, int64_t loaded, int64_t total) const; +} + +class facebook::react::ImageLoadError { + public ImageLoadError(std::shared_ptr error); + public std::shared_ptr getError() const; +} + +class facebook::react::ImageManager { + public ImageManager(const std::shared_ptr& contextContainer); + public virtual facebook::react::ImageRequest requestImage(const facebook::react::ImageSource& imageSource, facebook::react::SurfaceId surfaceId, const facebook::react::ImageRequestParams& imageRequestParams = {}, facebook::react::Tag tag = {}) const; + public virtual ~ImageManager(); +} + +class facebook::react::ImageProps : public facebook::react::HostPlatformViewProps { + public ImageProps() = default; + public ImageProps(const facebook::react::PropsParserContext& context, const facebook::react::ImageProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool progressiveRenderingEnabled; + public bool shouldNotifyLoadEvents; + public facebook::react::EdgeInsets capInsets; + public facebook::react::Float blurRadius; + public facebook::react::Float fadeDuration; + public facebook::react::Float resizeMultiplier; + public facebook::react::ImageResizeMode resizeMode; + public facebook::react::ImageSource defaultSource; + public facebook::react::ImageSource loadingIndicatorSource; + public facebook::react::ImageSources sources; + public facebook::react::SharedColor overlayColor; + public facebook::react::SharedColor tintColor; + public std::string internal_analyticTag; + public std::string resizeMethod; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::ImageRequest { + public ImageRequest(const facebook::react::ImageRequest& other) = delete; + public ImageRequest(facebook::react::ImageRequest&& other) noexcept = default; + public ImageRequest(facebook::react::ImageSource imageSource, std::shared_ptr telemetry, facebook::react::SharedFunction<> resumeFunction = {}, facebook::react::SharedFunction<> cancelationFunction = {}); + public const facebook::react::ImageResponseObserverCoordinator& getObserverCoordinator() const; + public const facebook::react::ImageSource& getImageSource() const; + public const std::shared_ptr& getSharedObserverCoordinator() const; + public const std::shared_ptr& getSharedTelemetry() const; + public facebook::react::ImageRequest& operator=(const facebook::react::ImageRequest& other) = delete; + public facebook::react::ImageRequest& operator=(facebook::react::ImageRequest&& other) noexcept = default; + public ~ImageRequest() = default; +} + +class facebook::react::ImageRequestParams { + public ImageRequestParams(); + public ImageRequestParams(facebook::react::Float blurRadius); + public bool operator==(const facebook::react::ImageRequestParams& rhs) const = default; + public facebook::react::Float blurRadius; +} + +class facebook::react::ImageResponse { + public ImageResponse(std::shared_ptr image, std::shared_ptr metadata); + public std::shared_ptr getImage() const; + public std::shared_ptr getMetadata() const; +} + +enum facebook::react::ImageResponse::Status { + Cancelled, + Completed, + Consumed, + Failed, + Loading, +} + +class facebook::react::ImageResponseObserver { + public virtual void didReceiveFailure(const facebook::react::ImageLoadError& error) const = 0; + public virtual void didReceiveImage(const facebook::react::ImageResponse& imageResponse) const = 0; + public virtual void didReceiveProgress(float progress, int64_t loaded, int64_t total) const = 0; + public virtual ~ImageResponseObserver() noexcept = default; +} + +class facebook::react::ImageResponseObserverCoordinator { + public ImageResponseObserverCoordinator(facebook::react::SharedFunction<> resumeFunction, facebook::react::SharedFunction<> cancelationFunction); + public void addObserver(std::shared_ptr observer) const; + public void nativeImageResponseComplete(const facebook::react::ImageResponse& imageResponse) const; + public void nativeImageResponseFailed(const facebook::react::ImageLoadError& loadError) const; + public void nativeImageResponseProgress(float progress, int64_t loaded, int64_t total) const; + public void removeObserver(const std::shared_ptr& observer) const; +} + +class facebook::react::ImageShadowNode : public facebook::react::ConcreteViewShadowNode { + public ImageShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ImageShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ImageState initialStateData(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared&, const facebook::react::ComponentDescriptor& componentDescriptor); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public virtual void layout(facebook::react::LayoutContext layoutContext) override; + public void setImageManager(const std::shared_ptr& imageManager); +} + +class facebook::react::ImageSource { + public bool operator==(const facebook::react::ImageSource& rhs) const; + public facebook::react::Float scale; + public facebook::react::ImageSource::CacheStategy cache; + public facebook::react::ImageSource::Type type; + public facebook::react::Size size; + public std::string body; + public std::string bundle; + public std::string method; + public std::string uri; + public std::vector> headers; +} + +enum facebook::react::ImageSource::CacheStategy { + Default, + ForceCache, + OnlyIfCached, + Reload, +} + +enum facebook::react::ImageSource::Type { + Invalid, + Local, + Remote, +} + +class facebook::react::ImageState { + public ImageState(const facebook::react::ImageSource& imageSource, facebook::react::ImageRequest imageRequest, const facebook::react::ImageRequestParams& imageRequestParams); + public const facebook::react::ImageRequest& getImageRequest() const; + public const facebook::react::ImageRequestParams& getImageRequestParams() const; + public facebook::react::ImageSource getImageSource() const; +} + +class facebook::react::ImageTelemetry { + public ImageTelemetry(const facebook::react::SurfaceId surfaceId); + public facebook::react::SurfaceId getSurfaceId() const; + public facebook::react::TelemetryTimePoint getWillRequestUrlTime() const; +} + +class facebook::react::InputAccessoryComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public InputAccessoryComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; +} + +class facebook::react::InputAccessoryEventEmitter : public facebook::react::BaseViewEventEmitter { +} + +class facebook::react::InputAccessoryProps : public facebook::react::HostPlatformViewProps { + public InputAccessoryProps() = default; + public InputAccessoryProps(const facebook::react::PropsParserContext& context, const facebook::react::InputAccessoryProps& sourceProps, const facebook::react::RawProps& rawProps); + public facebook::react::SharedColor backgroundColor; +} + +class facebook::react::InputAccessoryShadowNode : public facebook::react::ConcreteViewShadowNode { + public InputAccessoryShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public InputAccessoryShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); +} + +class facebook::react::InputAccessoryState { + public InputAccessoryState(); + public InputAccessoryState(facebook::react::Size viewportSize_); + public const facebook::react::Size viewportSize; +} + +class facebook::react::Instance { + public bool isBatchActive(); + public bool isInspectable(); + public bool supportsProfiling(); + public const facebook::react::ModuleRegistry& getModuleRegistry() const; + public facebook::react::ModuleRegistry& getModuleRegistry(); + public facebook::react::RuntimeExecutor getRuntimeExecutor(); + public std::shared_ptr getJSCallInvoker(); + public std::shared_ptr getDecoratedNativeMethodCallInvoker(std::shared_ptr nativeMethodCallInvoker); + public void callJSCallback(uint64_t callbackId, folly::dynamic&& params); + public void callJSFunction(std::string&& module, std::string&& method, folly::dynamic&& params); + public void handleMemoryPressure(int pressureLevel); + public void initializeBridge(std::unique_ptr callback, std::shared_ptr jsef, std::shared_ptr jsQueue, std::shared_ptr moduleRegistry, facebook::react::jsinspector_modern::HostTarget* inspectorTarget = nullptr); + public void initializeRuntime(); + public void loadRAMBundle(std::unique_ptr bundleRegistry, std::unique_ptr startupScript, std::string startupScriptSourceURL, bool loadSynchronously); + public void loadRAMBundleFromFile(const std::string& sourcePath, const std::string& sourceURL, bool loadSynchronously); + public void loadRAMBundleFromString(std::unique_ptr script, const std::string& sourceURL); + public void loadScriptFromString(std::unique_ptr string, std::string sourceURL, bool loadSynchronously); + public void registerBundle(uint32_t bundleId, const std::string& bundlePath); + public void setGlobalVariable(std::string propName, std::unique_ptr jsonValue); + public void setSourceURL(std::string sourceURL); + public void unregisterFromInspector(); + public void* getJavaScriptContext(); + public ~Instance() override; +} + +class facebook::react::InstanceHandle { + public InstanceHandle(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& instanceHandle, facebook::react::Tag tag); + public facebook::jsi::Value getInstanceHandle(facebook::jsi::Runtime& runtime) const; + public facebook::react::Tag getTag() const; + public using Shared = std::shared_ptr; +} + +class facebook::react::InterpolationAnimatedNode : public facebook::react::ValueAnimatedNode { + public InterpolationAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void onAttachToNode(facebook::react::Tag animatedNodeTag) override; + public virtual void onDetachedFromNode(facebook::react::Tag animatedNodeTag) override; + public virtual void update() override; +} + +class facebook::react::IntersectionObserver { + public IntersectionObserver(facebook::react::IntersectionObserverObserverId intersectionObserverId, std::optional observationRootShadowNodeFamily, facebook::react::ShadowNodeFamily::Shared targetShadowNodeFamily, std::vector thresholds, std::optional> rootThresholds, std::vector rootMargins); + public facebook::react::IntersectionObserverObserverId getIntersectionObserverId() const; + public facebook::react::ShadowNodeFamily::Shared getTargetShadowNodeFamily() const; + public std::optional updateIntersectionObservation(const facebook::react::RootShadowNode& rootShadowNode, facebook::react::HighResTimeStamp time); + public std::optional updateIntersectionObservationForSurfaceUnmount(facebook::react::HighResTimeStamp time); + public std::vector getThresholds() const; +} + +class facebook::react::IntersectionObserverManager : public facebook::react::UIManagerMountHook, public facebook::react::RuntimeSchedulerIntersectionObserverDelegate { + public IntersectionObserverManager(); + public std::vector takeRecords(); + public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp time) noexcept override; + public virtual void shadowTreeDidUnmount(facebook::react::SurfaceId surfaceId, facebook::react::HighResTimeStamp time) noexcept override; + public virtual void updateIntersectionObservations(const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) override; + public void connect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager, std::function notifyIntersectionObserversCallback); + public void disconnect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager); + public void observe(facebook::react::IntersectionObserverObserverId intersectionObserverId, const std::optional& observationRootShadowNode, const facebook::react::ShadowNodeFamily::Shared& shadowNode, std::vector thresholds, std::optional> rootThresholds, std::optional rootMargin, const facebook::react::UIManager& uiManager); + public void unobserve(facebook::react::IntersectionObserverObserverId intersectionObserverId, const facebook::react::ShadowNodeFamily::Shared& shadowNode); +} + +class facebook::react::IntersectionObserverState { + public bool isIntersecting() const; + public bool operator==(const facebook::react::IntersectionObserverState& other) const; + public static facebook::react::IntersectionObserverState Initial(); + public static facebook::react::IntersectionObserverState Intersecting(facebook::react::Float threshold); + public static facebook::react::IntersectionObserverState Intersecting(facebook::react::Float threshold, facebook::react::Float rootThreshold); + public static facebook::react::IntersectionObserverState NotIntersecting(); +} + +class facebook::react::JSBigBufferString : public facebook::react::JSBigString { + public JSBigBufferString(size_t size); + public char* mutableData(); + public virtual bool isAscii() const override; + public virtual const char* c_str() const override; + public virtual size_t size() const override; + public ~JSBigBufferString() override; +} + +class facebook::react::JSBigFileString : public facebook::react::JSBigString { + public JSBigFileString(int fd, size_t size, off_t offset = 0); + public int fd() const; + public static std::unique_ptr fromPath(const std::string& sourceURL); + public virtual bool isAscii() const override; + public virtual const char* c_str() const override; + public virtual size_t size() const override; + public ~JSBigFileString() override; +} + +class facebook::react::JSBigStdString : public facebook::react::JSBigString { + public JSBigStdString(std::string str, bool isAscii = false); + public virtual bool isAscii() const override; + public virtual const char* c_str() const override; + public virtual size_t size() const override; +} + +class facebook::react::JSBigString : public facebook::jsi::Buffer { + public JSBigString() = default; + public JSBigString(const facebook::react::JSBigString&) = delete; + public JSBigString(facebook::react::JSBigString&&) = delete; + public facebook::react::JSBigString& operator=(const facebook::react::JSBigString&) = delete; + public facebook::react::JSBigString& operator=(facebook::react::JSBigString&&) = delete; + public virtual bool isAscii() const = 0; + public virtual const char* c_str() const = 0; + public virtual const uint8_t* data() const final; + public virtual size_t size() const override = 0; + public ~JSBigString() override = default; +} + +class facebook::react::JSExecutor { + public static std::string getSyntheticBundlePath(uint32_t bundleId, const std::string& bundlePath); + public virtual bool isInspectable(); + public virtual facebook::react::jsinspector_modern::RuntimeTargetDelegate& getRuntimeTargetDelegate(); + public virtual std::string getDescription() = 0; + public virtual void callFunction(const std::string& moduleId, const std::string& methodId, const folly::dynamic& arguments) = 0; + public virtual void destroy(); + public virtual void flush(); + public virtual void handleMemoryPressure(int pressureLevel); + public virtual void initializeRuntime() = 0; + public virtual void invokeCallback(double callbackId, const folly::dynamic& arguments) = 0; + public virtual void loadBundle(std::unique_ptr script, std::string sourceURL) = 0; + public virtual void registerBundle(uint32_t bundleId, const std::string& bundlePath) = 0; + public virtual void setBundleRegistry(std::unique_ptr bundleRegistry) = 0; + public virtual void setGlobalVariable(std::string propName, std::unique_ptr jsonValue) = 0; + public virtual void* getJavaScriptContext(); + public virtual ~JSExecutor() = default; +} + +class facebook::react::JSExecutorFactory { + public virtual std::unique_ptr createJSExecutor(std::shared_ptr delegate, std::shared_ptr jsQueue) = 0; + public virtual ~JSExecutorFactory() = default; +} + +class facebook::react::JSIExecutor : public facebook::react::JSExecutor { + public JSIExecutor(std::shared_ptr runtime, std::shared_ptr delegate, const facebook::react::JSIScopedTimeoutInvoker& timeoutInvoker, facebook::react::JSIExecutor::RuntimeInstaller runtimeInstaller); + public static void defaultTimeoutInvoker(const std::function& invokee, std::function errorMessageProducer); + public using RuntimeInstaller = std::function; + public virtual bool isInspectable() override; + public virtual std::string getDescription() override; + public virtual void callFunction(const std::string& moduleId, const std::string& methodId, const folly::dynamic& arguments) override; + public virtual void flush() override; + public virtual void handleMemoryPressure(int pressureLevel) override; + public virtual void initializeRuntime() override; + public virtual void invokeCallback(double callbackId, const folly::dynamic& arguments) override; + public virtual void loadBundle(std::unique_ptr script, std::string sourceURL) override; + public virtual void registerBundle(uint32_t bundleId, const std::string& bundlePath) override; + public virtual void setBundleRegistry(std::unique_ptr r) override; + public virtual void setGlobalVariable(std::string propName, std::unique_ptr jsonValue) override; + public virtual void* getJavaScriptContext() override; +} + +class facebook::react::JSINativeModules { + public JSINativeModules(std::shared_ptr moduleRegistry); + public facebook::jsi::Value getModule(facebook::jsi::Runtime& rt, const facebook::jsi::PropNameID& name); + public void reset(); +} + +class facebook::react::JSIRuntimeHolder : public facebook::react::JSRuntime { + public JSIRuntimeHolder(std::unique_ptr runtime); + public virtual facebook::jsi::Runtime& getRuntime() noexcept override; +} + +class facebook::react::JSIndexedRAMBundle : public facebook::react::JSModulesUnbundle { + public JSIndexedRAMBundle(const char* sourcePath); + public JSIndexedRAMBundle(std::unique_ptr script); + public static std::function(std::string)> buildFactory(); + public std::unique_ptr getStartupCode(); + public virtual facebook::react::JSModulesUnbundle::Module getModule(uint32_t moduleId) const override; +} + +class facebook::react::JSModulesUnbundle { + public JSModulesUnbundle(); + public virtual facebook::react::JSModulesUnbundle::Module getModule(uint32_t moduleId) const = 0; + public virtual ~JSModulesUnbundle() = default; +} + +class facebook::react::JSModulesUnbundle::ModuleNotFound : public std::out_of_range { + public ModuleNotFound(uint32_t moduleId); +} + +struct facebook::react::JSModulesUnbundle::Module { + public std::string code; + public std::string name; +} + +class facebook::react::JSRuntime { + public virtual facebook::jsi::Runtime& getRuntime() noexcept = 0; + public virtual facebook::react::jsinspector_modern::RuntimeTargetDelegate& getRuntimeTargetDelegate(); + public virtual void unstable_initializeOnJsThread(); + public virtual ~JSRuntime() = default; +} + +class facebook::react::JSRuntimeFactory { + public virtual std::unique_ptr createJSRuntime(std::shared_ptr msgQueueThread) noexcept = 0; + public virtual ~JSRuntimeFactory() = default; +} + +class facebook::react::JsErrorHandler { + public JsErrorHandler(facebook::react::JsErrorHandler::OnJsError onJsError); + public bool hasHandledFatalError(); + public bool inErrorHandler(); + public bool isRuntimeReady(); + public using OnJsError = std::function; + public void handleError(facebook::jsi::Runtime& runtime, facebook::jsi::JSError& error, bool isFatal, bool logToConsole = true); + public void notifyOfFatalError(); + public void registerErrorListener(const std::function& listener); + public void setRuntimeReady(); + public ~JsErrorHandler(); +} + +struct facebook::react::JsErrorHandler::ProcessedError { + public bool isFatal; + public facebook::jsi::Object extraData; + public int id; + public std::optional componentStack; + public std::optional name; + public std::optional originalMessage; + public std::string message; + public std::vector stack; +} + +struct facebook::react::JsErrorHandler::ProcessedError::StackFrame { + public std::optional column; + public std::optional lineNumber; + public std::optional file; + public std::string methodName; +} + +class facebook::react::LayoutAnimationCallbackWrapper { + public LayoutAnimationCallbackWrapper(); + public LayoutAnimationCallbackWrapper(facebook::jsi::Function&& callback); + public void call(facebook::jsi::Runtime& runtime) const; +} + +class facebook::react::LayoutAnimationDriver : public facebook::react::LayoutAnimationKeyFrameManager { + protected virtual void animationMutationsForFrame(facebook::react::SurfaceId surfaceId, facebook::react::ShadowViewMutation::List& mutationsList, uint64_t now) const override; + public LayoutAnimationDriver(facebook::react::RuntimeExecutor runtimeExecutor, std::shared_ptr& contextContainer, facebook::react::LayoutAnimationStatusDelegate* delegate); +} + +class facebook::react::LayoutAnimationKeyFrameManager : public facebook::react::UIManagerAnimationDelegate, public facebook::react::MountingOverrideDelegate { + protected bool hasComponentDescriptorForShadowView(const facebook::react::ShadowView& shadowView) const; + protected const facebook::react::ComponentDescriptor& getComponentDescriptorForShadowView(const facebook::react::ShadowView& shadowView) const; + protected facebook::react::ShadowView createInterpolatedShadowView(facebook::react::Float progress, const facebook::react::ShadowView& startingView, const facebook::react::ShadowView& finalView) const; + protected facebook::react::SharedComponentDescriptorRegistry componentDescriptorRegistry_; + protected mutable std::mutex currentAnimationMutex_; + protected mutable std::optional currentAnimation_; + protected mutable std::vector inflightAnimations_; + protected virtual void animationMutationsForFrame(facebook::react::SurfaceId surfaceId, facebook::react::ShadowViewMutation::List& mutationsList, uint64_t now) const = 0; + protected void callCallback(const facebook::react::LayoutAnimationCallbackWrapper& callback) const; + protected void queueFinalMutationsForCompletedKeyFrame(const facebook::react::AnimationKeyFrame& keyframe, facebook::react::ShadowViewMutation::List& mutationsList, bool interrupted, const std::string& logPrefix) const; + public LayoutAnimationKeyFrameManager(facebook::react::RuntimeExecutor runtimeExecutor, std::shared_ptr& contextContainer, facebook::react::LayoutAnimationStatusDelegate* delegate); + public virtual bool shouldAnimateFrame() const override; + public virtual bool shouldOverridePullTransaction() const override; + public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const override; + public virtual void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry) override; + public virtual void stopSurface(facebook::react::SurfaceId surfaceId) override; + public virtual void uiManagerDidConfigureNextLayoutAnimation(facebook::jsi::Runtime& runtime, const facebook::react::RawValue& config, const facebook::jsi::Value& successCallbackValue, const facebook::jsi::Value& failureCallbackValue) const override; + public void setClockNow(std::function now); + public void setLayoutAnimationStatusDelegate(facebook::react::LayoutAnimationStatusDelegate* delegate) const; + public void uiManagerDidConfigureNextLayoutAnimation(facebook::react::LayoutAnimation layoutAnimation) const; +} + +class facebook::react::LayoutAnimationStatusDelegate { + public virtual void onAllAnimationsComplete() = 0; + public virtual void onAnimationStarted() = 0; + public virtual ~LayoutAnimationStatusDelegate() = default; +} + +class facebook::react::LayoutConformanceShadowNode : public facebook::react::ConcreteShadowNode { +} + +class facebook::react::LayoutableShadowNode : public facebook::react::ShadowNode { + public LayoutableShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public LayoutableShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public facebook::react::LayoutMetrics getLayoutMetrics() const; + public facebook::react::LayoutMetrics layoutMetrics_; + public facebook::react::LayoutableShadowNode::UnsharedList getLayoutableChildNodes() const; + public static facebook::react::LayoutMetrics computeLayoutMetricsFromRoot(const facebook::react::ShadowNodeFamily& descendantNodeFamily, const facebook::react::LayoutableShadowNode& rootNode, facebook::react::LayoutableShadowNode::LayoutInspectingPolicy policy); + public static facebook::react::LayoutMetrics computeRelativeLayoutMetrics(const facebook::react::ShadowNode::AncestorList& ancestors, facebook::react::LayoutableShadowNode::LayoutInspectingPolicy policy); + public static facebook::react::LayoutMetrics computeRelativeLayoutMetrics(const facebook::react::ShadowNodeFamily& descendantNodeFamily, const facebook::react::LayoutableShadowNode& ancestorNode, facebook::react::LayoutableShadowNode::LayoutInspectingPolicy policy); + public static std::shared_ptr findNodeAtPoint(const std::shared_ptr& node, facebook::react::Point point); + public using UnsharedList = std::vector; + public virtual bool canBeTouchTarget() const; + public virtual bool canChildrenBeTouchTarget() const; + public virtual bool getIsLayoutClean() const = 0; + public virtual facebook::react::Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const; + public virtual facebook::react::Point getContentOriginOffset(bool includeTransform) const; + public virtual facebook::react::Size measure(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public virtual facebook::react::Transform getTransform() const; + public virtual void dirtyLayout() = 0; + public virtual void layout(facebook::react::LayoutContext layoutContext) = 0; + public virtual void layoutTree(facebook::react::LayoutContext layoutContext, facebook::react::LayoutConstraints layoutConstraints) = 0; + public void setLayoutMetrics(facebook::react::LayoutMetrics layoutMetrics); +} + +struct facebook::react::LayoutableShadowNode::LayoutInspectingPolicy { + public bool enableOverflowClipping; + public bool includeTransform; + public bool includeViewportOffset; +} + +class facebook::react::LazyShadowTreeRevisionConsistencyManager : public facebook::react::ShadowTreeRevisionConsistencyManager, public facebook::react::ShadowTreeRevisionProvider { + public LazyShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRegistry& shadowTreeRegistry); + public std::shared_ptr updateCurrentRevision(facebook::react::SurfaceId surfaceId); + public virtual std::shared_ptr getCurrentRevision(facebook::react::SurfaceId surfaceId) override; + public virtual void lockRevisions() override; + public virtual void unlockRevisions() override; +} + +class facebook::react::LeakChecker { + public LeakChecker(facebook::react::RuntimeExecutor runtimeExecutor); + public void stopSurface(facebook::react::SurfaceId surfaceId); + public void uiManagerDidCreateShadowNodeFamily(const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily) const; +} + +class facebook::react::LegacyViewManagerInteropComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; + public LegacyViewManagerInteropComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); + public LegacyViewManagerInteropComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public virtual facebook::react::ComponentHandle getComponentHandle() const override; + public virtual facebook::react::ComponentName getComponentName() const override; +} + +class facebook::react::LegacyViewManagerInteropState { + public std::shared_ptr coordinator; +} + +class facebook::react::LegacyViewManagerInteropViewProps : public facebook::react::HostPlatformViewProps { + public LegacyViewManagerInteropViewProps() = default; + public LegacyViewManagerInteropViewProps(const facebook::react::PropsParserContext& context, const facebook::react::LegacyViewManagerInteropViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public const folly::dynamic otherProps; +} + +class facebook::react::LineMeasureCacheKey { + public facebook::react::AttributedString attributedString; + public facebook::react::ParagraphAttributes paragraphAttributes; + public facebook::react::Size size; +} + +class facebook::react::LongLivedObject { + protected LongLivedObject(facebook::jsi::Runtime& runtime); + protected facebook::jsi::Runtime& runtime_; + protected virtual ~LongLivedObject() = default; + public virtual void allowRelease(); +} + +class facebook::react::LongLivedObjectCollection { + public LongLivedObjectCollection() = default; + public LongLivedObjectCollection(const facebook::react::LongLivedObjectCollection&) = delete; + public size_t size() const; + public static facebook::react::LongLivedObjectCollection& get(facebook::jsi::Runtime& runtime); + public void add(std::shared_ptr o); + public void clear(); + public void operator=(const facebook::react::LongLivedObjectCollection&) = delete; + public void remove(const facebook::react::LongLivedObject* o); +} + +class facebook::react::MainRunLoopObserver : public facebook::react::PlatformRunLoopObserver { + public MainRunLoopObserver(facebook::react::RunLoopObserver::Activity activities, facebook::react::RunLoopObserver::WeakOwner owner); +} + +class facebook::react::MapBuffer { + public MapBuffer(const facebook::react::MapBuffer& buffer) = delete; + public MapBuffer(facebook::react::MapBuffer&& buffer) = default; + public MapBuffer(std::vector data); + public bool getBool(facebook::react::MapBuffer::Key key) const; + public const uint8_t* data() const; + public double getDouble(facebook::react::MapBuffer::Key key) const; + public facebook::react::MapBuffer getMapBuffer(facebook::react::MapBuffer::Key key) const; + public facebook::react::MapBuffer& operator=(const facebook::react::MapBuffer& other) = delete; + public facebook::react::MapBuffer& operator=(facebook::react::MapBuffer&& other) = default; + public int32_t getInt(facebook::react::MapBuffer::Key key) const; + public int64_t getLong(facebook::react::MapBuffer::Key key) const; + public size_t size() const; + public static constexpr uint16_t HEADER_ALIGNMENT; + public std::string getString(facebook::react::MapBuffer::Key key) const; + public std::vector getMapBufferList(facebook::react::MapBuffer::Key key) const; + public uint16_t count() const; + public using Key = uint16_t; +} + +enum facebook::react::MapBuffer::DataType : uint16_t { + Boolean, + Double, + Int, + Long, + Map, + String, +} + +struct facebook::react::MapBuffer::Bucket { + public Bucket(facebook::react::MapBuffer::Key key, uint16_t type, uint64_t data); + public facebook::react::MapBuffer::Key key; + public uint16_t type; + public uint64_t data; +} + +struct facebook::react::MapBuffer::Header { + public uint16_t alignment; + public uint16_t count; + public uint32_t bufferSize; +} + +class facebook::react::MapBufferBuilder { + public MapBufferBuilder(uint32_t initialSize = facebook::react::INITIAL_BUCKETS_SIZE); + public facebook::react::MapBuffer build(); + public static facebook::react::MapBuffer EMPTY(); + public void putBool(facebook::react::MapBuffer::Key key, bool value); + public void putDouble(facebook::react::MapBuffer::Key key, double value); + public void putInt(facebook::react::MapBuffer::Key key, int32_t value); + public void putLong(facebook::react::MapBuffer::Key key, int64_t value); + public void putMapBuffer(facebook::react::MapBuffer::Key key, const facebook::react::MapBuffer& map); + public void putMapBufferList(facebook::react::MapBuffer::Key key, const std::vector& mapBufferList); + public void putString(facebook::react::MapBuffer::Key key, const std::string& value); +} + +class facebook::react::MergedValueDispatcher { + public MergedValueDispatcher(facebook::react::MergedValueDispatcher::DispatchFunction dispatchFunction, facebook::react::MergedValueDispatcher::MergedValueFunction mergedValueFunction); + public using DispatchFunction = std::function&&)>; + public using MergedValueFunction = std::function&& tagToProps)>; + public void dispatch(const std::unordered_map& value); +} + +class facebook::react::MessageQueueThread { + public virtual void quitSynchronous() = 0; + public virtual void runOnQueue(std::function&&) = 0; + public virtual void runOnQueueSync(std::function&&) = 0; + public virtual ~MessageQueueThread() = default; +} + +class facebook::react::ModalHostViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public ModalHostViewComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; +} + +class facebook::react::ModalHostViewEventEmitter : public facebook::react::BaseViewEventEmitter { + public static char const* toString(const facebook::react::ModalHostViewEventEmitter::OnOrientationChangeOrientation value); + public void onDismiss(facebook::react::ModalHostViewEventEmitter::OnDismiss value) const; + public void onOrientationChange(facebook::react::ModalHostViewEventEmitter::OnOrientationChange value) const; + public void onRequestClose(facebook::react::ModalHostViewEventEmitter::OnRequestClose value) const; + public void onShow(facebook::react::ModalHostViewEventEmitter::OnShow value) const; +} + +enum facebook::react::ModalHostViewEventEmitter::OnOrientationChangeOrientation { + Landscape, + Portrait, +} + +struct facebook::react::ModalHostViewEventEmitter::OnDismiss { +} + +struct facebook::react::ModalHostViewEventEmitter::OnOrientationChange { + public facebook::react::ModalHostViewEventEmitter::OnOrientationChangeOrientation orientation; +} + +struct facebook::react::ModalHostViewEventEmitter::OnRequestClose { +} + +struct facebook::react::ModalHostViewEventEmitter::OnShow { +} + +class facebook::react::ModalHostViewProps : public facebook::react::HostPlatformViewProps { + public ModalHostViewProps() = default; + public ModalHostViewProps(const facebook::react::PropsParserContext& context, const facebook::react::ModalHostViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool allowSwipeDismissal; + public bool animated; + public bool hardwareAccelerated; + public bool navigationBarTranslucent; + public bool statusBarTranslucent; + public bool transparent; + public bool visible; + public facebook::react::ModalHostViewAnimationType animationType; + public facebook::react::ModalHostViewPresentationStyle presentationStyle; + public facebook::react::ModalHostViewSupportedOrientationsMask supportedOrientations; + public int identifier; +} + +class facebook::react::ModalHostViewShadowNode : public facebook::react::ConcreteViewShadowNode { + public ModalHostViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ModalHostViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); +} + +class facebook::react::ModalHostViewState { + public ModalHostViewState(); + public ModalHostViewState(facebook::react::Size screenSize_); + public const facebook::react::Size screenSize; + public using Shared = std::shared_ptr; +} + +class facebook::react::ModuleRegistry { + public ModuleRegistry(std::vector> modules, facebook::react::ModuleRegistry::ModuleNotFoundCallback callback = nullptr); + public facebook::react::MethodCallResult callSerializableNativeHook(unsigned int moduleId, unsigned int methodId, folly::dynamic&& params); + public std::optional getConfig(const std::string& name); + public std::string getModuleName(unsigned int moduleId); + public std::string getModuleSyncMethodName(unsigned int moduleId, unsigned int methodId); + public std::vector moduleNames(); + public using ModuleNotFoundCallback = std::function; + public void callNativeMethod(unsigned int moduleId, unsigned int methodId, folly::dynamic&& params, int callId); + public void registerModules(std::vector> modules); +} + +class facebook::react::ModulusAnimatedNode : public facebook::react::ValueAnimatedNode { + public ModulusAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::MountingCoordinator { + public MountingCoordinator(const facebook::react::ShadowTreeRevision& baseRevision); + public bool hasPendingTransactions() const; + public bool waitForTransaction(std::chrono::duration timeout) const; + public const facebook::react::TelemetryController& getTelemetryController() const; + public facebook::react::ShadowTreeRevision getBaseRevision() const; + public facebook::react::SurfaceId getSurfaceId() const; + public std::optional pullTransaction(bool willPerformAsynchronously = false) const; + public void didPerformAsyncTransactions() const; + public void setMountingOverrideDelegate(std::weak_ptr delegate) const; +} + +class facebook::react::MountingOverrideDelegate { + public virtual bool shouldOverridePullTransaction() const = 0; + public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const = 0; + public virtual ~MountingOverrideDelegate() = default; +} + +class facebook::react::MountingTransaction { + public MountingTransaction(const facebook::react::MountingTransaction& mountingTransaction) = default; + public MountingTransaction(facebook::react::MountingTransaction&& mountingTransaction) noexcept = default; + public MountingTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, facebook::react::ShadowViewMutationList&& mutations, facebook::react::TransactionTelemetry telemetry); + public const facebook::react::ShadowViewMutationList& getMutations() const; + public facebook::react::MountingTransaction& operator=(const facebook::react::MountingTransaction& other) = delete; + public facebook::react::MountingTransaction& operator=(facebook::react::MountingTransaction&& other) = default; + public facebook::react::MountingTransaction::Number getNumber() const; + public facebook::react::ShadowViewMutationList getMutations(); + public facebook::react::SurfaceId getSurfaceId() const; + public facebook::react::TransactionTelemetry& getTelemetry() const; + public using Number = int64_t; + public void mergeWith(facebook::react::MountingTransaction&& transaction); +} + +class facebook::react::MultiplicationAnimatedNode : public facebook::react::OperatorAnimatedNode { + public MultiplicationAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::MutationObserver { + public MutationObserver(const facebook::react::MutationObserver&) = delete; + public MutationObserver(facebook::react::MutationObserver&&) = default; + public MutationObserver(facebook::react::MutationObserverId mutationObserverId); + public facebook::react::MutationObserver& operator=(const facebook::react::MutationObserver&) = delete; + public facebook::react::MutationObserver& operator=(facebook::react::MutationObserver&&) = default; + public void observe(std::shared_ptr targetShadowNodeFamily, bool observeSubtree); + public void recordMutations(const facebook::react::RootShadowNode& oldRootShadowNode, const facebook::react::RootShadowNode& newRootShadowNode, std::vector& recordedMutations) const; +} + +class facebook::react::MutationObserverManager : public facebook::react::UIManagerCommitHook { + public MutationObserverManager(); + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTree::CommitOptions& commitOptions) noexcept override; + public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept override; + public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept override; + public void connect(facebook::react::UIManager& uiManager, facebook::react::OnMutations&& onMutations); + public void disconnect(facebook::react::UIManager& uiManager); + public void observe(facebook::react::MutationObserverId mutationObserverId, std::shared_ptr shadowNode, bool observeSubtree, const facebook::react::UIManager& uiManager); + public void unobserveAll(facebook::react::MutationObserverId mutationObserverId); +} + +class facebook::react::NSDataBigString : public facebook::react::JSBigString { + public NSDataBigString(NSData* data); + public virtual bool isAscii() const override; + public virtual const char* c_str() const override; + public virtual size_t size() const override; +} + +class facebook::react::NativeAccessibilityInfoSpecJSI : public facebook::react::ObjCTurboModule { + public NativeAccessibilityInfoSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeAccessibilityManagerSpecJSI : public facebook::react::ObjCTurboModule { + public NativeAccessibilityManagerSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeActionSheetManagerSpecJSI : public facebook::react::ObjCTurboModule { + public NativeActionSheetManagerSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeAlertManagerSpecJSI : public facebook::react::ObjCTurboModule { + public NativeAlertManagerSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeAnimatedModuleSpecJSI : public facebook::react::ObjCTurboModule { + public NativeAnimatedModuleSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeAnimatedNodesManager : public std::enable_shared_from_this { + public NativeAnimatedNodesManager(const facebook::react::NativeAnimatedNodesManager&) = delete; + public NativeAnimatedNodesManager(facebook::react::NativeAnimatedNodesManager&&) = delete; + public NativeAnimatedNodesManager(facebook::react::NativeAnimatedNodesManager::DirectManipulationCallback&& directManipulationCallback, facebook::react::NativeAnimatedNodesManager::FabricCommitCallback&& fabricCommitCallback, facebook::react::NativeAnimatedNodesManager::ResolvePlatformColor&& resolvePlatformColor, facebook::react::NativeAnimatedNodesManager::StartOnRenderCallback&& startOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::StopOnRenderCallback&& stopOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::FrameRateListenerCallback&& frameRateListenerCallback = nullptr) noexcept; + public NativeAnimatedNodesManager(std::shared_ptr animationBackend) noexcept; + public bool commitProps(); + public bool hasManagedProps() const noexcept; + public bool isOnRenderThread() const noexcept; + public facebook::react::AnimationMutations onAnimationFrameForBackend(facebook::react::AnimatedPropsBuilder& propsBuilder, facebook::react::AnimationTimestamp timestamp); + public facebook::react::AnimationMutations pullAnimationMutations(facebook::react::AnimationTimestamp timestamp); + public facebook::react::NativeAnimatedNodesManager& operator=(const facebook::react::NativeAnimatedNodesManager&) = delete; + public facebook::react::NativeAnimatedNodesManager& operator=(facebook::react::NativeAnimatedNodesManager&&) = delete; + public folly::dynamic getManagedProps(facebook::react::Tag tag) const noexcept; + public std::optional getValue(facebook::react::Tag tag) noexcept; + public std::shared_ptr getEventEmitterListener() noexcept; + public using DirectManipulationCallback = std::function; + public using FabricCommitCallback = std::function&)>; + public using FrameRateListenerCallback = std::function; + public using ResolvePlatformColor = std::function; + public using StartOnRenderCallback = std::function&&, bool isAsync)>; + public using StopOnRenderCallback = std::function; + public void addAnimatedEventToView(facebook::react::Tag viewTag, const std::string& eventName, const folly::dynamic& eventMapping) noexcept; + public void connectAnimatedNodeToShadowNodeFamily(facebook::react::Tag propsNodeTag, std::shared_ptr family) noexcept; + public void connectAnimatedNodeToView(facebook::react::Tag propsNodeTag, facebook::react::Tag viewTag) noexcept; + public void connectAnimatedNodes(facebook::react::Tag parentTag, facebook::react::Tag childTag) noexcept; + public void createAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config) noexcept; + public void createAnimatedNodeAsync(facebook::react::Tag tag, const folly::dynamic& config) noexcept; + public void disconnectAnimatedNodeFromView(facebook::react::Tag propsNodeTag, facebook::react::Tag viewTag) noexcept; + public void disconnectAnimatedNodes(facebook::react::Tag parentTag, facebook::react::Tag childTag) noexcept; + public void dropAnimatedNode(facebook::react::Tag tag) noexcept; + public void extractAnimatedNodeOffsetOp(facebook::react::Tag tag); + public void flattenAnimatedNodeOffset(facebook::react::Tag tag); + public void insertMutations(std::unordered_map>& updates, facebook::react::AnimationMutations& mutations, facebook::react::AnimatedPropsBuilder& propsBuilder, bool hasLayoutUpdates = false); + public void onManagedPropsRemoved(facebook::react::Tag tag) noexcept; + public void onRender(); + public void removeAnimatedEventFromView(facebook::react::Tag viewTag, const std::string& eventName, facebook::react::Tag animatedValueTag) noexcept; + public void resolvePlatformColor(facebook::react::SurfaceId surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result) const; + public void restoreDefaultValues(facebook::react::Tag tag) noexcept; + public void scheduleOnUI(facebook::react::UiTask&& task); + public void schedulePropsCommit(facebook::react::Tag viewTag, const folly::dynamic& props, bool layoutStyleUpdated, bool forceFabricCommit, facebook::react::ShadowNodeFamily::Weak shadowNodeFamily = {}) noexcept; + public void setAnimatedNodeOffset(facebook::react::Tag tag, double offset); + public void setAnimatedNodeValue(facebook::react::Tag tag, double value); + public void startAnimatingNode(int animationId, facebook::react::Tag animatedNodeTag, folly::dynamic config, std::optional endCallback) noexcept; + public void startListeningToAnimatedNodeValue(facebook::react::Tag tag, facebook::react::ValueListenerCallback&& callback) noexcept; + public void startRenderCallbackIfNeeded(bool isAsync); + public void stopAnimation(int animationId, bool isTrackingAnimation = false) noexcept; + public void stopListeningToAnimatedNodeValue(facebook::react::Tag tag) noexcept; + public void updateNodes(const std::set& finishedAnimationValueNodes = {}) noexcept; + public ~NativeAnimatedNodesManager() noexcept; + template >> + public T* getAnimatedNode(facebook::react::Tag tag) const; +} + +class facebook::react::NativeAnimatedNodesManagerProvider { + public NativeAnimatedNodesManagerProvider(facebook::react::NativeAnimatedNodesManager::StartOnRenderCallback startOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::StopOnRenderCallback stopOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::FrameRateListenerCallback frameRateListenerCallback = nullptr); + public std::shared_ptr getEventEmitterListener(); + public std::shared_ptr getOrCreate(facebook::jsi::Runtime& runtime, std::shared_ptr jsInvoker); + public void addEventEmitterListener(const std::shared_ptr& listener); +} + +class facebook::react::NativeAnimatedTurboModuleSpecJSI : public facebook::react::ObjCTurboModule { + public NativeAnimatedTurboModuleSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeAppStateSpecJSI : public facebook::react::ObjCTurboModule { + public NativeAppStateSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeAppearanceSpecJSI : public facebook::react::ObjCTurboModule { + public NativeAppearanceSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeBlobModuleSpecJSI : public facebook::react::ObjCTurboModule { + public NativeBlobModuleSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeCPUTime : public facebook::react::NativeCPUTimeCxxSpec { + public NativeCPUTime(std::shared_ptr jsInvoker); + public bool hasAccurateCPUTimeNanosForBenchmarks(facebook::jsi::Runtime& runtime); + public double getCPUTimeNanos(facebook::jsi::Runtime& runtime); +} + +class facebook::react::NativeClipboardSpecJSI : public facebook::react::ObjCTurboModule { + public NativeClipboardSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeDOM : public facebook::react::NativeDOMCxxSpec { + public NativeDOM(std::shared_ptr jsInvoker); + public bool hasPointerCapture(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, double pointerId); + public bool isConnected(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference); + public double compareDocumentPosition(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference, facebook::jsi::Value otherNativeNodeReference); + public facebook::jsi::Value getElementById(facebook::jsi::Runtime& rt, facebook::react::SurfaceId surfaceId, const std::string& id); + public facebook::jsi::Value getParentNode(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference); + public facebook::jsi::Value linkRootNode(facebook::jsi::Runtime& rt, facebook::react::SurfaceId surfaceId, facebook::jsi::Value instanceHandle); + public std::string getTagName(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); + public std::string getTextContent(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); + public std::tuple getBoundingClientRect(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, bool includeTransform); + public std::tuple getScrollPosition(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); + public std::tuple getOffset(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); + public std::tuple getBorderWidth(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); + public std::tuple getInnerSize(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); + public std::tuple getScrollSize(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); + public std::vector getChildNodes(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference); + public void measure(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, const facebook::react::MeasureOnSuccessCallback& callback); + public void measureInWindow(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, const facebook::react::MeasureInWindowOnSuccessCallback& callback); + public void measureLayout(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, std::shared_ptr relativeToShadowNode, facebook::jsi::Function onFail, const facebook::react::MeasureLayoutOnSuccessCallback& onSuccess); + public void releasePointerCapture(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, double pointerId); + public void setNativeProps(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, facebook::jsi::Value updatePayload); + public void setPointerCapture(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, double pointerId); +} + +class facebook::react::NativeDevLoadingViewSpecJSI : public facebook::react::ObjCTurboModule { + public NativeDevLoadingViewSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeDevMenuSpecJSI : public facebook::react::ObjCTurboModule { + public NativeDevMenuSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeDevSettingsSpecJSI : public facebook::react::ObjCTurboModule { + public NativeDevSettingsSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeDeviceEventManagerSpecJSI : public facebook::react::ObjCTurboModule { + public NativeDeviceEventManagerSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeDeviceInfoSpecJSI : public facebook::react::ObjCTurboModule { + public NativeDeviceInfoSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeExceptionsManagerSpecJSI : public facebook::react::ObjCTurboModule { + public NativeExceptionsManagerSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeFantomTestSpecificMethods : public facebook::react::NativeFantomTestSpecificMethodsCxxSpec { + public NativeFantomTestSpecificMethods(std::shared_ptr jsInvoker); + public void registerForcedCloneCommitHook(facebook::jsi::Runtime& runtime); + public void setRootNodeSize(facebook::jsi::Runtime& runtime, int surfaceId, float width, float height); + public void takeFunctionAndNoop(facebook::jsi::Runtime& runtime, facebook::jsi::Function callback); +} + +class facebook::react::NativeFileReaderModuleSpecJSI : public facebook::react::ObjCTurboModule { + public NativeFileReaderModuleSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeFrameRateLoggerSpecJSI : public facebook::react::ObjCTurboModule { + public NativeFrameRateLoggerSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeHeadlessJsTaskSupportSpecJSI : public facebook::react::ObjCTurboModule { + public NativeHeadlessJsTaskSupportSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeI18nManagerSpecJSI : public facebook::react::ObjCTurboModule { + public NativeI18nManagerSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeIdleCallbacks : public facebook::react::NativeIdleCallbacksCxxSpec { + public NativeIdleCallbacks(std::shared_ptr jsInvoker); + public facebook::react::CallbackHandle requestIdleCallback(facebook::jsi::Runtime& runtime, facebook::react::SyncCallback&& callback, std::optional options); + public void cancelIdleCallback(facebook::jsi::Runtime& runtime, facebook::jsi::Object handle); +} + +class facebook::react::NativeImageEditorSpecJSI : public facebook::react::ObjCTurboModule { + public NativeImageEditorSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeImageLoaderIOSSpecJSI : public facebook::react::ObjCTurboModule { + public NativeImageLoaderIOSSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeImageStoreIOSSpecJSI : public facebook::react::ObjCTurboModule { + public NativeImageStoreIOSSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeIntersectionObserver : public facebook::react::NativeIntersectionObserverCxxSpec { + public NativeIntersectionObserver(std::shared_ptr jsInvoker); + public facebook::jsi::Object observeV2(facebook::jsi::Runtime& runtime, facebook::react::NativeIntersectionObserverObserveOptions options); + public std::vector takeRecords(facebook::jsi::Runtime& runtime); + public void connect(facebook::jsi::Runtime& runtime, facebook::react::AsyncCallback<> notifyIntersectionObserversCallback); + public void disconnect(facebook::jsi::Runtime& runtime); + public void unobserveV2(facebook::jsi::Runtime& runtime, facebook::react::IntersectionObserverObserverId intersectionObserverId, facebook::jsi::Object targetToken); +} + +class facebook::react::NativeJSCHeapCaptureSpecJSI : public facebook::react::ObjCTurboModule { + public NativeJSCHeapCaptureSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeKeyboardObserverSpecJSI : public facebook::react::ObjCTurboModule { + public NativeKeyboardObserverSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeLinkingManagerSpecJSI : public facebook::react::ObjCTurboModule { + public NativeLinkingManagerSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeLogBoxSpecJSI : public facebook::react::ObjCTurboModule { + public NativeLogBoxSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeMethodCallInvoker { + public virtual void invokeAsync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) noexcept = 0; + public virtual void invokeSync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) = 0; + public virtual ~NativeMethodCallInvoker() = default; +} + +class facebook::react::NativeMicrotasks : public facebook::react::NativeMicrotasksCxxSpec { + public NativeMicrotasks(std::shared_ptr jsInvoker); + public void queueMicrotask(facebook::jsi::Runtime& runtime, facebook::jsi::Function callback); +} + +class facebook::react::NativeModalManagerSpecJSI : public facebook::react::ObjCTurboModule { + public NativeModalManagerSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeModule { + public virtual facebook::react::MethodCallResult callSerializableNativeHook(unsigned int reactMethodId, folly::dynamic&& args) = 0; + public virtual folly::dynamic getConstants() = 0; + public virtual std::string getName() = 0; + public virtual std::string getSyncMethodName(unsigned int methodId) = 0; + public virtual std::vector getMethods() = 0; + public virtual void invoke(unsigned int reactMethodId, folly::dynamic&& params, int callId) = 0; + public virtual ~NativeModule() = default; +} + +class facebook::react::NativeModulePerfLogger { + public virtual void asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName) = 0; + public virtual void asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName) = 0; + public virtual void asyncMethodCallBatchPreprocessEnd(int batchSize) = 0; + public virtual void asyncMethodCallBatchPreprocessStart() = 0; + public virtual void asyncMethodCallDispatch(const char* moduleName, const char* methodName) = 0; + public virtual void asyncMethodCallEnd(const char* moduleName, const char* methodName) = 0; + public virtual void asyncMethodCallExecutionArgConversionEnd(const char* moduleName, const char* methodName, int32_t id) = 0; + public virtual void asyncMethodCallExecutionArgConversionStart(const char* moduleName, const char* methodName, int32_t id) = 0; + public virtual void asyncMethodCallExecutionEnd(const char* moduleName, const char* methodName, int32_t id) = 0; + public virtual void asyncMethodCallExecutionFail(const char* moduleName, const char* methodName, int32_t id) = 0; + public virtual void asyncMethodCallExecutionStart(const char* moduleName, const char* methodName, int32_t id) = 0; + public virtual void asyncMethodCallFail(const char* moduleName, const char* methodName) = 0; + public virtual void asyncMethodCallStart(const char* moduleName, const char* methodName) = 0; + public virtual void moduleCreateCacheHit(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateConstructEnd(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateConstructStart(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateEnd(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateFail(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateSetUpEnd(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateSetUpStart(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateStart(const char* moduleName, int32_t id) = 0; + public virtual void moduleDataCreateEnd(const char* moduleName, int32_t id) = 0; + public virtual void moduleDataCreateStart(const char* moduleName, int32_t id) = 0; + public virtual void moduleJSRequireBeginningCacheHit(const char* moduleName) = 0; + public virtual void moduleJSRequireBeginningEnd(const char* moduleName) = 0; + public virtual void moduleJSRequireBeginningFail(const char* moduleName) = 0; + public virtual void moduleJSRequireBeginningStart(const char* moduleName) = 0; + public virtual void moduleJSRequireEndingEnd(const char* moduleName) = 0; + public virtual void moduleJSRequireEndingFail(const char* moduleName) = 0; + public virtual void moduleJSRequireEndingStart(const char* moduleName) = 0; + public virtual void syncMethodCallArgConversionEnd(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallArgConversionStart(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallEnd(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallExecutionEnd(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallExecutionStart(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallFail(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallReturnConversionEnd(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallReturnConversionStart(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallStart(const char* moduleName, const char* methodName) = 0; + public virtual ~NativeModulePerfLogger() = default; +} + +class facebook::react::NativeMutationObserver : public facebook::react::NativeMutationObserverCxxSpec { + public NativeMutationObserver(std::shared_ptr jsInvoker); + public std::vector takeRecords(facebook::jsi::Runtime& runtime); + public void connect(facebook::jsi::Runtime& runtime, facebook::jsi::Function notifyMutationObservers, facebook::react::SyncCallback getPublicInstanceFromInstanceHandle); + public void disconnect(facebook::jsi::Runtime& runtime); + public void observe(facebook::jsi::Runtime& runtime, const facebook::react::NativeMutationObserverObserveOptions& options); + public void unobserveAll(facebook::jsi::Runtime& runtime, facebook::react::MutationObserverId mutationObserverId); +} + +class facebook::react::NativeNetworkingIOSSpecJSI : public facebook::react::ObjCTurboModule { + public NativeNetworkingIOSSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativePerformance : public facebook::react::NativePerformanceCxxSpec { + public NativePerformance(std::shared_ptr jsInvoker); + public double getDroppedEntriesCount(facebook::jsi::Runtime& rt, facebook::jsi::Object observerObj); + public facebook::jsi::Object createObserver(facebook::jsi::Runtime& rt, facebook::react::NativePerformancePerformanceObserverCallback callback); + public facebook::react::HighResDuration timeOrigin(facebook::jsi::Runtime& rt); + public facebook::react::HighResTimeStamp now(facebook::jsi::Runtime& rt); + public std::optional getMarkTime(facebook::jsi::Runtime& rt, const std::string& name); + public std::unordered_map getReactNativeStartupTiming(facebook::jsi::Runtime& rt); + public std::unordered_map getSimpleMemoryInfo(facebook::jsi::Runtime& rt); + public std::vector getEntries(facebook::jsi::Runtime& rt); + public std::vector getEntriesByName(facebook::jsi::Runtime& rt, const std::string& entryName, std::optional entryType = std::nullopt); + public std::vector getEntriesByType(facebook::jsi::Runtime& rt, facebook::react::PerformanceEntryType entryType); + public std::vector takeRecords(facebook::jsi::Runtime& rt, facebook::jsi::Object observerObj, bool sort); + public std::vector getSupportedPerformanceEntryTypes(facebook::jsi::Runtime& rt); + public std::vector> getEventCounts(facebook::jsi::Runtime& rt); + public void clearEventCountsForTesting(facebook::jsi::Runtime& rt); + public void clearMarks(facebook::jsi::Runtime& rt, std::optional entryName = std::nullopt); + public void clearMeasures(facebook::jsi::Runtime& rt, std::optional entryName = std::nullopt); + public void disconnect(facebook::jsi::Runtime& rt, facebook::jsi::Object observer); + public void observe(facebook::jsi::Runtime& rt, facebook::jsi::Object observer, facebook::react::NativePerformancePerformanceObserverObserveOptions options); + public void reportMark(facebook::jsi::Runtime& rt, const std::string& name, facebook::react::HighResTimeStamp time, facebook::jsi::Value entry); + public void reportMeasure(facebook::jsi::Runtime& rt, const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration, facebook::jsi::Value entry); +} + +class facebook::react::NativePlatformConstantsIOSSpecJSI : public facebook::react::ObjCTurboModule { + public NativePlatformConstantsIOSSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativePushNotificationManagerIOSSpecJSI : public facebook::react::ObjCTurboModule { + public NativePushNotificationManagerIOSSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeReactDevToolsRuntimeSettingsModuleSpecJSI : public facebook::react::ObjCTurboModule { + public NativeReactDevToolsRuntimeSettingsModuleSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeReactDevToolsSettingsManagerSpecJSI : public facebook::react::ObjCTurboModule { + public NativeReactDevToolsSettingsManagerSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeReactNativeFeatureFlags : public facebook::react::NativeReactNativeFeatureFlagsCxxSpec { + public NativeReactNativeFeatureFlags(std::shared_ptr jsInvoker); + public bool cdpInteractionMetricsEnabled(facebook::jsi::Runtime& runtime); + public bool commonTestFlag(facebook::jsi::Runtime& runtime); + public bool commonTestFlagWithoutNativeImplementation(facebook::jsi::Runtime& runtime); + public bool cxxNativeAnimatedEnabled(facebook::jsi::Runtime& runtime); + public bool defaultTextToOverflowHidden(facebook::jsi::Runtime& runtime); + public bool disableEarlyViewCommandExecution(facebook::jsi::Runtime& runtime); + public bool disableImageViewPreallocationAndroid(facebook::jsi::Runtime& runtime); + public bool disableMountItemReorderingAndroid(facebook::jsi::Runtime& runtime); + public bool disableSubviewClippingAndroid(facebook::jsi::Runtime& runtime); + public bool disableTextLayoutManagerCacheAndroid(facebook::jsi::Runtime& runtime); + public bool disableViewPreallocationAndroid(facebook::jsi::Runtime& runtime); + public bool enableAccessibilityOrder(facebook::jsi::Runtime& runtime); + public bool enableAccumulatedUpdatesInRawPropsAndroid(facebook::jsi::Runtime& runtime); + public bool enableAndroidAntialiasedBorderRadiusClipping(facebook::jsi::Runtime& runtime); + public bool enableAndroidLinearText(facebook::jsi::Runtime& runtime); + public bool enableAndroidTextMeasurementOptimizations(facebook::jsi::Runtime& runtime); + public bool enableBridgelessArchitecture(facebook::jsi::Runtime& runtime); + public bool enableCppPropsIteratorSetter(facebook::jsi::Runtime& runtime); + public bool enableCustomFocusSearchOnClippedElementsAndroid(facebook::jsi::Runtime& runtime); + public bool enableDestroyShadowTreeRevisionAsync(facebook::jsi::Runtime& runtime); + public bool enableDifferentiatorMutationVectorPreallocation(facebook::jsi::Runtime& runtime); + public bool enableDoubleMeasurementFixAndroid(facebook::jsi::Runtime& runtime); + public bool enableEagerMainQueueModulesOnIOS(facebook::jsi::Runtime& runtime); + public bool enableEagerRootViewAttachment(facebook::jsi::Runtime& runtime); + public bool enableExclusivePropsUpdateAndroid(facebook::jsi::Runtime& runtime); + public bool enableFabricCommitBranching(facebook::jsi::Runtime& runtime); + public bool enableFabricLogs(facebook::jsi::Runtime& runtime); + public bool enableFabricRenderer(facebook::jsi::Runtime& runtime); + public bool enableFontScaleChangesUpdatingLayout(facebook::jsi::Runtime& runtime); + public bool enableIOSTextBaselineOffsetPerLine(facebook::jsi::Runtime& runtime); + public bool enableIOSViewClipToPaddingBox(facebook::jsi::Runtime& runtime); + public bool enableImagePrefetchingAndroid(facebook::jsi::Runtime& runtime); + public bool enableImagePrefetchingJNIBatchingAndroid(facebook::jsi::Runtime& runtime); + public bool enableImagePrefetchingOnUiThreadAndroid(facebook::jsi::Runtime& runtime); + public bool enableImmediateUpdateModeForContentOffsetChanges(facebook::jsi::Runtime& runtime); + public bool enableImperativeFocus(facebook::jsi::Runtime& runtime); + public bool enableInteropViewManagerClassLookUpOptimizationIOS(facebook::jsi::Runtime& runtime); + public bool enableIntersectionObserverByDefault(facebook::jsi::Runtime& runtime); + public bool enableKeyEvents(facebook::jsi::Runtime& runtime); + public bool enableLayoutAnimationsOnAndroid(facebook::jsi::Runtime& runtime); + public bool enableLayoutAnimationsOnIOS(facebook::jsi::Runtime& runtime); + public bool enableMainQueueCoordinatorOnIOS(facebook::jsi::Runtime& runtime); + public bool enableModuleArgumentNSNullConversionIOS(facebook::jsi::Runtime& runtime); + public bool enableMutationObserverByDefault(facebook::jsi::Runtime& runtime); + public bool enableNativeCSSParsing(facebook::jsi::Runtime& runtime); + public bool enableNativeViewPropTransformations(facebook::jsi::Runtime& runtime); + public bool enableNetworkEventReporting(facebook::jsi::Runtime& runtime); + public bool enablePreparedTextLayout(facebook::jsi::Runtime& runtime); + public bool enablePropsUpdateReconciliationAndroid(facebook::jsi::Runtime& runtime); + public bool enableSwiftUIBasedFilters(facebook::jsi::Runtime& runtime); + public bool enableViewCulling(facebook::jsi::Runtime& runtime); + public bool enableViewRecycling(facebook::jsi::Runtime& runtime); + public bool enableViewRecyclingForImage(facebook::jsi::Runtime& runtime); + public bool enableViewRecyclingForScrollView(facebook::jsi::Runtime& runtime); + public bool enableViewRecyclingForText(facebook::jsi::Runtime& runtime); + public bool enableViewRecyclingForView(facebook::jsi::Runtime& runtime); + public bool enableVirtualViewContainerStateExperimental(facebook::jsi::Runtime& runtime); + public bool enableVirtualViewDebugFeatures(facebook::jsi::Runtime& runtime); + public bool fixFindShadowNodeByTagRaceCondition(facebook::jsi::Runtime& runtime); + public bool fixMappingOfEventPrioritiesBetweenFabricAndReact(facebook::jsi::Runtime& runtime); + public bool fixTextClippingAndroid15useBoundsForWidth(facebook::jsi::Runtime& runtime); + public bool fixYogaFlexBasisFitContentInMainAxis(facebook::jsi::Runtime& runtime); + public bool fuseboxAssertSingleHostState(facebook::jsi::Runtime& runtime); + public bool fuseboxEnabledRelease(facebook::jsi::Runtime& runtime); + public bool fuseboxFrameRecordingEnabled(facebook::jsi::Runtime& runtime); + public bool fuseboxNetworkInspectionEnabled(facebook::jsi::Runtime& runtime); + public bool hideOffscreenVirtualViewsOnIOS(facebook::jsi::Runtime& runtime); + public bool overrideBySynchronousMountPropsAtMountingAndroid(facebook::jsi::Runtime& runtime); + public bool perfIssuesEnabled(facebook::jsi::Runtime& runtime); + public bool perfMonitorV2Enabled(facebook::jsi::Runtime& runtime); + public bool preventShadowTreeCommitExhaustion(facebook::jsi::Runtime& runtime); + public bool shouldPressibilityUseW3CPointerEventsForHover(facebook::jsi::Runtime& runtime); + public bool shouldTriggerResponderTransferOnScrollAndroid(facebook::jsi::Runtime& runtime); + public bool skipActivityIdentityAssertionOnHostPause(facebook::jsi::Runtime& runtime); + public bool syncAndroidClipToPaddingWithOverflow(facebook::jsi::Runtime& runtime); + public bool traceTurboModulePromiseRejectionsOnAndroid(facebook::jsi::Runtime& runtime); + public bool updateRuntimeShadowNodeReferencesOnCommit(facebook::jsi::Runtime& runtime); + public bool updateRuntimeShadowNodeReferencesOnCommitThread(facebook::jsi::Runtime& runtime); + public bool useAlwaysAvailableJSErrorHandling(facebook::jsi::Runtime& runtime); + public bool useFabricInterop(facebook::jsi::Runtime& runtime); + public bool useLISAlgorithmInDifferentiator(facebook::jsi::Runtime& runtime); + public bool useNativeViewConfigsInBridgelessMode(facebook::jsi::Runtime& runtime); + public bool useNestedScrollViewAndroid(facebook::jsi::Runtime& runtime); + public bool useSharedAnimatedBackend(facebook::jsi::Runtime& runtime); + public bool useTraitHiddenOnAndroid(facebook::jsi::Runtime& runtime); + public bool useTurboModuleInterop(facebook::jsi::Runtime& runtime); + public bool useTurboModules(facebook::jsi::Runtime& runtime); + public bool useUnorderedMapInDifferentiator(facebook::jsi::Runtime& runtime); + public bool viewTransitionEnabled(facebook::jsi::Runtime& runtime); + public double preparedTextCacheSize(facebook::jsi::Runtime& runtime); + public double viewCullingOutsetRatio(facebook::jsi::Runtime& runtime); + public double virtualViewPrerenderRatio(facebook::jsi::Runtime& runtime); + public static constexpr std::string_view kModuleName; +} + +class facebook::react::NativeRedBoxSpecJSI : public facebook::react::ObjCTurboModule { + public NativeRedBoxSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeSegmentFetcherSpecJSI : public facebook::react::ObjCTurboModule { + public NativeSegmentFetcherSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeSettingsManagerSpecJSI : public facebook::react::ObjCTurboModule { + public NativeSettingsManagerSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeShareModuleSpecJSI : public facebook::react::ObjCTurboModule { + public NativeShareModuleSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeSoundManagerSpecJSI : public facebook::react::ObjCTurboModule { + public NativeSoundManagerSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeSourceCodeSpecJSI : public facebook::react::ObjCTurboModule { + public NativeSourceCodeSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeStatusBarManagerIOSSpecJSI : public facebook::react::ObjCTurboModule { + public NativeStatusBarManagerIOSSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeTimingSpecJSI : public facebook::react::ObjCTurboModule { + public NativeTimingSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeToJsBridge { + public NativeToJsBridge(facebook::react::JSExecutorFactory* jsExecutorFactory, std::shared_ptr registry, std::shared_ptr jsQueue, std::shared_ptr callback); + public bool isBatchActive(); + public bool isInspectable(); + public facebook::react::jsinspector_modern::RuntimeTargetDelegate& getInspectorTargetDelegate(); + public std::shared_ptr getDecoratedNativeMethodCallInvoker(std::shared_ptr nativeMethodCallInvoker) const; + public virtual ~NativeToJsBridge(); + public void callFunction(std::string&& module, std::string&& method, folly::dynamic&& arguments); + public void destroy(); + public void handleMemoryPressure(int pressureLevel); + public void initializeRuntime(); + public void invokeCallback(double callbackId, folly::dynamic&& arguments); + public void loadBundle(std::unique_ptr bundleRegistry, std::unique_ptr startupScript, std::string sourceURL); + public void loadBundleSync(std::unique_ptr bundleRegistry, std::unique_ptr startupScript, std::string sourceURL); + public void registerBundle(uint32_t bundleId, const std::string& bundlePath); + public void runOnExecutorQueue(std::function&& task) noexcept; + public void setGlobalVariable(std::string propName, std::unique_ptr jsonValue); + public void* getJavaScriptContext(); +} + +class facebook::react::NativeVibrationSpecJSI : public facebook::react::ObjCTurboModule { + public NativeVibrationSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeWebSocketModuleSpecJSI : public facebook::react::ObjCTurboModule { + public NativeWebSocketModuleSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NetworkReporter { + public bool isDebuggingEnabled() const; + public static facebook::react::NetworkReporter& getInstance(); + public void reportConnectionTiming(const std::string& requestId, const std::optional& headers); + public void reportDataReceived(const std::string& requestId, int dataLength, const std::optional& encodedDataLength); + public void reportRequestFailed(const std::string& requestId, bool cancelled) const; + public void reportRequestStart(const std::string& requestId, const facebook::react::RequestInfo& requestInfo, int encodedDataLength, const std::optional& redirectResponse); + public void reportResponseEnd(const std::string& requestId, int encodedDataLength); + public void reportResponseStart(const std::string& requestId, const facebook::react::ResponseInfo& responseInfo, int encodedDataLength); + public void storeResponseBody(const std::string& requestId, std::string_view body, bool base64Encoded); +} + +class facebook::react::ObjCInteropTurboModule : public facebook::react::ObjCTurboModule { + protected virtual NSString* getArgumentTypeName(facebook::jsi::Runtime& runtime, NSString* methodName, int argIndex) override; + protected virtual facebook::jsi::Value convertReturnIdToJSIValue(facebook::jsi::Runtime& runtime, const char* methodName, facebook::react::TurboModuleMethodValueKind returnType, id result) override; + protected virtual facebook::jsi::Value create(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& propName) override; + protected virtual void setInvocationArg(facebook::jsi::Runtime& runtime, const char* methodName, const std::string& objCArgType, const facebook::jsi::Value& arg, size_t i, NSInvocation* inv, NSMutableArray* retainedObjectsForInvocation) override; + public ObjCInteropTurboModule(const facebook::react::ObjCTurboModule::InitParams& params); + public virtual std::vector getPropertyNames(facebook::jsi::Runtime& runtime) override; +} + +struct facebook::react::ObjCInteropTurboModule::MethodDescriptor { + public SEL selector; + public facebook::react::TurboModuleMethodValueKind jsReturnKind; + public size_t jsArgCount; + public std::string methodName; +} + +class facebook::react::ObjCTurboModule : public facebook::react::TurboModule { + protected virtual NSString* getArgumentTypeName(facebook::jsi::Runtime& runtime, NSString* methodName, int argIndex); + protected virtual facebook::jsi::Value convertReturnIdToJSIValue(facebook::jsi::Runtime& runtime, const char* methodName, facebook::react::TurboModuleMethodValueKind returnType, id result); + protected virtual void setInvocationArg(facebook::jsi::Runtime& runtime, const char* methodName, const std::string& objCArgType, const facebook::jsi::Value& arg, size_t i, NSInvocation* inv, NSMutableArray* retainedObjectsForInvocation); + protected void setEventEmitterCallback(facebook::react::EventEmitterCallback eventEmitterCallback); + protected void setMethodArgConversionSelector(NSString* methodName, size_t argIndex, NSString* fnName); + public ObjCTurboModule(const facebook::react::ObjCTurboModule::InitParams& params); + public facebook::jsi::Value invokeObjCMethod(facebook::jsi::Runtime& runtime, facebook::react::TurboModuleMethodValueKind returnType, const std::string& methodName, SEL selector, const facebook::jsi::Value* args, size_t count); + public id instance_; + public std::shared_ptr nativeMethodCallInvoker_; +} + +struct facebook::react::ObjCTurboModule::InitParams { + public bool isSyncModule; + public id instance; + public std::shared_ptr jsInvoker; + public std::shared_ptr nativeMethodCallInvoker; + public std::string moduleName; +} + +class facebook::react::ObjectAnimatedNode : public facebook::react::AnimatedNode { + public ObjectAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public void collectViewUpdates(std::string propKey, folly::dynamic& props); +} + +class facebook::react::OperatorAnimatedNode : public facebook::react::ValueAnimatedNode { + protected std::vector inputNodes_; + public OperatorAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); +} + +class facebook::react::ParagraphAttributes : public facebook::react::DebugStringConvertible { + public bool adjustsFontSizeToFit; + public bool includeFontPadding; + public bool operator==(const facebook::react::ParagraphAttributes& rhs) const; + public facebook::react::EllipsizeMode ellipsizeMode; + public facebook::react::Float maximumFontSize; + public facebook::react::Float minimumFontScale; + public facebook::react::Float minimumFontSize; + public facebook::react::HyphenationFrequency android_hyphenationFrequency; + public facebook::react::TextBreakStrategy textBreakStrategy; + public int maximumNumberOfLines; + public std::optional textAlignVertical; +} + +class facebook::react::ParagraphComponentDescriptor : public facebook::react::BaseParagraphComponentDescriptor { + public ParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); +} + +class facebook::react::ParagraphEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onTextLayout(const facebook::react::LinesMeasurements& linesMeasurements) const; +} + +class facebook::react::ParagraphShadowNode : public facebook::react::ConcreteViewShadowNode, public facebook::react::BaseTextShadowNode { + protected virtual bool shouldNewRevisionDirtyMeasurement(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) const override; + public ParagraphShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ParagraphShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public virtual facebook::react::Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const override; + public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; + public virtual void layout(facebook::react::LayoutContext layoutContext) override; + public void setTextLayoutManager(std::shared_ptr textLayoutManager); +} + +class facebook::react::ParagraphShadowNode::Content { + public facebook::react::AttributedString attributedString; + public facebook::react::BaseTextShadowNode::Attachments attachments; + public facebook::react::ParagraphAttributes paragraphAttributes; +} + +class facebook::react::PerformanceEntryBuffer { + public PerformanceEntryBuffer() = default; + public facebook::react::HighResDuration durationThreshold; + public size_t droppedEntriesCount; + public virtual void add(const facebook::react::PerformanceEntry& entry) = 0; + public virtual void clear() = 0; + public virtual void clear(const std::string& name) = 0; + public virtual void getEntries(std::vector& target) const = 0; + public virtual void getEntries(std::vector& target, const std::string& name) const = 0; + public virtual ~PerformanceEntryBuffer() = default; +} + +class facebook::react::PerformanceEntryCircularBuffer : public facebook::react::PerformanceEntryBuffer { + public PerformanceEntryCircularBuffer(size_t size); + public virtual void add(const facebook::react::PerformanceEntry& entry) override; + public virtual void clear() override; + public virtual void clear(const std::string& name) override; + public virtual void getEntries(std::vector& target) const override; + public virtual void getEntries(std::vector& target, const std::string& name) const override; + public ~PerformanceEntryCircularBuffer() override = default; +} + +class facebook::react::PerformanceEntryKeyedBuffer : public facebook::react::PerformanceEntryBuffer { + public PerformanceEntryKeyedBuffer() = default; + public std::optional find(const std::string& name) const; + public virtual void add(const facebook::react::PerformanceEntry& entry) override; + public virtual void clear() override; + public virtual void clear(const std::string& name) override; + public virtual void getEntries(std::vector& target) const override; + public virtual void getEntries(std::vector& target, const std::string& name) const override; +} + +class facebook::react::PerformanceEntryReporter { + public PerformanceEntryReporter(); + public const std::unordered_map& getEventCounts() const; + public facebook::react::PerformanceObserverRegistry& getObserverRegistry(); + public static std::shared_ptr& getInstance(); + public static std::vector getSupportedEntryTypes(); + public std::optional getMarkTime(const std::string& markName) const; + public std::vector getEntries() const; + public std::vector getEntries(facebook::react::PerformanceEntryType entryType) const; + public std::vector getEntries(facebook::react::PerformanceEntryType entryType, const std::string& entryName) const; + public uint32_t getDroppedEntriesCount(facebook::react::PerformanceEntryType type) const noexcept; + public using UserTimingDetailProvider = std::function; + public void addEventListener(facebook::react::PerformanceEntryReporterEventListener* listener); + public void clearEntries(); + public void clearEntries(facebook::react::PerformanceEntryType entryType); + public void clearEntries(facebook::react::PerformanceEntryType entryType, const std::string& entryName); + public void clearEventCounts(); + public void getEntries(std::vector& dest) const; + public void getEntries(std::vector& dest, facebook::react::PerformanceEntryType entryType) const; + public void getEntries(std::vector& dest, facebook::react::PerformanceEntryType entryType, const std::string& entryName) const; + public void removeEventListener(facebook::react::PerformanceEntryReporterEventListener* listener); + public void reportEvent(const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration, facebook::react::HighResTimeStamp processingStart, facebook::react::HighResTimeStamp processingEnd, facebook::react::HighResTimeStamp taskEndTime, uint32_t interactionId); + public void reportLongTask(facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration); + public void reportMark(const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::PerformanceEntryReporter::UserTimingDetailProvider&& detailProvider = nullptr); + public void reportMeasure(const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration, const std::optional& detailProvider = std::nullopt); + public void reportResourceTiming(const std::string& url, facebook::react::HighResTimeStamp fetchStart, facebook::react::HighResTimeStamp requestStart, std::optional connectStart, std::optional connectEnd, facebook::react::HighResTimeStamp responseStart, facebook::react::HighResTimeStamp responseEnd, int responseStatus, const std::string& contentType, int encodedBodySize, int decodedBodySize); +} + +class facebook::react::PerformanceEntryReporterEventListener { + public virtual void onEventTimingEntry(const facebook::react::PerformanceEventTiming&); + public virtual void onMeasureEntry(const facebook::react::PerformanceMeasure&, const std::optional&); + public virtual ~PerformanceEntryReporterEventListener() = default; +} + +class facebook::react::PerformanceObserver : public std::enable_shared_from_this { + public PerformanceObserver(PrivateUseCreateMethod, facebook::react::PerformanceObserverRegistry& registry, facebook::react::PerformanceObserverCallback&& callback); + public static std::shared_ptr create(facebook::react::PerformanceObserverRegistry& registry, facebook::react::PerformanceObserverCallback&& callback); + public std::vector takeRecords(); + public uint32_t getDroppedEntriesCount() noexcept; + public void disconnect() noexcept; + public void handleEntry(const facebook::react::PerformanceEntry& entry); + public void observe(facebook::react::PerformanceEntryType type, facebook::react::PerformanceObserverObserveSingleOptions options = {}); + public void observe(std::unordered_set types); + public ~PerformanceObserver() = default; +} + +class facebook::react::PerformanceObserverRegistry { + public PerformanceObserverRegistry() = default; + public void addObserver(std::shared_ptr observer); + public void queuePerformanceEntry(const facebook::react::PerformanceEntry& entry); + public void removeObserver(std::shared_ptr observer); +} + +class facebook::react::PlatformRunLoopObserver : public facebook::react::RunLoopObserver { + public PlatformRunLoopObserver(facebook::react::RunLoopObserver::Activity activities, facebook::react::RunLoopObserver::WeakOwner owner, CFRunLoopRef runLoop); + public virtual bool isOnRunLoopThread() const noexcept override; + public ~PlatformRunLoopObserver(); +} + +class facebook::react::PlatformTimerRegistry { + public virtual void createRecurringTimer(uint32_t timerID, double delayMS) = 0; + public virtual void createTimer(uint32_t timerID, double delayMS) = 0; + public virtual void deleteTimer(uint32_t timerID) = 0; + public virtual void quit(); + public virtual ~PlatformTimerRegistry() noexcept = default; +} + +class facebook::react::PointerEventsProcessor { + public bool hasPointerCapture(facebook::react::PointerIdentifier pointerId, const facebook::react::ShadowNode* shadowNode); + public static std::shared_ptr getShadowNodeFromEventTarget(facebook::jsi::Runtime& runtime, facebook::react::EventTarget* target); + public void interceptPointerEvent(const std::shared_ptr& target, const std::string& type, facebook::react::ReactEventPriority priority, const facebook::react::PointerEvent& event, const facebook::react::DispatchEvent& eventDispatcher, const facebook::react::UIManager& uiManager); + public void releasePointerCapture(facebook::react::PointerIdentifier pointerId, const facebook::react::ShadowNode* shadowNode); + public void setPointerCapture(facebook::react::PointerIdentifier pointerId, const std::shared_ptr& shadowNode); +} + +class facebook::react::PointerHoverTracker { + public PointerHoverTracker(std::shared_ptr target, const facebook::react::UIManager& uiManager); + public bool areAnyTargetsListeningToEvents(std::initializer_list eventTypes, const facebook::react::UIManager& uiManager) const; + public bool hasSameTarget(const facebook::react::PointerHoverTracker& other) const; + public const facebook::react::ShadowNode* getTarget(const facebook::react::UIManager& uiManager) const; + public std::tuple diffEventPath(const facebook::react::PointerHoverTracker& other, const facebook::react::UIManager& uiManager) const; + public using EventPath = std::vector>; + public using Unique = std::unique_ptr; + public void markAsOld(); +} + +class facebook::react::PreparedTextCacheKey { + public facebook::react::AttributedString attributedString; + public facebook::react::LayoutConstraints layoutConstraints; + public facebook::react::ParagraphAttributes paragraphAttributes; +} + +class facebook::react::Props : public virtual facebook::react::Sealable, public virtual facebook::react::DebugStringConvertible { + protected void initialize(const facebook::react::PropsParserContext& context, const facebook::react::Props& sourceProps, const facebook::react::RawProps& rawProps, const std::function& filterObjectKeys = nullptr); + public Props() = default; + public Props(const facebook::react::Props& other) = delete; + public Props(const facebook::react::PropsParserContext& context, const facebook::react::Props& sourceProps, const facebook::react::RawProps& rawProps, const std::function& filterObjectKeys = nullptr); + public facebook::react::Props& operator=(const facebook::react::Props& other) = delete; + public std::string nativeId; + public using Shared = std::shared_ptr; + public virtual ~Props() = default; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::PropsAnimatedNode : public facebook::react::AnimatedNode { + public PropsAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public facebook::react::SurfaceId connectedRootTag() const; + public facebook::react::Tag connectedViewTag() const; + public folly::dynamic props(); + public virtual void update() override; + public void connectToShadowNodeFamily(facebook::react::ShadowNodeFamily::Weak shadowNodeFamily); + public void connectToView(facebook::react::Tag viewTag); + public void disconnectFromShadowNodeFamily(); + public void disconnectFromView(facebook::react::Tag viewTag); + public void restoreDefaultValues(); + public void update(bool forceFabricCommit); +} + +class facebook::react::PullToRefreshViewEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onRefresh(facebook::react::PullToRefreshViewEventEmitter::OnRefresh value) const; +} + +struct facebook::react::PullToRefreshViewEventEmitter::OnRefresh { +} + +class facebook::react::PullToRefreshViewProps : public facebook::react::HostPlatformViewProps { + public PullToRefreshViewProps() = default; + public PullToRefreshViewProps(const facebook::react::PropsParserContext& context, const facebook::react::PullToRefreshViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool refreshing; + public facebook::react::Float progressViewOffset; + public facebook::react::SharedColor tintColor; + public facebook::react::SharedColor titleColor; + public std::string title; +} + +class facebook::react::RAMBundleRegistry { + public RAMBundleRegistry(facebook::react::RAMBundleRegistry&&) = default; + public RAMBundleRegistry(std::unique_ptr mainBundle, std::function(std::string)> factory = nullptr); + public facebook::react::JSModulesUnbundle::Module getModule(uint32_t bundleId, uint32_t moduleId); + public facebook::react::RAMBundleRegistry& operator=(facebook::react::RAMBundleRegistry&&) = default; + public static constexpr uint32_t MAIN_BUNDLE_ID; + public static std::unique_ptr multipleBundlesRegistry(std::unique_ptr mainBundle, std::function(std::string)> factory); + public static std::unique_ptr singleBundleRegistry(std::unique_ptr mainBundle); + public virtual ~RAMBundleRegistry() = default; + public void registerBundle(uint32_t bundleId, std::string bundlePath); +} + +class facebook::react::RCTBlobCollector : public facebook::jsi::HostObject { + public RCTBlobCollector(RCTBlobManager* blobManager, const std::string& blobId); + public static void install(RCTBlobManager* blobManager); + public ~RCTBlobCollector(); +} + +class facebook::react::RCTHermesInstance : public facebook::react::JSRuntimeFactory { + public RCTHermesInstance(); + public RCTHermesInstance(facebook::react::CrashManagerProvider crashManagerProvider); + public RCTHermesInstance(facebook::react::CrashManagerProvider crashManagerProvider, bool allocInOldGenBeforeTTI); + public virtual std::unique_ptr createJSRuntime(std::shared_ptr msgQueueThread) noexcept override; + public ~RCTHermesInstance() override; +} + +class facebook::react::RCTImageResponseObserverProxy : public facebook::react::ImageResponseObserver { + public RCTImageResponseObserverProxy(id delegate = nil); + public virtual void didReceiveFailure(const facebook::react::ImageLoadError& error) const override; + public virtual void didReceiveImage(const facebook::react::ImageResponse& imageResponse) const override; + public virtual void didReceiveProgress(float progress, int64_t loaded, int64_t total) const override; +} + +class facebook::react::RCTJscInstance : public facebook::react::JSRuntimeFactory { + public RCTJscInstance(); + public virtual std::unique_ptr createJSRuntime(std::shared_ptr msgQueueThread) noexcept override; + public ~RCTJscInstance(); +} + +class facebook::react::RCTMessageThread : public facebook::react::MessageQueueThread, public std::enable_shared_from_this { + public RCTMessageThread(NSRunLoop* runLoop, RCTJavaScriptCompleteBlock errorBlock); + public virtual void quitSynchronous() override; + public virtual void runOnQueue(std::function&&) override; + public virtual void runOnQueueSync(std::function&&) override; + public void setRunLoop(NSRunLoop* runLoop); + public ~RCTMessageThread() override; +} + +class facebook::react::RCTNativeModule : public facebook::react::NativeModule { + public RCTNativeModule(RCTBridge* bridge, RCTModuleData* moduleData); + public virtual facebook::react::MethodCallResult callSerializableNativeHook(unsigned int reactMethodId, folly::dynamic&& params) override; + public virtual folly::dynamic getConstants() override; + public virtual std::string getName() override; + public virtual std::string getSyncMethodName(unsigned int methodId) override; + public virtual std::vector getMethods() override; + public virtual void invoke(unsigned int methodId, folly::dynamic&& params, int callId) override; +} + +class facebook::react::RCTObjcExecutorFactory : public facebook::react::JSExecutorFactory { + public RCTObjcExecutorFactory(id jse, RCTJavaScriptCompleteBlock errorBlock); + public virtual std::unique_ptr createJSExecutor(std::shared_ptr delegate, std::shared_ptr jsQueue) override; +} + +class facebook::react::RawProps { + public RawProps(); + public RawProps(const facebook::react::RawProps& other) noexcept; + public RawProps(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value) noexcept; + public RawProps(facebook::react::RawProps&& other) noexcept = default; + public RawProps(folly::dynamic dynamic) noexcept; + public bool isEmpty() const noexcept; + public const facebook::react::RawValue* at(const char* name, const char* prefix, const char* suffix) const noexcept; + public facebook::react::RawProps& operator=(const facebook::react::RawProps& other) noexcept = delete; + public facebook::react::RawProps& operator=(facebook::react::RawProps&& other) noexcept = delete; + public folly::dynamic toDynamic(const std::function& filterObjectKeys = nullptr) const; + public operator folly::dynamic() const; + public void parse(const facebook::react::RawPropsParser& parser) noexcept; +} + +enum facebook::react::RawProps::Mode { + Dynamic, + Empty, + JSI, +} + +class facebook::react::RawPropsKey { + public const char* name; + public const char* prefix; + public const char* suffix; + public operator std::string() const noexcept; + public void render(char* buffer, facebook::react::RawPropsPropNameLength* length) const noexcept; +} + +class facebook::react::RawPropsKeyMap { + public facebook::react::RawPropsValueIndex at(const char* name, facebook::react::RawPropsPropNameLength length) noexcept; + public void insert(const facebook::react::RawPropsKey& key, facebook::react::RawPropsValueIndex value) noexcept; + public void reindex() noexcept; +} + +class facebook::react::RawPropsParser { + public RawPropsParser() = default; + public RawPropsParser(bool); + template + public void prepare() noexcept; +} + +class facebook::react::RawTextProps : public facebook::react::Props { + public RawTextProps() = default; + public RawTextProps(const facebook::react::PropsParserContext& context, const facebook::react::RawTextProps& sourceProps, const facebook::react::RawProps& rawProps); + public std::string text; +} + +class facebook::react::RawTextShadowNode : public facebook::react::ConcreteShadowNode { +} + +class facebook::react::RawValue { + public RawValue() noexcept; + public RawValue(const folly::dynamic& dynamic) noexcept; + public RawValue(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value) noexcept; + public RawValue(facebook::jsi::Runtime& runtime, facebook::jsi::Value&& value) noexcept; + public RawValue(facebook::react::RawValue&& other) noexcept; + public RawValue(folly::dynamic&& dynamic) noexcept; + public bool hasValue() const; + public facebook::react::RawValue& operator=(facebook::react::RawValue&& other) noexcept; + public operator folly::dynamic() const; + template + public bool hasType() const; + template + public operator T() const; +} + +class facebook::react::ReactInstance { + public ReactInstance(const facebook::react::ReactInstance&) = delete; + public ReactInstance(facebook::react::ReactInstance&&) = delete; + public ReactInstance(std::unique_ptr runtime, std::shared_ptr jsMessageQueueThread, std::shared_ptr timerManager, facebook::react::JsErrorHandler::OnJsError onJsError, facebook::react::jsinspector_modern::HostTarget* parentInspectorTarget = nullptr); + public facebook::react::ReactInstance& operator=(const facebook::react::ReactInstance&) = delete; + public facebook::react::ReactInstance& operator=(facebook::react::ReactInstance&&) = delete; + public facebook::react::RuntimeExecutor getBufferedRuntimeExecutor() noexcept; + public facebook::react::RuntimeExecutor getUnbufferedRuntimeExecutor() noexcept; + public std::shared_ptr getRuntimeScheduler() noexcept; + public using BindingsInstallFunc = std::function; + public void callFunctionOnModule(const std::string& moduleName, const std::string& methodName, folly::dynamic&& args); + public void handleMemoryPressureJs(int pressureLevel); + public void initializeRuntime(facebook::react::ReactInstance::JSRuntimeFlags options, facebook::react::ReactInstance::BindingsInstallFunc bindingsInstallFunc) noexcept; + public void loadScript(std::unique_ptr script, const std::string& sourceURL, std::function&& beforeLoad = nullptr, std::function&& afterLoad = nullptr); + public void registerSegment(uint32_t segmentId, const std::string& segmentPath); + public void unregisterFromInspector(); + public void* getJavaScriptContext(); + public ~ReactInstance() noexcept override; +} + +struct facebook::react::ReactInstance::JSRuntimeFlags { + public bool isProfiling; + public const std::string runtimeDiagnosticFlags; +} + +class facebook::react::ReactNativeFeatureFlags { + public static bool cdpInteractionMetricsEnabled(); + public static bool commonTestFlag(); + public static bool cxxNativeAnimatedEnabled(); + public static bool defaultTextToOverflowHidden(); + public static bool disableEarlyViewCommandExecution(); + public static bool disableImageViewPreallocationAndroid(); + public static bool disableMountItemReorderingAndroid(); + public static bool disableSubviewClippingAndroid(); + public static bool disableTextLayoutManagerCacheAndroid(); + public static bool disableViewPreallocationAndroid(); + public static bool enableAccessibilityOrder(); + public static bool enableAccumulatedUpdatesInRawPropsAndroid(); + public static bool enableAndroidAntialiasedBorderRadiusClipping(); + public static bool enableAndroidLinearText(); + public static bool enableAndroidTextMeasurementOptimizations(); + public static bool enableBridgelessArchitecture(); + public static bool enableCppPropsIteratorSetter(); + public static bool enableCustomFocusSearchOnClippedElementsAndroid(); + public static bool enableDestroyShadowTreeRevisionAsync(); + public static bool enableDifferentiatorMutationVectorPreallocation(); + public static bool enableDoubleMeasurementFixAndroid(); + public static bool enableEagerMainQueueModulesOnIOS(); + public static bool enableEagerRootViewAttachment(); + public static bool enableExclusivePropsUpdateAndroid(); + public static bool enableFabricCommitBranching(); + public static bool enableFabricLogs(); + public static bool enableFabricRenderer(); + public static bool enableFontScaleChangesUpdatingLayout(); + public static bool enableIOSTextBaselineOffsetPerLine(); + public static bool enableIOSViewClipToPaddingBox(); + public static bool enableImagePrefetchingAndroid(); + public static bool enableImagePrefetchingJNIBatchingAndroid(); + public static bool enableImagePrefetchingOnUiThreadAndroid(); + public static bool enableImmediateUpdateModeForContentOffsetChanges(); + public static bool enableImperativeFocus(); + public static bool enableInteropViewManagerClassLookUpOptimizationIOS(); + public static bool enableIntersectionObserverByDefault(); + public static bool enableKeyEvents(); + public static bool enableLayoutAnimationsOnAndroid(); + public static bool enableLayoutAnimationsOnIOS(); + public static bool enableMainQueueCoordinatorOnIOS(); + public static bool enableModuleArgumentNSNullConversionIOS(); + public static bool enableMutationObserverByDefault(); + public static bool enableNativeCSSParsing(); + public static bool enableNativeViewPropTransformations(); + public static bool enableNetworkEventReporting(); + public static bool enablePreparedTextLayout(); + public static bool enablePropsUpdateReconciliationAndroid(); + public static bool enableSwiftUIBasedFilters(); + public static bool enableViewCulling(); + public static bool enableViewRecycling(); + public static bool enableViewRecyclingForImage(); + public static bool enableViewRecyclingForScrollView(); + public static bool enableViewRecyclingForText(); + public static bool enableViewRecyclingForView(); + public static bool enableVirtualViewContainerStateExperimental(); + public static bool enableVirtualViewDebugFeatures(); + public static bool fixFindShadowNodeByTagRaceCondition(); + public static bool fixMappingOfEventPrioritiesBetweenFabricAndReact(); + public static bool fixTextClippingAndroid15useBoundsForWidth(); + public static bool fixYogaFlexBasisFitContentInMainAxis(); + public static bool fuseboxAssertSingleHostState(); + public static bool fuseboxEnabledRelease(); + public static bool fuseboxFrameRecordingEnabled(); + public static bool fuseboxNetworkInspectionEnabled(); + public static bool hideOffscreenVirtualViewsOnIOS(); + public static bool overrideBySynchronousMountPropsAtMountingAndroid(); + public static bool perfIssuesEnabled(); + public static bool perfMonitorV2Enabled(); + public static bool preventShadowTreeCommitExhaustion(); + public static bool shouldPressibilityUseW3CPointerEventsForHover(); + public static bool shouldTriggerResponderTransferOnScrollAndroid(); + public static bool skipActivityIdentityAssertionOnHostPause(); + public static bool syncAndroidClipToPaddingWithOverflow(); + public static bool traceTurboModulePromiseRejectionsOnAndroid(); + public static bool updateRuntimeShadowNodeReferencesOnCommit(); + public static bool updateRuntimeShadowNodeReferencesOnCommitThread(); + public static bool useAlwaysAvailableJSErrorHandling(); + public static bool useFabricInterop(); + public static bool useLISAlgorithmInDifferentiator(); + public static bool useNativeViewConfigsInBridgelessMode(); + public static bool useNestedScrollViewAndroid(); + public static bool useSharedAnimatedBackend(); + public static bool useTraitHiddenOnAndroid(); + public static bool useTurboModuleInterop(); + public static bool useTurboModules(); + public static bool useUnorderedMapInDifferentiator(); + public static bool viewTransitionEnabled(); + public static double preparedTextCacheSize(); + public static double viewCullingOutsetRatio(); + public static double virtualViewPrerenderRatio(); + public static std::optional dangerouslyForceOverride(std::unique_ptr provider); + public static void dangerouslyReset(); + public static void override(std::unique_ptr provider); +} + +class facebook::react::ReactNativeFeatureFlagsAccessor { + public ReactNativeFeatureFlagsAccessor(); + public bool cdpInteractionMetricsEnabled(); + public bool commonTestFlag(); + public bool cxxNativeAnimatedEnabled(); + public bool defaultTextToOverflowHidden(); + public bool disableEarlyViewCommandExecution(); + public bool disableImageViewPreallocationAndroid(); + public bool disableMountItemReorderingAndroid(); + public bool disableSubviewClippingAndroid(); + public bool disableTextLayoutManagerCacheAndroid(); + public bool disableViewPreallocationAndroid(); + public bool enableAccessibilityOrder(); + public bool enableAccumulatedUpdatesInRawPropsAndroid(); + public bool enableAndroidAntialiasedBorderRadiusClipping(); + public bool enableAndroidLinearText(); + public bool enableAndroidTextMeasurementOptimizations(); + public bool enableBridgelessArchitecture(); + public bool enableCppPropsIteratorSetter(); + public bool enableCustomFocusSearchOnClippedElementsAndroid(); + public bool enableDestroyShadowTreeRevisionAsync(); + public bool enableDifferentiatorMutationVectorPreallocation(); + public bool enableDoubleMeasurementFixAndroid(); + public bool enableEagerMainQueueModulesOnIOS(); + public bool enableEagerRootViewAttachment(); + public bool enableExclusivePropsUpdateAndroid(); + public bool enableFabricCommitBranching(); + public bool enableFabricLogs(); + public bool enableFabricRenderer(); + public bool enableFontScaleChangesUpdatingLayout(); + public bool enableIOSTextBaselineOffsetPerLine(); + public bool enableIOSViewClipToPaddingBox(); + public bool enableImagePrefetchingAndroid(); + public bool enableImagePrefetchingJNIBatchingAndroid(); + public bool enableImagePrefetchingOnUiThreadAndroid(); + public bool enableImmediateUpdateModeForContentOffsetChanges(); + public bool enableImperativeFocus(); + public bool enableInteropViewManagerClassLookUpOptimizationIOS(); + public bool enableIntersectionObserverByDefault(); + public bool enableKeyEvents(); + public bool enableLayoutAnimationsOnAndroid(); + public bool enableLayoutAnimationsOnIOS(); + public bool enableMainQueueCoordinatorOnIOS(); + public bool enableModuleArgumentNSNullConversionIOS(); + public bool enableMutationObserverByDefault(); + public bool enableNativeCSSParsing(); + public bool enableNativeViewPropTransformations(); + public bool enableNetworkEventReporting(); + public bool enablePreparedTextLayout(); + public bool enablePropsUpdateReconciliationAndroid(); + public bool enableSwiftUIBasedFilters(); + public bool enableViewCulling(); + public bool enableViewRecycling(); + public bool enableViewRecyclingForImage(); + public bool enableViewRecyclingForScrollView(); + public bool enableViewRecyclingForText(); + public bool enableViewRecyclingForView(); + public bool enableVirtualViewContainerStateExperimental(); + public bool enableVirtualViewDebugFeatures(); + public bool fixFindShadowNodeByTagRaceCondition(); + public bool fixMappingOfEventPrioritiesBetweenFabricAndReact(); + public bool fixTextClippingAndroid15useBoundsForWidth(); + public bool fixYogaFlexBasisFitContentInMainAxis(); + public bool fuseboxAssertSingleHostState(); + public bool fuseboxEnabledRelease(); + public bool fuseboxFrameRecordingEnabled(); + public bool fuseboxNetworkInspectionEnabled(); + public bool hideOffscreenVirtualViewsOnIOS(); + public bool overrideBySynchronousMountPropsAtMountingAndroid(); + public bool perfIssuesEnabled(); + public bool perfMonitorV2Enabled(); + public bool preventShadowTreeCommitExhaustion(); + public bool shouldPressibilityUseW3CPointerEventsForHover(); + public bool shouldTriggerResponderTransferOnScrollAndroid(); + public bool skipActivityIdentityAssertionOnHostPause(); + public bool syncAndroidClipToPaddingWithOverflow(); + public bool traceTurboModulePromiseRejectionsOnAndroid(); + public bool updateRuntimeShadowNodeReferencesOnCommit(); + public bool updateRuntimeShadowNodeReferencesOnCommitThread(); + public bool useAlwaysAvailableJSErrorHandling(); + public bool useFabricInterop(); + public bool useLISAlgorithmInDifferentiator(); + public bool useNativeViewConfigsInBridgelessMode(); + public bool useNestedScrollViewAndroid(); + public bool useSharedAnimatedBackend(); + public bool useTraitHiddenOnAndroid(); + public bool useTurboModuleInterop(); + public bool useTurboModules(); + public bool useUnorderedMapInDifferentiator(); + public bool viewTransitionEnabled(); + public double preparedTextCacheSize(); + public double viewCullingOutsetRatio(); + public double virtualViewPrerenderRatio(); + public std::optional getAccessedFeatureFlagNames() const; + public void override(std::unique_ptr provider); +} + +class facebook::react::ReactNativeFeatureFlagsDefaults : public facebook::react::ReactNativeFeatureFlagsProvider { + public ReactNativeFeatureFlagsDefaults() = default; + public virtual bool cdpInteractionMetricsEnabled() override; + public virtual bool commonTestFlag() override; + public virtual bool cxxNativeAnimatedEnabled() override; + public virtual bool defaultTextToOverflowHidden() override; + public virtual bool disableEarlyViewCommandExecution() override; + public virtual bool disableImageViewPreallocationAndroid() override; + public virtual bool disableMountItemReorderingAndroid() override; + public virtual bool disableSubviewClippingAndroid() override; + public virtual bool disableTextLayoutManagerCacheAndroid() override; + public virtual bool disableViewPreallocationAndroid() override; + public virtual bool enableAccessibilityOrder() override; + public virtual bool enableAccumulatedUpdatesInRawPropsAndroid() override; + public virtual bool enableAndroidAntialiasedBorderRadiusClipping() override; + public virtual bool enableAndroidLinearText() override; + public virtual bool enableAndroidTextMeasurementOptimizations() override; + public virtual bool enableBridgelessArchitecture() override; + public virtual bool enableCppPropsIteratorSetter() override; + public virtual bool enableCustomFocusSearchOnClippedElementsAndroid() override; + public virtual bool enableDestroyShadowTreeRevisionAsync() override; + public virtual bool enableDifferentiatorMutationVectorPreallocation() override; + public virtual bool enableDoubleMeasurementFixAndroid() override; + public virtual bool enableEagerMainQueueModulesOnIOS() override; + public virtual bool enableEagerRootViewAttachment() override; + public virtual bool enableExclusivePropsUpdateAndroid() override; + public virtual bool enableFabricCommitBranching() override; + public virtual bool enableFabricLogs() override; + public virtual bool enableFabricRenderer() override; + public virtual bool enableFontScaleChangesUpdatingLayout() override; + public virtual bool enableIOSTextBaselineOffsetPerLine() override; + public virtual bool enableIOSViewClipToPaddingBox() override; + public virtual bool enableImagePrefetchingAndroid() override; + public virtual bool enableImagePrefetchingJNIBatchingAndroid() override; + public virtual bool enableImagePrefetchingOnUiThreadAndroid() override; + public virtual bool enableImmediateUpdateModeForContentOffsetChanges() override; + public virtual bool enableImperativeFocus() override; + public virtual bool enableInteropViewManagerClassLookUpOptimizationIOS() override; + public virtual bool enableIntersectionObserverByDefault() override; + public virtual bool enableKeyEvents() override; + public virtual bool enableLayoutAnimationsOnAndroid() override; + public virtual bool enableLayoutAnimationsOnIOS() override; + public virtual bool enableMainQueueCoordinatorOnIOS() override; + public virtual bool enableModuleArgumentNSNullConversionIOS() override; + public virtual bool enableMutationObserverByDefault() override; + public virtual bool enableNativeCSSParsing() override; + public virtual bool enableNativeViewPropTransformations() override; + public virtual bool enableNetworkEventReporting() override; + public virtual bool enablePreparedTextLayout() override; + public virtual bool enablePropsUpdateReconciliationAndroid() override; + public virtual bool enableSwiftUIBasedFilters() override; + public virtual bool enableViewCulling() override; + public virtual bool enableViewRecycling() override; + public virtual bool enableViewRecyclingForImage() override; + public virtual bool enableViewRecyclingForScrollView() override; + public virtual bool enableViewRecyclingForText() override; + public virtual bool enableViewRecyclingForView() override; + public virtual bool enableVirtualViewContainerStateExperimental() override; + public virtual bool enableVirtualViewDebugFeatures() override; + public virtual bool fixFindShadowNodeByTagRaceCondition() override; + public virtual bool fixMappingOfEventPrioritiesBetweenFabricAndReact() override; + public virtual bool fixTextClippingAndroid15useBoundsForWidth() override; + public virtual bool fixYogaFlexBasisFitContentInMainAxis() override; + public virtual bool fuseboxAssertSingleHostState() override; + public virtual bool fuseboxEnabledRelease() override; + public virtual bool fuseboxFrameRecordingEnabled() override; + public virtual bool fuseboxNetworkInspectionEnabled() override; + public virtual bool hideOffscreenVirtualViewsOnIOS() override; + public virtual bool overrideBySynchronousMountPropsAtMountingAndroid() override; + public virtual bool perfIssuesEnabled() override; + public virtual bool perfMonitorV2Enabled() override; + public virtual bool preventShadowTreeCommitExhaustion() override; + public virtual bool shouldPressibilityUseW3CPointerEventsForHover() override; + public virtual bool shouldTriggerResponderTransferOnScrollAndroid() override; + public virtual bool skipActivityIdentityAssertionOnHostPause() override; + public virtual bool syncAndroidClipToPaddingWithOverflow() override; + public virtual bool traceTurboModulePromiseRejectionsOnAndroid() override; + public virtual bool updateRuntimeShadowNodeReferencesOnCommit() override; + public virtual bool updateRuntimeShadowNodeReferencesOnCommitThread() override; + public virtual bool useAlwaysAvailableJSErrorHandling() override; + public virtual bool useFabricInterop() override; + public virtual bool useLISAlgorithmInDifferentiator() override; + public virtual bool useNativeViewConfigsInBridgelessMode() override; + public virtual bool useNestedScrollViewAndroid() override; + public virtual bool useSharedAnimatedBackend() override; + public virtual bool useTraitHiddenOnAndroid() override; + public virtual bool useTurboModuleInterop() override; + public virtual bool useTurboModules() override; + public virtual bool useUnorderedMapInDifferentiator() override; + public virtual bool viewTransitionEnabled() override; + public virtual double preparedTextCacheSize() override; + public virtual double viewCullingOutsetRatio() override; + public virtual double virtualViewPrerenderRatio() override; +} + +class facebook::react::ReactNativeFeatureFlagsDynamicProvider : public facebook::react::ReactNativeFeatureFlagsDefaults { + public ReactNativeFeatureFlagsDynamicProvider(folly::dynamic values); + public virtual bool cdpInteractionMetricsEnabled() override; + public virtual bool commonTestFlag() override; + public virtual bool cxxNativeAnimatedEnabled() override; + public virtual bool defaultTextToOverflowHidden() override; + public virtual bool disableEarlyViewCommandExecution() override; + public virtual bool disableImageViewPreallocationAndroid() override; + public virtual bool disableMountItemReorderingAndroid() override; + public virtual bool disableSubviewClippingAndroid() override; + public virtual bool disableTextLayoutManagerCacheAndroid() override; + public virtual bool disableViewPreallocationAndroid() override; + public virtual bool enableAccessibilityOrder() override; + public virtual bool enableAccumulatedUpdatesInRawPropsAndroid() override; + public virtual bool enableAndroidAntialiasedBorderRadiusClipping() override; + public virtual bool enableAndroidLinearText() override; + public virtual bool enableAndroidTextMeasurementOptimizations() override; + public virtual bool enableBridgelessArchitecture() override; + public virtual bool enableCppPropsIteratorSetter() override; + public virtual bool enableCustomFocusSearchOnClippedElementsAndroid() override; + public virtual bool enableDestroyShadowTreeRevisionAsync() override; + public virtual bool enableDifferentiatorMutationVectorPreallocation() override; + public virtual bool enableDoubleMeasurementFixAndroid() override; + public virtual bool enableEagerMainQueueModulesOnIOS() override; + public virtual bool enableEagerRootViewAttachment() override; + public virtual bool enableExclusivePropsUpdateAndroid() override; + public virtual bool enableFabricCommitBranching() override; + public virtual bool enableFabricLogs() override; + public virtual bool enableFabricRenderer() override; + public virtual bool enableFontScaleChangesUpdatingLayout() override; + public virtual bool enableIOSTextBaselineOffsetPerLine() override; + public virtual bool enableIOSViewClipToPaddingBox() override; + public virtual bool enableImagePrefetchingAndroid() override; + public virtual bool enableImagePrefetchingJNIBatchingAndroid() override; + public virtual bool enableImagePrefetchingOnUiThreadAndroid() override; + public virtual bool enableImmediateUpdateModeForContentOffsetChanges() override; + public virtual bool enableImperativeFocus() override; + public virtual bool enableInteropViewManagerClassLookUpOptimizationIOS() override; + public virtual bool enableIntersectionObserverByDefault() override; + public virtual bool enableKeyEvents() override; + public virtual bool enableLayoutAnimationsOnAndroid() override; + public virtual bool enableLayoutAnimationsOnIOS() override; + public virtual bool enableMainQueueCoordinatorOnIOS() override; + public virtual bool enableModuleArgumentNSNullConversionIOS() override; + public virtual bool enableMutationObserverByDefault() override; + public virtual bool enableNativeCSSParsing() override; + public virtual bool enableNativeViewPropTransformations() override; + public virtual bool enableNetworkEventReporting() override; + public virtual bool enablePreparedTextLayout() override; + public virtual bool enablePropsUpdateReconciliationAndroid() override; + public virtual bool enableSwiftUIBasedFilters() override; + public virtual bool enableViewCulling() override; + public virtual bool enableViewRecycling() override; + public virtual bool enableViewRecyclingForImage() override; + public virtual bool enableViewRecyclingForScrollView() override; + public virtual bool enableViewRecyclingForText() override; + public virtual bool enableViewRecyclingForView() override; + public virtual bool enableVirtualViewContainerStateExperimental() override; + public virtual bool enableVirtualViewDebugFeatures() override; + public virtual bool fixFindShadowNodeByTagRaceCondition() override; + public virtual bool fixMappingOfEventPrioritiesBetweenFabricAndReact() override; + public virtual bool fixTextClippingAndroid15useBoundsForWidth() override; + public virtual bool fixYogaFlexBasisFitContentInMainAxis() override; + public virtual bool fuseboxAssertSingleHostState() override; + public virtual bool fuseboxEnabledRelease() override; + public virtual bool fuseboxFrameRecordingEnabled() override; + public virtual bool fuseboxNetworkInspectionEnabled() override; + public virtual bool hideOffscreenVirtualViewsOnIOS() override; + public virtual bool overrideBySynchronousMountPropsAtMountingAndroid() override; + public virtual bool perfIssuesEnabled() override; + public virtual bool perfMonitorV2Enabled() override; + public virtual bool preventShadowTreeCommitExhaustion() override; + public virtual bool shouldPressibilityUseW3CPointerEventsForHover() override; + public virtual bool shouldTriggerResponderTransferOnScrollAndroid() override; + public virtual bool skipActivityIdentityAssertionOnHostPause() override; + public virtual bool syncAndroidClipToPaddingWithOverflow() override; + public virtual bool traceTurboModulePromiseRejectionsOnAndroid() override; + public virtual bool updateRuntimeShadowNodeReferencesOnCommit() override; + public virtual bool updateRuntimeShadowNodeReferencesOnCommitThread() override; + public virtual bool useAlwaysAvailableJSErrorHandling() override; + public virtual bool useFabricInterop() override; + public virtual bool useLISAlgorithmInDifferentiator() override; + public virtual bool useNativeViewConfigsInBridgelessMode() override; + public virtual bool useNestedScrollViewAndroid() override; + public virtual bool useSharedAnimatedBackend() override; + public virtual bool useTraitHiddenOnAndroid() override; + public virtual bool useTurboModuleInterop() override; + public virtual bool useTurboModules() override; + public virtual bool useUnorderedMapInDifferentiator() override; + public virtual bool viewTransitionEnabled() override; + public virtual double preparedTextCacheSize() override; + public virtual double viewCullingOutsetRatio() override; + public virtual double virtualViewPrerenderRatio() override; +} + +class facebook::react::ReactNativeFeatureFlagsOverridesOSSCanary : public facebook::react::ReactNativeFeatureFlagsOverridesOSSStable { + public ReactNativeFeatureFlagsOverridesOSSCanary() = default; + public virtual bool enableBridgelessArchitecture() override; + public virtual bool enableFabricRenderer() override; + public virtual bool enableIntersectionObserverByDefault() override; + public virtual bool useNativeViewConfigsInBridgelessMode() override; + public virtual bool useTurboModuleInterop() override; + public virtual bool useTurboModules() override; +} + +class facebook::react::ReactNativeFeatureFlagsOverridesOSSExperimental : public facebook::react::ReactNativeFeatureFlagsOverridesOSSCanary { + public ReactNativeFeatureFlagsOverridesOSSExperimental() = default; + public virtual bool enableAccessibilityOrder() override; + public virtual bool enableSwiftUIBasedFilters() override; + public virtual bool fixTextClippingAndroid15useBoundsForWidth() override; + public virtual bool preventShadowTreeCommitExhaustion() override; +} + +class facebook::react::ReactNativeFeatureFlagsOverridesOSSStable : public facebook::react::ReactNativeFeatureFlagsDefaults { + public virtual bool enableBridgelessArchitecture() override; + public virtual bool enableFabricRenderer() override; + public virtual bool useNativeViewConfigsInBridgelessMode() override; + public virtual bool useTurboModules() override; +} + +class facebook::react::ReactNativeFeatureFlagsProvider { + public virtual bool cdpInteractionMetricsEnabled() = 0; + public virtual bool commonTestFlag() = 0; + public virtual bool cxxNativeAnimatedEnabled() = 0; + public virtual bool defaultTextToOverflowHidden() = 0; + public virtual bool disableEarlyViewCommandExecution() = 0; + public virtual bool disableImageViewPreallocationAndroid() = 0; + public virtual bool disableMountItemReorderingAndroid() = 0; + public virtual bool disableSubviewClippingAndroid() = 0; + public virtual bool disableTextLayoutManagerCacheAndroid() = 0; + public virtual bool disableViewPreallocationAndroid() = 0; + public virtual bool enableAccessibilityOrder() = 0; + public virtual bool enableAccumulatedUpdatesInRawPropsAndroid() = 0; + public virtual bool enableAndroidAntialiasedBorderRadiusClipping() = 0; + public virtual bool enableAndroidLinearText() = 0; + public virtual bool enableAndroidTextMeasurementOptimizations() = 0; + public virtual bool enableBridgelessArchitecture() = 0; + public virtual bool enableCppPropsIteratorSetter() = 0; + public virtual bool enableCustomFocusSearchOnClippedElementsAndroid() = 0; + public virtual bool enableDestroyShadowTreeRevisionAsync() = 0; + public virtual bool enableDifferentiatorMutationVectorPreallocation() = 0; + public virtual bool enableDoubleMeasurementFixAndroid() = 0; + public virtual bool enableEagerMainQueueModulesOnIOS() = 0; + public virtual bool enableEagerRootViewAttachment() = 0; + public virtual bool enableExclusivePropsUpdateAndroid() = 0; + public virtual bool enableFabricCommitBranching() = 0; + public virtual bool enableFabricLogs() = 0; + public virtual bool enableFabricRenderer() = 0; + public virtual bool enableFontScaleChangesUpdatingLayout() = 0; + public virtual bool enableIOSTextBaselineOffsetPerLine() = 0; + public virtual bool enableIOSViewClipToPaddingBox() = 0; + public virtual bool enableImagePrefetchingAndroid() = 0; + public virtual bool enableImagePrefetchingJNIBatchingAndroid() = 0; + public virtual bool enableImagePrefetchingOnUiThreadAndroid() = 0; + public virtual bool enableImmediateUpdateModeForContentOffsetChanges() = 0; + public virtual bool enableImperativeFocus() = 0; + public virtual bool enableInteropViewManagerClassLookUpOptimizationIOS() = 0; + public virtual bool enableIntersectionObserverByDefault() = 0; + public virtual bool enableKeyEvents() = 0; + public virtual bool enableLayoutAnimationsOnAndroid() = 0; + public virtual bool enableLayoutAnimationsOnIOS() = 0; + public virtual bool enableMainQueueCoordinatorOnIOS() = 0; + public virtual bool enableModuleArgumentNSNullConversionIOS() = 0; + public virtual bool enableMutationObserverByDefault() = 0; + public virtual bool enableNativeCSSParsing() = 0; + public virtual bool enableNativeViewPropTransformations() = 0; + public virtual bool enableNetworkEventReporting() = 0; + public virtual bool enablePreparedTextLayout() = 0; + public virtual bool enablePropsUpdateReconciliationAndroid() = 0; + public virtual bool enableSwiftUIBasedFilters() = 0; + public virtual bool enableViewCulling() = 0; + public virtual bool enableViewRecycling() = 0; + public virtual bool enableViewRecyclingForImage() = 0; + public virtual bool enableViewRecyclingForScrollView() = 0; + public virtual bool enableViewRecyclingForText() = 0; + public virtual bool enableViewRecyclingForView() = 0; + public virtual bool enableVirtualViewContainerStateExperimental() = 0; + public virtual bool enableVirtualViewDebugFeatures() = 0; + public virtual bool fixFindShadowNodeByTagRaceCondition() = 0; + public virtual bool fixMappingOfEventPrioritiesBetweenFabricAndReact() = 0; + public virtual bool fixTextClippingAndroid15useBoundsForWidth() = 0; + public virtual bool fixYogaFlexBasisFitContentInMainAxis() = 0; + public virtual bool fuseboxAssertSingleHostState() = 0; + public virtual bool fuseboxEnabledRelease() = 0; + public virtual bool fuseboxFrameRecordingEnabled() = 0; + public virtual bool fuseboxNetworkInspectionEnabled() = 0; + public virtual bool hideOffscreenVirtualViewsOnIOS() = 0; + public virtual bool overrideBySynchronousMountPropsAtMountingAndroid() = 0; + public virtual bool perfIssuesEnabled() = 0; + public virtual bool perfMonitorV2Enabled() = 0; + public virtual bool preventShadowTreeCommitExhaustion() = 0; + public virtual bool shouldPressibilityUseW3CPointerEventsForHover() = 0; + public virtual bool shouldTriggerResponderTransferOnScrollAndroid() = 0; + public virtual bool skipActivityIdentityAssertionOnHostPause() = 0; + public virtual bool syncAndroidClipToPaddingWithOverflow() = 0; + public virtual bool traceTurboModulePromiseRejectionsOnAndroid() = 0; + public virtual bool updateRuntimeShadowNodeReferencesOnCommit() = 0; + public virtual bool updateRuntimeShadowNodeReferencesOnCommitThread() = 0; + public virtual bool useAlwaysAvailableJSErrorHandling() = 0; + public virtual bool useFabricInterop() = 0; + public virtual bool useLISAlgorithmInDifferentiator() = 0; + public virtual bool useNativeViewConfigsInBridgelessMode() = 0; + public virtual bool useNestedScrollViewAndroid() = 0; + public virtual bool useSharedAnimatedBackend() = 0; + public virtual bool useTraitHiddenOnAndroid() = 0; + public virtual bool useTurboModuleInterop() = 0; + public virtual bool useTurboModules() = 0; + public virtual bool useUnorderedMapInDifferentiator() = 0; + public virtual bool viewTransitionEnabled() = 0; + public virtual double preparedTextCacheSize() = 0; + public virtual double viewCullingOutsetRatio() = 0; + public virtual double virtualViewPrerenderRatio() = 0; + public virtual ~ReactNativeFeatureFlagsProvider() = default; +} + +class facebook::react::ReactPerfettoLogger { + public static bool isTracing(); + public static void mark(const std::string_view& eventName, facebook::react::HighResTimeStamp startTime, const std::optional& trackName = std::nullopt, const std::optional& trackGroup = std::nullopt); + public static void measure(const std::string_view& eventName, facebook::react::HighResTimeStamp startTime, facebook::react::HighResTimeStamp endTime, const std::optional& trackName = std::nullopt, const std::optional& trackGroup = std::nullopt); +} + +class facebook::react::RootProps : public facebook::react::HostPlatformViewProps { + public RootProps() = default; + public RootProps(const facebook::react::PropsParserContext& context, const facebook::react::RootProps& sourceProps, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext); + public RootProps(const facebook::react::PropsParserContext& context, const facebook::react::RootProps& sourceProps, const facebook::react::RawProps& rawProps); + public facebook::react::LayoutConstraints layoutConstraints; + public facebook::react::LayoutContext layoutContext; +} + +class facebook::react::RootShadowNode : public facebook::react::ConcreteViewShadowNode { + public RootShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public RootShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public bool layoutIfNeeded(std::vector* affectedNodes = {}); + public facebook::react::RootShadowNode::Unshared clone(const facebook::react::PropsParserContext& propsParserContext, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; + public static facebook::react::ShadowNodeTraits BaseTraits(); + public using Shared = std::shared_ptr; + public using Unshared = std::shared_ptr; + public virtual facebook::react::Transform getTransform() const override; + public void setInstanceHandle(facebook::react::InstanceHandle::Shared instanceHandle) const; +} + +class facebook::react::RoundAnimatedNode : public facebook::react::ValueAnimatedNode { + public RoundAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::RunLoopObserver { + protected const facebook::react::RunLoopObserver::Activity activities_; + protected const facebook::react::RunLoopObserver::WeakOwner owner_; + protected mutable const facebook::react::RunLoopObserver::Delegate* delegate_; + protected mutable std::atomic enabled_; + protected virtual void startObserving() const noexcept = 0; + protected virtual void stopObserving() const noexcept = 0; + protected void activityDidChange(facebook::react::RunLoopObserver::Activity activity) const noexcept; + public RunLoopObserver(facebook::react::RunLoopObserver::Activity activities, facebook::react::RunLoopObserver::WeakOwner owner) noexcept; + public facebook::react::RunLoopObserver::WeakOwner getOwner() const noexcept; + public using Factory = std::function(facebook::react::RunLoopObserver::Activity activities, const facebook::react::RunLoopObserver::WeakOwner& owner)>; + public using Owner = std::shared_ptr; + public using WeakOwner = std::weak_ptr; + public virtual bool isOnRunLoopThread() const noexcept = 0; + public virtual ~RunLoopObserver() noexcept = default; + public void disable() const noexcept; + public void enable() const noexcept; + public void setDelegate(const facebook::react::RunLoopObserver::Delegate* delegate) const noexcept; +} + +class facebook::react::RunLoopObserver::Delegate { + public virtual void activityDidChange(const facebook::react::RunLoopObserver::Delegate* delegate, facebook::react::RunLoopObserver::Activity activity) const noexcept = 0; + public virtual ~Delegate() noexcept = default; +} + +enum facebook::react::RunLoopObserver::Activity : int32_t { + AfterWaiting, + BeforeWaiting, + None, +} + +class facebook::react::RuntimeScheduler { + public RuntimeScheduler(const facebook::react::RuntimeScheduler&) = delete; + public RuntimeScheduler(facebook::react::RuntimeExecutor runtimeExecutor, std::function now = facebook::react::HighResTimeStamp::now, facebook::react::RuntimeSchedulerTaskErrorHandler onTaskError = handleTaskErrorDefault); + public RuntimeScheduler(facebook::react::RuntimeScheduler&&) = delete; + public facebook::react::RuntimeScheduler& operator=(const facebook::react::RuntimeScheduler&) = delete; + public facebook::react::RuntimeScheduler& operator=(facebook::react::RuntimeScheduler&&) = delete; + public virtual bool getShouldYield() noexcept override; + public virtual facebook::react::HighResTimeStamp now() const noexcept override; + public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept override; + public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; + public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept override; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept override; + public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) override; + public virtual void cancelTask(facebook::react::Task& task) noexcept override; + public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) override; + public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) override; + public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept override; + public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) override; + public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) override; + public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* reporter) override; + public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* shadowTreeRevisionConsistencyManager) override; +} + +class facebook::react::RuntimeSchedulerBase { + public virtual bool getShouldYield() noexcept = 0; + public virtual facebook::react::HighResTimeStamp now() const noexcept = 0; + public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept = 0; + public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept = 0; + public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept = 0; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept = 0; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept = 0; + public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) = 0; + public virtual void cancelTask(facebook::react::Task& task) noexcept = 0; + public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) = 0; + public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) = 0; + public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept = 0; + public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) = 0; + public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) = 0; + public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* reporter) = 0; + public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* provider) = 0; + public virtual ~RuntimeSchedulerBase() = default; +} + +class facebook::react::RuntimeSchedulerBinding : public facebook::jsi::HostObject { + public RuntimeSchedulerBinding(std::shared_ptr runtimeScheduler); + public static std::shared_ptr createAndInstallIfNeeded(facebook::jsi::Runtime& runtime, const std::shared_ptr& runtimeScheduler); + public static std::shared_ptr getBinding(facebook::jsi::Runtime& runtime); + public std::shared_ptr getRuntimeScheduler() noexcept; + public virtual facebook::jsi::Value get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) override; +} + +class facebook::react::RuntimeSchedulerCallInvoker : public facebook::react::CallInvoker { + public RuntimeSchedulerCallInvoker(std::weak_ptr runtimeScheduler); + public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept override; + public virtual void invokeAsync(facebook::react::SchedulerPriority priority, facebook::react::CallFunc&& func) noexcept override; + public virtual void invokeSync(facebook::react::CallFunc&& func) override; +} + +class facebook::react::RuntimeSchedulerEventTimingDelegate { + public virtual void dispatchPendingEventTimingEntries(facebook::react::HighResTimeStamp taskEndTime, const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) = 0; + public virtual ~RuntimeSchedulerEventTimingDelegate() = default; +} + +class facebook::react::RuntimeSchedulerIntersectionObserverDelegate { + public virtual void updateIntersectionObservations(const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) = 0; + public virtual ~RuntimeSchedulerIntersectionObserverDelegate() = default; +} + +class facebook::react::RuntimeScheduler_Legacy : public facebook::react::RuntimeSchedulerBase { + public RuntimeScheduler_Legacy(const facebook::react::RuntimeScheduler_Legacy&) = delete; + public RuntimeScheduler_Legacy(facebook::react::RuntimeExecutor runtimeExecutor, std::function now, facebook::react::RuntimeSchedulerTaskErrorHandler onTaskError); + public RuntimeScheduler_Legacy(facebook::react::RuntimeScheduler_Legacy&&) = delete; + public facebook::react::RuntimeScheduler_Legacy& operator=(const facebook::react::RuntimeScheduler_Legacy&) = delete; + public facebook::react::RuntimeScheduler_Legacy& operator=(facebook::react::RuntimeScheduler_Legacy&&) = delete; + public virtual bool getShouldYield() noexcept override; + public virtual facebook::react::HighResTimeStamp now() const noexcept override; + public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept override; + public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; + public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept override; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept override; + public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) override; + public virtual void cancelTask(facebook::react::Task& task) noexcept override; + public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) override; + public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) override; + public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept override; + public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) override; + public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) override; + public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* performanceEntryReporter) override; + public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* shadowTreeRevisionConsistencyManager) override; +} + +class facebook::react::RuntimeScheduler_Modern : public facebook::react::RuntimeSchedulerBase { + public RuntimeScheduler_Modern(const facebook::react::RuntimeScheduler_Modern&) = delete; + public RuntimeScheduler_Modern(facebook::react::RuntimeExecutor runtimeExecutor, std::function now, facebook::react::RuntimeSchedulerTaskErrorHandler onTaskError); + public RuntimeScheduler_Modern(facebook::react::RuntimeScheduler_Modern&&) = delete; + public facebook::react::RuntimeScheduler_Modern& operator=(const facebook::react::RuntimeScheduler_Modern&) = delete; + public facebook::react::RuntimeScheduler_Modern& operator=(facebook::react::RuntimeScheduler_Modern&&) = delete; + public virtual bool getShouldYield() noexcept override; + public virtual facebook::react::HighResTimeStamp now() const noexcept override; + public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept override; + public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration customTimeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; + public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration customTimeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept override; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept override; + public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) override; + public virtual void cancelTask(facebook::react::Task& task) noexcept override; + public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) override; + public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) override; + public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept override; + public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) override; + public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) override; + public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* performanceEntryReporter) override; + public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* shadowTreeRevisionConsistencyManager) override; +} + +class facebook::react::SafeAreaViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { +} + +class facebook::react::SafeAreaViewEventEmitter : public facebook::react::BaseViewEventEmitter { +} + +class facebook::react::SafeAreaViewProps : public facebook::react::HostPlatformViewProps { + public SafeAreaViewProps() = default; + public SafeAreaViewProps(const facebook::react::PropsParserContext& context, const facebook::react::SafeAreaViewProps& sourceProps, const facebook::react::RawProps& rawProps); +} + +class facebook::react::SafeAreaViewShadowNode : public facebook::react::ConcreteViewShadowNode { +} + +class facebook::react::SafeAreaViewState { + public facebook::react::EdgeInsets padding; +} + +class facebook::react::Scheduler : public facebook::react::UIManagerDelegate { + public Scheduler(const facebook::react::SchedulerToolbox& schedulerToolbox, facebook::react::UIManagerAnimationDelegate* animationDelegate, facebook::react::SchedulerDelegate* delegate); + public const facebook::react::ComponentDescriptor* findComponentDescriptorByHandle_DO_NOT_USE_THIS_IS_BROKEN(facebook::react::ComponentHandle handle) const; + public facebook::react::SchedulerDelegate* getDelegate() const; + public std::shared_ptr getContextContainer() const; + public std::shared_ptr getUIManager() const; + public virtual void uiManagerDidCreateShadowNode(const facebook::react::ShadowNode& shadowNode) override; + public virtual void uiManagerDidDispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) override; + public virtual void uiManagerDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) override; + public virtual void uiManagerDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) override; + public virtual void uiManagerDidPromoteReactRevision(const facebook::react::ShadowTree& shadowTree) override; + public virtual void uiManagerDidSendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType) override; + public virtual void uiManagerDidSetIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) override; + public virtual void uiManagerDidStartSurface(const facebook::react::ShadowTree& shadowTree) override; + public virtual void uiManagerDidUpdateShadowTree(const std::unordered_map& tagToProps) override; + public virtual void uiManagerShouldAddEventListener(std::shared_ptr listener) final; + public virtual void uiManagerShouldRemoveEventListener(const std::shared_ptr& listener) final; + public virtual void uiManagerShouldSetOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback) override; + public virtual void uiManagerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) override; + public void addEventListener(std::shared_ptr listener); + public void animationTick() const; + public void registerSurface(const facebook::react::SurfaceHandler& surfaceHandler) const noexcept; + public void removeEventListener(const std::shared_ptr& listener); + public void reportMount(facebook::react::SurfaceId surfaceId) const; + public void setDelegate(facebook::react::SchedulerDelegate* delegate); + public void unregisterSurface(const facebook::react::SurfaceHandler& surfaceHandler) const noexcept; + public ~Scheduler() override; +} + +class facebook::react::SchedulerDelegate { + public virtual void schedulerDidDispatchCommand(const facebook::react::ShadowView& shadowView, const std::string& commandName, const folly::dynamic& args) = 0; + public virtual void schedulerDidFinishTransaction(const std::shared_ptr& mountingCoordinator) = 0; + public virtual void schedulerDidRequestPreliminaryViewAllocation(const facebook::react::ShadowNode& shadowNode) = 0; + public virtual void schedulerDidSendAccessibilityEvent(const facebook::react::ShadowView& shadowView, const std::string& eventType) = 0; + public virtual void schedulerDidSetIsJSResponder(const facebook::react::ShadowView& shadowView, bool isJSResponder, bool blockNativeResponder) = 0; + public virtual void schedulerDidUpdateShadowTree(const std::unordered_map& tagToProps) = 0; + public virtual void schedulerShouldMergeReactRevision(facebook::react::SurfaceId surfaceId) = 0; + public virtual void schedulerShouldRenderTransactions(const std::shared_ptr& mountingCoordinator) = 0; + public virtual void schedulerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) = 0; + public virtual ~SchedulerDelegate() noexcept = default; +} + +class facebook::react::ScopedShadowTreeRevisionLock { + public ScopedShadowTreeRevisionLock(const facebook::react::ScopedShadowTreeRevisionLock&) = delete; + public ScopedShadowTreeRevisionLock(facebook::react::ScopedShadowTreeRevisionLock&&) = delete; + public ScopedShadowTreeRevisionLock(facebook::react::ShadowTreeRevisionConsistencyManager* consistencyManager) noexcept; + public facebook::react::ScopedShadowTreeRevisionLock& operator=(const facebook::react::ScopedShadowTreeRevisionLock&) = delete; + public facebook::react::ScopedShadowTreeRevisionLock& operator=(facebook::react::ScopedShadowTreeRevisionLock&&) = delete; + public ~ScopedShadowTreeRevisionLock() noexcept; +} + +class facebook::react::ScrollViewEventEmitter : public facebook::react::BaseViewEventEmitter { + public using EndDragMetrics = facebook::react::ScrollEndDragEvent; + public using Metrics = facebook::react::ScrollEvent; + public void onMomentumScrollBegin(const facebook::react::ScrollEvent& scrollEvent) const; + public void onMomentumScrollEnd(const facebook::react::ScrollEvent& scrollEvent) const; + public void onScroll(const facebook::react::ScrollEvent& scrollEvent) const; + public void onScrollBeginDrag(const facebook::react::ScrollEvent& scrollEvent) const; + public void onScrollEndDrag(const facebook::react::ScrollEndDragEvent& scrollEvent) const; + public void onScrollToTop(const facebook::react::ScrollEvent& scrollEvent) const; +} + +class facebook::react::ScrollViewMaintainVisibleContentPosition { + public bool operator==(const facebook::react::ScrollViewMaintainVisibleContentPosition& rhs) const = default; + public int minIndexForVisible; + public std::optional autoscrollToTopThreshold; +} + +class facebook::react::ScrollViewShadowNode : public facebook::react::ConcreteViewShadowNode { + public ScrollViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ScrollViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ScrollViewState initialStateData(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family, const facebook::react::ComponentDescriptor& componentDescriptor); + public virtual facebook::react::Point getContentOriginOffset(bool includeTransform) const override; + public virtual void layout(facebook::react::LayoutContext layoutContext) override; +} + +class facebook::react::ScrollViewState { + public ScrollViewState() = default; + public ScrollViewState(facebook::react::Point contentOffset, facebook::react::Rect contentBoundingRect, int scrollAwayPaddingTop); + public bool disableViewCulling; + public facebook::react::Point contentOffset; + public facebook::react::Rect contentBoundingRect; + public facebook::react::Size getContentSize() const; + public int scrollAwayPaddingTop; +} + +class facebook::react::Sealable { + public bool getSealed() const; + public void ensureUnsealed() const; + public void seal() const; +} + +class facebook::react::SelectableParagraphComponentDescriptor : public facebook::react::BaseParagraphComponentDescriptor { + public SelectableParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); +} + +class facebook::react::SelectableParagraphShadowNode : public facebook::react::ParagraphShadowNode { + public SelectableParagraphShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public SelectableParagraphShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static constexpr facebook::react::ComponentName Name(); + public static facebook::react::ComponentHandle Handle(); +} + +class facebook::react::Selection { + public int end; + public int start; +} + +class facebook::react::ShadowNode : public facebook::react::Sealable, public facebook::react::DebugStringConvertible, public facebook::jsi::NativeState { + protected facebook::react::Props::Shared props_; + protected facebook::react::ShadowNodeTraits traits_; + protected facebook::react::State::Shared state_; + protected int orderIndex_; + protected mutable std::weak_ptr runtimeShadowNodeReference_; + protected std::shared_ptr>> children_; + public ShadowNode(const facebook::react::ShadowNode& shadowNode) noexcept = delete; + public ShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ShadowNode(const facebook::react::ShadowNodeFragment& fragment, facebook::react::ShadowNodeFamily::Shared family, facebook::react::ShadowNodeTraits traits); + public bool getHasBeenPromoted() const; + public const facebook::react::ComponentDescriptor& getComponentDescriptor() const; + public const facebook::react::Props::Shared& getProps() const; + public const facebook::react::ShadowNodeFamily& getFamily() const; + public const facebook::react::SharedEventEmitter& getEventEmitter() const; + public const facebook::react::State::Shared& getState() const; + public const std::vector>& getChildren() const; + public facebook::jsi::Value getInstanceHandle(facebook::jsi::Runtime& runtime) const; + public facebook::react::ComponentHandle getComponentHandle() const; + public facebook::react::ComponentName getComponentName() const; + public facebook::react::ShadowNode& operator=(const facebook::react::ShadowNode& other) noexcept = delete; + public facebook::react::ShadowNodeFamily::Shared getFamilyShared() const; + public facebook::react::ShadowNodeTraits getTraits() const; + public facebook::react::State::Shared getMostRecentState() const; + public facebook::react::SurfaceId getSurfaceId() const; + public facebook::react::Tag getTag() const; + public int getOrderIndex() const; + public static bool getUseRuntimeShadowNodeReferenceUpdateOnThread(); + public static bool sameFamily(const facebook::react::ShadowNode& first, const facebook::react::ShadowNode& second); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public static std::shared_ptr>> emptySharedShadowNodeSharedList(); + public static void setUseRuntimeShadowNodeReferenceUpdateOnThread(bool isEnabled); + public std::shared_ptr getContextContainer() const; + public std::shared_ptr clone(const facebook::react::ShadowNodeFragment& fragment) const; + public std::shared_ptr cloneMultiple(const std::unordered_set>& familiesToUpdate, const std::function(const facebook::react::ShadowNode& oldShadowNode, const facebook::react::ShadowNodeFragment& fragment)>& callback) const; + public std::shared_ptr cloneTree(const facebook::react::ShadowNodeFamily& shadowNodeFamily, const std::function(const facebook::react::ShadowNode& oldShadowNode)>& callback) const; + public using AncestorList = std::vector, int>>; + public virtual void appendChild(const std::shared_ptr& child); + public virtual void completeClone(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public virtual void replaceChild(const facebook::react::ShadowNode& oldChild, const std::shared_ptr& newChild, size_t suggestedIndex = std::numeric_limits::max()); + public virtual ~ShadowNode() override = default; + public void sealRecursive() const; + public void setMounted(bool mounted) const; + public void setRuntimeShadowNodeReference(const std::shared_ptr& runtimeShadowNodeReference) const; + public void transferRuntimeShadowNodeReference(const std::shared_ptr& destinationShadowNode, const facebook::react::ShadowNodeFragment& fragment) const; + public void updateRuntimeShadowNodeReference(const std::shared_ptr& destinationShadowNode) const; +} + +class facebook::react::ShadowNodeFamily : public facebook::jsi::NativeState { + public ShadowNodeFamily(const facebook::react::ShadowNodeFamilyFragment& fragment, facebook::react::SharedEventEmitter eventEmitter, facebook::react::EventDispatcher::Weak eventDispatcher, const facebook::react::ComponentDescriptor& componentDescriptor); + public const facebook::react::ComponentDescriptor& getComponentDescriptor() const; + public facebook::jsi::Value getInstanceHandle(facebook::jsi::Runtime& runtime) const; + public facebook::react::ComponentHandle getComponentHandle() const; + public facebook::react::ComponentName getComponentName() const; + public facebook::react::InstanceHandle::Shared getInstanceHandle() const; + public facebook::react::ShadowNodeFamily::AncestorList getAncestors(const facebook::react::ShadowNode& ancestorShadowNode) const; + public facebook::react::SharedEventEmitter getEventEmitter() const; + public facebook::react::SurfaceId getSurfaceId() const; + public facebook::react::Tag getTag() const; + public mutable std::unique_ptr nativeProps_DEPRECATED; + public std::shared_ptr getMostRecentState() const; + public using AncestorList = std::vector, int>>; + public using Shared = std::shared_ptr; + public using Weak = std::weak_ptr; + public void dispatchRawState(facebook::react::StateUpdate&& stateUpdate, facebook::react::EventQueue::UpdateMode updateMode); + public void onUnmountedFamilyDestroyed(std::function callback); + public void setInstanceHandle(facebook::react::InstanceHandle::Shared& instanceHandle); + public void setMostRecentState(const std::shared_ptr& state); + public void setMounted(); + public void setParent(const facebook::react::ShadowNodeFamily::Shared& parent); + public ~ShadowNodeFamily(); +} + +class facebook::react::ShadowNodeTraits { + public bool check(facebook::react::ShadowNodeTraits::Trait traits) const; + public facebook::react::ShadowNodeTraits::Trait get() const; + public void set(facebook::react::ShadowNodeTraits::Trait trait); + public void unset(facebook::react::ShadowNodeTraits::Trait trait); +} + +enum facebook::react::ShadowNodeTraits::Trait : int32_t { + BaselineYogaNode, + ChildrenAreShared, + ChildrenFormStackingContext, + DirtyYogaNode, + ForceFlattenView, + FormsStackingContext, + FormsView, + Hidden, + KeyboardFocusable, + LeafYogaNode, + MeasurableYogaNode, + None, + RootNodeKind, + Unstable_uncullableTrace, + Unstable_uncullableView, + ViewKind, +} + +class facebook::react::ShadowTree { + public ShadowTree(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext, const facebook::react::ShadowTreeDelegate& delegate, const facebook::react::ContextContainer& contextContainer); + public facebook::react::CommitMode getCommitMode() const; + public facebook::react::CommitStatus commit(const facebook::react::ShadowTreeCommitTransaction& transaction, const facebook::react::ShadowTree::CommitOptions& commitOptions) const; + public facebook::react::CommitStatus tryCommit(const facebook::react::ShadowTreeCommitTransaction& transaction, const facebook::react::ShadowTree::CommitOptions& commitOptions) const; + public facebook::react::ShadowTreeRevision getCurrentRevision() const; + public facebook::react::SurfaceId getSurfaceId() const; + public std::optional getCurrentReactRevision() const; + public std::shared_ptr getMountingCoordinator() const; + public using CommitMode = facebook::react::ShadowTreeCommitMode; + public using CommitOptions = facebook::react::ShadowTreeCommitOptions; + public using CommitSource = facebook::react::ShadowTreeCommitSource; + public using CommitStatus = facebook::react::ShadowTreeCommitStatus; + public using Unique = std::unique_ptr; + public void commitEmptyTree() const; + public void mergeReactRevision() const; + public void notifyDelegatesOfUpdates() const; + public void promoteReactRevision() const; + public void setCommitMode(facebook::react::CommitMode commitMode) const; + public ~ShadowTree(); +} + +class facebook::react::ShadowTreeDelegate { + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions& commitOptions) const = 0; + public virtual void shadowTreeDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) const = 0; + public virtual void shadowTreeDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) const = 0; + public virtual void shadowTreeDidPromoteReactRevision(const facebook::react::ShadowTree& shadowTree) const = 0; + public virtual ~ShadowTreeDelegate() noexcept = default; +} + +class facebook::react::ShadowTreeRegistry { + public ShadowTreeRegistry() = default; + public bool visit(facebook::react::SurfaceId surfaceId, const std::function& callback) const; + public std::unique_ptr remove(facebook::react::SurfaceId surfaceId) const; + public void add(std::unique_ptr&& shadowTree) const; + public void enumerate(const std::function& callback) const; + public ~ShadowTreeRegistry(); +} + +class facebook::react::ShadowTreeRevision { + public facebook::react::RootShadowNode::Shared rootShadowNode; + public facebook::react::ShadowTreeRevision::Number number; + public facebook::react::TransactionTelemetry telemetry; + public using Number = int64_t; +} + +class facebook::react::ShadowTreeRevisionConsistencyManager { + public virtual void lockRevisions() = 0; + public virtual void unlockRevisions() = 0; + public virtual ~ShadowTreeRevisionConsistencyManager() = default; +} + +class facebook::react::ShadowTreeRevisionProvider { + public virtual facebook::react::RootShadowNode::Shared getCurrentRevision(facebook::react::SurfaceId surfaceId) = 0; + public virtual ~ShadowTreeRevisionProvider() = default; +} + +class facebook::react::SharedColor { + public SharedColor(); + public SharedColor(facebook::react::Color color); + public bool operator!=(const facebook::react::SharedColor& otherColor) const; + public bool operator==(const facebook::react::SharedColor& otherColor) const; + public const facebook::react::Color& operator*() const; + public facebook::react::Color& operator*(); + public operator bool() const; + public std::string toString() const noexcept; +} + +class facebook::react::SpringAnimationDriver : public facebook::react::AnimationDriver { + protected virtual bool update(double timeDeltaMs, bool restarting) override; + public SpringAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); +} + +class facebook::react::StackTraceParser { + public static std::vector parse(bool isHermes, const std::string& stackString); +} + +class facebook::react::State { + protected State(facebook::react::StateData::Shared data, const facebook::react::State& previousState); + protected State(facebook::react::StateData::Shared data, facebook::react::ShadowNodeFamily::Weak family); + protected const facebook::react::StateData::Shared& getDataPointer() const; + protected facebook::react::ShadowNodeFamily::Weak family_; + protected facebook::react::StateData::Shared data_; + protected mutable bool isObsolete_; + protected size_t revision_; + public facebook::react::State::Shared getMostRecentState() const; + public facebook::react::State::Shared getMostRecentStateIfObsolete() const; + public size_t getRevision() const; + public static constexpr size_t initialRevisionValue; + public using Shared = std::shared_ptr; + public virtual ~State() = default; +} + +class facebook::react::StateUpdate { + public facebook::react::SharedShadowNodeFamily family; + public facebook::react::StateUpdate::Callback callback; + public using Callback = std::function; + public using FailureCallback = std::function; +} + +class facebook::react::StubView { + public StubView() = default; + public StubView(const facebook::react::StubView& stubView) = default; + public facebook::react::ComponentHandle componentHandle; + public facebook::react::ComponentName componentName; + public facebook::react::LayoutMetrics layoutMetrics; + public facebook::react::Props::Shared props; + public facebook::react::ShadowNodeTraits traits; + public facebook::react::SharedEventEmitter eventEmitter; + public facebook::react::State::Shared state; + public facebook::react::SurfaceId surfaceId; + public facebook::react::Tag parentTag; + public facebook::react::Tag tag; + public operator facebook::react::ShadowView() const; + public std::vector children; + public using Shared = std::shared_ptr; + public void update(const facebook::react::ShadowView& shadowView); +} + +class facebook::react::StubViewTree { + public StubViewTree() = default; + public StubViewTree(const facebook::react::ShadowView& shadowView); + public bool hasTag(facebook::react::Tag tag) const; + public const facebook::react::StubView& getRootStubView() const; + public const facebook::react::StubView& getStubView(facebook::react::Tag tag) const; + public size_t size() const; + public std::vector takeMountingLogs(); + public void dispatchCommand(const facebook::react::ShadowView& shadowView, const std::string& commandName, const folly::dynamic& args); + public void mutate(const facebook::react::ShadowViewMutationList& mutations); +} + +class facebook::react::StyleAnimatedNode : public facebook::react::AnimatedNode { + public StyleAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public bool isLayoutStyleUpdated() const noexcept; + public void collectViewUpdates(folly::dynamic& props); +} + +class facebook::react::SubtractionAnimatedNode : public facebook::react::OperatorAnimatedNode { + public SubtractionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::SurfaceHandler { + public SurfaceHandler(const facebook::react::SurfaceHandler& SurfaceHandler) noexcept = delete; + public SurfaceHandler(const std::string& moduleName, facebook::react::SurfaceId surfaceId) noexcept; + public SurfaceHandler(facebook::react::SurfaceHandler&& other) noexcept = delete; + public facebook::react::DisplayMode getDisplayMode() const noexcept; + public facebook::react::LayoutConstraints getLayoutConstraints() const noexcept; + public facebook::react::LayoutContext getLayoutContext() const noexcept; + public facebook::react::Size measure(const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; + public facebook::react::SurfaceHandler& operator=(const facebook::react::SurfaceHandler& other) noexcept = delete; + public facebook::react::SurfaceHandler& operator=(facebook::react::SurfaceHandler&& other) noexcept = delete; + public facebook::react::SurfaceHandler::Status getStatus() const noexcept; + public facebook::react::SurfaceId getSurfaceId() const noexcept; + public folly::dynamic getProps() const noexcept; + public std::shared_ptr getMountingCoordinator() const noexcept; + public std::string getModuleName() const noexcept; + public virtual void setDisplayMode(facebook::react::DisplayMode displayMode) const noexcept; + public virtual ~SurfaceHandler() noexcept; + public void constraintLayout(const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; + public void setContextContainer(std::shared_ptr contextContainer) const noexcept; + public void setProps(const folly::dynamic& props) const noexcept; + public void setSurfaceId(facebook::react::SurfaceId surfaceId) const noexcept; + public void start() const noexcept; + public void stop() const noexcept; +} + +enum facebook::react::SurfaceHandler::Status { + Registered, + Running, + Unregistered, +} + +class facebook::react::SurfaceManager { + public SurfaceManager(const facebook::react::Scheduler& scheduler) noexcept; + public bool isSurfaceRunning(facebook::react::SurfaceId surfaceId) const noexcept; + public facebook::react::Size measureSurface(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const noexcept; + public std::optional getSurfaceProps(facebook::react::SurfaceId surfaceId) const noexcept; + public std::shared_ptr findMountingCoordinator(facebook::react::SurfaceId surfaceId) const noexcept; + public std::unordered_set getRunningSurfaces() const noexcept; + public void constraintSurfaceLayout(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const noexcept; + public void startSurface(facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& props, const facebook::react::LayoutConstraints& layoutConstraints = {}, const facebook::react::LayoutContext& layoutContext = {}) noexcept; + public void stopAllSurfaces() noexcept; + public void stopSurface(facebook::react::SurfaceId surfaceId) noexcept; + public ~SurfaceManager() noexcept; +} + +struct facebook::react::SurfaceManager::SurfaceProps { + public facebook::react::LayoutConstraints layoutConstraints; + public facebook::react::LayoutContext layoutContext; + public facebook::react::SurfaceId surfaceId; + public folly::dynamic props; + public std::string moduleName; +} + +class facebook::react::SurfaceTelemetry { + public facebook::react::TelemetryDuration getCommitTime() const; + public facebook::react::TelemetryDuration getDiffTime() const; + public facebook::react::TelemetryDuration getLayoutTime() const; + public facebook::react::TelemetryDuration getMountTime() const; + public facebook::react::TelemetryDuration getTextMeasureTime() const; + public int getLastRevisionNumber() const; + public int getNumberOfMutations() const; + public int getNumberOfTextMeasurements() const; + public int getNumberOfTransactions() const; + public static constexpr size_t kMaxNumberOfRecordedCommitTelemetries; + public std::vector getRecentTransactionTelemetries() const; + public void incorporate(const facebook::react::TransactionTelemetry& telemetry, int numberOfMutations); +} + +class facebook::react::SwitchComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public SwitchComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); + public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; +} + +class facebook::react::SwitchEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onChange(facebook::react::SwitchEventEmitter::OnChange value) const; +} + +struct facebook::react::SwitchEventEmitter::OnChange { + public bool value; + public int target; +} + +class facebook::react::SwitchProps : public facebook::react::HostPlatformViewProps { + public SwitchProps() = default; + public SwitchProps(const facebook::react::PropsParserContext& context, const facebook::react::SwitchProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool disabled; + public bool value; + public facebook::react::SharedColor onTintColor; + public facebook::react::SharedColor thumbColor; + public facebook::react::SharedColor thumbTintColor; + public facebook::react::SharedColor tintColor; + public facebook::react::SharedColor trackColorForFalse; + public facebook::react::SharedColor trackColorForTrue; +} + +class facebook::react::SwitchShadowNode : public facebook::react::ConcreteViewShadowNode { + public SwitchShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public SwitchShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; +} + +class facebook::react::TaskPriorityComparer { + public bool operator()(const std::shared_ptr& lhs, const std::shared_ptr& rhs); +} + +class facebook::react::TelemetryController { + public bool pullTransaction(const facebook::react::MountingTransactionCallback& willMount, const facebook::react::MountingTransactionCallback& doMount, const facebook::react::MountingTransactionCallback& didMount) const; +} + +class facebook::react::TextAttributes : public facebook::react::DebugStringConvertible { + public bool operator==(const facebook::react::TextAttributes& rhs) const; + public facebook::react::Float fontSize; + public facebook::react::Float fontSizeMultiplier; + public facebook::react::Float letterSpacing; + public facebook::react::Float lineHeight; + public facebook::react::Float maxFontSizeMultiplier; + public facebook::react::Float opacity; + public facebook::react::Float textShadowRadius; + public facebook::react::SharedColor backgroundColor; + public facebook::react::SharedColor foregroundColor; + public facebook::react::SharedColor textDecorationColor; + public facebook::react::SharedColor textShadowColor; + public static facebook::react::TextAttributes defaultTextAttributes(); + public std::optional allowFontScaling; + public std::optional isHighlighted; + public std::optional isPressable; + public std::optional accessibilityRole; + public std::optional dynamicTypeRamp; + public std::optional fontStyle; + public std::optional fontVariant; + public std::optional fontWeight; + public std::optional layoutDirection; + public std::optional lineBreakMode; + public std::optional lineBreakStrategy; + public std::optional role; + public std::optional textShadowOffset; + public std::optional alignment; + public std::optional textDecorationLineType; + public std::optional textDecorationStyle; + public std::optional textTransform; + public std::optional baseWritingDirection; + public std::string fontFamily; + public void apply(facebook::react::TextAttributes textAttributes); +} + +class facebook::react::TextInputComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; + public TextInputComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); +} + +class facebook::react::TextInputEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onBlur(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onContentSizeChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onEndEditing(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onFocus(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onKeyPress(const facebook::react::TextInputEventEmitter::KeyPressMetrics& keyPressMetrics) const; + public void onScroll(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onSelectionChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onSubmitEditing(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; +} + +struct facebook::react::TextInputEventEmitter::KeyPressMetrics { + public int eventCount; + public std::string text; +} + +struct facebook::react::TextInputEventEmitter::Metrics { + public facebook::react::AttributedString::Range selectionRange; + public facebook::react::EdgeInsets contentInset; + public facebook::react::Float zoomScale; + public facebook::react::Point contentOffset; + public facebook::react::Size containerSize; + public facebook::react::Size contentSize; + public facebook::react::Size layoutMeasurement; + public facebook::react::Tag target; + public int eventCount; + public std::string text; +} + +class facebook::react::TextInputProps : public facebook::react::BaseTextInputProps { + public TextInputProps() = default; + public TextInputProps(const facebook::react::PropsParserContext& context, const facebook::react::TextInputProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool onChangeSync; + public bool onKeyPressSync; + public const facebook::react::TextInputTraits traits; + public const std::string inputAccessoryViewButtonLabel; + public const std::string inputAccessoryViewID; + public std::optional selection; +} + +class facebook::react::TextInputShadowNode : public facebook::react::BaseTextInputShadowNode { +} + +class facebook::react::TextInputState { + public TextInputState() = default; + public TextInputState(facebook::react::AttributedStringBox attributedStringBox, facebook::react::AttributedString reactTreeAttributedString, facebook::react::ParagraphAttributes paragraphAttributes, int64_t mostRecentEventCount); + public facebook::react::AttributedString reactTreeAttributedString; + public facebook::react::AttributedStringBox attributedStringBox; + public facebook::react::ParagraphAttributes paragraphAttributes; + public int64_t mostRecentEventCount; +} + +class facebook::react::TextInputTraits { + public bool caretHidden; + public bool clearTextOnFocus; + public bool contextMenuHidden; + public bool editable; + public bool enablesReturnKeyAutomatically; + public bool scrollEnabled; + public bool secureTextEntry; + public bool selectTextOnFocus; + public bool showSoftInputOnFocus; + public facebook::react::AutocapitalizationType autocapitalizationType; + public facebook::react::KeyboardAppearance keyboardAppearance; + public facebook::react::KeyboardType keyboardType; + public facebook::react::ReturnKeyType returnKeyType; + public facebook::react::TextInputAccessoryVisibilityMode clearButtonMode; + public std::optional autoCorrect; + public std::optional smartInsertDelete; + public std::optional spellCheck; + public std::string passwordRules; + public std::string textContentType; + public std::vector dataDetectorTypes; +} + +class facebook::react::TextLayoutManager { + protected facebook::react::LineMeasureCache lineMeasureCache_; + protected facebook::react::TextMeasureCache textMeasureCache_; + protected std::shared_ptr contextContainer_; + protected std::shared_ptr nativeTextLayoutManager_; + public TextLayoutManager(const facebook::react::TextLayoutManager&) = delete; + public TextLayoutManager(const std::shared_ptr& contextContainer); + public TextLayoutManager(facebook::react::TextLayoutManager&&) = delete; + public facebook::react::LinesMeasurements measureLines(const facebook::react::AttributedStringBox& attributedStringBox, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::Size& size) const; + public facebook::react::TextLayoutManager& operator=(const facebook::react::TextLayoutManager&) = delete; + public facebook::react::TextLayoutManager& operator=(facebook::react::TextLayoutManager&&) = delete; + public facebook::react::TextMeasurement measure(const facebook::react::AttributedStringBox& attributedStringBox, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public std::shared_ptr getNativeTextLayoutManager() const; +} + +class facebook::react::TextMeasureCacheKey { + public facebook::react::AttributedString attributedString; + public facebook::react::LayoutConstraints layoutConstraints; + public facebook::react::ParagraphAttributes paragraphAttributes; +} + +class facebook::react::TextMeasurement { + public facebook::react::Size size; + public facebook::react::TextMeasurement::Attachments attachments; + public using Attachments = std::vector; +} + +class facebook::react::TextMeasurement::Attachment { + public bool isClipped; + public facebook::react::Rect frame; +} + +class facebook::react::TextProps : public facebook::react::Props, public facebook::react::BaseTextProps { + public TextProps() = default; + public TextProps(const facebook::react::PropsParserContext& context, const facebook::react::TextProps& sourceProps, const facebook::react::RawProps& rawProps); + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::TextShadowNode : public facebook::react::ConcreteShadowNode, public facebook::react::BaseTextShadowNode { + public static facebook::react::ShadowNodeTraits BaseTraits(); +} + +class facebook::react::TimerManager { + public TimerManager(const facebook::react::TimerManager&) = delete; + public TimerManager(facebook::react::TimerManager&&) = delete; + public TimerManager(std::unique_ptr platformTimerRegistry) noexcept; + public facebook::react::TimerManager& operator=(const facebook::react::TimerManager&) = delete; + public facebook::react::TimerManager& operator=(facebook::react::TimerManager&&) = delete; + public void attachGlobals(facebook::jsi::Runtime& runtime); + public void callTimer(facebook::react::TimerHandle handle); + public void quit(); + public void setRuntimeExecutor(facebook::react::RuntimeExecutor runtimeExecutor) noexcept; + public ~TimerManager() noexcept; +} + +class facebook::react::TouchEventEmitter : public facebook::react::EventEmitter { + public TouchEventEmitter(facebook::react::SharedEventTarget eventTarget, facebook::react::EventDispatcher::Weak eventDispatcher); + public void onClick(facebook::react::PointerEvent event) const; + public void onGotPointerCapture(facebook::react::PointerEvent event) const; + public void onLostPointerCapture(facebook::react::PointerEvent event) const; + public void onPointerCancel(facebook::react::PointerEvent event) const; + public void onPointerDown(facebook::react::PointerEvent event) const; + public void onPointerEnter(facebook::react::PointerEvent event) const; + public void onPointerLeave(facebook::react::PointerEvent event) const; + public void onPointerMove(facebook::react::PointerEvent event) const; + public void onPointerOut(facebook::react::PointerEvent event) const; + public void onPointerOver(facebook::react::PointerEvent event) const; + public void onPointerUp(facebook::react::PointerEvent event) const; + public void onTouchCancel(facebook::react::TouchEvent event) const; + public void onTouchEnd(facebook::react::TouchEvent event) const; + public void onTouchMove(facebook::react::TouchEvent event) const; + public void onTouchStart(facebook::react::TouchEvent event) const; +} + +class facebook::react::TrackingAnimatedNode : public facebook::react::AnimatedNode { + public TrackingAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::TransactionTelemetry { + public TransactionTelemetry(); + public TransactionTelemetry(std::function now); + public facebook::react::TelemetryDuration getTextMeasureTime() const; + public facebook::react::TelemetryTimePoint getCommitEndTime() const; + public facebook::react::TelemetryTimePoint getCommitStartTime() const; + public facebook::react::TelemetryTimePoint getDiffEndTime() const; + public facebook::react::TelemetryTimePoint getDiffStartTime() const; + public facebook::react::TelemetryTimePoint getLayoutEndTime() const; + public facebook::react::TelemetryTimePoint getLayoutStartTime() const; + public facebook::react::TelemetryTimePoint getMountEndTime() const; + public facebook::react::TelemetryTimePoint getMountStartTime() const; + public int getAffectedLayoutNodesCount() const; + public int getNumberOfTextMeasurements() const; + public int getRevisionNumber() const; + public static facebook::react::TransactionTelemetry* threadLocalTelemetry(); + public void didCommit(); + public void didDiff(); + public void didLayout(); + public void didLayout(int affectedLayoutNodesCount); + public void didMeasureText(); + public void didMount(); + public void setAsThreadLocal(); + public void setRevisionNumber(int revisionNumber); + public void unsetAsThreadLocal(); + public void willCommit(); + public void willDiff(); + public void willLayout(); + public void willMeasureText(); + public void willMount(); +} + +class facebook::react::TransformAnimatedNode : public facebook::react::AnimatedNode { + public TransformAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public void collectViewUpdates(folly::dynamic& props); +} + +class facebook::react::TurboModule : public facebook::jsi::HostObject { + protected const std::string name_; + protected std::shared_ptr jsInvoker_; + protected std::unordered_map methodMap_; + protected std::unordered_map> eventEmitterMap_; + protected using ArgFactory = std::function& args)>; + protected virtual facebook::jsi::Value create(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& propName); + protected void emitDeviceEvent(const std::string& eventName, facebook::react::TurboModule::ArgFactory&& argFactory = nullptr); + protected void emitDeviceEvent(facebook::jsi::Runtime&, const std::string& eventName, facebook::react::TurboModule::ArgFactory&& argFactory = nullptr); + public TurboModule(std::string name, std::shared_ptr jsInvoker); + public virtual facebook::jsi::Value get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& propName) override; + public virtual std::vector getPropertyNames(facebook::jsi::Runtime& runtime) override; +} + +struct facebook::react::TurboModule::MethodMetadata { + public facebook::jsi::Value(*invoker)(facebook::jsi::Runtime &rt, facebook::react::TurboModule &turboModule, const facebook::jsi::Value *args, size_t count); + public size_t argCount; +} + +class facebook::react::TurboModuleBinding { + public static void install(facebook::jsi::Runtime& runtime, TurboModuleProviderFunctionType&& moduleProvider, TurboModuleProviderFunctionType&& legacyModuleProvider = nullptr, std::shared_ptr longLivedObjectCollection = nullptr); + public static void install(facebook::jsi::Runtime& runtime, facebook::react::TurboModuleProviderFunctionTypeWithRuntime&& moduleProvider, facebook::react::TurboModuleProviderFunctionTypeWithRuntime&& legacyModuleProvider = nullptr, std::shared_ptr longLivedObjectCollection = nullptr); + public ~TurboModuleBinding(); +} + +class facebook::react::TurboModuleWithJSIBindings { + public static void installJSIBindings(const std::shared_ptr& cxxModule, facebook::jsi::Runtime& runtime); + public virtual ~TurboModuleWithJSIBindings() = default; +} + +class facebook::react::UIManager : public facebook::react::ShadowTreeDelegate { + public UIManager(const facebook::react::RuntimeExecutor& runtimeExecutor, std::shared_ptr contextContainer); + public const facebook::react::ShadowTreeRegistry& getShadowTreeRegistry() const; + public facebook::react::LayoutMetrics getRelativeLayoutMetrics(const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode* ancestorShadowNode, facebook::react::LayoutableShadowNode::LayoutInspectingPolicy policy) const; + public facebook::react::ShadowTree::Unique stopSurface(facebook::react::SurfaceId surfaceId) const; + public facebook::react::ShadowTreeRevisionConsistencyManager* getShadowTreeRevisionConsistencyManager(); + public facebook::react::ShadowTreeRevisionProvider* getShadowTreeRevisionProvider(); + public facebook::react::UIManagerDelegate* getDelegate(); + public facebook::react::UIManagerViewTransitionDelegate* getViewTransitionDelegate() const; + public std::shared_ptr getContextContainer() const; + public std::shared_ptr findNodeAtPoint(const std::shared_ptr& shadowNode, facebook::react::Point point) const; + public std::shared_ptr findShadowNodeByTag_DEPRECATED(facebook::react::Tag tag) const; + public std::shared_ptr getNewestCloneOfShadowNode(const facebook::react::ShadowNode& shadowNode) const; + public std::shared_ptr cloneNode(const facebook::react::ShadowNode& shadowNode, const std::shared_ptr>>& children, facebook::react::RawProps rawProps) const; + public std::shared_ptr createNode(facebook::react::Tag tag, const std::string& componentName, facebook::react::SurfaceId surfaceId, facebook::react::RawProps props, facebook::react::InstanceHandle::Shared instanceHandle) const; + public std::weak_ptr unstable_getAnimationBackend(); + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTree::CommitOptions& commitOptions) const override; + public virtual void shadowTreeDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) const override; + public virtual void shadowTreeDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) const override; + public virtual void shadowTreeDidPromoteReactRevision(const facebook::react::ShadowTree& shadowTree) const override; + public void addEventListener(std::shared_ptr listener); + public void animationTick() const; + public void appendChild(const std::shared_ptr& parentShadowNode, const std::shared_ptr& childShadowNode) const; + public void completeSurface(facebook::react::SurfaceId surfaceId, const std::shared_ptr>>& rootChildren, facebook::react::ShadowTree::CommitOptions commitOptions); + public void dispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) const; + public void registerCommitHook(facebook::react::UIManagerCommitHook& commitHook); + public void registerMountHook(facebook::react::UIManagerMountHook& mountHook); + public void removeEventListener(const std::shared_ptr& listener); + public void reportMount(facebook::react::SurfaceId surfaceId) const; + public void sendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType); + public void setAnimationDelegate(facebook::react::UIManagerAnimationDelegate* delegate); + public void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry); + public void setDelegate(facebook::react::UIManagerDelegate* delegate); + public void setIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) const; + public void setNativeAnimatedDelegate(std::weak_ptr delegate); + public void setNativeProps_DEPRECATED(const std::shared_ptr& shadowNode, facebook::react::RawProps rawProps) const; + public void setOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback); + public void setSurfaceProps(facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& props, facebook::react::DisplayMode displayMode) const noexcept; + public void setViewTransitionDelegate(facebook::react::UIManagerViewTransitionDelegate* delegate); + public void startEmptySurface(facebook::react::ShadowTree::Unique&& shadowTree) const noexcept; + public void startSurface(facebook::react::ShadowTree::Unique&& shadowTree, const std::string& moduleName, const folly::dynamic& props, facebook::react::DisplayMode displayMode) const noexcept; + public void stopSurfaceForAnimationDelegate(facebook::react::SurfaceId surfaceId) const; + public void synchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props); + public void unregisterCommitHook(facebook::react::UIManagerCommitHook& commitHook); + public void unregisterMountHook(facebook::react::UIManagerMountHook& mountHook); + public void unstable_setAnimationBackend(std::shared_ptr animationBackend); + public void updateShadowTree(std::unordered_map&& tagToProps); + public void updateState(const facebook::react::StateUpdate& stateUpdate) const; + public void visitBinding(const std::function& callback, facebook::jsi::Runtime& runtime) const; + public ~UIManager() override; +} + +class facebook::react::UIManagerAnimationBackend { + public using Callback = std::function; + public virtual facebook::react::CallbackId start(const facebook::react::UIManagerAnimationBackend::Callback& callback) = 0; + public virtual void clearRegistry(facebook::react::SurfaceId surfaceId) = 0; + public virtual void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) = 0; + public virtual void registerJSInvoker(std::shared_ptr jsInvoker) = 0; + public virtual void stop(facebook::react::CallbackId callbackId) = 0; + public virtual void trigger() = 0; + public virtual ~UIManagerAnimationBackend() = default; +} + +class facebook::react::UIManagerAnimationDelegate { + public virtual bool shouldAnimateFrame() const = 0; + public virtual void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry) = 0; + public virtual void stopSurface(facebook::react::SurfaceId surfaceId) = 0; + public virtual void uiManagerDidConfigureNextLayoutAnimation(facebook::jsi::Runtime& runtime, const facebook::react::RawValue& config, const facebook::jsi::Value& successCallback, const facebook::jsi::Value& failureCallback) const = 0; + public virtual ~UIManagerAnimationDelegate() = default; +} + +class facebook::react::UIManagerBinding : public facebook::jsi::HostObject { + public UIManagerBinding(std::shared_ptr uiManager); + public facebook::react::PointerEventsProcessor& getPointerEventsProcessor(); + public facebook::react::UIManager& getUIManager(); + public static std::shared_ptr getBinding(facebook::jsi::Runtime& runtime); + public static void createAndInstallIfNeeded(facebook::jsi::Runtime& runtime, const std::shared_ptr& uiManager); + public virtual facebook::jsi::Value get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) override; + public void dispatchEvent(facebook::jsi::Runtime& runtime, facebook::react::EventTarget* eventTarget, const std::string& type, facebook::react::ReactEventPriority priority, const facebook::react::EventPayload& payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void invalidate() const; + public ~UIManagerBinding() override; +} + +class facebook::react::UIManagerCommitHook { + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions&) noexcept; + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree&, const facebook::react::RootShadowNode::Shared&, const facebook::react::RootShadowNode::Unshared& newRootShadowNode) noexcept; + public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept = 0; + public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept = 0; + public virtual ~UIManagerCommitHook() noexcept = default; +} + +class facebook::react::UIManagerDelegate { + public using OnSurfaceStartCallback = std::function; + public virtual void uiManagerDidCreateShadowNode(const facebook::react::ShadowNode& shadowNode) = 0; + public virtual void uiManagerDidDispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) = 0; + public virtual void uiManagerDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) = 0; + public virtual void uiManagerDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) = 0; + public virtual void uiManagerDidPromoteReactRevision(const facebook::react::ShadowTree& shadowTree) = 0; + public virtual void uiManagerDidSendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType) = 0; + public virtual void uiManagerDidSetIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) = 0; + public virtual void uiManagerDidStartSurface(const facebook::react::ShadowTree& shadowTree) = 0; + public virtual void uiManagerDidUpdateShadowTree(const std::unordered_map& tagToProps) = 0; + public virtual void uiManagerShouldAddEventListener(std::shared_ptr listener) = 0; + public virtual void uiManagerShouldRemoveEventListener(const std::shared_ptr& listener) = 0; + public virtual void uiManagerShouldSetOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback) = 0; + public virtual void uiManagerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) = 0; + public virtual ~UIManagerDelegate() noexcept = default; +} + +class facebook::react::UIManagerMountHook { + public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp mountTime) noexcept = 0; + public virtual void shadowTreeDidUnmount(facebook::react::SurfaceId, facebook::react::HighResTimeStamp) noexcept; + public virtual ~UIManagerMountHook() noexcept = default; +} + +class facebook::react::UIManagerNativeAnimatedDelegate { + public virtual void runAnimationFrame() = 0; + public virtual ~UIManagerNativeAnimatedDelegate() = default; +} + +class facebook::react::UIManagerNativeAnimatedDelegateImpl : public facebook::react::UIManagerNativeAnimatedDelegate { + public UIManagerNativeAnimatedDelegateImpl(std::weak_ptr manager); + public virtual void runAnimationFrame() override; +} + +class facebook::react::UIManagerViewTransitionDelegate { + public virtual std::optional getViewTransitionInstance(const std::string& name, const std::string& pseudo); + public virtual void applyViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name, const std::string& className); + public virtual void cancelViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name); + public virtual void restoreViewTransitionName(const facebook::react::ShadowNode& shadowNode); + public virtual void startViewTransition(std::function mutationCallback, std::function onReadyCallback, std::function onCompleteCallback); + public virtual void startViewTransitionEnd(); + public virtual ~UIManagerViewTransitionDelegate() = default; +} + +struct facebook::react::UIManagerViewTransitionDelegate::ViewTransitionInstance { + public facebook::react::Float height; + public facebook::react::Float width; + public facebook::react::Float x; + public facebook::react::Float y; + public facebook::react::Tag nativeTag; +} + +class facebook::react::UnimplementedNativeViewEventEmitter : public facebook::react::BaseViewEventEmitter { +} + +class facebook::react::UnimplementedNativeViewProps : public facebook::react::HostPlatformViewProps { + public UnimplementedNativeViewProps() = default; + public UnimplementedNativeViewProps(const facebook::react::PropsParserContext& context, const facebook::react::UnimplementedNativeViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public std::string name; +} + +class facebook::react::UnimplementedViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public UnimplementedViewComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public virtual facebook::react::ComponentHandle getComponentHandle() const override; + public virtual facebook::react::ComponentName getComponentName() const override; + public virtual facebook::react::Props::Shared cloneProps(const facebook::react::PropsParserContext& context, const facebook::react::Props::Shared& props, facebook::react::RawProps rawProps) const override; +} + +class facebook::react::UnimplementedViewProps : public facebook::react::HostPlatformViewProps { + public facebook::react::ComponentName getComponentName() const; + public void setComponentName(facebook::react::ComponentName componentName); +} + +class facebook::react::UnstableLegacyViewManagerAutomaticComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public UnstableLegacyViewManagerAutomaticComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public UnstableLegacyViewManagerAutomaticComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, std::string legacyComponentName); + public virtual facebook::react::ComponentHandle getComponentHandle() const override; + public virtual facebook::react::ComponentName getComponentName() const override; +} + +class facebook::react::ValueAnimatedNode : public facebook::react::AnimatedNode { + protected bool isColorValue_; + public ValueAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public bool getIsColorValue() const noexcept; + public bool setOffset(double offset) noexcept; + public bool setRawValue(double value) noexcept; + public double getOffset() const noexcept; + public double getRawValue() const noexcept; + public double getValue() const noexcept; + public void extractOffset() noexcept; + public void flattenOffset() noexcept; + public void setValueListener(facebook::react::ValueListenerCallback&& callback) noexcept; +} + +class facebook::react::ValueFactoryEventPayload : public facebook::react::EventPayload { + public ValueFactoryEventPayload(facebook::react::ValueFactory factory); + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; + public virtual facebook::react::EventPayloadType getType() const override; +} + +class facebook::react::ViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public ViewComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); +} + +class facebook::react::ViewShadowNode : public facebook::react::ConcreteViewShadowNode { + public ViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); +} + +class facebook::react::ViewShadowNodeProps : public facebook::react::HostPlatformViewProps { + public ViewShadowNodeProps() = default; + public ViewShadowNodeProps(const facebook::react::PropsParserContext& context, const facebook::react::ViewShadowNodeProps& sourceProps, const facebook::react::RawProps& rawProps); +} + +class facebook::react::ViewTransitionModule : public facebook::react::UIManagerViewTransitionDelegate { + public virtual std::optional getViewTransitionInstance(const std::string& name, const std::string& pseudo) override; + public virtual void applyViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name, const std::string& className) override; + public virtual void cancelViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name) override; + public virtual void restoreViewTransitionName(const facebook::react::ShadowNode& shadowNode) override; + public virtual void startViewTransition(std::function mutationCallback, std::function onReadyCallback, std::function onCompleteCallback) override; + public virtual void startViewTransitionEnd() override; + public void setUIManager(facebook::react::UIManager* uiManager); + public ~ViewTransitionModule() override = default; +} + +struct facebook::react::ViewTransitionModule::AnimationKeyFrameView { + public facebook::react::SurfaceId surfaceId; + public facebook::react::Tag tag; + public facebook::react::ViewTransitionModule::AnimationKeyFrameViewLayoutMetrics layoutMetrics; +} + +struct facebook::react::ViewTransitionModule::AnimationKeyFrameViewLayoutMetrics { + public facebook::react::Float pointScaleFactor; + public facebook::react::Point originFromRoot; + public facebook::react::Size size; +} + +class facebook::react::VirtualViewEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onModeChange(facebook::react::VirtualViewEventEmitter::OnModeChange value) const; +} + +struct facebook::react::VirtualViewEventEmitter::OnModeChange { + public facebook::react::VirtualViewEventEmitter::OnModeChangeTargetRect targetRect; + public facebook::react::VirtualViewEventEmitter::OnModeChangeThresholdRect thresholdRect; + public int mode; +} + +struct facebook::react::VirtualViewEventEmitter::OnModeChangeTargetRect { + public double height; + public double width; + public double x; + public double y; +} + +struct facebook::react::VirtualViewEventEmitter::OnModeChangeThresholdRect { + public double height; + public double width; + public double x; + public double y; +} + +class facebook::react::VirtualViewExperimentalEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onModeChange(facebook::react::VirtualViewExperimentalEventEmitter::OnModeChange value) const; +} + +struct facebook::react::VirtualViewExperimentalEventEmitter::OnModeChange { + public facebook::react::VirtualViewExperimentalEventEmitter::OnModeChangeTargetRect targetRect; + public facebook::react::VirtualViewExperimentalEventEmitter::OnModeChangeThresholdRect thresholdRect; + public int mode; +} + +struct facebook::react::VirtualViewExperimentalEventEmitter::OnModeChangeTargetRect { + public double height; + public double width; + public double x; + public double y; +} + +struct facebook::react::VirtualViewExperimentalEventEmitter::OnModeChangeThresholdRect { + public double height; + public double width; + public double x; + public double y; +} + +class facebook::react::VirtualViewExperimentalProps : public facebook::react::HostPlatformViewProps { + public VirtualViewExperimentalProps() = default; + public VirtualViewExperimentalProps(const facebook::react::PropsParserContext& context, const facebook::react::VirtualViewExperimentalProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool initialHidden; + public bool removeClippedSubviews; + public int renderState; +} + +class facebook::react::VirtualViewProps : public facebook::react::HostPlatformViewProps { + public VirtualViewProps() = default; + public VirtualViewProps(const facebook::react::PropsParserContext& context, const facebook::react::VirtualViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool initialHidden; + public bool removeClippedSubviews; + public int renderState; +} + +class facebook::react::VirtualViewShadowNode : public facebook::react::ConcreteViewShadowNode { + public VirtualViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public VirtualViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); +} + +class facebook::react::WeakFamilyRegistry { + public facebook::react::WeakFamilyRegistry::WeakFamilies weakFamiliesForSurfaceId(facebook::react::SurfaceId surfaceId) const; + public using WeakFamilies = std::vector; + public void add(const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily) const; + public void removeFamiliesWithSurfaceId(facebook::react::SurfaceId surfaceId) const; +} + +class facebook::react::YogaLayoutableShadowNode : public facebook::react::LayoutableShadowNode { + protected facebook::yoga::Config yogaConfig_; + protected mutable facebook::yoga::Node yogaNode_; + protected virtual bool shouldNewRevisionDirtyMeasurement(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) const; + public YogaLayoutableShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public YogaLayoutableShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public facebook::react::Rect getContentBounds() const; + public using ListOfShared = std::vector; + public using Shared = std::shared_ptr; + public virtual bool getIsLayoutClean() const override; + public virtual void appendChild(const std::shared_ptr& child) override; + public virtual void completeClone(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) override; + public virtual void dirtyLayout() override; + public virtual void layout(facebook::react::LayoutContext layoutContext) override; + public virtual void layoutTree(facebook::react::LayoutContext layoutContext, facebook::react::LayoutConstraints layoutConstraints) override; + public virtual void replaceChild(const facebook::react::ShadowNode& oldChild, const std::shared_ptr& newChild, size_t suggestedIndex = SIZE_MAX) override; + public void enableMeasurement(); + public void setPadding(facebook::react::RectangleEdges padding) const; + public void setPositionType(YGPositionType positionType) const; + public void setSize(facebook::react::Size size) const; + public void updateYogaChildren(); + public void updateYogaProps(); +} + +class facebook::react::YogaStylableProps : public facebook::react::Props { + public YogaStylableProps() = default; + public YogaStylableProps(const facebook::react::PropsParserContext& context, const facebook::react::YogaStylableProps& sourceProps, const facebook::react::RawProps& rawProps, const std::function& filterObjectKeys = nullptr); + public facebook::yoga::Style yogaStyle; + public facebook::yoga::Style::Length insetBlockEnd; + public facebook::yoga::Style::Length insetBlockStart; + public facebook::yoga::Style::Length insetInlineEnd; + public facebook::yoga::Style::Length insetInlineStart; + public facebook::yoga::Style::Length marginBlock; + public facebook::yoga::Style::Length marginBlockEnd; + public facebook::yoga::Style::Length marginBlockStart; + public facebook::yoga::Style::Length marginInline; + public facebook::yoga::Style::Length marginInlineEnd; + public facebook::yoga::Style::Length marginInlineStart; + public facebook::yoga::Style::Length paddingBlock; + public facebook::yoga::Style::Length paddingBlockEnd; + public facebook::yoga::Style::Length paddingBlockStart; + public facebook::yoga::Style::Length paddingInline; + public facebook::yoga::Style::Length paddingInlineEnd; + public facebook::yoga::Style::Length paddingInlineStart; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +enum facebook::react::AccessibilityLiveRegion : uint8_t { + Assertive, + None, + Polite, +} + +enum facebook::react::AccessibilityRole : uint8_t { + Adjustable, + Alert, + Button, + Checkbox, + Combobox, + Drawerlayout, + Dropdownlist, + Grid, + Header, + Horizontalscrollview, + Iconmenu, + Image, + Imagebutton, + Keyboardkey, + Link, + List, + Menu, + Menubar, + Menuitem, + None, + Pager, + Progressbar, + Radio, + Radiogroup, + Scrollbar, + Scrollview, + Search, + Slidingdrawer, + Spinbutton, + Summary, + Switch, + Tab, + Tabbar, + Tablist, + Text, + Timer, + Togglebutton, + Toolbar, + Viewgroup, + Webview, +} + +enum facebook::react::AccessibilityTraits : uint32_t { + Adjustable, + AllowsDirectInteraction, + Button, + CausesPageTurn, + Header, + Image, + KeyboardKey, + Link, + None, + NotEnabled, + PlaysSound, + SearchField, + Selected, + StartsMediaSession, + StaticText, + SummaryElement, + Switch, + TabBar, + UpdatesFrequently, +} + +enum facebook::react::ActivityIndicatorViewSize { + Large, + Small, +} + +enum facebook::react::AndroidDrawerLayoutDrawerLockMode { + LockedClosed, + LockedOpen, + Unlocked, +} + +enum facebook::react::AndroidDrawerLayoutDrawerPosition { + Left, + Right, +} + +enum facebook::react::AndroidDrawerLayoutKeyboardDismissMode { + None, + OnDrag, +} + +enum facebook::react::AndroidSwipeRefreshLayoutSize { + Default, + Large, +} + +enum facebook::react::AnimatedNodeType { + Addition, + Color, + Diffclamp, + Division, + Interpolation, + Modulus, + Multiplication, + Object, + Props, + Round, + Style, + Subtraction, + Tracking, + Transform, + Value, +} + +enum facebook::react::AnimationConfigurationType { + Create, + Delete, + Update, +} + +enum facebook::react::AnimationDriverType { + Decay, + Frames, + Spring, +} + +enum facebook::react::AnimationProperty { + NotApplicable, + Opacity, + ScaleX, + ScaleXY, + ScaleY, +} + +enum facebook::react::AnimationType { + EaseIn, + EaseInEaseOut, + EaseOut, + Keyboard, + Linear, + None, + Spring, +} + +enum facebook::react::AutocapitalizationType { + Characters, + None, + Sentences, + Words, +} + +enum facebook::react::BackfaceVisibility : uint8_t { + Auto, + Hidden, + Visible, +} + +enum facebook::react::BackgroundRepeatStyle { + NoRepeat, + Repeat, + Round, + Space, +} + +enum facebook::react::BackgroundSizeKeyword { + Contain, + Cover, +} + +enum facebook::react::BlendMode { + Color, + ColorBurn, + ColorDodge, + Darken, + Difference, + Exclusion, + HardLight, + Hue, + Lighten, + Luminosity, + Multiply, + Normal, + Overlay, + Saturation, + Screen, + SoftLight, +} + +enum facebook::react::BorderCurve : uint8_t { + Circular, + Continuous, +} + +enum facebook::react::BorderStyle : uint8_t { + Dashed, + Dotted, + Solid, +} + +enum facebook::react::CSSAngleUnit : uint8_t { + Deg, + Grad, + Rad, + Turn, +} + +enum facebook::react::CSSDelimiter { + Comma, + CommaOrWhitespace, + None, + OptionalWhitespace, + Solidus, + SolidusOrWhitespace, + Whitespace, +} + +enum facebook::react::CSSFontVariant : std::underlying_type_t { + CommonLigatures, + Contextual, + DiscretionaryLigatures, + HistoricalLigatures, + LiningNums, + NoCommonLigatures, + NoContextual, + NoDiscretionaryLigatures, + NoHistoricalLigatures, + OldstyleNums, + ProportionalNums, + SmallCaps, + StylisticEight, + StylisticEighteen, + StylisticEleven, + StylisticFifteen, + StylisticFive, + StylisticFour, + StylisticFourteen, + StylisticNine, + StylisticNineteen, + StylisticOne, + StylisticSeven, + StylisticSeventeen, + StylisticSix, + StylisticSixteen, + StylisticTen, + StylisticThirteen, + StylisticThree, + StylisticTwelve, + StylisticTwenty, + StylisticTwo, + TabularNums, +} + +enum facebook::react::CSSGradientAtKeyword : std::underlying_type_t { + At, +} + +enum facebook::react::CSSGradientDirectionKeyword : std::underlying_type_t { + Bottom, + Left, + Right, + Top, +} + +enum facebook::react::CSSGradientPositionKeyword : std::underlying_type_t { + Bottom, + Center, + Left, + Right, + Top, +} + +enum facebook::react::CSSGradientToKeyword : std::underlying_type_t { + To, +} + +enum facebook::react::CSSInsetShadowKeyword : std::underlying_type_t { + Inset, +} + +enum facebook::react::CSSKeyword : uint8_t { + Absolute, + At, + Auto, + Baseline, + Block, + Bottom, + Center, + Clip, + Column, + ColumnReverse, + CommonLigatures, + Content, + Contents, + Contextual, + Dashed, + DiscretionaryLigatures, + Dotted, + Double, + End, + Fixed, + Flex, + FlexEnd, + FlexStart, + Grid, + Groove, + Hidden, + HistoricalLigatures, + Inherit, + Initial, + Inline, + InlineBlock, + InlineFlex, + InlineGrid, + Inset, + Left, + LiningNums, + Ltr, + MaxContent, + Medium, + MinContent, + NoCommonLigatures, + NoContextual, + NoDiscretionaryLigatures, + NoHistoricalLigatures, + NoWrap, + None, + Normal, + OldstyleNums, + Outset, + ProportionalNums, + Relative, + Ridge, + Right, + Row, + RowReverse, + Rtl, + Scroll, + SmallCaps, + Solid, + SpaceAround, + SpaceBetween, + SpaceEvenly, + Start, + Static, + Sticky, + Stretch, + StylisticEight, + StylisticEighteen, + StylisticEleven, + StylisticFifteen, + StylisticFive, + StylisticFour, + StylisticFourteen, + StylisticNine, + StylisticNineteen, + StylisticOne, + StylisticSeven, + StylisticSeventeen, + StylisticSix, + StylisticSixteen, + StylisticTen, + StylisticThirteen, + StylisticThree, + StylisticTwelve, + StylisticTwenty, + StylisticTwo, + TabularNums, + Thick, + Thin, + To, + Top, + Unset, + Visible, + Wrap, + WrapReverse, +} + +enum facebook::react::CSSLengthUnit : uint8_t { + Cap, + Ch, + Cm, + Dvb, + Dvh, + Dvi, + Dvmax, + Dvmin, + Dvw, + Em, + Ex, + Ic, + In, + Lh, + Lvb, + Lvh, + Lvi, + Lvmax, + Lvmin, + Lvw, + Mm, + Pc, + Pt, + Px, + Q, + Rcap, + Rch, + Rem, + Rex, + Ric, + Rlh, + Svb, + Svh, + Svi, + Svmax, + Svmin, + Svw, + Vb, + Vh, + Vi, + Vmax, + Vmin, + Vw, +} + +enum facebook::react::CSSLinearGradientDirectionKeyword : uint8_t { + ToBottomLeft, + ToBottomRight, + ToTopLeft, + ToTopRight, +} + +enum facebook::react::CSSRadialGradientShape : uint8_t { + Circle, + Ellipse, +} + +enum facebook::react::CSSRadialGradientSizeKeyword : uint8_t { + ClosestCorner, + ClosestSide, + FarthestCorner, + FarthestSide, +} + +enum facebook::react::CSSTokenType { + CloseCurly, + CloseParen, + CloseSquare, + Comma, + Delim, + Dimension, + EndOfFile, + Function, + Hash, + Ident, + Number, + OpenCurly, + OpenParen, + OpenSquare, + Percentage, + WhiteSpace, +} + +enum facebook::react::CSSTransformOriginKeyword : std::underlying_type_t { + Bottom, + Center, + Left, + Right, + Top, +} + +enum facebook::react::CSSWideKeyword : std::underlying_type_t { + Inherit, + Initial, + Unset, +} + +enum facebook::react::ColorSpace { + DisplayP3, + sRGB, +} + +enum facebook::react::ContentInsetAdjustmentBehavior { + Always, + Automatic, + Never, + ScrollableAxes, +} + +enum facebook::react::Cursor : uint8_t { + Alias, + AllScroll, + Auto, + Cell, + ColResize, + ContextMenu, + Copy, + Crosshair, + Default, + EResize, + EWResize, + Grab, + Grabbing, + Help, + Move, + NEResize, + NESWResize, + NResize, + NSResize, + NWResize, + NWSEResize, + NoDrop, + None, + NotAllowed, + Pointer, + Progress, + RowResize, + SEResize, + SResize, + SWResize, + Text, + Url, + WResize, + Wait, + ZoomIn, + ZoomOut, +} + +enum facebook::react::DisplayMode { + Hidden, + Suspended, + Visible, +} + +enum facebook::react::DisplayType { + Contents, + Flex, + Grid, + None, +} + +enum facebook::react::DynamicTypeRamp { + Body, + Callout, + Caption1, + Caption2, + Footnote, + Headline, + LargeTitle, + Subheadline, + Title1, + Title2, + Title3, +} + +enum facebook::react::EllipsizeMode { + Clip, + Head, + Middle, + Tail, +} + +enum facebook::react::EventPayloadType { + PointerEvent, + ScrollEvent, + ValueFactory, +} + +enum facebook::react::FilterType { + Blur, + Brightness, + Contrast, + DropShadow, + Grayscale, + HueRotate, + Invert, + Opacity, + Saturate, + Sepia, +} + +enum facebook::react::FontStyle { + Italic, + Normal, + Oblique, +} + +enum facebook::react::FontVariant : int { + Default, + LiningNums, + OldstyleNums, + ProportionalNums, + SmallCaps, + StylisticEight, + StylisticEighteen, + StylisticEleven, + StylisticFifteen, + StylisticFive, + StylisticFour, + StylisticFourteen, + StylisticNine, + StylisticNineteen, + StylisticOne, + StylisticSeven, + StylisticSeventeen, + StylisticSix, + StylisticSixteen, + StylisticTen, + StylisticThirteen, + StylisticThree, + StylisticTwelve, + StylisticTwenty, + StylisticTwo, + TabularNums, +} + +enum facebook::react::FontWeight : int { + Black, + Bold, + Demibold, + Heavy, + Light, + Medium, + Regular, + Semibold, + Thin, + UltraLight, + Weight100, + Weight200, + Weight300, + Weight400, + Weight500, + Weight600, + Weight700, + Weight800, + Weight900, +} + +enum facebook::react::GradientDirectionType { + Angle, + Keyword, +} + +enum facebook::react::GradientKeyword : uint8_t { + ToBottomLeft, + ToBottomRight, + ToTopLeft, + ToTopRight, +} + +enum facebook::react::HyphenationFrequency { + Full, + None, + Normal, +} + +enum facebook::react::ImageResizeMode : int8_t { + Center, + Contain, + Cover, + None, + Repeat, + Stretch, +} + +enum facebook::react::ImportantForAccessibility : uint8_t { + Auto, + No, + NoHideDescendants, + Yes, +} + +enum facebook::react::Isolation { + Auto, + Isolate, +} + +enum facebook::react::KeyboardAppearance { + Dark, + Default, + Light, +} + +enum facebook::react::KeyboardType { + ASCIICapable, + ASCIICapableNumberPad, + DecimalPad, + Default, + EmailAddress, + NamePhonePad, + NumberPad, + NumbersAndPunctuation, + Numeric, + PhonePad, + Twitter, + URL, + VisiblePassword, + WebSearch, +} + +enum facebook::react::LayoutConformance : uint8_t { + Compatibility, + Strict, +} + +enum facebook::react::LayoutDirection { + LeftToRight, + RightToLeft, + Undefined, +} + +enum facebook::react::LineBreakMode { + Char, + Clip, + Head, + Middle, + Tail, + Word, +} + +enum facebook::react::LineBreakStrategy { + HangulWordPriority, + None, + PushOut, + Standard, +} + +enum facebook::react::ModalHostViewAnimationType { + Fade, + None, + Slide, +} + +enum facebook::react::ModalHostViewPresentationStyle { + FormSheet, + FullScreen, + OverFullScreen, + PageSheet, +} + +enum facebook::react::ModalHostViewSupportedOrientations : facebook::react::ModalHostViewSupportedOrientationsMask { + Landscape, + LandscapeLeft, + LandscapeRight, + Portrait, + PortraitUpsideDown, +} + +enum facebook::react::NativeFantomNativeEventCategory { + Continuous, + ContinuousEnd, + ContinuousStart, + Discrete, + Idle, + Unspecified, +} + +enum facebook::react::NullValueStrategy { + Ignore, + Override, +} + +enum facebook::react::OutlineStyle : uint8_t { + Dashed, + Dotted, + Solid, +} + +enum facebook::react::PerformanceEntryType { + EVENT, + LONGTASK, + MARK, + MEASURE, + RESOURCE, + _NEXT, +} + +enum facebook::react::PointerEventsMode : uint8_t { + Auto, + BoxNone, + BoxOnly, + None, +} + +enum facebook::react::PositionType { + Absolute, + Relative, + Static, +} + +enum facebook::react::PropName { + ALIGN_CONTENT, + ALIGN_ITEMS, + ALIGN_SELF, + ASPECT_RATIO, + BACKFACE_VISIBILITY, + BACKGROUND_COLOR, + BORDER_COLOR, + BORDER_CURVES, + BORDER_RADII, + BORDER_STYLES, + BORDER_WIDTH, + BOX_SHADOW, + BOX_SIZING, + COLUMN_GAP, + CURSOR, + DIRECTION, + DISPLAY, + FILTER, + FLEX, + FLEX_BASIS, + FLEX_DIRECTION, + FLEX_GROW, + FLEX_SHRINK, + FLEX_WRAP, + HEIGHT, + ISOLATION, + JUSTIFY_CONTENT, + MARGIN, + MAX_HEIGHT, + MAX_WIDTH, + MIN_HEIGHT, + MIN_WIDTH, + MIX_BLEND_MODE, + OPACITY, + OUTLINE_COLOR, + OUTLINE_OFFSET, + OUTLINE_STYLE, + OUTLINE_WIDTH, + PADDING, + POINTER_EVENTS, + POSITION, + POSITION_TYPE, + ROW_GAP, + SHADOW_COLOR, + SHADOW_OFFSET, + SHADOW_OPACITY, + SHADOW_RADIUS, + STYLE_OVERFLOW, + TRANSFORM, + TRANSFORM_ORIGIN, + WIDTH, + Z_INDEX, +} + +enum facebook::react::RadialGradientShape { + Circle, + Ellipse, +} + +enum facebook::react::ReactEventPriority { + Continuous, + Default, + Discrete, + Idle, +} + +enum facebook::react::ReturnKeyType { + Continue, + Default, + Done, + EmergencyCall, + Go, + Google, + Join, + Next, + None, + Previous, + Route, + Search, + Send, + Yahoo, +} + +enum facebook::react::Role : uint8_t { + Alert, + Alertdialog, + Application, + Article, + Banner, + Button, + Cell, + Checkbox, + Columnheader, + Combobox, + Complementary, + Contentinfo, + Definition, + Dialog, + Directory, + Document, + Feed, + Figure, + Form, + Grid, + Group, + Heading, + Img, + Link, + List, + Listitem, + Log, + Main, + Marquee, + Math, + Menu, + Menubar, + Menuitem, + Meter, + Navigation, + None, + Note, + Option, + Presentation, + Progressbar, + Radio, + Radiogroup, + Region, + Row, + Rowgroup, + Rowheader, + Scrollbar, + Searchbox, + Separator, + Slider, + Spinbutton, + Status, + Summary, + Switch, + Tab, + Table, + Tablist, + Tabpanel, + Term, + Timer, + Toolbar, + Tooltip, + Tree, + Treegrid, + Treeitem, +} + +enum facebook::react::SchedulerPriority : int { + IdlePriority, + ImmediatePriority, + LowPriority, + NormalPriority, + UserBlockingPriority, +} + +enum facebook::react::ScriptTag { + RAMBundle, + String, +} + +enum facebook::react::ScrollViewIndicatorStyle { + Black, + Default, + White, +} + +enum facebook::react::ScrollViewKeyboardDismissMode { + Interactive, + None, + OnDrag, +} + +enum facebook::react::ScrollViewSnapToAlignment { + Center, + End, + Start, +} + +enum facebook::react::ShadowTreeCommitMode { + Normal, + Suspended, +} + +enum facebook::react::ShadowTreeCommitSource { + AnimationEndSync, + React, + ReactRevisionMerge, + Unknown, +} + +enum facebook::react::ShadowTreeCommitStatus { + Cancelled, + Failed, + Succeeded, +} + +enum facebook::react::SubmitBehavior { + BlurAndSubmit, + Default, + Newline, + Submit, +} + +enum facebook::react::TextAlignment { + Center, + Justified, + Left, + Natural, + Right, +} + +enum facebook::react::TextAlignmentVertical { + Auto, + Bottom, + Center, + Top, +} + +enum facebook::react::TextBreakStrategy { + Balanced, + HighQuality, + Simple, +} + +enum facebook::react::TextDecorationLineType { + None, + Strikethrough, + Underline, + UnderlineStrikethrough, +} + +enum facebook::react::TextDecorationStyle { + Dashed, + Dotted, + Double, + Solid, +} + +enum facebook::react::TextInputAccessoryVisibilityMode { + Always, + Never, + UnlessEditing, + WhileEditing, +} + +enum facebook::react::TextTransform { + Capitalize, + Lowercase, + None, + Unset, + Uppercase, +} + +enum facebook::react::TimerSource { + RequestAnimationFrame, + SetInterval, + SetTimeout, + Unknown, +} + +enum facebook::react::TransformOperationType : uint8_t { + Arbitrary, + Identity, + Perspective, + Rotate, + Scale, + Skew, + Translate, +} + +enum facebook::react::TurboModuleMethodValueKind { + ArrayKind, + BooleanKind, + FunctionKind, + NumberKind, + ObjectKind, + PromiseKind, + StringKind, + VoidKind, +} + +enum facebook::react::UnitType { + Percent, + Point, + Undefined, +} + +enum facebook::react::WritingDirection { + LeftToRight, + Natural, + RightToLeft, +} + +struct facebook::react::AbstractPerformanceEntry { + public facebook::react::HighResDuration duration; + public facebook::react::HighResTimeStamp startTime; + public std::string name; +} + +struct facebook::react::AccessibilityAction { + public std::optional label; + public std::string name; +} + +struct facebook::react::AccessibilityLabelledBy { + public std::vector value; +} + +struct facebook::react::AccessibilityState { + public bool busy; + public bool disabled; + public bool selected; + public facebook::react::AccessibilityState::CheckedState checked; + public std::optional expanded; +} + +enum facebook::react::AccessibilityState::CheckedState { + Checked, + Mixed, + None, + Unchecked, +} + +struct facebook::react::AccessibilityValue { + public std::optional max; + public std::optional min; + public std::optional now; + public std::optional text; +} + +struct facebook::react::ActivePointer { + public bool shouldLeaveWhenReleased; + public facebook::react::PointerEvent event; +} + +struct facebook::react::AnimatedPropBase { + public AnimatedPropBase(facebook::react::PropName propName); + public facebook::react::PropName propName; + public virtual ~AnimatedPropBase() = default; +} + +struct facebook::react::AnimatedProps { + public std::unique_ptr rawProps; + public std::vector> props; +} + +struct facebook::react::AnimatedPropsBuilder { + public facebook::react::AnimatedProps get(); + public std::unique_ptr rawProps; + public std::vector> props; + public void setAlignContent(facebook::yoga::Align value); + public void setAlignItems(facebook::yoga::Align value); + public void setAlignSelf(facebook::yoga::Align value); + public void setAspectRatio(facebook::yoga::FloatOptional value); + public void setBackfaceVisibility(facebook::react::BackfaceVisibility value); + public void setBackgroundColor(facebook::react::SharedColor value); + public void setBorderColor(facebook::react::CascadedBorderColors& value); + public void setBorderCurves(facebook::react::CascadedBorderCurves& value); + public void setBorderRadii(facebook::react::CascadedBorderRadii& value); + public void setBorderStyles(facebook::react::CascadedBorderStyles& value); + public void setBorderWidth(facebook::react::CascadedRectangleEdges& value); + public void setBoxShadow(const std::vector& value); + public void setBoxSizing(facebook::yoga::BoxSizing value); + public void setColumnGap(facebook::yoga::Style::Length value); + public void setCursor(facebook::react::Cursor value); + public void setDirection(facebook::yoga::Direction value); + public void setDisplay(facebook::yoga::Display value); + public void setFilter(const std::vector& value); + public void setFlex(facebook::yoga::FloatOptional value); + public void setFlexBasis(facebook::yoga::Style::SizeLength value); + public void setFlexDirection(facebook::yoga::FlexDirection value); + public void setFlexGrow(facebook::yoga::FloatOptional value); + public void setFlexShrink(facebook::yoga::FloatOptional value); + public void setFlexWrap(facebook::yoga::Wrap value); + public void setHeight(facebook::yoga::Style::SizeLength value); + public void setIsolation(facebook::react::Isolation value); + public void setJustifyContent(facebook::yoga::Justify value); + public void setMargin(facebook::react::CascadedRectangleEdges& value); + public void setMaxHeight(facebook::yoga::Style::SizeLength value); + public void setMaxWidth(facebook::yoga::Style::SizeLength value); + public void setMinHeight(facebook::yoga::Style::SizeLength value); + public void setMinWidth(facebook::yoga::Style::SizeLength value); + public void setMixBlendMode(facebook::react::BlendMode value); + public void setOpacity(facebook::react::Float value); + public void setOutlineColor(facebook::react::SharedColor value); + public void setOutlineOffset(facebook::react::Float value); + public void setOutlineStyle(facebook::react::OutlineStyle value); + public void setOutlineWidth(facebook::react::Float value); + public void setOverflow(facebook::yoga::Overflow value); + public void setPadding(facebook::react::CascadedRectangleEdges& value); + public void setPointerEvents(facebook::react::PointerEventsMode value); + public void setPosition(facebook::react::CascadedRectangleEdges& value); + public void setPositionType(facebook::yoga::PositionType value); + public void setRowGap(facebook::yoga::Style::Length value); + public void setShadowColor(facebook::react::SharedColor value); + public void setShadowOffset(facebook::react::Size value); + public void setShadowOpacity(facebook::react::Float value); + public void setShadowRadius(facebook::react::Float value); + public void setTransform(const facebook::react::Transform& t); + public void setTransformOrigin(const facebook::react::TransformOrigin& value); + public void setWidth(facebook::yoga::Style::SizeLength value); + public void setZIndex(std::optional value); + public void storeDynamic(folly::dynamic& d); + public void storeJSI(facebook::jsi::Runtime& runtime, facebook::jsi::Value& value); +} + +struct facebook::react::AnimationConfig { + public double delay; + public double duration; + public facebook::react::AnimationProperty animationProperty; + public facebook::react::AnimationType animationType; + public facebook::react::Float initialVelocity; + public facebook::react::Float springDamping; +} + +struct facebook::react::AnimationKeyFrame { + public bool generateFinalSyntheticMutations; + public bool invalidated; + public double initialProgress; + public facebook::react::AnimationConfigurationType type; + public facebook::react::ShadowView viewEnd; + public facebook::react::ShadowView viewPrev; + public facebook::react::ShadowView viewStart; + public facebook::react::Tag parentTag; + public facebook::react::Tag tag; + public std::vector finalMutationsForKeyFrame; +} + +struct facebook::react::AnimationMutation { + public bool hasLayoutUpdates; + public facebook::react::AnimatedProps props; + public facebook::react::Tag tag; + public std::shared_ptr family; +} + +struct facebook::react::AnimationMutations { + public std::set asyncFlushSurfaces; + public std::vector batch; +} + +struct facebook::react::BackgroundPosition { + public BackgroundPosition(); + public bool operator==(const facebook::react::BackgroundPosition& other) const = default; + public std::optional bottom; + public std::optional left; + public std::optional right; + public std::optional top; +} + +struct facebook::react::BackgroundRepeat { + public BackgroundRepeat(); + public bool operator==(const facebook::react::BackgroundRepeat& other) const = default; + public facebook::react::BackgroundRepeatStyle x; + public facebook::react::BackgroundRepeatStyle y; +} + +struct facebook::react::BackgroundSizeLengthPercentage { + public BackgroundSizeLengthPercentage(); + public bool isXAuto() const; + public bool isYAuto() const; + public bool operator==(const facebook::react::BackgroundSizeLengthPercentage& other) const = default; + public std::variant x; + public std::variant y; +} + +struct facebook::react::BaseTouch { + public facebook::react::Float force; + public facebook::react::Float timestamp; + public facebook::react::HighResTimeStamp timeStamp; + public facebook::react::Point offsetPoint; + public facebook::react::Point pagePoint; + public facebook::react::Point screenPoint; + public facebook::react::Tag target; + public int identifier; +} + +struct facebook::react::BaseTouch::Comparator { + public bool operator()(const facebook::react::BaseTouch& lhs, const facebook::react::BaseTouch& rhs) const; +} + +struct facebook::react::BaseTouch::Hasher { + public size_t operator()(const facebook::react::BaseTouch& touch) const; +} + +struct facebook::react::BorderMetrics { + public bool operator==(const facebook::react::BorderMetrics& rhs) const = default; + public facebook::react::BorderColors borderColors; + public facebook::react::BorderCurves borderCurves; + public facebook::react::BorderRadii borderRadii; + public facebook::react::BorderStyles borderStyles; + public facebook::react::BorderWidths borderWidths; +} + +struct facebook::react::BoxShadow { + public bool inset; + public bool operator==(const facebook::react::BoxShadow& other) const = default; + public facebook::react::Float blurRadius; + public facebook::react::Float offsetX; + public facebook::react::Float offsetY; + public facebook::react::Float spreadDistance; + public facebook::react::SharedColor color; +} + +struct facebook::react::Bridging { + public static bool fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); + public static bool toJs(facebook::jsi::Runtime&, bool value); +} + +struct facebook::react::Bridging : public facebook::react::Bridging { +} + +struct facebook::react::Bridging { + public static double fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); + public static double toJs(facebook::jsi::Runtime&, double value); +} + +struct facebook::react::Bridging { + public static float fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); + public static float toJs(facebook::jsi::Runtime&, float value); +} + +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const id& value); +} + +struct facebook::react::Bridging { + public static int32_t fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); + public static int32_t toJs(facebook::jsi::Runtime&, int32_t value); +} + +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime&, uint32_t value); + public static uint32_t fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); +} + +struct facebook::react::Bridging { + public static void fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value&); +} + +struct facebook::react::BufferEvent { + public std::string name; + public std::string track; + public uint64_t end; + public uint64_t start; +} + +struct facebook::react::BundleHeader { + public BundleHeader(); + public facebook::react::Magic32 magic32; + public uint32_t version; + public uint64_t magic64; +} + +struct facebook::react::CSSAngle { + public constexpr bool operator==(const facebook::react::CSSAngle& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSBlurFilter { + public constexpr bool operator==(const facebook::react::CSSBlurFilter& rhs) const = default; + public facebook::react::CSSLength amount; +} + +struct facebook::react::CSSBrightnessFilter { + public constexpr bool operator==(const facebook::react::CSSBrightnessFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSColor { + public constexpr bool operator==(const facebook::react::CSSColor& rhs) const = default; + public static constexpr facebook::react::CSSColor black(); + public uint8_t a; + public uint8_t b; + public uint8_t g; + public uint8_t r; +} + +struct facebook::react::CSSColorHint { + public bool operator==(const facebook::react::CSSColorHint& rhs) const = default; + public std::variant position; +} + +struct facebook::react::CSSColorStop { + public bool operator==(const facebook::react::CSSColorStop& rhs) const; + public facebook::react::CSSColor color; + public std::optional> endPosition; + public std::optional> startPosition; +} + +struct facebook::react::CSSContrastFilter { + public constexpr bool operator==(const facebook::react::CSSContrastFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSDropShadowFilter { + public constexpr bool operator==(const facebook::react::CSSDropShadowFilter& rhs) const = default; + public facebook::react::CSSColor color; + public facebook::react::CSSLength offsetX; + public facebook::react::CSSLength offsetY; + public facebook::react::CSSLength standardDeviation; +} + +struct facebook::react::CSSFunctionBlock { + public std::string_view name; +} + +struct facebook::react::CSSGrayscaleFilter { + public constexpr bool operator==(const facebook::react::CSSGrayscaleFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSHueRotateFilter { + public constexpr bool operator==(const facebook::react::CSSHueRotateFilter& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSInvertFilter { + public constexpr bool operator==(const facebook::react::CSSInvertFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSLength { + public constexpr bool operator==(const facebook::react::CSSLength& rhs) const = default; + public facebook::react::CSSLengthUnit unit; + public float value; +} + +struct facebook::react::CSSLinearGradientDirection { + public bool operator==(const facebook::react::CSSLinearGradientDirection& rhs) const = default; + public std::variant value; +} + +struct facebook::react::CSSLinearGradientFunction { + public bool operator==(const facebook::react::CSSLinearGradientFunction& rhs) const = default; + public static std::pair>, int> parseGradientColorStopsAndHints(facebook::react::CSSValueParser& parser); + public std::optional direction; + public std::vector> items; +} + +struct facebook::react::CSSMatrix { + public constexpr bool operator==(const facebook::react::CSSMatrix& rhs) const = default; + public std::array values; +} + +struct facebook::react::CSSNumber { + public constexpr bool operator==(const facebook::react::CSSNumber& rhs) const = default; + public float value; +} + +struct facebook::react::CSSOpacityFilter { + public constexpr bool operator==(const facebook::react::CSSOpacityFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSPercentage { + public constexpr bool operator==(const facebook::react::CSSPercentage& rhs) const = default; + public float value; +} + +struct facebook::react::CSSPerspective { + public constexpr bool operator==(const facebook::react::CSSPerspective& rhs) const = default; + public facebook::react::CSSLength length; +} + +struct facebook::react::CSSRadialGradientExplicitSize { + public bool operator==(const facebook::react::CSSRadialGradientExplicitSize& rhs) const = default; + public std::variant sizeX; + public std::variant sizeY; +} + +struct facebook::react::CSSRadialGradientFunction { + public bool operator==(const facebook::react::CSSRadialGradientFunction& rhs) const = default; + public std::optional position; + public std::optional shape; + public std::optional size; + public std::vector> items; +} + +struct facebook::react::CSSRadialGradientPosition { + public bool operator==(const facebook::react::CSSRadialGradientPosition& rhs) const = default; + public std::optional> bottom; + public std::optional> left; + public std::optional> right; + public std::optional> top; +} + +struct facebook::react::CSSRatio { + public constexpr bool isDegenerate() const; + public constexpr bool operator==(const facebook::react::CSSRatio& rhs) const = default; + public float denominator; + public float numerator; +} + +struct facebook::react::CSSRotate { + public constexpr bool operator==(const facebook::react::CSSRotate& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSRotateX { + public constexpr bool operator==(const facebook::react::CSSRotateX& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSRotateY { + public constexpr bool operator==(const facebook::react::CSSRotateY& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSRotateZ { + public constexpr bool operator==(const facebook::react::CSSRotateZ& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSSaturateFilter { + public constexpr bool operator==(const facebook::react::CSSSaturateFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSScale { + public constexpr bool operator==(const facebook::react::CSSScale& rhs) const = default; + public float x; + public float y; +} + +struct facebook::react::CSSScaleX { + public constexpr bool operator==(const facebook::react::CSSScaleX& rhs) const = default; + public float value; +} + +struct facebook::react::CSSScaleY { + public constexpr bool operator==(const facebook::react::CSSScaleY& rhs) const = default; + public float value; +} + +struct facebook::react::CSSSepiaFilter { + public constexpr bool operator==(const facebook::react::CSSSepiaFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSShadow { + public bool inset; + public constexpr bool operator==(const facebook::react::CSSShadow& rhs) const = default; + public facebook::react::CSSColor color; + public facebook::react::CSSLength blurRadius; + public facebook::react::CSSLength offsetX; + public facebook::react::CSSLength offsetY; + public facebook::react::CSSLength spreadDistance; +} + +struct facebook::react::CSSSimpleBlock { + public facebook::react::CSSTokenType openBracketType; +} + +struct facebook::react::CSSSkewX { + public constexpr bool operator==(const facebook::react::CSSSkewX& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSSkewY { + public constexpr bool operator==(const facebook::react::CSSSkewY& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSTransformOrigin { + public constexpr bool operator==(const facebook::react::CSSTransformOrigin& rhs) const = default; + public facebook::react::CSSLength z; + public std::variant x; + public std::variant y; +} + +struct facebook::react::CSSTranslate3D { + public constexpr bool operator==(const facebook::react::CSSTranslate3D& rhs) const = default; + public facebook::react::CSSLength z; + public std::variant x; + public std::variant y; +} + +struct facebook::react::CSSTranslate { + public constexpr bool operator==(const facebook::react::CSSTranslate& rhs) const = default; + public std::variant x; + public std::variant y; +} + +struct facebook::react::CSSTranslateX { + public constexpr bool operator==(const facebook::react::CSSTranslateX& rhs) const = default; + public std::variant value; +} + +struct facebook::react::CSSTranslateY { + public constexpr bool operator==(const facebook::react::CSSTranslateY& rhs) const = default; + public std::variant value; +} + +struct facebook::react::CSSZero { + public constexpr bool operator==(const facebook::react::CSSZero& rhs) const = default; +} + +struct facebook::react::CallbackWithId { + public facebook::react::Callback callback; + public facebook::react::CallbackId callbackId; +} + +struct facebook::react::Color { + public Color(); + public Color(const facebook::react::ColorComponents& components); + public Color(const facebook::react::DynamicColor& dynamicColor); + public Color(int32_t color); + public bool operator!=(const facebook::react::Color& other) const; + public bool operator==(const facebook::react::Color& other) const; + public facebook::react::ColorComponents getColorComponents() const; + public float getChannel(int channelId) const; + public int32_t getColor() const; + public operator int32_t() const; + public static facebook::react::Color createSemanticColor(std::vector& semanticItems); + public std::shared_ptr getUIColor() const; + public std::size_t getUIColorHash() const; +} + +struct facebook::react::ColorComponents { + public facebook::react::ColorSpace colorSpace; + public float alpha; + public float blue; + public float green; + public float red; +} + +struct facebook::react::ColorStop { + public bool operator==(const facebook::react::ColorStop& other) const = default; + public facebook::react::SharedColor color; + public facebook::react::ValueUnit position; +} + +struct facebook::react::CornerRadii { + public bool operator==(const facebook::react::CornerRadii& other) const = default; + public float horizontal; + public float vertical; +} + +struct facebook::react::CullingContext { + public bool operator==(const facebook::react::CullingContext& rhs) const = default; + public bool shouldConsiderCulling() const; + public facebook::react::CullingContext adjustCullingContextIfNeeded(const facebook::react::ShadowViewNodePair& pair) const; + public facebook::react::Rect frame; + public facebook::react::Transform transform; +} + +struct facebook::react::DebugStringConvertibleOptions { +} + +struct facebook::react::DefaultTurboModules { + public static std::shared_ptr getTurboModule(const std::string& name, const std::shared_ptr& jsInvoker); +} + +struct facebook::react::DropShadowParams { + public bool operator==(const facebook::react::DropShadowParams& other) const = default; + public facebook::react::Float offsetX; + public facebook::react::Float offsetY; + public facebook::react::Float standardDeviation; + public facebook::react::SharedColor color; +} + +struct facebook::react::DummyTraceSection { + template + public DummyTraceSection(const char* name, ConvertsToStringPiece &&... args); +} + +struct facebook::react::DynamicColor { + public int32_t darkColor; + public int32_t highContrastDarkColor; + public int32_t highContrastLightColor; + public int32_t lightColor; +} + +struct facebook::react::DynamicEventPayload : public facebook::react::EventPayload { + protected folly::dynamic payload_; + public DynamicEventPayload(folly::dynamic&& payload); + public static facebook::react::SharedEventPayload create(folly::dynamic&& payload); + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; + public virtual facebook::react::EventPayloadType getType() const override; + public virtual std::optional extractValue(const std::vector& path) const override; +} + +struct facebook::react::DynamicPointerEvent : public facebook::react::DynamicEventPayload { + public DynamicPointerEvent(folly::dynamic&& payload); + public const std::optional>& getHitPathForEventListener() const; +} + +struct facebook::react::EventAnimationDriverKey { + public bool operator==(const facebook::react::EventAnimationDriverKey& rhs) const noexcept; + public facebook::react::Tag viewTag; + public std::string eventName; +} + +struct facebook::react::EventPayload { + public EventPayload() = default; + public EventPayload(const facebook::react::EventPayload&) = default; + public EventPayload(facebook::react::EventPayload&&) = default; + public facebook::react::EventPayload& operator=(const facebook::react::EventPayload&) = default; + public facebook::react::EventPayload& operator=(facebook::react::EventPayload&&) = default; + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const = 0; + public virtual facebook::react::EventPayloadType getType() const = 0; + public virtual std::optional extractValue(const std::vector&) const; + public virtual ~EventPayload() = default; +} + +struct facebook::react::FantomForcedCloneCommitHook : public facebook::react::UIManagerCommitHook { + public facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const std::shared_ptr& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode) noexcept override; + public virtual void commitHookWasRegistered(const facebook::react::UIManager&) noexcept override; + public virtual void commitHookWasUnregistered(const facebook::react::UIManager&) noexcept override; +} + +struct facebook::react::FilterFunction { + public bool operator==(const facebook::react::FilterFunction& other) const = default; + public facebook::react::FilterType type; + public std::variant parameters; +} + +struct facebook::react::ImageURLLoaderAttribution { + public NSString* analyticTag; + public int32_t nativeViewTag; + public int32_t surfaceId; + public std::string queryRootName; +} + +struct facebook::react::InspectorData { + public folly::dynamic props; + public int columnNumber; + public int lineNumber; + public int selectedIndex; + public std::string fileName; + public std::vector hierarchy; +} + +struct facebook::react::InstanceCallback { + public virtual void decrementPendingJSCalls(); + public virtual void incrementPendingJSCalls(); + public virtual void onBatchComplete(); + public virtual ~InstanceCallback() = default; +} + +struct facebook::react::IntersectionObserverEntry { + public bool isIntersectingAboveThresholds; + public bool sameShadowNodeFamily(const facebook::react::ShadowNodeFamily& otherShadowNodeFamily) const; + public facebook::react::HighResTimeStamp time; + public facebook::react::IntersectionObserverObserverId intersectionObserverId; + public facebook::react::Rect intersectionRect; + public facebook::react::Rect rootRect; + public facebook::react::Rect targetRect; + public facebook::react::ShadowNodeFamily::Shared shadowNodeFamily; +} + +struct facebook::react::LayoutAnimation { + public bool completed; + public facebook::react::LayoutAnimationCallbackWrapper failureCallback; + public facebook::react::LayoutAnimationCallbackWrapper successCallback; + public facebook::react::LayoutAnimationConfig layoutAnimationConfig; + public facebook::react::SurfaceId surfaceId; + public std::vector keyFrames; + public uint64_t startTime; +} + +struct facebook::react::LayoutAnimationConfig { + public double duration; + public facebook::react::AnimationConfig createConfig; + public facebook::react::AnimationConfig deleteConfig; + public facebook::react::AnimationConfig updateConfig; +} + +struct facebook::react::LayoutConformanceProps : public facebook::react::YogaStylableProps { + public LayoutConformanceProps() = default; + public LayoutConformanceProps(const facebook::react::PropsParserContext& context, const facebook::react::LayoutConformanceProps& sourceProps, const facebook::react::RawProps& rawProps); + public facebook::react::LayoutConformance mode; +} + +struct facebook::react::LayoutConstraints { + public facebook::react::LayoutDirection layoutDirection; + public facebook::react::Size clamp(const facebook::react::Size& size) const; + public facebook::react::Size maximumSize; + public facebook::react::Size minimumSize; +} + +struct facebook::react::LayoutContext { + public bool swapLeftAndRightInRTL; + public facebook::react::Float fontSizeMultiplier; + public facebook::react::Float pointScaleFactor; + public facebook::react::Point viewportOffset; + public std::vector* affectedNodes; +} + +struct facebook::react::LayoutMetrics { + public bool operator==(const facebook::react::LayoutMetrics& rhs) const = default; + public bool wasLeftAndRightSwapped; + public facebook::react::DisplayType displayType; + public facebook::react::EdgeInsets borderWidth; + public facebook::react::EdgeInsets contentInsets; + public facebook::react::EdgeInsets overflowInset; + public facebook::react::Float pointScaleFactor; + public facebook::react::LayoutDirection layoutDirection; + public facebook::react::PositionType positionType; + public facebook::react::Rect frame; + public facebook::react::Rect getContentFrame() const; + public facebook::react::Rect getOverflowInsetFrame() const; + public facebook::react::Rect getPaddingFrame() const; +} + +struct facebook::react::LineMeasurement { + public LineMeasurement(const folly::dynamic& data); + public LineMeasurement(std::string text, facebook::react::Rect frame, facebook::react::Float descender, facebook::react::Float capHeight, facebook::react::Float ascender, facebook::react::Float xHeight); + public bool operator==(const facebook::react::LineMeasurement& rhs) const; + public facebook::react::Float ascender; + public facebook::react::Float capHeight; + public facebook::react::Float descender; + public facebook::react::Float xHeight; + public facebook::react::Rect frame; + public static facebook::react::Float baseline(const std::vector& lines); + public std::string text; +} + +struct facebook::react::LinearGradient { + public bool operator==(const facebook::react::LinearGradient& other) const = default; + public facebook::react::GradientDirection direction; + public std::vector colorStops; +} + +struct facebook::react::Magic32 { + public uint32_t reserved_; + public uint32_t value; +} + +struct facebook::react::MarginValue { + public bool isPercentage; + public facebook::react::Float value; +} + +struct facebook::react::MeasuredPreparedTextLayout { + public facebook::react::LayoutConstraints layoutConstraints; + public facebook::react::TextMeasurement measurement; + public facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout preparedTextLayout; +} + +struct facebook::react::MethodCall { + public MethodCall(int mod, int meth, folly::dynamic&& args, int cid); + public folly::dynamic arguments; + public int callId; + public int methodId; + public int moduleId; +} + +struct facebook::react::MethodDescriptor { + public MethodDescriptor(std::string n, std::string t); + public std::string name; + public std::string type; +} + +struct facebook::react::ModalHostViewSupportedOrientationsMaskWrapped { + public facebook::react::ModalHostViewSupportedOrientationsMask value; +} + +struct facebook::react::ModuleConfig { + public folly::dynamic config; + public size_t index; +} + +struct facebook::react::MutationRecord { + public facebook::react::MutationObserverId mutationObserverId; + public std::shared_ptr targetShadowNode; + public std::vector> addedShadowNodes; + public std::vector> removedShadowNodes; +} + +struct facebook::react::NativePerformanceEntry { + public facebook::react::HighResDuration duration; + public facebook::react::HighResTimeStamp startTime; + public facebook::react::PerformanceEntryType entryType; + public std::optional connectEnd; + public std::optional connectStart; + public std::optional fetchStart; + public std::optional processingEnd; + public std::optional processingStart; + public std::optional requestStart; + public std::optional responseEnd; + public std::optional responseStart; + public std::optional interactionId; + public std::optional decodedBodySize; + public std::optional encodedBodySize; + public std::optional responseStatus; + public std::optional contentType; + public std::string name; +} + +struct facebook::react::PerformanceEntrySorter { + public bool operator()(const facebook::react::PerformanceEntry& lhs, const facebook::react::PerformanceEntry& rhs); +} + +struct facebook::react::PerformanceEventTiming : public facebook::react::AbstractPerformanceEntry { + public facebook::react::HighResTimeStamp processingEnd; + public facebook::react::HighResTimeStamp processingStart; + public facebook::react::HighResTimeStamp taskEndTime; + public facebook::react::PerformanceEntryInteractionId interactionId; + public static constexpr facebook::react::PerformanceEntryType entryType; +} + +struct facebook::react::PerformanceLongTaskTiming : public facebook::react::AbstractPerformanceEntry { + public static constexpr facebook::react::PerformanceEntryType entryType; +} + +struct facebook::react::PerformanceMark : public facebook::react::AbstractPerformanceEntry { + public static constexpr facebook::react::PerformanceEntryType entryType; +} + +struct facebook::react::PerformanceMeasure : public facebook::react::AbstractPerformanceEntry { + public static constexpr facebook::react::PerformanceEntryType entryType; +} + +struct facebook::react::PerformanceObserverObserveMultipleOptions { + public facebook::react::HighResDuration durationThreshold; +} + +struct facebook::react::PerformanceObserverObserveSingleOptions { + public bool buffered; + public facebook::react::HighResDuration durationThreshold; +} + +struct facebook::react::PerformanceResourceTiming : public facebook::react::AbstractPerformanceEntry { + public facebook::react::HighResTimeStamp fetchStart; + public facebook::react::HighResTimeStamp requestStart; + public int decodedBodySize; + public int encodedBodySize; + public int responseStatus; + public static constexpr facebook::react::PerformanceEntryType entryType; + public std::optional connectEnd; + public std::optional connectStart; + public std::optional responseEnd; + public std::optional responseStart; + public std::string contentType; +} + +struct facebook::react::Point { + public bool operator==(const facebook::react::Point& rhs) const = default; + public facebook::react::Float x; + public facebook::react::Float y; + public facebook::react::Point operator+(const facebook::react::Point& rhs) const noexcept; + public facebook::react::Point operator-() const noexcept; + public facebook::react::Point operator-(const facebook::react::Point& rhs) const noexcept; + public facebook::react::Point& operator*=(const facebook::react::Point& point) noexcept; + public facebook::react::Point& operator+=(const facebook::react::Point& point) noexcept; + public facebook::react::Point& operator-=(const facebook::react::Point& point) noexcept; +} + +struct facebook::react::PointerEvent : public facebook::react::EventPayload { + public bool altKey; + public bool ctrlKey; + public bool isPrimary; + public bool metaKey; + public bool shiftKey; + public facebook::react::Float height; + public facebook::react::Float pressure; + public facebook::react::Float tangentialPressure; + public facebook::react::Float width; + public facebook::react::HighResTimeStamp timeStamp; + public facebook::react::Point clientPoint; + public facebook::react::Point offsetPoint; + public facebook::react::Point screenPoint; + public int button; + public int buttons; + public int detail; + public int pointerId; + public int tiltX; + public int tiltY; + public int twist; + public std::string pointerType; + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; + public virtual facebook::react::EventPayloadType getType() const override; +} + +struct facebook::react::PointerEventTarget { + public facebook::react::PointerEvent event; + public std::shared_ptr target; +} + +struct facebook::react::ProcessedColorStop { + public bool operator==(const facebook::react::ProcessedColorStop& other) const = default; + public facebook::react::SharedColor color; + public std::optional position; +} + +struct facebook::react::Promise : public facebook::react::LongLivedObject { + public Promise(facebook::jsi::Runtime& rt, facebook::jsi::Function resolve, facebook::jsi::Function reject); + public facebook::jsi::Function reject_; + public facebook::jsi::Function resolve_; + public void reject(const std::string& message); + public void resolve(const facebook::jsi::Value& result); +} + +struct facebook::react::PropsParserContext { + public PropsParserContext(const facebook::react::PropsParserContext&) = delete; + public PropsParserContext(const facebook::react::SurfaceId surfaceId, const facebook::react::ContextContainer& contextContainer); + public const facebook::react::ContextContainer& contextContainer; + public const facebook::react::SurfaceId surfaceId; + public facebook::react::PropsParserContext& operator=(const facebook::react::PropsParserContext&) = delete; +} + +struct facebook::react::PropsSnapshot { + public facebook::react::BaseViewProps props; + public std::unique_ptr rawProps; + public std::unordered_set propNames; +} + +struct facebook::react::RadialGradient { + public bool operator==(const facebook::react::RadialGradient& other) const = default; + public facebook::react::RadialGradientPosition position; + public facebook::react::RadialGradientShape shape; + public facebook::react::RadialGradientSize size; + public std::vector colorStops; +} + +struct facebook::react::RadialGradientPosition { + public bool operator==(const facebook::react::RadialGradientPosition& other) const = default; + public std::optional bottom; + public std::optional left; + public std::optional right; + public std::optional top; +} + +struct facebook::react::RadialGradientSize { + public bool operator==(const facebook::react::RadialGradientSize& other) const = default; + public std::variant value; +} + +enum facebook::react::RadialGradientSize::SizeKeyword { + ClosestCorner, + ClosestSide, + FarthestCorner, + FarthestSide, +} + +struct facebook::react::RadialGradientSize::Dimensions { + public bool operator==(const facebook::react::RadialGradientSize::Dimensions& other) const = default; + public facebook::react::ValueUnit x; + public facebook::react::ValueUnit y; +} + +struct facebook::react::RawEvent { + public RawEvent(std::string type, facebook::react::SharedEventPayload eventPayload, facebook::react::SharedEventTarget eventTarget, std::weak_ptr shadowNodeFamily, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified, bool isUnique = false, facebook::react::HighResTimeStamp eventStartTimeStamp = facebook::react::HighResTimeStamp::now()); + public bool isUnique; + public facebook::react::EventTag loggingTag; + public facebook::react::HighResTimeStamp eventStartTimeStamp; + public facebook::react::RawEvent::Category category; + public facebook::react::SharedEventPayload eventPayload; + public facebook::react::SharedEventTarget eventTarget; + public std::string type; + public std::weak_ptr shadowNodeFamily; +} + +enum facebook::react::RawEvent::Category { + Continuous, + ContinuousEnd, + ContinuousStart, + Discrete, + Idle, + Unspecified, +} + +struct facebook::react::ReactNativeVersionType { + public int32_t Major; + public int32_t Minor; + public int32_t Patch; + public std::string_view Prerelease; +} + +struct facebook::react::RecoverableError : public std::exception { + public RecoverableError(const std::string& what_); + public virtual const char* what() const noexcept override; + template + public static void runRethrowingAsRecoverable(std::function act); +} + +struct facebook::react::Rect { + public bool containsPoint(facebook::react::Point point) noexcept; + public bool operator==(const facebook::react::Rect& rhs) const noexcept = default; + public facebook::react::Float getMaxX() const noexcept; + public facebook::react::Float getMaxY() const noexcept; + public facebook::react::Float getMidX() const noexcept; + public facebook::react::Float getMidY() const noexcept; + public facebook::react::Float getMinX() const noexcept; + public facebook::react::Float getMinY() const noexcept; + public facebook::react::Point getCenter() const noexcept; + public facebook::react::Point origin; + public facebook::react::Size size; + public static facebook::react::Rect boundingRect(const facebook::react::Point& a, const facebook::react::Point& b, const facebook::react::Point& c, const facebook::react::Point& d) noexcept; + public static facebook::react::Rect intersect(const facebook::react::Rect& rect1, const facebook::react::Rect& rect2); + public void unionInPlace(const facebook::react::Rect& rect) noexcept; +} + +struct facebook::react::RequestInfo { + public std::optional headers; + public std::optional httpBody; + public std::string httpMethod; + public std::string url; +} + +struct facebook::react::ResourceTimingData { + public facebook::react::HighResTimeStamp fetchStart; + public facebook::react::HighResTimeStamp requestStart; + public int decodedBodySize; + public int encodedBodySize; + public int responseStatus; + public std::optional connectEnd; + public std::optional connectStart; + public std::optional responseStart; + public std::string contentType; + public std::string url; +} + +struct facebook::react::ResponseInfo { + public std::optional headers; + public std::string url; + public uint16_t statusCode; +} + +struct facebook::react::SchedulerToolbox { + public facebook::react::ComponentRegistryFactory componentRegistryFactory; + public facebook::react::EventBeat::Factory eventBeatFactory; + public facebook::react::RuntimeExecutor runtimeExecutor; + public std::optional bridgelessBindingsExecutor; + public std::shared_ptr contextContainer; + public std::shared_ptr animationChoreographer; + public std::vector> commitHooks; +} + +struct facebook::react::ScrollEndDragEvent : public facebook::react::ScrollEvent { + public ScrollEndDragEvent() = default; + public ScrollEndDragEvent(const facebook::react::ScrollEvent& scrollEvent); + public facebook::react::Point targetContentOffset; + public facebook::react::Point velocity; + public folly::dynamic asDynamic() const; + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; +} + +struct facebook::react::ScrollEvent : public facebook::react::EventPayload { + public ScrollEvent() = default; + public facebook::react::EdgeInsets contentInset; + public facebook::react::Float timestamp; + public facebook::react::Float zoomScale; + public facebook::react::Point contentOffset; + public facebook::react::Size containerSize; + public facebook::react::Size contentSize; + public folly::dynamic asDynamic() const; + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; + public virtual facebook::react::EventPayloadType getType() const override; + public virtual std::optional extractValue(const std::vector& path) const override; +} + +struct facebook::react::ShadowNodeFamilyFragment { + public const facebook::react::SurfaceId surfaceId; + public const facebook::react::Tag tag; + public const std::shared_ptr instanceHandle; +} + +struct facebook::react::ShadowNodeFragment { + public const bool runtimeShadowNodeReference; + public const facebook::react::Props::Shared& props; + public const facebook::react::State::Shared& state; + public const std::shared_ptr>>& children; + public static const facebook::react::Props::Shared& propsPlaceholder(); + public static const facebook::react::State::Shared& statePlaceholder(); + public static const std::shared_ptr>>& childrenPlaceholder(); +} + +struct facebook::react::ShadowNodeListWrapper : public facebook::jsi::NativeState { + public ShadowNodeListWrapper(std::shared_ptr>> shadowNodeList); + public std::shared_ptr>> shadowNodeList; + public ~ShadowNodeListWrapper() override; +} + +struct facebook::react::ShadowNodeWrapper : public facebook::jsi::NativeState { + public ShadowNodeWrapper(std::shared_ptr shadowNode); + public std::shared_ptr shadowNode; + public ~ShadowNodeWrapper() override; +} + +struct facebook::react::ShadowTreeCommitOptions { + public bool enableStateReconciliation; + public bool mountSynchronously; + public facebook::react::ShadowTreeCommitSource source; +} + +struct facebook::react::ShadowView { + public ShadowView() = default; + public ShadowView(const facebook::react::ShadowNode& shadowNode); + public ShadowView(const facebook::react::ShadowView& shadowView) = default; + public ShadowView(facebook::react::ShadowView&& shadowView) noexcept = default; + public bool operator==(const facebook::react::ShadowView& rhs) const; + public facebook::react::ComponentHandle componentHandle; + public facebook::react::ComponentName componentName; + public facebook::react::EventEmitter::Shared eventEmitter; + public facebook::react::LayoutMetrics layoutMetrics; + public facebook::react::Props::Shared props; + public facebook::react::ShadowNodeTraits traits; + public facebook::react::ShadowView& operator=(const facebook::react::ShadowView& other) = default; + public facebook::react::ShadowView& operator=(facebook::react::ShadowView&& other) = default; + public facebook::react::State::Shared state; + public facebook::react::SurfaceId surfaceId; + public facebook::react::Tag tag; +} + +struct facebook::react::ShadowViewMutation { + public ShadowViewMutation() = delete; + public bool mutatedViewIsVirtual() const; + public facebook::react::ShadowView newChildShadowView; + public facebook::react::ShadowView oldChildShadowView; + public facebook::react::ShadowViewMutation::Type type; + public facebook::react::Tag parentTag; + public int index; + public static facebook::react::ShadowViewMutation CreateMutation(facebook::react::ShadowView shadowView); + public static facebook::react::ShadowViewMutation DeleteMutation(facebook::react::ShadowView shadowView); + public static facebook::react::ShadowViewMutation InsertMutation(const facebook::react::ShadowView& parentShadowView, facebook::react::ShadowView childShadowView, int index); + public static facebook::react::ShadowViewMutation InsertMutation(facebook::react::Tag parentTag, facebook::react::ShadowView childShadowView, int index); + public static facebook::react::ShadowViewMutation RemoveMutation(const facebook::react::ShadowView& parentShadowView, facebook::react::ShadowView childShadowView, int index); + public static facebook::react::ShadowViewMutation RemoveMutation(facebook::react::Tag parentTag, facebook::react::ShadowView childShadowView, int index); + public static facebook::react::ShadowViewMutation UpdateMutation(facebook::react::ShadowView oldChildShadowView, facebook::react::ShadowView newChildShadowView, const facebook::react::ShadowView& parentShadowView); + public static facebook::react::ShadowViewMutation UpdateMutation(facebook::react::ShadowView oldChildShadowView, facebook::react::ShadowView newChildShadowView, facebook::react::Tag parentTag); + public using List = std::vector; +} + +enum facebook::react::ShadowViewMutation::Type : std::uint8_t { + Create, + Delete, + Insert, + Remove, + Update, +} + +struct facebook::react::ShadowViewNodePair { + public bool flattened; + public bool inOtherTree() const; + public bool isConcreteView; + public bool operator==(const facebook::react::ShadowViewNodePair& rhs) const; + public const facebook::react::ShadowNode* shadowNode; + public facebook::react::Point contextOrigin; + public facebook::react::ShadowView shadowView; + public mutable const facebook::react::ShadowViewNodePair* otherTreePair; + public size_t mountIndex; +} + +struct facebook::react::Size { + public facebook::react::Float height; + public facebook::react::Float width; + public facebook::react::Size& operator*=(const facebook::react::Point& point) noexcept; + public facebook::react::Size& operator+=(const facebook::react::Point& point) noexcept; +} + +struct facebook::react::StateData { + public using Shared = std::shared_ptr; +} + +struct facebook::react::SurfaceContext { + public std::unordered_map> map; + public std::unordered_map> pendingMap; + public std::unordered_set> families; + public std::unordered_set> pendingFamilies; +} + +struct facebook::react::SurfaceUpdates { + public bool hasLayoutUpdates; + public std::unordered_map propsMap; + public std::unordered_set> families; +} + +struct facebook::react::SystraceSection : public facebook::react::DummyTraceSection { + template + public SystraceSection(const char* name, ConvertsToStringPiece &&... args); +} + +struct facebook::react::Task : public facebook::jsi::NativeState { + public Task(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback, facebook::react::HighResTimeStamp expirationTime); + public Task(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback, facebook::react::HighResTimeStamp expirationTime); +} + +struct facebook::react::TextLayoutContext { + public bool operator==(const facebook::react::TextLayoutContext& rhs) const = default; + public facebook::react::Float pointScaleFactor; + public facebook::react::SurfaceId surfaceId; +} + +struct facebook::react::TimerCallback { + public TimerCallback(facebook::jsi::Function callback, std::vector args, bool repeat, facebook::react::TimerSource source = facebook::react::TimerSource::Unknown); + public bool repeat; + public const std::vector args_; + public facebook::jsi::Function callback_; + public facebook::react::TimerSource source; + public void invoke(facebook::jsi::Runtime& runtime); +} + +struct facebook::react::TouchEvent { + public facebook::react::Touches changedTouches; + public facebook::react::Touches targetTouches; + public facebook::react::Touches touches; +} + +struct facebook::react::Transform { + public bool operator==(const facebook::react::Transform& rhs) const noexcept; + public const facebook::react::Float& at(int i, int j) const noexcept; + public facebook::react::Float& at(int i, int j) noexcept; + public facebook::react::Rect applyWithCenter(const facebook::react::Rect& rect, const facebook::react::Point& center) const; + public facebook::react::Transform operator*(const facebook::react::Transform& rhs) const; + public operator folly::dynamic() const; + public static bool isHorizontalInversion(const facebook::react::Transform& transform) noexcept; + public static bool isVerticalInversion(const facebook::react::Transform& transform) noexcept; + public static facebook::react::Transform FromTransformOperation(facebook::react::TransformOperation transformOperation, const facebook::react::Size& size, const facebook::react::Transform& transform = facebook::react::Transform::Identity()); + public static facebook::react::Transform HorizontalInversion() noexcept; + public static facebook::react::Transform Identity() noexcept; + public static facebook::react::Transform Interpolate(facebook::react::Float animationProgress, const facebook::react::Transform& lhs, const facebook::react::Transform& rhs, const facebook::react::Size& size); + public static facebook::react::Transform Perspective(facebook::react::Float perspective) noexcept; + public static facebook::react::Transform Rotate(facebook::react::Float angleX, facebook::react::Float angleY, facebook::react::Float angleZ) noexcept; + public static facebook::react::Transform RotateX(facebook::react::Float radians) noexcept; + public static facebook::react::Transform RotateY(facebook::react::Float radians) noexcept; + public static facebook::react::Transform RotateZ(facebook::react::Float radians) noexcept; + public static facebook::react::Transform Scale(facebook::react::Float factorX, facebook::react::Float factorY, facebook::react::Float factorZ) noexcept; + public static facebook::react::Transform Skew(facebook::react::Float x, facebook::react::Float y) noexcept; + public static facebook::react::Transform Translate(facebook::react::Float x, facebook::react::Float y, facebook::react::Float z) noexcept; + public static facebook::react::Transform VerticalInversion() noexcept; + public static facebook::react::TransformOperation DefaultTransformOperation(facebook::react::TransformOperationType type); + public std::array matrix; + public std::vector operations; +} + +struct facebook::react::TransformConfig { + public double value; + public facebook::react::Tag nodeTag; + public std::string property; +} + +struct facebook::react::TransformOperation { + public bool operator==(const facebook::react::TransformOperation& other) const = default; + public facebook::react::TransformOperationType type; + public facebook::react::ValueUnit x; + public facebook::react::ValueUnit y; + public facebook::react::ValueUnit z; +} + +struct facebook::react::TransformOrigin { + public bool isSet() const; + public bool operator==(const facebook::react::TransformOrigin& other) const = default; + public float z; + public std::array xy; +} + +struct facebook::react::ValueUnit { + public constexpr ValueUnit() = default; + public constexpr ValueUnit(float v, facebook::react::UnitType u); + public constexpr bool operator==(const facebook::react::ValueUnit& other) const = default; + public constexpr float resolve(float referenceLength) const; + public constexpr operator bool() const; + public facebook::react::UnitType unit; + public float value; +} + +struct facebook::react::Vector { + public facebook::react::Float w; + public facebook::react::Float x; + public facebook::react::Float y; + public facebook::react::Float z; +} + +struct facebook::react::ViewEvents { + public constexpr bool operator[](const facebook::react::ViewEvents::Offset offset) const; + public std::bitset<64> bits; + public std::bitset<64>::reference operator[](const facebook::react::ViewEvents::Offset offset); +} + +enum facebook::react::ViewEvents::Offset : std::size_t { + Click, + ClickCapture, + GotPointerCapture, + LostPointerCapture, + MoveShouldSetResponder, + MoveShouldSetResponderCapture, + PointerDown, + PointerDownCapture, + PointerEnter, + PointerEnterCapture, + PointerLeave, + PointerLeaveCapture, + PointerMove, + PointerMoveCapture, + PointerOut, + PointerOutCapture, + PointerOver, + PointerOverCapture, + PointerUp, + PointerUpCapture, + ResponderEnd, + ResponderGrant, + ResponderMove, + ResponderReject, + ResponderRelease, + ResponderStart, + ResponderTerminate, + ResponderTerminationRequest, + ShouldBlockNativeResponder, + StartShouldSetResponder, + StartShouldSetResponderCapture, + TouchCancel, + TouchEnd, + TouchMove, + TouchStart, +} + +template +struct facebook::react::CSSList : public std::vector { +} + +template +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +template +struct facebook::react::CSSList { +} + +template ... VisitorsT> +struct facebook::react::CSSComponentValueVisitorDispatcher { + public constexpr ReturnT consumeComponentValue(facebook::react::CSSDelimiter delimiter, const VisitorsT &... visitors); + public constexpr std::optional visitFunction(); + public constexpr std::optional visitFunction(const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); + public constexpr std::optional visitPreservedToken(); + public constexpr std::optional visitPreservedToken(const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); + public constexpr std::optional visitSimpleBlock(facebook::react::CSSTokenType endToken); + public constexpr std::optional visitSimpleBlock(facebook::react::CSSTokenType endToken, const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); + public facebook::react::CSSSyntaxParser& parser; +} + +template +struct facebook::react::CSSList : public std::vector { +} + +template +class facebook::react::CircularBuffer { + public CircularBuffer(size_t maxSize); + public T& operator[](size_t idx); + public bool add(const T& el); + public size_t size() const; + public std::vector getEntries() const; + public std::vector getEntries(std::function predicate) const; + public void clear(); + public void clear(std::function predicate); + public void getEntries(std::vector& res) const; + public void getEntries(std::vector& res, std::function predicate) const; +} + +template +class facebook::react::MoveWrapper { + public MoveWrapper() = default; + public MoveWrapper(T&& t); + public MoveWrapper(const facebook::react::MoveWrapper& other); + public MoveWrapper(facebook::react::MoveWrapper&& other) noexcept; + public T& operator*(); + public T&& move(); + public T* operator->(); + public const T& operator*() const; + public const T* operator->() const; + public facebook::react::MoveWrapper& operator=(const facebook::react::MoveWrapper&) = delete; + public facebook::react::MoveWrapper& operator=(facebook::react::MoveWrapper&&) = delete; +} + +template +class facebook::react::ConcreteViewShadowNode : public facebook::react::ConcreteShadowNode { + public ConcreteViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ConcreteViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public using BaseShadowNode = facebook::react::ConcreteShadowNode; + public using ConcreteViewProps = ViewPropsT; + public virtual bool canBeTouchTarget() const override; + public virtual bool canChildrenBeTouchTarget() const override; + public virtual facebook::react::Transform getTransform() const override; +} + +template +class facebook::react::BaseTextInputShadowNode : public facebook::react::ConcreteViewShadowNode, public facebook::react::BaseTextShadowNode { + protected facebook::react::LayoutConstraints getTextConstraints(const facebook::react::LayoutConstraints& layoutConstraints) const; + protected std::shared_ptr textLayoutManager_; + protected virtual facebook::react::Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const override; + protected virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; + protected virtual void layout(facebook::react::LayoutContext layoutContext) override; + public BaseTextInputShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public BaseTextInputShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public using BaseShadowNode = facebook::react::ConcreteViewShadowNode; + public void setTextLayoutManager(std::shared_ptr textLayoutManager); +} + +template +class facebook::react::UnstableLegacyViewManagerInteropComponentDescriptor : public facebook::react::ConcreteComponentDescriptor> { + public UnstableLegacyViewManagerInteropComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); +} + +template +class facebook::react::ConcreteShadowNode : public BaseShadowNodeT { + protected facebook::react::Props::Shared props_; + protected facebook::react::State::Shared state_; + public const facebook::react::ConcreteShadowNode::ConcreteEventEmitter& getConcreteEventEmitter() const; + public const facebook::react::ConcreteShadowNode::ConcreteProps& getConcreteProps() const; + public const facebook::react::ConcreteShadowNode::ConcreteStateData& getStateData() const; + public const std::shared_ptr& getConcreteSharedProps() const; + public static const facebook::react::ConcreteShadowNode::SharedConcreteProps& defaultSharedProps(); + public static facebook::react::ComponentHandle Handle(); + public static facebook::react::ComponentName Name(); + public static facebook::react::ConcreteShadowNode::ConcreteStateData initialStateData(const facebook::react::Props::Shared&, const facebook::react::ShadowNodeFamily::Shared&, const facebook::react::ComponentDescriptor&); + public static facebook::react::ConcreteShadowNode::UnsharedConcreteProps Props(const facebook::react::PropsParserContext& context, const facebook::react::RawProps& rawProps, const facebook::react::Props::Shared& baseProps = nullptr); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public using ConcreteEventEmitter = EventEmitterT; + public using ConcreteProps = PropsT; + public using ConcreteState = facebook::react::ConcreteState; + public using ConcreteStateData = StateDataT; + public using SharedConcreteEventEmitter = std::shared_ptr; + public using SharedConcreteProps = std::shared_ptr; + public using SharedConcreteShadowNode = std::shared_ptr; + public using UnsharedConcreteProps = std::shared_ptr; + public void setStateData(facebook::react::ConcreteShadowNode::ConcreteStateData&& data); +} + +template +struct facebook::react::Bridging : public facebook::react::Bridging { +} + +template +struct facebook::react::TemplateStringLiteral { + public constexpr TemplateStringLiteral(const char(&str)[N]); + public constexpr operator std::string_view() const; + public std::array value; +} + +template +class facebook::react::RCTIdentifierPool { + public int dequeue(); + public void enqueue(int index); + public void reset(); +} + +template +struct facebook::react::CSSDataTypeParser { +} + +template +class facebook::react::ConcreteState : public facebook::react::State { + public ConcreteState(facebook::react::ConcreteState::SharedData data, const facebook::react::State& previousState); + public ConcreteState(facebook::react::ConcreteState::SharedData data, facebook::react::ShadowNodeFamily::Weak family); + public const facebook::react::ConcreteState::Data& getData() const; + public using Data = DataT; + public using Shared = std::shared_ptr; + public using SharedData = std::shared_ptr; + public void updateState(facebook::react::ConcreteState::Data&& newData, facebook::react::EventQueue::UpdateMode updateMode = facebook::react::EventQueue::UpdateMode::Asynchronous) const; + public void updateState(std::function callback, facebook::react::EventQueue::UpdateMode updateMode = facebook::react::EventQueue::UpdateMode::Asynchronous) const; + public ~ConcreteState() override = default; +} + +template +class facebook::react::SyncCallback { +} + +template +class facebook::react::SimpleThreadSafeCache { + public SimpleThreadSafeCache(); + public SimpleThreadSafeCache(unsigned long size); + public ValueT get(const KeyT& key, facebook::react::CacheGeneratorFunction auto generator) const; + public std::optional get(const KeyT& key) const; + public std::pair getWithKey(const KeyT& key, facebook::react::CacheGeneratorFunction auto generator) const; +} + +template +class facebook::react::DiffMap { + public DiffMap(); + public DiffMap(size_t sizeHint); + public facebook::react::DiffMap::Iterator begin(); + public facebook::react::DiffMap::Iterator end(); + public facebook::react::DiffMap::Iterator find(KeyT key); + public using Pair = std::pair; + public void erase(facebook::react::DiffMap::Iterator it); + public void insert(facebook::react::DiffMap::Pair pair); +} + +class facebook::react::DiffMap::Iterator { + public bool operator!=(const facebook::react::DiffMap::Iterator& other) const; + public bool operator==(const facebook::react::DiffMap::Iterator& other) const; + public const facebook::react::DiffMap::Pair& operator*() const; + public const facebook::react::DiffMap::Pair* operator->() const; + public facebook::react::DiffMap::Iterator& operator++(); +} + +template +class facebook::react::OnScopeExit { + public OnScopeExit(const Lambda&& lambda) noexcept; + public OnScopeExit(const facebook::react::OnScopeExit&) = delete; + public OnScopeExit(facebook::react::OnScopeExit&&) = delete; + public facebook::react::OnScopeExit& operator=(const facebook::react::OnScopeExit&) = delete; + public facebook::react::OnScopeExit& operator=(facebook::react::OnScopeExit&&) = delete; + public ~OnScopeExit() noexcept; +} + +template +struct facebook::react::NativePerformanceRawPerformanceEntry { + public P0 name; + public P1 entryType; + public P2 startTime; + public P3 duration; + public P4 processingStart; + public P5 processingEnd; + public P6 interactionId; + public P7 fetchStart; + public P8 requestStart; + public P9 connectStart; + public P10 connectEnd; + public P11 responseStart; + public P12 responseEnd; + public P13 responseStatus; + public P14 contentType; + public P15 encodedBodySize; + public P16 decodedBodySize; + public bool operator==(const facebook::react::NativePerformanceRawPerformanceEntry& other) const; +} + +template +struct facebook::react::NativePlatformConstantsAndroidPlatformConstantsAndroid { + public P0 isTesting; + public P1 isDisableAnimations; + public P2 reactNativeVersion; + public P3 Version; + public P4 Release; + public P5 Serial; + public P6 Fingerprint; + public P7 Model; + public P8 ServerHost; + public P9 uiMode; + public P10 Brand; + public P11 Manufacturer; + public bool operator==(const facebook::react::NativePlatformConstantsAndroidPlatformConstantsAndroid& other) const; +} + +template +struct facebook::react::NativeAlertManagerArgs { + public P0 title; + public P1 message; + public P2 buttons; + public P3 type; + public P4 defaultValue; + public P5 cancelButtonKey; + public P6 destructiveButtonKey; + public P7 preferredButtonKey; + public P8 keyboardType; + public P9 userInterfaceStyle; + public bool operator==(const facebook::react::NativeAlertManagerArgs& other) const; +} + +template +struct facebook::react::NativePushNotificationManagerIOSNotification { + public P0 alertTitle; + public P1 alertBody; + public P2 userInfo; + public P3 category; + public P4 fireDate; + public P5 fireIntervalSeconds; + public P6 applicationIconBadgeNumber; + public P7 isSilent; + public P8 soundName; + public bool operator==(const facebook::react::NativePushNotificationManagerIOSNotification& other) const; +} + +template +struct facebook::react::NativeExceptionsManagerExceptionData { + public P0 message; + public P1 originalMessage; + public P2 name; + public P3 componentStack; + public P4 stack; + public P5 id; + public P6 isFatal; + public P7 extraData; + public bool operator==(const facebook::react::NativeExceptionsManagerExceptionData& other) const; +} + +template +struct facebook::react::NativePlatformConstantsIOSPlatformConstantsIOS { + public P0 isTesting; + public P1 isDisableAnimations; + public P2 reactNativeVersion; + public P3 forceTouchAvailable; + public P4 osVersion; + public P5 systemName; + public P6 interfaceIdiom; + public P7 isMacCatalyst; + public bool operator==(const facebook::react::NativePlatformConstantsIOSPlatformConstantsIOS& other) const; +} + +template +struct facebook::react::NativeDialogManagerAndroidDialogOptions { + public P0 title; + public P1 message; + public P2 buttonPositive; + public P3 buttonNegative; + public P4 buttonNeutral; + public P5 items; + public P6 cancelable; + public bool operator==(const facebook::react::NativeDialogManagerAndroidDialogOptions& other) const; +} + +template +struct facebook::react::NativeIntersectionObserverNativeIntersectionObserverEntry { + public P0 intersectionObserverId; + public P1 targetInstanceHandle; + public P2 targetRect; + public P3 rootRect; + public P4 intersectionRect; + public P5 isIntersectingAboveThresholds; + public P6 time; + public bool operator==(const facebook::react::NativeIntersectionObserverNativeIntersectionObserverEntry& other) const; +} + +template +struct facebook::react::NativeIntersectionObserverNativeIntersectionObserverObserveOptions { + public P0 intersectionObserverId; + public P1 rootShadowNode; + public P2 targetShadowNode; + public P3 thresholds; + public P4 rootThresholds; + public P5 rootMargin; + public bool operator==(const facebook::react::NativeIntersectionObserverNativeIntersectionObserverObserveOptions& other) const; +} + +template +struct facebook::react::NativeDeviceInfoDisplayMetricsAndroid { + public P0 width; + public P1 height; + public P2 scale; + public P3 fontScale; + public P4 densityDpi; + public bool operator==(const facebook::react::NativeDeviceInfoDisplayMetricsAndroid& other) const; +} + +template +struct facebook::react::NativeExceptionsManagerStackFrame { + public P0 column; + public P1 file; + public P2 lineNumber; + public P3 methodName; + public P4 collapse; + public bool operator==(const facebook::react::NativeExceptionsManagerStackFrame& other) const; +} + +template +struct facebook::react::NativeImageEditorOptions { + public P0 offset; + public P1 size; + public P2 displaySize; + public P3 resizeMode; + public P4 allowExternalStorage; + public bool operator==(const facebook::react::NativeImageEditorOptions& other) const; +} + +template +struct facebook::react::NativeDeviceInfoDimensionsPayload { + public P0 window; + public P1 screen; + public P2 windowPhysicalPixels; + public P3 screenPhysicalPixels; + public bool operator==(const facebook::react::NativeDeviceInfoDimensionsPayload& other) const; +} + +template +struct facebook::react::NativeDeviceInfoDisplayMetrics { + public P0 width; + public P1 height; + public P2 scale; + public P3 fontScale; + public bool operator==(const facebook::react::NativeDeviceInfoDisplayMetrics& other) const; +} + +template +struct facebook::react::NativeFantomImageResponse { + public P0 width; + public P1 height; + public P2 cacheStatus; + public P3 errorMessage; + public bool operator==(const facebook::react::NativeFantomImageResponse& other) const; +} + +template +struct facebook::react::NativeMutationObserverNativeMutationRecord { + public P0 mutationObserverId; + public P1 target; + public P2 addedNodes; + public P3 removedNodes; + public bool operator==(const facebook::react::NativeMutationObserverNativeMutationRecord& other) const; +} + +template +struct facebook::react::NativePerformancePerformanceObserverInit { + public P0 entryTypes; + public P1 type; + public P2 buffered; + public P3 durationThreshold; + public bool operator==(const facebook::react::NativePerformancePerformanceObserverInit& other) const; +} + +template +struct facebook::react::NativePlatformConstantsAndroidReactNativeVersionAndroid { + public P0 major; + public P1 minor; + public P2 patch; + public P3 prerelease; + public bool operator==(const facebook::react::NativePlatformConstantsAndroidReactNativeVersionAndroid& other) const; +} + +template +struct facebook::react::NativeAnimatedModuleEndResult { + public P0 finished; + public P1 value; + public P2 offset; + public bool operator==(const facebook::react::NativeAnimatedModuleEndResult& other) const; +} + +template +struct facebook::react::NativeAnimatedTurboModuleEndResult { + public P0 finished; + public P1 value; + public P2 offset; + public bool operator==(const facebook::react::NativeAnimatedTurboModuleEndResult& other) const; +} + +template +struct facebook::react::NativeDeviceInfoDeviceInfoConstants { + public P0 Dimensions; + public P1 isEdgeToEdge; + public P2 isIPhoneX_deprecated; + public bool operator==(const facebook::react::NativeDeviceInfoDeviceInfoConstants& other) const; +} + +template +struct facebook::react::NativeFantomScrollOptions { + public P0 x; + public P1 y; + public P2 zoomScale; + public bool operator==(const facebook::react::NativeFantomScrollOptions& other) const; +} + +template +struct facebook::react::NativeI18nManagerI18nManagerConstants { + public P0 doLeftAndRightSwapInRTL; + public P1 isRTL; + public P2 localeIdentifier; + public bool operator==(const facebook::react::NativeI18nManagerI18nManagerConstants& other) const; +} + +template +struct facebook::react::NativeMutationObserverNativeMutationObserverObserveOptions { + public P0 mutationObserverId; + public P1 targetShadowNode; + public P2 subtree; + public bool operator==(const facebook::react::NativeMutationObserverNativeMutationObserverObserveOptions& other) const; +} + +template +struct facebook::react::NativePushNotificationManagerIOSPermissions { + public P0 alert; + public P1 badge; + public P2 sound; + public bool operator==(const facebook::react::NativePushNotificationManagerIOSPermissions& other) const; +} + +template +struct facebook::react::NativeAnimatedModuleEventMapping { + public P0 nativeEventPath; + public P1 animatedValueTag; + public bool operator==(const facebook::react::NativeAnimatedModuleEventMapping& other) const; +} + +template +struct facebook::react::NativeAnimatedTurboModuleEventMapping { + public P0 nativeEventPath; + public P1 animatedValueTag; + public bool operator==(const facebook::react::NativeAnimatedTurboModuleEventMapping& other) const; +} + +template +struct facebook::react::NativeBlobModuleConstants { + public P0 BLOB_URI_SCHEME; + public P1 BLOB_URI_HOST; + public bool operator==(const facebook::react::NativeBlobModuleConstants& other) const; +} + +template +struct facebook::react::NativeFantomRenderFormatOptions { + public P0 includeRoot; + public P1 includeLayoutMetrics; + public bool operator==(const facebook::react::NativeFantomRenderFormatOptions& other) const; +} + +template +struct facebook::react::NativeIdleCallbacksIdleDeadline { + public P0 didTimeout; + public P1 timeRemaining; + public bool operator==(const facebook::react::NativeIdleCallbacksIdleDeadline& other) const; +} + +template +struct facebook::react::NativeImageLoaderAndroidImageSize { + public P0 width; + public P1 height; + public bool operator==(const facebook::react::NativeImageLoaderAndroidImageSize& other) const; +} + +template +struct facebook::react::NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfig { + public P0 shouldReloadAndProfile; + public P1 recordChangeDescriptions; + public bool operator==(const facebook::react::NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfig& other) const; +} + +template +struct facebook::react::NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfig { + public P0 shouldReloadAndProfile; + public P1 recordChangeDescriptions; + public bool operator==(const facebook::react::NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfig& other) const; +} + +template +struct facebook::react::NativeAppStateAppState { + public P0 app_state; + public bool operator==(const facebook::react::NativeAppStateAppState& other) const; +} + +template +struct facebook::react::NativeAppStateAppStateConstants { + public P0 initialAppState; + public bool operator==(const facebook::react::NativeAppStateAppStateConstants& other) const; +} + +template +struct facebook::react::NativeIdleCallbacksRequestIdleCallbackOptions { + public P0 timeout; + public bool operator==(const facebook::react::NativeIdleCallbacksRequestIdleCallbackOptions& other) const; +} + +template +struct facebook::react::NativeSourceCodeSourceCodeConstants { + public P0 scriptURL; + public bool operator==(const facebook::react::NativeSourceCodeSourceCodeConstants& other) const; +} + +template +class facebook::react::SyncCallback { + public R call(Args... args) const; + public R operator()(Args... args) const; + public SyncCallback(const facebook::react::SyncCallback&) = delete; + public SyncCallback(facebook::jsi::Runtime& rt, facebook::jsi::Function function, std::shared_ptr jsInvoker); + public SyncCallback(facebook::react::SyncCallback&& other) noexcept; + public facebook::react::SyncCallback& operator=(const facebook::react::SyncCallback&) = delete; + public facebook::react::SyncCallback& operator=(facebook::react::SyncCallback&& other) noexcept; + public ~SyncCallback(); +} + +template +struct facebook::react::Bridging : public facebook::react::Bridging> { +} + +template +struct facebook::react::Bridging : public facebook::react::Bridging> { +} + +template +class facebook::react::BaseParagraphComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; + public BaseParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); + public virtual facebook::react::ComponentName getComponentName() const override; +} + +template +class facebook::react::ConcreteComponentDescriptor : public facebook::react::ComponentDescriptor { + protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; + public ConcreteComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public using ConcreteEventEmitter = typename ShadowNodeT::ConcreteEventEmitter; + public using ConcreteProps = typename ShadowNodeT::ConcreteProps; + public using ConcreteShadowNode = ShadowNodeT; + public using ConcreteState = typename ShadowNodeT::ConcreteState; + public using ConcreteStateData = typename ShadowNodeT::ConcreteState::Data; + public using SharedConcreteEventEmitter = typename ShadowNodeT::SharedConcreteEventEmitter; + public using SharedConcreteProps = typename ShadowNodeT::SharedConcreteProps; + public virtual facebook::react::ComponentHandle getComponentHandle() const override; + public virtual facebook::react::ComponentName getComponentName() const override; + public virtual facebook::react::Props::Shared cloneProps(const facebook::react::PropsParserContext& context, const facebook::react::Props::Shared& props, facebook::react::RawProps rawProps) const override; + public virtual facebook::react::ShadowNodeFamily::Shared createFamily(const facebook::react::ShadowNodeFamilyFragment& fragment) const override; + public virtual facebook::react::ShadowNodeTraits getTraits() const override; + public virtual facebook::react::State::Shared createInitialState(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family) const override; + public virtual facebook::react::State::Shared createState(const facebook::react::ShadowNodeFamily& family, const facebook::react::StateData::Shared& data) const override; + public virtual std::shared_ptr cloneShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) const override; + public virtual std::shared_ptr createShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family) const override; + public virtual void appendChild(const std::shared_ptr& parentShadowNode, const std::shared_ptr& childShadowNode) const override; +} + +template +class facebook::react::Element { + public Element(); + public facebook::react::Element& children(std::vector children); + public facebook::react::Element& finalize(std::function finalizeCallback); + public facebook::react::Element& props(facebook::react::Element::SharedConcreteProps props); + public facebook::react::Element& props(std::function callback); + public facebook::react::Element& reference(facebook::react::Element::ConcreteUnsharedShadowNode& outShadowNode); + public facebook::react::Element& reference(std::function callback); + public facebook::react::Element& stateData(std::function callback); + public facebook::react::Element& surfaceId(facebook::react::SurfaceId surfaceId); + public facebook::react::Element& tag(facebook::react::Tag tag); + public operator facebook::react::ElementFragment(); + public using ConcreteProps = typename ShadowNodeT::ConcreteProps; + public using ConcreteReferenceCallback = std::function& shadowNode)>; + public using ConcreteShadowNode = ShadowNodeT; + public using ConcreteState = typename ShadowNodeT::ConcreteState; + public using ConcreteStateData = typename ShadowNodeT::ConcreteStateData; + public using ConcreteUnsharedShadowNode = std::shared_ptr; + public using SharedConcreteProps = std::shared_ptr; + public using SharedConcreteState = std::shared_ptr; +} + +template +struct facebook::react::Bridging { +} + +template +class facebook::react::NativeAccessibilityInfoCxxSpec : public facebook::react::TurboModule { + protected NativeAccessibilityInfoCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeAccessibilityManagerCxxSpec : public facebook::react::TurboModule { + protected NativeAccessibilityManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeActionSheetManagerCxxSpec : public facebook::react::TurboModule { + protected NativeActionSheetManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeAlertManagerCxxSpec : public facebook::react::TurboModule { + protected NativeAlertManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeAnimatedModuleCxxSpec : public facebook::react::TurboModule { + protected NativeAnimatedModuleCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeAnimatedTurboModuleCxxSpec : public facebook::react::TurboModule { + protected NativeAnimatedTurboModuleCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeAppStateCxxSpec : public facebook::react::TurboModule { + protected NativeAppStateCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeAppearanceCxxSpec : public facebook::react::TurboModule { + protected NativeAppearanceCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeBlobModuleCxxSpec : public facebook::react::TurboModule { + protected NativeBlobModuleCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeCPUTimeCxxSpec : public facebook::react::TurboModule { + protected NativeCPUTimeCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeClipboardCxxSpec : public facebook::react::TurboModule { + protected NativeClipboardCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeDOMCxxSpec : public facebook::react::TurboModule { + protected NativeDOMCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeDevLoadingViewCxxSpec : public facebook::react::TurboModule { + protected NativeDevLoadingViewCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeDevMenuCxxSpec : public facebook::react::TurboModule { + protected NativeDevMenuCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeDevSettingsCxxSpec : public facebook::react::TurboModule { + protected NativeDevSettingsCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeDeviceEventManagerCxxSpec : public facebook::react::TurboModule { + protected NativeDeviceEventManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeDeviceInfoCxxSpec : public facebook::react::TurboModule { + protected NativeDeviceInfoCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeDialogManagerAndroidCxxSpec : public facebook::react::TurboModule { + protected NativeDialogManagerAndroidCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeExceptionsManagerCxxSpec : public facebook::react::TurboModule { + protected NativeExceptionsManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeFantomCxxSpec : public facebook::react::TurboModule { + protected NativeFantomCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeFantomTestSpecificMethodsCxxSpec : public facebook::react::TurboModule { + protected NativeFantomTestSpecificMethodsCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeFileReaderModuleCxxSpec : public facebook::react::TurboModule { + protected NativeFileReaderModuleCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeFrameRateLoggerCxxSpec : public facebook::react::TurboModule { + protected NativeFrameRateLoggerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeHeadlessJsTaskSupportCxxSpec : public facebook::react::TurboModule { + protected NativeHeadlessJsTaskSupportCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeI18nManagerCxxSpec : public facebook::react::TurboModule { + protected NativeI18nManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeIdleCallbacksCxxSpec : public facebook::react::TurboModule { + protected NativeIdleCallbacksCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeImageEditorCxxSpec : public facebook::react::TurboModule { + protected NativeImageEditorCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeImageLoaderAndroidCxxSpec : public facebook::react::TurboModule { + protected NativeImageLoaderAndroidCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeImageLoaderIOSCxxSpec : public facebook::react::TurboModule { + protected NativeImageLoaderIOSCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeImageStoreAndroidCxxSpec : public facebook::react::TurboModule { + protected NativeImageStoreAndroidCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeImageStoreIOSCxxSpec : public facebook::react::TurboModule { + protected NativeImageStoreIOSCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeIntentAndroidCxxSpec : public facebook::react::TurboModule { + protected NativeIntentAndroidCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeIntersectionObserverCxxSpec : public facebook::react::TurboModule { + protected NativeIntersectionObserverCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeJSCHeapCaptureCxxSpec : public facebook::react::TurboModule { + protected NativeJSCHeapCaptureCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeKeyboardObserverCxxSpec : public facebook::react::TurboModule { + protected NativeKeyboardObserverCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeLinkingManagerCxxSpec : public facebook::react::TurboModule { + protected NativeLinkingManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeLogBoxCxxSpec : public facebook::react::TurboModule { + protected NativeLogBoxCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeMicrotasksCxxSpec : public facebook::react::TurboModule { + protected NativeMicrotasksCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeModalManagerCxxSpec : public facebook::react::TurboModule { + protected NativeModalManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeMutationObserverCxxSpec : public facebook::react::TurboModule { + protected NativeMutationObserverCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeNetworkingAndroidCxxSpec : public facebook::react::TurboModule { + protected NativeNetworkingAndroidCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeNetworkingIOSCxxSpec : public facebook::react::TurboModule { + protected NativeNetworkingIOSCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativePerformanceCxxSpec : public facebook::react::TurboModule { + protected NativePerformanceCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativePermissionsAndroidCxxSpec : public facebook::react::TurboModule { + protected NativePermissionsAndroidCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativePlatformConstantsAndroidCxxSpec : public facebook::react::TurboModule { + protected NativePlatformConstantsAndroidCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativePlatformConstantsIOSCxxSpec : public facebook::react::TurboModule { + protected NativePlatformConstantsIOSCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativePushNotificationManagerIOSCxxSpec : public facebook::react::TurboModule { + protected NativePushNotificationManagerIOSCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeReactDevToolsRuntimeSettingsModuleCxxSpec : public facebook::react::TurboModule { + protected NativeReactDevToolsRuntimeSettingsModuleCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeReactDevToolsSettingsManagerCxxSpec : public facebook::react::TurboModule { + protected NativeReactDevToolsSettingsManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeReactNativeFeatureFlagsCxxSpec : public facebook::react::TurboModule { + protected NativeReactNativeFeatureFlagsCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeRedBoxCxxSpec : public facebook::react::TurboModule { + protected NativeRedBoxCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeSegmentFetcherCxxSpec : public facebook::react::TurboModule { + protected NativeSegmentFetcherCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeSettingsManagerCxxSpec : public facebook::react::TurboModule { + protected NativeSettingsManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeShareModuleCxxSpec : public facebook::react::TurboModule { + protected NativeShareModuleCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeSoundManagerCxxSpec : public facebook::react::TurboModule { + protected NativeSoundManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeSourceCodeCxxSpec : public facebook::react::TurboModule { + protected NativeSourceCodeCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeStatusBarManagerAndroidCxxSpec : public facebook::react::TurboModule { + protected NativeStatusBarManagerAndroidCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeStatusBarManagerIOSCxxSpec : public facebook::react::TurboModule { + protected NativeStatusBarManagerIOSCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeTimingCxxSpec : public facebook::react::TurboModule { + protected NativeTimingCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeToastAndroidCxxSpec : public facebook::react::TurboModule { + protected NativeToastAndroidCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeVibrationCxxSpec : public facebook::react::TurboModule { + protected NativeVibrationCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeWebSocketModuleCxxSpec : public facebook::react::TurboModule { + protected NativeWebSocketModuleCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +struct facebook::react::AnimatedProp : public facebook::react::AnimatedPropBase { + public AnimatedProp() = default; + public AnimatedProp(facebook::react::PropName propName, const T& value); + public T value; +} + +template +struct facebook::react::CascadedRectangleCorners { + public bool operator==(const facebook::react::CascadedRectangleCorners& rhs) const = default; + public facebook::react::CascadedRectangleCorners::Counterpart resolve(bool isRTL, T defaults) const; + public facebook::react::CascadedRectangleCorners::OptionalT all; + public facebook::react::CascadedRectangleCorners::OptionalT bottomEnd; + public facebook::react::CascadedRectangleCorners::OptionalT bottomLeft; + public facebook::react::CascadedRectangleCorners::OptionalT bottomRight; + public facebook::react::CascadedRectangleCorners::OptionalT bottomStart; + public facebook::react::CascadedRectangleCorners::OptionalT endEnd; + public facebook::react::CascadedRectangleCorners::OptionalT endStart; + public facebook::react::CascadedRectangleCorners::OptionalT startEnd; + public facebook::react::CascadedRectangleCorners::OptionalT startStart; + public facebook::react::CascadedRectangleCorners::OptionalT topEnd; + public facebook::react::CascadedRectangleCorners::OptionalT topLeft; + public facebook::react::CascadedRectangleCorners::OptionalT topRight; + public facebook::react::CascadedRectangleCorners::OptionalT topStart; + public using Counterpart = facebook::react::RectangleCorners; + public using OptionalT = std::optional; +} + +template +struct facebook::react::CascadedRectangleEdges { + public bool operator==(const facebook::react::CascadedRectangleEdges& rhs) const = default; + public facebook::react::CascadedRectangleEdges::Counterpart resolve(bool isRTL, T defaults) const; + public facebook::react::CascadedRectangleEdges::OptionalT all; + public facebook::react::CascadedRectangleEdges::OptionalT block; + public facebook::react::CascadedRectangleEdges::OptionalT blockEnd; + public facebook::react::CascadedRectangleEdges::OptionalT blockStart; + public facebook::react::CascadedRectangleEdges::OptionalT bottom; + public facebook::react::CascadedRectangleEdges::OptionalT end; + public facebook::react::CascadedRectangleEdges::OptionalT horizontal; + public facebook::react::CascadedRectangleEdges::OptionalT left; + public facebook::react::CascadedRectangleEdges::OptionalT right; + public facebook::react::CascadedRectangleEdges::OptionalT start; + public facebook::react::CascadedRectangleEdges::OptionalT top; + public facebook::react::CascadedRectangleEdges::OptionalT vertical; + public using Counterpart = facebook::react::RectangleEdges; + public using OptionalT = std::optional; +} + +template +struct facebook::react::NativeAlertManagerArgsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeAnimatedModuleEndResultBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeAnimatedModuleEventMappingBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeAnimatedTurboModuleEndResultBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeAnimatedTurboModuleEventMappingBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeAppStateAppStateBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeAppStateAppStateConstantsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeBlobModuleConstantsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeDeviceInfoDeviceInfoConstantsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeDeviceInfoDimensionsPayloadBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeDeviceInfoDisplayMetricsAndroidBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeDeviceInfoDisplayMetricsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeDialogManagerAndroidDialogOptionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeExceptionsManagerExceptionDataBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeExceptionsManagerStackFrameBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeFantomImageResponseBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeFantomRenderFormatOptionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeFantomScrollOptionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeI18nManagerI18nManagerConstantsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeIdleCallbacksIdleDeadlineBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeIdleCallbacksRequestIdleCallbackOptionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeImageEditorOptionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeImageLoaderAndroidImageSizeBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeIntersectionObserverNativeIntersectionObserverEntryBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeIntersectionObserverNativeIntersectionObserverObserveOptionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeMutationObserverNativeMutationObserverObserveOptionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeMutationObserverNativeMutationRecordBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativePerformancePerformanceObserverInitBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativePerformanceRawPerformanceEntryBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativePlatformConstantsAndroidPlatformConstantsAndroidBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativePlatformConstantsAndroidReactNativeVersionAndroidBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativePlatformConstantsIOSPlatformConstantsIOSBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativePushNotificationManagerIOSNotificationBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativePushNotificationManagerIOSPermissionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfigBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfigBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeSourceCodeSourceCodeConstantsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::RectangleCorners { + public T bottomLeft; + public T bottomRight; + public T topLeft; + public T topRight; + public bool isUniform() const noexcept; + public bool operator==(const facebook::react::RectangleCorners& rhs) const noexcept = default; +} + +template +struct facebook::react::RectangleEdges { + public T bottom; + public T left; + public T right; + public T top; + public bool isUniform() const noexcept; + public bool operator==(const facebook::react::RectangleEdges& rhs) const noexcept = default; + public static const facebook::react::RectangleEdges ZERO; +} + +template +class facebook::react::AsyncCallback { + public AsyncCallback(facebook::jsi::Runtime& runtime, facebook::jsi::Function function, std::shared_ptr jsInvoker); + public void call(Args... args) const noexcept; + public void call(std::function&& callImpl) const noexcept; + public void callWithPriority(facebook::react::SchedulerPriority priority, Args... args) const noexcept; + public void callWithPriority(facebook::react::SchedulerPriority priority, std::function&& callImpl) const noexcept; + public void operator()(Args... args) const noexcept; +} + +template +class facebook::react::AsyncEventEmitter : public facebook::react::IAsyncEventEmitter { + public AsyncEventEmitter(); + public AsyncEventEmitter(const facebook::react::AsyncEventEmitter&) = delete; + public AsyncEventEmitter(facebook::react::AsyncEventEmitter&&) noexcept = default; + public facebook::react::AsyncEventEmitter& operator=(const facebook::react::AsyncEventEmitter&) = delete; + public facebook::react::AsyncEventEmitter& operator=(facebook::react::AsyncEventEmitter&&) noexcept = default; + public virtual facebook::jsi::Object get(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker) const override; + public void emit(Args... value); + public void emit(std::function&& converter); + public ~AsyncEventEmitter() override = default; +} + +template +class facebook::react::SharedFunction { + public SharedFunction(const facebook::react::SharedFunction& other) = default; + public SharedFunction(facebook::react::SharedFunction&& other) noexcept = default; + public SharedFunction(std::function&& function = nullptr); + public facebook::react::SharedFunction& operator=(const facebook::react::SharedFunction& other) = default; + public facebook::react::SharedFunction& operator=(facebook::react::SharedFunction&& other) noexcept = default; + public void assign(std::function function) const; + public void operator()(ArgumentT... args) const; +} + +template +class facebook::react::AsyncPromise { + public AsyncPromise(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker); + public facebook::jsi::Object get(facebook::jsi::Runtime& rt) const; + public void reject(facebook::react::Error error); + public void resolve(T... value); +} + +template +class facebook::react::EventListenerContainerT { + public bool willDispatchEvent(TArgs... args); + public void addListener(std::shared_ptr> listener); + public void removeListener(const std::shared_ptr>& listener); +} + +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const folly::dynamic& value); + public static folly::dynamic fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); +} + +struct facebook::react::Bridging { + public static std::nullptr_t fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); + public static std::nullptr_t toJs(facebook::jsi::Runtime&, std::nullptr_t); +} + +struct facebook::react::Bridging { + public static facebook::jsi::String toJs(facebook::jsi::Runtime& rt, const std::string& value); + public static std::string fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::String& value); +} + +struct facebook::react::Bridging { + public static facebook::jsi::String toJs(facebook::jsi::Runtime& rt, std::string_view value); +} + +template +struct facebook::react::Bridging> { + public static constexpr size_t kArgumentCount; + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, facebook::react::Bridging>::Func fn, const std::shared_ptr& jsInvoker); + public using Func = std::function; + public using IndexSequence = std::index_sequence_for; +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, 2> { + public static std::pair fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, N> { + public static std::array fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::optional& value, const std::shared_ptr& jsInvoker); + public static std::optional fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value, const std::shared_ptr& jsInvoker); + template + public static std::optional fromJs(facebook::jsi::Runtime& rt, const std::optional& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { + public static std::set fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::unique_ptr& ptr, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { + public static std::vector fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::weak_ptr& weakPtr, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, sizeof...(Types)> { +} + +struct facebook::react::Bridging { + public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); + public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Value&& value); + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, std::string message); +} + +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::WeakObject& value); + public static facebook::jsi::WeakObject fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); +} + +struct facebook::react::Bridging : public facebook::react::NativeAnimatedTurboModuleEndResultBridging { +} + +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const facebook::react::Error& error); +} + +struct facebook::react::Bridging { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::EventSubscription& eventSubscription, const std::shared_ptr& jsInvoker); + public static facebook::react::EventSubscription fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); +} + +struct facebook::react::Bridging { + public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResDuration& value); + public static facebook::react::HighResDuration fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); +} + +struct facebook::react::Bridging { + public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResTimeStamp& value); + public static facebook::react::HighResTimeStamp fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); +} + +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::react::NativeFantomNativeEventCategory value); + public static facebook::react::NativeFantomNativeEventCategory fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& rawValue); +} + +struct facebook::react::Bridging : public facebook::react::NativeIntersectionObserverNativeIntersectionObserverEntryBridging { +} + +struct facebook::react::Bridging : public facebook::react::NativeIntersectionObserverNativeIntersectionObserverObserveOptionsBridging { +} + +struct facebook::react::Bridging : public facebook::react::NativeMutationObserverNativeMutationObserverObserveOptionsBridging { +} + +struct facebook::react::Bridging : public facebook::react::NativeMutationObserverNativeMutationRecordBridging { +} + +struct facebook::react::Bridging : public facebook::react::NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfigBridging { +} + +struct facebook::react::Bridging : public facebook::react::NativePerformanceRawPerformanceEntryBridging { +} + +struct facebook::react::Bridging : public facebook::react::NativePerformancePerformanceObserverInitBridging { +} + +struct facebook::react::Bridging : public facebook::react::NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfigBridging { +} + +struct facebook::react::Bridging : public facebook::react::NativeIdleCallbacksRequestIdleCallbackOptionsBridging { +} + +struct facebook::react::Bridging { + public static facebook::react::PerformanceEntryType fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); + public static int toJs(facebook::jsi::Runtime&, const facebook::react::PerformanceEntryType& value); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static std::optional consume(facebook::react::CSSValueParser& syntaxParser); +} + +struct facebook::react::CSSDataTypeParser { + public static std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSNumberPercentTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSNumberPercentTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSVariantComponentTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSVariantComponentTransformParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +template +struct facebook::react::CSSDataTypeParser> { + public static std::optional> consume(facebook::react::CSSValueParser& parser); +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::SyncCallback& value); + public static facebook::react::SyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncCallback& value); + public static facebook::react::AsyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncEventEmitter& eventEmitter, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { +} + +template +struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncPromise& promise); +} + +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::shared_ptr& value); + public static std::shared_ptr fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& jsiValue); +} + +template +struct facebook::react::Bridging, std::enable_if_t, std::function>>> : public facebook::react::Bridging> { +} + +template +struct facebook::react::Bridging, std::enable_if_t>> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::shared_ptr& ptr, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging, std::enable_if_t>> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, std::shared_ptr value); + public static std::shared_ptr fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); +} + + +bool facebook::react::HostPlatformViewTraitsInitializer::formsStackingContext(const facebook::react::ViewProps& props); +bool facebook::react::HostPlatformViewTraitsInitializer::formsView(const facebook::react::ViewProps& props); +bool facebook::react::HostPlatformViewTraitsInitializer::isKeyboardFocusable(const facebook::react::ViewProps&); + + +constexpr bool facebook::react::detail::isHexDigit(char c); +constexpr bool facebook::react::detail::isValidHexColor(std::string_view hex); +constexpr float facebook::react::detail::hueToRgb(float p, float q, float t); +constexpr std::optional facebook::react::detail::normalizeNumberComponent(const std::variant& component); +constexpr uint8_t facebook::react::detail::clamp255Component(float f); +constexpr uint8_t facebook::react::detail::clampAlpha(std::optional alpha); +constexpr uint8_t facebook::react::detail::hexToNumeric(std::string_view hex, facebook::react::detail::HexColorType hexType); +float facebook::react::detail::normalizeHue(float hue); +std::optional facebook::react::detail::normalizeHueComponent(const std::variant& component); +std::tuple facebook::react::detail::hslToRgb(float h, float s, float l); +std::tuple facebook::react::detail::hwbToRgb(float h, float w, float b); +template +constexpr bool facebook::react::detail::isLegacyColorFunction(facebook::react::CSSValueParser& parser); +template +constexpr std::optional facebook::react::detail::parseLegacyRgbFunction(facebook::react::CSSValueParser& parser); +template +constexpr std::optional facebook::react::detail::parseModernRgbFunction(facebook::react::CSSValueParser& parser); +template +constexpr std::optional facebook::react::detail::parseRgbFunction(facebook::react::CSSValueParser& parser); +template +std::optional facebook::react::detail::parseHslFunction(facebook::react::CSSValueParser& parser); +template +std::optional facebook::react::detail::parseHwbFunction(facebook::react::CSSValueParser& parser); +template +std::optional facebook::react::detail::parseLegacyHslFunction(facebook::react::CSSValueParser& parser); +template +std::optional facebook::react::detail::parseModernHslFunction(facebook::react::CSSValueParser& parser); +template +constexpr std::optional facebook::react::detail::normalizeComponent(const std::variant& component, float baseValue); + +enum facebook::react::detail::HexColorType { + Long, + Short, +} + +template +struct facebook::react::detail::merge_data_types { + public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; +} + +template +struct facebook::react::detail::merge_data_types { + public using type = std::variant; +} + +template +struct facebook::react::detail::merge_data_types { +} + +template +struct facebook::react::detail::PreparedTextLayoutT { + public using type = typename T::PreparedTextLayout; +} + +template +struct facebook::react::detail::CSSVariantComponentTransformParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +template +struct facebook::react::detail::CSSAngleTransformParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +template +struct facebook::react::detail::CSSFilterSimpleAmountParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +template +struct facebook::react::detail::CSSNumberPercentTransformParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +template +struct facebook::react::detail::PreparedTextLayoutT { + public using type = std::nullptr_t; +} + +template +struct facebook::react::detail::is_variant_of_data_types : public std::false_type { +} + +template +class facebook::react::detail::TextLayoutManagerExtended { + public TextLayoutManagerExtended(const TextLayoutManagerT& textLayoutManager); + public facebook::react::LinesMeasurements measureLines(const facebook::react::AttributedStringBox& attributedStringBox, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::Size& size); + public facebook::react::TextMeasurement measurePreparedLayout(const facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout& layout, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout prepareLayout(const facebook::react::AttributedString& attributedString, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public static constexpr bool supportsLineMeasurement(); + public static constexpr bool supportsPreparedTextLayout(); + public using PreparedTextLayout = typename facebook::react::detail::PreparedTextLayoutT::type; +} + +template +struct facebook::react::detail::merge_variant { +} + +template +struct facebook::react::detail::merge_data_types, RestT...> { + public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; +} + +template +struct facebook::react::detail::merge_data_types, AlllowedType2T, RestT...> { + public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; +} + +template +struct facebook::react::detail::merge_variant, RestT...> { + public using type = std::variant; +} + +template +struct facebook::react::detail::merge_data_types> { + public using type = std::variant; +} + +template +struct facebook::react::detail::is_variant_of_data_types> : public std::false_type, public std::true_type { +} + +template +struct facebook::react::detail::merge_data_types, std::variant, RestT...> { + public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; +} + + +constexpr std::string_view facebook::react::detail::css::keywords::Absolute; +constexpr std::string_view facebook::react::detail::css::keywords::At; +constexpr std::string_view facebook::react::detail::css::keywords::Auto; +constexpr std::string_view facebook::react::detail::css::keywords::Baseline; +constexpr std::string_view facebook::react::detail::css::keywords::Block; +constexpr std::string_view facebook::react::detail::css::keywords::Bottom; +constexpr std::string_view facebook::react::detail::css::keywords::Center; +constexpr std::string_view facebook::react::detail::css::keywords::Clip; +constexpr std::string_view facebook::react::detail::css::keywords::Column; +constexpr std::string_view facebook::react::detail::css::keywords::ColumnReverse; +constexpr std::string_view facebook::react::detail::css::keywords::CommonLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::Content; +constexpr std::string_view facebook::react::detail::css::keywords::Contents; +constexpr std::string_view facebook::react::detail::css::keywords::Contextual; +constexpr std::string_view facebook::react::detail::css::keywords::Dashed; +constexpr std::string_view facebook::react::detail::css::keywords::DiscretionaryLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::Dotted; +constexpr std::string_view facebook::react::detail::css::keywords::Double; +constexpr std::string_view facebook::react::detail::css::keywords::End; +constexpr std::string_view facebook::react::detail::css::keywords::Fixed; +constexpr std::string_view facebook::react::detail::css::keywords::Flex; +constexpr std::string_view facebook::react::detail::css::keywords::FlexEnd; +constexpr std::string_view facebook::react::detail::css::keywords::FlexStart; +constexpr std::string_view facebook::react::detail::css::keywords::Grid; +constexpr std::string_view facebook::react::detail::css::keywords::Groove; +constexpr std::string_view facebook::react::detail::css::keywords::Hidden; +constexpr std::string_view facebook::react::detail::css::keywords::HistoricalLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::Inherit; +constexpr std::string_view facebook::react::detail::css::keywords::Initial; +constexpr std::string_view facebook::react::detail::css::keywords::Inline; +constexpr std::string_view facebook::react::detail::css::keywords::InlineBlock; +constexpr std::string_view facebook::react::detail::css::keywords::InlineFlex; +constexpr std::string_view facebook::react::detail::css::keywords::InlineGrid; +constexpr std::string_view facebook::react::detail::css::keywords::Inset; +constexpr std::string_view facebook::react::detail::css::keywords::Left; +constexpr std::string_view facebook::react::detail::css::keywords::LiningNums; +constexpr std::string_view facebook::react::detail::css::keywords::Ltr; +constexpr std::string_view facebook::react::detail::css::keywords::MaxContent; +constexpr std::string_view facebook::react::detail::css::keywords::Medium; +constexpr std::string_view facebook::react::detail::css::keywords::MinContent; +constexpr std::string_view facebook::react::detail::css::keywords::NoCommonLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::NoContextual; +constexpr std::string_view facebook::react::detail::css::keywords::NoDiscretionaryLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::NoHistoricalLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::NoWrap; +constexpr std::string_view facebook::react::detail::css::keywords::None; +constexpr std::string_view facebook::react::detail::css::keywords::Normal; +constexpr std::string_view facebook::react::detail::css::keywords::OldstyleNums; +constexpr std::string_view facebook::react::detail::css::keywords::Outset; +constexpr std::string_view facebook::react::detail::css::keywords::ProportionalNums; +constexpr std::string_view facebook::react::detail::css::keywords::Relative; +constexpr std::string_view facebook::react::detail::css::keywords::Ridge; +constexpr std::string_view facebook::react::detail::css::keywords::Right; +constexpr std::string_view facebook::react::detail::css::keywords::Row; +constexpr std::string_view facebook::react::detail::css::keywords::RowReverse; +constexpr std::string_view facebook::react::detail::css::keywords::Rtl; +constexpr std::string_view facebook::react::detail::css::keywords::Scroll; +constexpr std::string_view facebook::react::detail::css::keywords::SmallCaps; +constexpr std::string_view facebook::react::detail::css::keywords::Solid; +constexpr std::string_view facebook::react::detail::css::keywords::SpaceAround; +constexpr std::string_view facebook::react::detail::css::keywords::SpaceBetween; +constexpr std::string_view facebook::react::detail::css::keywords::SpaceEvenly; +constexpr std::string_view facebook::react::detail::css::keywords::Start; +constexpr std::string_view facebook::react::detail::css::keywords::Static; +constexpr std::string_view facebook::react::detail::css::keywords::Sticky; +constexpr std::string_view facebook::react::detail::css::keywords::Stretch; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticEight; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticEighteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticEleven; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticFifteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticFive; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticFour; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticFourteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticNine; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticNineteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticOne; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticSeven; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticSeventeen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticSix; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticSixteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticTen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticThirteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticThree; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwelve; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwenty; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwo; +constexpr std::string_view facebook::react::detail::css::keywords::TabularNums; +constexpr std::string_view facebook::react::detail::css::keywords::Thick; +constexpr std::string_view facebook::react::detail::css::keywords::Thin; +constexpr std::string_view facebook::react::detail::css::keywords::To; +constexpr std::string_view facebook::react::detail::css::keywords::Top; +constexpr std::string_view facebook::react::detail::css::keywords::Unset; +constexpr std::string_view facebook::react::detail::css::keywords::Visible; +constexpr std::string_view facebook::react::detail::css::keywords::Wrap; +constexpr std::string_view facebook::react::detail::css::keywords::WrapReverse; +template +concept facebook::react::detail::css::keywords::hasAbsolute = (CSSKeywordSet && requires() { T::Absolute; }); +template +concept facebook::react::detail::css::keywords::hasAt = (CSSKeywordSet && requires() { T::At; }); +template +concept facebook::react::detail::css::keywords::hasAuto = (CSSKeywordSet && requires() { T::Auto; }); +template +concept facebook::react::detail::css::keywords::hasBaseline = (CSSKeywordSet && requires() { T::Baseline; }); +template +concept facebook::react::detail::css::keywords::hasBlock = (CSSKeywordSet && requires() { T::Block; }); +template +concept facebook::react::detail::css::keywords::hasBottom = (CSSKeywordSet && requires() { T::Bottom; }); +template +concept facebook::react::detail::css::keywords::hasCenter = (CSSKeywordSet && requires() { T::Center; }); +template +concept facebook::react::detail::css::keywords::hasClip = (CSSKeywordSet && requires() { T::Clip; }); +template +concept facebook::react::detail::css::keywords::hasColumn = (CSSKeywordSet && requires() { T::Column; }); +template +concept facebook::react::detail::css::keywords::hasColumnReverse = (CSSKeywordSet && requires() { T::ColumnReverse; }); +template +concept facebook::react::detail::css::keywords::hasCommonLigatures = (CSSKeywordSet && requires() { T::CommonLigatures; }); +template +concept facebook::react::detail::css::keywords::hasContent = (CSSKeywordSet && requires() { T::Content; }); +template +concept facebook::react::detail::css::keywords::hasContents = (CSSKeywordSet && requires() { T::Contents; }); +template +concept facebook::react::detail::css::keywords::hasContextual = (CSSKeywordSet && requires() { T::Contextual; }); +template +concept facebook::react::detail::css::keywords::hasDashed = (CSSKeywordSet && requires() { T::Dashed; }); +template +concept facebook::react::detail::css::keywords::hasDiscretionaryLigatures = (CSSKeywordSet && requires() { T::DiscretionaryLigatures; }); +template +concept facebook::react::detail::css::keywords::hasDotted = (CSSKeywordSet && requires() { T::Dotted; }); +template +concept facebook::react::detail::css::keywords::hasDouble = (CSSKeywordSet && requires() { T::Double; }); +template +concept facebook::react::detail::css::keywords::hasEnd = (CSSKeywordSet && requires() { T::End; }); +template +concept facebook::react::detail::css::keywords::hasFixed = (CSSKeywordSet && requires() { T::Fixed; }); +template +concept facebook::react::detail::css::keywords::hasFlex = (CSSKeywordSet && requires() { T::Flex; }); +template +concept facebook::react::detail::css::keywords::hasFlexEnd = (CSSKeywordSet && requires() { T::FlexEnd; }); +template +concept facebook::react::detail::css::keywords::hasFlexStart = (CSSKeywordSet && requires() { T::FlexStart; }); +template +concept facebook::react::detail::css::keywords::hasGrid = (CSSKeywordSet && requires() { T::Grid; }); +template +concept facebook::react::detail::css::keywords::hasGroove = (CSSKeywordSet && requires() { T::Groove; }); +template +concept facebook::react::detail::css::keywords::hasHidden = (CSSKeywordSet && requires() { T::Hidden; }); +template +concept facebook::react::detail::css::keywords::hasHistoricalLigatures = (CSSKeywordSet && requires() { T::HistoricalLigatures; }); +template +concept facebook::react::detail::css::keywords::hasInherit = (CSSKeywordSet && requires() { T::Inherit; }); +template +concept facebook::react::detail::css::keywords::hasInitial = (CSSKeywordSet && requires() { T::Initial; }); +template +concept facebook::react::detail::css::keywords::hasInline = (CSSKeywordSet && requires() { T::Inline; }); +template +concept facebook::react::detail::css::keywords::hasInlineBlock = (CSSKeywordSet && requires() { T::InlineBlock; }); +template +concept facebook::react::detail::css::keywords::hasInlineFlex = (CSSKeywordSet && requires() { T::InlineFlex; }); +template +concept facebook::react::detail::css::keywords::hasInlineGrid = (CSSKeywordSet && requires() { T::InlineGrid; }); +template +concept facebook::react::detail::css::keywords::hasInset = (CSSKeywordSet && requires() { T::Inset; }); +template +concept facebook::react::detail::css::keywords::hasLeft = (CSSKeywordSet && requires() { T::Left; }); +template +concept facebook::react::detail::css::keywords::hasLiningNums = (CSSKeywordSet && requires() { T::LiningNums; }); +template +concept facebook::react::detail::css::keywords::hasLtr = (CSSKeywordSet && requires() { T::Ltr; }); +template +concept facebook::react::detail::css::keywords::hasMaxContent = (CSSKeywordSet && requires() { T::MaxContent; }); +template +concept facebook::react::detail::css::keywords::hasMedium = (CSSKeywordSet && requires() { T::Medium; }); +template +concept facebook::react::detail::css::keywords::hasMinContent = (CSSKeywordSet && requires() { T::MinContent; }); +template +concept facebook::react::detail::css::keywords::hasNoCommonLigatures = (CSSKeywordSet && requires() { T::NoCommonLigatures; }); +template +concept facebook::react::detail::css::keywords::hasNoContextual = (CSSKeywordSet && requires() { T::NoContextual; }); +template +concept facebook::react::detail::css::keywords::hasNoDiscretionaryLigatures = (CSSKeywordSet && requires() { T::NoDiscretionaryLigatures; }); +template +concept facebook::react::detail::css::keywords::hasNoHistoricalLigatures = (CSSKeywordSet && requires() { T::NoHistoricalLigatures; }); +template +concept facebook::react::detail::css::keywords::hasNoWrap = (CSSKeywordSet && requires() { T::NoWrap; }); +template +concept facebook::react::detail::css::keywords::hasNone = (CSSKeywordSet && requires() { T::None; }); +template +concept facebook::react::detail::css::keywords::hasNormal = (CSSKeywordSet && requires() { T::Normal; }); +template +concept facebook::react::detail::css::keywords::hasOldstyleNums = (CSSKeywordSet && requires() { T::OldstyleNums; }); +template +concept facebook::react::detail::css::keywords::hasOutset = (CSSKeywordSet && requires() { T::Outset; }); +template +concept facebook::react::detail::css::keywords::hasProportionalNums = (CSSKeywordSet && requires() { T::ProportionalNums; }); +template +concept facebook::react::detail::css::keywords::hasRelative = (CSSKeywordSet && requires() { T::Relative; }); +template +concept facebook::react::detail::css::keywords::hasRidge = (CSSKeywordSet && requires() { T::Ridge; }); +template +concept facebook::react::detail::css::keywords::hasRight = (CSSKeywordSet && requires() { T::Right; }); +template +concept facebook::react::detail::css::keywords::hasRow = (CSSKeywordSet && requires() { T::Row; }); +template +concept facebook::react::detail::css::keywords::hasRowReverse = (CSSKeywordSet && requires() { T::RowReverse; }); +template +concept facebook::react::detail::css::keywords::hasRtl = (CSSKeywordSet && requires() { T::Rtl; }); +template +concept facebook::react::detail::css::keywords::hasScroll = (CSSKeywordSet && requires() { T::Scroll; }); +template +concept facebook::react::detail::css::keywords::hasSmallCaps = (CSSKeywordSet && requires() { T::SmallCaps; }); +template +concept facebook::react::detail::css::keywords::hasSolid = (CSSKeywordSet && requires() { T::Solid; }); +template +concept facebook::react::detail::css::keywords::hasSpaceAround = (CSSKeywordSet && requires() { T::SpaceAround; }); +template +concept facebook::react::detail::css::keywords::hasSpaceBetween = (CSSKeywordSet && requires() { T::SpaceBetween; }); +template +concept facebook::react::detail::css::keywords::hasSpaceEvenly = (CSSKeywordSet && requires() { T::SpaceEvenly; }); +template +concept facebook::react::detail::css::keywords::hasStart = (CSSKeywordSet && requires() { T::Start; }); +template +concept facebook::react::detail::css::keywords::hasStatic = (CSSKeywordSet && requires() { T::Static; }); +template +concept facebook::react::detail::css::keywords::hasSticky = (CSSKeywordSet && requires() { T::Sticky; }); +template +concept facebook::react::detail::css::keywords::hasStretch = (CSSKeywordSet && requires() { T::Stretch; }); +template +concept facebook::react::detail::css::keywords::hasStylisticEight = (CSSKeywordSet && requires() { T::StylisticEight; }); +template +concept facebook::react::detail::css::keywords::hasStylisticEighteen = (CSSKeywordSet && requires() { T::StylisticEighteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticEleven = (CSSKeywordSet && requires() { T::StylisticEleven; }); +template +concept facebook::react::detail::css::keywords::hasStylisticFifteen = (CSSKeywordSet && requires() { T::StylisticFifteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticFive = (CSSKeywordSet && requires() { T::StylisticFive; }); +template +concept facebook::react::detail::css::keywords::hasStylisticFour = (CSSKeywordSet && requires() { T::StylisticFour; }); +template +concept facebook::react::detail::css::keywords::hasStylisticFourteen = (CSSKeywordSet && requires() { T::StylisticFourteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticNine = (CSSKeywordSet && requires() { T::StylisticNine; }); +template +concept facebook::react::detail::css::keywords::hasStylisticNineteen = (CSSKeywordSet && requires() { T::StylisticNineteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticOne = (CSSKeywordSet && requires() { T::StylisticOne; }); +template +concept facebook::react::detail::css::keywords::hasStylisticSeven = (CSSKeywordSet && requires() { T::StylisticSeven; }); +template +concept facebook::react::detail::css::keywords::hasStylisticSeventeen = (CSSKeywordSet && requires() { T::StylisticSeventeen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticSix = (CSSKeywordSet && requires() { T::StylisticSix; }); +template +concept facebook::react::detail::css::keywords::hasStylisticSixteen = (CSSKeywordSet && requires() { T::StylisticSixteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticTen = (CSSKeywordSet && requires() { T::StylisticTen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticThirteen = (CSSKeywordSet && requires() { T::StylisticThirteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticThree = (CSSKeywordSet && requires() { T::StylisticThree; }); +template +concept facebook::react::detail::css::keywords::hasStylisticTwelve = (CSSKeywordSet && requires() { T::StylisticTwelve; }); +template +concept facebook::react::detail::css::keywords::hasStylisticTwenty = (CSSKeywordSet && requires() { T::StylisticTwenty; }); +template +concept facebook::react::detail::css::keywords::hasStylisticTwo = (CSSKeywordSet && requires() { T::StylisticTwo; }); +template +concept facebook::react::detail::css::keywords::hasTabularNums = (CSSKeywordSet && requires() { T::TabularNums; }); +template +concept facebook::react::detail::css::keywords::hasThick = (CSSKeywordSet && requires() { T::Thick; }); +template +concept facebook::react::detail::css::keywords::hasThin = (CSSKeywordSet && requires() { T::Thin; }); +template +concept facebook::react::detail::css::keywords::hasTo = (CSSKeywordSet && requires() { T::To; }); +template +concept facebook::react::detail::css::keywords::hasTop = (CSSKeywordSet && requires() { T::Top; }); +template +concept facebook::react::detail::css::keywords::hasUnset = (CSSKeywordSet && requires() { T::Unset; }); +template +concept facebook::react::detail::css::keywords::hasVisible = (CSSKeywordSet && requires() { T::Visible; }); +template +concept facebook::react::detail::css::keywords::hasWrap = (CSSKeywordSet && requires() { T::Wrap; }); +template +concept facebook::react::detail::css::keywords::hasWrapReverse = (CSSKeywordSet && requires() { T::WrapReverse; }); + + +constexpr size_t facebook::react::jsinspector_modern::REQUEST_BUFFER_MAX_SIZE_BYTES; +template +using facebook::react::jsinspector_modern::ScopedExecutor = std::function&& callback)>; +typedef std::function facebook::react::jsinspector_modern::FrontendChannel; +typedef std::map facebook::react::jsinspector_modern::Headers; +using facebook::react::jsinspector_modern::ExecutionContextSelectorSet = std::unordered_set; +using facebook::react::jsinspector_modern::IOReadError = const std::string; +using facebook::react::jsinspector_modern::InspectorPage = facebook::react::jsinspector_modern::InspectorPageDescription; +using facebook::react::jsinspector_modern::StreamID = const std::string; +using facebook::react::jsinspector_modern::VoidExecutor = std::function&& callback)>; +bool facebook::react::jsinspector_modern::matchesAny(const facebook::react::jsinspector_modern::ExecutionContextDescription& context, const facebook::react::jsinspector_modern::ExecutionContextSelectorSet& selectors); +facebook::react::jsinspector_modern::IInspector& facebook::react::jsinspector_modern::getInspectorInstance(); +folly::dynamic facebook::react::jsinspector_modern::createHostMetadataPayload(const facebook::react::jsinspector_modern::HostTargetMetadata& metadata); +folly::dynamic facebook::react::jsinspector_modern::targetCapabilitiesToDynamic(const facebook::react::jsinspector_modern::InspectorTargetCapabilities& capabilities); +std::string facebook::react::jsinspector_modern::httpReasonPhrase(uint16_t status); +std::string facebook::react::jsinspector_modern::mimeTypeFromHeaders(const facebook::react::jsinspector_modern::Headers& headers); +std::unique_ptr facebook::react::jsinspector_modern::makeTestInspectorInstance(); +template +void facebook::react::jsinspector_modern::emitNotificationsForTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const ChannelsRange& channels, bool isBackgroundTrace); +template +facebook::react::jsinspector_modern::ScopedExecutor facebook::react::jsinspector_modern::makeScopedExecutor(std::shared_ptr self, facebook::react::jsinspector_modern::ScopedExecutor executor); +template +facebook::react::jsinspector_modern::ScopedExecutor facebook::react::jsinspector_modern::makeScopedExecutor(std::shared_ptr self, facebook::react::jsinspector_modern::VoidExecutor executor); +template +facebook::react::jsinspector_modern::VoidExecutor facebook::react::jsinspector_modern::makeVoidExecutor(facebook::react::jsinspector_modern::ScopedExecutor executor); +void facebook::react::jsinspector_modern::emitGlobalStateObserverChange(facebook::jsi::Runtime& runtime, const char* globalName, const char* callbackName, bool value); +void facebook::react::jsinspector_modern::emitNotificationsForTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const facebook::react::jsinspector_modern::FrontendChannel& channel, bool isBackgroundTrace); +void facebook::react::jsinspector_modern::emitTracingStateObserverChange(facebook::jsi::Runtime& runtime, bool isTracing); +void facebook::react::jsinspector_modern::installGlobalStateObserver(facebook::jsi::Runtime& runtime, const char* globalName, const char* statusProperty, const char* callbackName); +void facebook::react::jsinspector_modern::installTracingStateObserver(facebook::jsi::Runtime& runtime); +void facebook::react::jsinspector_modern::truncateToValidUTF8(std::vector& buffer); + +class facebook::react::jsinspector_modern::BoundedRequestBuffer { + public bool put(const std::string& requestId, std::string_view data, bool base64Encoded) noexcept; + public std::shared_ptr get(const std::string& requestId) const; + public void clear(); +} + +struct facebook::react::jsinspector_modern::BoundedRequestBuffer::ResponseBody { + public bool base64Encoded; + public std::string data; +} + +class facebook::react::jsinspector_modern::CallbackLocalConnection : public facebook::react::jsinspector_modern::ILocalConnection { + public CallbackLocalConnection(std::function handler); + public virtual void disconnect() override; + public virtual void sendMessage(std::string message) override; +} + +class facebook::react::jsinspector_modern::CallbackRemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { + public CallbackRemoteConnection(std::function handler); + public virtual void onDisconnect() override; + public virtual void onMessage(std::string message) override; +} + +class facebook::react::jsinspector_modern::ConsoleTask { + public ConsoleTask(const facebook::react::jsinspector_modern::ConsoleTask&) = default; + public ConsoleTask(facebook::react::jsinspector_modern::ConsoleTask&&) = default; + public ConsoleTask(std::shared_ptr taskContext); + public facebook::react::jsinspector_modern::ConsoleTask& operator=(const facebook::react::jsinspector_modern::ConsoleTask&) = delete; + public facebook::react::jsinspector_modern::ConsoleTask& operator=(facebook::react::jsinspector_modern::ConsoleTask&&) = delete; + public ~ConsoleTask(); +} + +class facebook::react::jsinspector_modern::ConsoleTaskContext : public std::enable_shared_from_this { + public ConsoleTaskContext(const facebook::react::jsinspector_modern::ConsoleTaskContext&) = delete; + public ConsoleTaskContext(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::RuntimeTargetDelegate& runtimeTargetDelegate, std::string name); + public ConsoleTaskContext(facebook::react::jsinspector_modern::ConsoleTaskContext&&) = delete; + public facebook::react::jsinspector_modern::ConsoleTaskContext& operator=(const facebook::react::jsinspector_modern::ConsoleTaskContext&) = delete; + public facebook::react::jsinspector_modern::ConsoleTaskContext& operator=(facebook::react::jsinspector_modern::ConsoleTaskContext&&) = delete; + public facebook::react::jsinspector_modern::ConsoleTaskId id() const; + public std::optional getSerializedStackTrace() const; + public void schedule(); + public ~ConsoleTaskContext(); +} + +class facebook::react::jsinspector_modern::ConsoleTaskId { + public ConsoleTaskId() = default; + public ConsoleTaskId(const facebook::react::jsinspector_modern::ConsoleTaskId&) = default; + public ConsoleTaskId(facebook::react::jsinspector_modern::ConsoleTaskId&&) = default; + public bool operator==(const facebook::react::jsinspector_modern::ConsoleTaskId&) const = default; + public facebook::react::jsinspector_modern::ConsoleTaskId& operator=(const facebook::react::jsinspector_modern::ConsoleTaskId&) = default; + public facebook::react::jsinspector_modern::ConsoleTaskId& operator=(facebook::react::jsinspector_modern::ConsoleTaskId&&) = default; + public operator bool() const; + public operator void *() const; + public ~ConsoleTaskId() = default; +} + +class facebook::react::jsinspector_modern::ConsoleTaskOrchestrator { + public ConsoleTaskOrchestrator(const facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&) = delete; + public ConsoleTaskOrchestrator(facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&&) = delete; + public facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& operator=(const facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&) = delete; + public facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& operator=(facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&&) = delete; + public static facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& getInstance(); + public std::shared_ptr top() const; + public void cancelTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); + public void finishTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); + public void scheduleTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId, std::weak_ptr taskContext); + public void startTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); + public ~ConsoleTaskOrchestrator() = default; +} + +class facebook::react::jsinspector_modern::ExecutionContextManager { + public int32_t allocateExecutionContextId(); +} + +class facebook::react::jsinspector_modern::ExecutionContextSelector { + public ExecutionContextSelector() = delete; + public ExecutionContextSelector(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) = default; + public ExecutionContextSelector(facebook::react::jsinspector_modern::ExecutionContextSelector&& other) noexcept = default; + public bool matches(const facebook::react::jsinspector_modern::ExecutionContextDescription& context) const noexcept; + public bool operator==(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) const noexcept; + public facebook::react::jsinspector_modern::ExecutionContextSelector& operator=(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) = default; + public facebook::react::jsinspector_modern::ExecutionContextSelector& operator=(facebook::react::jsinspector_modern::ExecutionContextSelector&& other) noexcept = default; + public static facebook::react::jsinspector_modern::ExecutionContextSelector all(); + public static facebook::react::jsinspector_modern::ExecutionContextSelector byId(int32_t id); + public static facebook::react::jsinspector_modern::ExecutionContextSelector byName(std::string name); + public ~ExecutionContextSelector() = default; +} + +class facebook::react::jsinspector_modern::FallbackRuntimeAgentDelegate : public facebook::react::jsinspector_modern::RuntimeAgentDelegate { + public FallbackRuntimeAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, const facebook::react::jsinspector_modern::SessionState& sessionState, std::string engineDescription); + public virtual bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req) override; +} + +class facebook::react::jsinspector_modern::FallbackRuntimeTargetDelegate : public facebook::react::jsinspector_modern::RuntimeTargetDelegate { + public FallbackRuntimeTargetDelegate(std::string engineDescription); + public virtual bool supportsConsole() const override; + public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() override; + public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) override; + public virtual std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel channel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) override; + public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip) override; + public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) override; + public virtual void disableSamplingProfiler() override; + public virtual void enableSamplingProfiler() override; +} + +class facebook::react::jsinspector_modern::HermesRuntimeTargetDelegate : public facebook::react::jsinspector_modern::RuntimeTargetDelegate { + public HermesRuntimeTargetDelegate(std::shared_ptr runtime, hermes::HermesRuntime& hermesRuntime); + public std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) override; + public virtual bool supportsConsole() const override; + public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() override; + public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) override; + public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip) override; + public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) override; + public virtual void disableSamplingProfiler() override; + public virtual void enableSamplingProfiler() override; + public ~HermesRuntimeTargetDelegate() override; +} + +class facebook::react::jsinspector_modern::HostAgent { + public HostAgent(const facebook::react::jsinspector_modern::FrontendChannel& frontendChannel, facebook::react::jsinspector_modern::HostTargetController& targetController, facebook::react::jsinspector_modern::HostTargetMetadata hostMetadata, facebook::react::jsinspector_modern::SessionState& sessionState, facebook::react::jsinspector_modern::VoidExecutor executor); + public HostAgent(const facebook::react::jsinspector_modern::HostAgent&) = delete; + public HostAgent(facebook::react::jsinspector_modern::HostAgent&&) = delete; + public bool isEligibleForBackgroundTrace() const; + public facebook::react::jsinspector_modern::HostAgent& operator=(const facebook::react::jsinspector_modern::HostAgent&) = delete; + public facebook::react::jsinspector_modern::HostAgent& operator=(facebook::react::jsinspector_modern::HostAgent&&) = delete; + public void emitSystemStateChanged(bool isSingleHost); + public void handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); + public void setCurrentInstanceAgent(std::shared_ptr agent); + public ~HostAgent(); +} + +class facebook::react::jsinspector_modern::HostTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { + public HostTarget(const facebook::react::jsinspector_modern::HostTarget&) = delete; + public HostTarget(facebook::react::jsinspector_modern::HostTarget&&) = delete; + public bool startTracing(facebook::react::jsinspector_modern::tracing::Mode mode, std::set enabledCategories); + public bool stopAndMaybeEmitBackgroundTrace(); + public facebook::react::jsinspector_modern::HostTarget& operator=(const facebook::react::jsinspector_modern::HostTarget&) = delete; + public facebook::react::jsinspector_modern::HostTarget& operator=(facebook::react::jsinspector_modern::HostTarget&&) = delete; + public facebook::react::jsinspector_modern::InstanceTarget& registerInstance(facebook::react::jsinspector_modern::InstanceTargetDelegate& delegate); + public facebook::react::jsinspector_modern::tracing::HostTracingProfile stopTracing(); + public static std::shared_ptr create(facebook::react::jsinspector_modern::HostTargetDelegate& delegate, facebook::react::jsinspector_modern::VoidExecutor executor); + public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public std::unique_ptr connect(std::unique_ptr connectionToFrontend); + public void recordFrameTimings(facebook::react::jsinspector_modern::tracing::FrameTimingSequence frameTimingSequence); + public void sendCommand(facebook::react::jsinspector_modern::HostCommand command); + public void unregisterInstance(facebook::react::jsinspector_modern::InstanceTarget& instance); + public ~HostTarget(); +} + +class facebook::react::jsinspector_modern::HostTargetController { + public HostTargetController(facebook::react::jsinspector_modern::HostTarget& target); + public bool decrementPauseOverlayCounter(); + public bool hasInstance() const; + public bool maybeEmitStashedBackgroundTrace(); + public bool startTracing(facebook::react::jsinspector_modern::tracing::Mode mode, std::set enabledCategories); + public facebook::react::jsinspector_modern::HostTargetDelegate& getDelegate(); + public facebook::react::jsinspector_modern::tracing::HostTracingProfile stopTracing(); + public void incrementPauseOverlayCounter(); + public void installPerfIssuesBinding(); +} + +class facebook::react::jsinspector_modern::HostTargetDelegate : public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate { + public HostTargetDelegate() = default; + public HostTargetDelegate(const facebook::react::jsinspector_modern::HostTargetDelegate&) = delete; + public HostTargetDelegate(facebook::react::jsinspector_modern::HostTargetDelegate&&) = delete; + public facebook::react::jsinspector_modern::HostTargetDelegate& operator=(const facebook::react::jsinspector_modern::HostTargetDelegate&) = delete; + public facebook::react::jsinspector_modern::HostTargetDelegate& operator=(facebook::react::jsinspector_modern::HostTargetDelegate&&) = delete; + public virtual facebook::react::jsinspector_modern::HostTargetMetadata getMetadata() = 0; + public virtual facebook::react::jsinspector_modern::HostTargetTracingDelegate* getTracingDelegate(); + public virtual void loadNetworkResource(const facebook::react::jsinspector_modern::LoadNetworkResourceRequest&, facebook::react::jsinspector_modern::ScopedExecutor) override; + public virtual void onReload(const facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest& request) = 0; + public virtual void onSetPausedInDebuggerMessage(const facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest& request) = 0; + public virtual void unstable_onPerfIssueAdded(const facebook::react::jsinspector_modern::PerfIssuePayload&); + public virtual ~HostTargetDelegate() override; +} + +struct facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest { + public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest& rhs) const; + public std::optional message; +} + +struct facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest { + public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest& rhs) const; + public std::optional ignoreCache; + public std::optional scriptToEvaluateOnLoad; +} + +class facebook::react::jsinspector_modern::HostTargetTraceRecording { + public HostTargetTraceRecording(facebook::react::jsinspector_modern::HostTarget& hostTarget, facebook::react::jsinspector_modern::tracing::Mode tracingMode, std::set enabledCategories, std::optional windowSize = std::nullopt); + public bool isBackgroundInitiated() const; + public bool isUserInitiated() const; + public facebook::react::jsinspector_modern::tracing::HostTracingProfile stop(); + public void recordFrameTimings(facebook::react::jsinspector_modern::tracing::FrameTimingSequence frameTimingSequence); + public void setTracedInstance(facebook::react::jsinspector_modern::InstanceTarget* instanceTarget); + public void start(); +} + +class facebook::react::jsinspector_modern::HostTargetTracingDelegate { + public HostTargetTracingDelegate() = default; + public HostTargetTracingDelegate(const facebook::react::jsinspector_modern::HostTargetTracingDelegate&) = delete; + public HostTargetTracingDelegate(facebook::react::jsinspector_modern::HostTargetTracingDelegate&&) = delete; + public facebook::react::jsinspector_modern::HostTargetTracingDelegate& operator=(const facebook::react::jsinspector_modern::HostTargetTracingDelegate&) = delete; + public facebook::react::jsinspector_modern::HostTargetTracingDelegate& operator=(facebook::react::jsinspector_modern::HostTargetTracingDelegate&&) = delete; + public virtual void onTracingStarted(facebook::react::jsinspector_modern::tracing::Mode, bool); + public virtual void onTracingStopped(); + public virtual ~HostTargetTracingDelegate() = default; +} + +class facebook::react::jsinspector_modern::HostTracingAgent { + public HostTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public void setTracedInstance(facebook::react::jsinspector_modern::InstanceTarget* instanceTarget); +} + +class facebook::react::jsinspector_modern::IDestructible { + public virtual ~IDestructible() = 0; +} + +class facebook::react::jsinspector_modern::IInspector : public facebook::react::jsinspector_modern::IDestructible { + public using ConnectFunc = std::function(std::unique_ptr)>; + public virtual facebook::react::jsinspector_modern::InspectorSystemState getSystemState() const = 0; + public virtual int addPage(const std::string& description, const std::string& vm, facebook::react::jsinspector_modern::IInspector::ConnectFunc connectFunc, facebook::react::jsinspector_modern::InspectorTargetCapabilities capabilities = {}) = 0; + public virtual std::unique_ptr connect(int pageId, std::unique_ptr remote) = 0; + public virtual std::vector getPages() const = 0; + public virtual void registerPageStatusListener(std::weak_ptr listener) = 0; + public virtual void removePage(int pageId) = 0; + public virtual ~IInspector() = 0; +} + +class facebook::react::jsinspector_modern::ILocalConnection : public facebook::react::jsinspector_modern::IDestructible { + public virtual void disconnect() = 0; + public virtual void sendMessage(std::string message) = 0; + public virtual ~ILocalConnection() = 0; +} + +class facebook::react::jsinspector_modern::IPageStatusListener : public facebook::react::jsinspector_modern::IDestructible { + public virtual void onPageRemoved(int); + public virtual void unstable_onHostTargetAdded(); + public virtual ~IPageStatusListener() = 0; +} + +class facebook::react::jsinspector_modern::IRemoteConnection : public facebook::react::jsinspector_modern::IDestructible { + public virtual void onDisconnect() = 0; + public virtual void onMessage(std::string message) = 0; + public virtual ~IRemoteConnection() = 0; +} + +class facebook::react::jsinspector_modern::IWebSocket { + public virtual void send(std::string_view message) = 0; + public virtual ~IWebSocket() = default; +} + +class facebook::react::jsinspector_modern::IWebSocketDelegate { + public virtual void didClose() = 0; + public virtual void didFailWithError(std::optional posixCode, std::string error) = 0; + public virtual void didOpen() = 0; + public virtual void didReceiveMessage(std::string_view message) = 0; + public virtual ~IWebSocketDelegate() = default; +} + +class facebook::react::jsinspector_modern::InspectorFlags { + public bool getAssertSingleHostState() const; + public bool getFrameRecordingEnabled() const; + public bool getFuseboxEnabled() const; + public bool getIsProfilingBuild() const; + public bool getNetworkInspectionEnabled() const; + public bool getPerfIssuesEnabled() const; + public static facebook::react::jsinspector_modern::InspectorFlags& getInstance(); + public void dangerouslyDisableFuseboxForTest(); + public void dangerouslyResetFlags(); +} + +class facebook::react::jsinspector_modern::InspectorPackagerConnection { + public InspectorPackagerConnection(std::string url, std::string deviceName, std::string appName, std::unique_ptr delegate); + public bool isConnected() const; + public void closeQuietly(); + public void connect(); + public void sendEventToAllConnections(std::string event); +} + +class facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl : public facebook::react::jsinspector_modern::IWebSocketDelegate, public facebook::react::jsinspector_modern::IPageStatusListener, public std::enable_shared_from_this { + public bool isConnected() const; + public static std::shared_ptr create(std::string url, std::string deviceName, std::string appName, std::unique_ptr delegate); + public using SessionId = uint32_t; + public void closeQuietly(); + public void connect(); + public void scheduleSendToPackager(folly::dynamic message, facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::SessionId sourceSessionId, const std::string& sourcePageId, const std::string& sourceProxySessionId); + public void sendEventToAllConnections(const std::string& event); +} + +class facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::RemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { + public RemoteConnection(std::weak_ptr owningPackagerConnection, std::string pageId, facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::SessionId sessionId, std::string proxySessionId); + public virtual void onDisconnect() override; + public virtual void onMessage(std::string message) override; +} + +class facebook::react::jsinspector_modern::InspectorPackagerConnectionDelegate { + public virtual std::unique_ptr connectWebSocket(const std::string& url, std::weak_ptr delegate) = 0; + public virtual void scheduleCallback(std::function callback, std::chrono::milliseconds delayMs) = 0; + public virtual ~InspectorPackagerConnectionDelegate() = default; +} + +class facebook::react::jsinspector_modern::InstanceAgent { + public InstanceAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::InstanceTarget& target, facebook::react::jsinspector_modern::SessionState& sessionState); + public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); + public void sendConsoleMessage(facebook::react::jsinspector_modern::SimpleConsoleMessage message); + public void setCurrentRuntime(facebook::react::jsinspector_modern::RuntimeTarget* runtime); +} + +class facebook::react::jsinspector_modern::InstanceTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { + public InstanceTarget(const facebook::react::jsinspector_modern::InstanceTarget&) = delete; + public InstanceTarget(facebook::react::jsinspector_modern::InstanceTarget&&) = delete; + public facebook::react::jsinspector_modern::InstanceTarget& operator=(const facebook::react::jsinspector_modern::InstanceTarget&) = delete; + public facebook::react::jsinspector_modern::InstanceTarget& operator=(facebook::react::jsinspector_modern::InstanceTarget&&) = delete; + public facebook::react::jsinspector_modern::RuntimeTarget& registerRuntime(facebook::react::jsinspector_modern::RuntimeTargetDelegate& delegate, facebook::react::RuntimeExecutor executor); + public static std::shared_ptr create(std::shared_ptr executionContextManager, facebook::react::jsinspector_modern::InstanceTargetDelegate& delegate, facebook::react::jsinspector_modern::VoidExecutor executor); + public std::shared_ptr createAgent(const facebook::react::jsinspector_modern::FrontendChannel& channel, facebook::react::jsinspector_modern::SessionState& sessionState); + public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public void unregisterRuntime(facebook::react::jsinspector_modern::RuntimeTarget& runtime); + public ~InstanceTarget(); +} + +class facebook::react::jsinspector_modern::InstanceTargetDelegate { + public InstanceTargetDelegate() = default; + public InstanceTargetDelegate(const facebook::react::jsinspector_modern::InstanceTargetDelegate&) = delete; + public InstanceTargetDelegate(facebook::react::jsinspector_modern::InstanceTargetDelegate&&) = delete; + public facebook::react::jsinspector_modern::InstanceTargetDelegate& operator=(const facebook::react::jsinspector_modern::InstanceTargetDelegate&) = delete; + public facebook::react::jsinspector_modern::InstanceTargetDelegate& operator=(facebook::react::jsinspector_modern::InstanceTargetDelegate&&) = delete; + public virtual ~InstanceTargetDelegate(); +} + +class facebook::react::jsinspector_modern::InstanceTracingAgent { + public InstanceTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public void setTracedRuntime(facebook::react::jsinspector_modern::RuntimeTarget* runtimeTarget); + public ~InstanceTracingAgent(); +} + +class facebook::react::jsinspector_modern::LoadNetworkResourceDelegate { + public LoadNetworkResourceDelegate() = default; + public LoadNetworkResourceDelegate(const facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&) = delete; + public LoadNetworkResourceDelegate(facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&&) noexcept = delete; + public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& operator=(const facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&) = delete; + public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& operator=(facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&&) noexcept = delete; + public virtual void loadNetworkResource(const facebook::react::jsinspector_modern::LoadNetworkResourceRequest& params, facebook::react::jsinspector_modern::ScopedExecutor executor) = 0; + public virtual ~LoadNetworkResourceDelegate() = default; +} + +class facebook::react::jsinspector_modern::NetworkHandler { + public bool isEnabled() const; + public size_t enableAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel); + public static facebook::react::jsinspector_modern::NetworkHandler& getInstance(); + public std::optional> getResponseBody(const std::string& requestId); + public void disableAgent(size_t agentId); + public void onDataReceived(const std::string& requestId, int dataLength, int encodedDataLength); + public void onLoadingFailed(const std::string& requestId, bool cancelled); + public void onLoadingFinished(const std::string& requestId, int encodedDataLength); + public void onRequestWillBeSent(const std::string& requestId, const facebook::react::jsinspector_modern::cdp::network::Request& request, const std::optional& redirectResponse); + public void onRequestWillBeSentExtraInfo(const std::string& requestId, const facebook::react::jsinspector_modern::Headers& headers); + public void onResponseReceived(const std::string& requestId, const facebook::react::jsinspector_modern::cdp::network::Response& response); + public void recordRequestInitiatorStack(const std::string& requestId, folly::dynamic stackTrace); + public void storeResponseBody(const std::string& requestId, std::string_view body, bool base64Encoded); +} + +class facebook::react::jsinspector_modern::NetworkIOAgent { + public NetworkIOAgent(const facebook::react::jsinspector_modern::NetworkIOAgent&) = delete; + public NetworkIOAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::VoidExecutor executor); + public NetworkIOAgent(facebook::react::jsinspector_modern::NetworkIOAgent&&) = delete; + public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req, facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& delegate); + public facebook::react::jsinspector_modern::NetworkIOAgent& operator=(const facebook::react::jsinspector_modern::NetworkIOAgent&) = delete; + public facebook::react::jsinspector_modern::NetworkIOAgent& operator=(facebook::react::jsinspector_modern::NetworkIOAgent&&) = delete; + public ~NetworkIOAgent(); +} + +class facebook::react::jsinspector_modern::NetworkRequestListener { + public NetworkRequestListener() = default; + public NetworkRequestListener(const facebook::react::jsinspector_modern::NetworkRequestListener&) = delete; + public NetworkRequestListener(facebook::react::jsinspector_modern::NetworkRequestListener&&) noexcept = default; + public facebook::react::jsinspector_modern::NetworkRequestListener& operator=(const facebook::react::jsinspector_modern::NetworkRequestListener&) = delete; + public facebook::react::jsinspector_modern::NetworkRequestListener& operator=(facebook::react::jsinspector_modern::NetworkRequestListener&&) noexcept = default; + public virtual void onCompletion() = 0; + public virtual void onData(std::string_view data) = 0; + public virtual void onError(const std::string& message) = 0; + public virtual void onHeaders(uint32_t httpStatusCode, const facebook::react::jsinspector_modern::Headers& headers) = 0; + public virtual void setCancelFunction(std::function cancelFunction) = 0; + public virtual ~NetworkRequestListener() = default; +} + +class facebook::react::jsinspector_modern::NotImplementedException : public std::exception { + public NotImplementedException(std::string message); + public const char* what() const noexcept override; +} + +class facebook::react::jsinspector_modern::NullRemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { +} + +class facebook::react::jsinspector_modern::PerfMonitorUpdateHandler { + public PerfMonitorUpdateHandler(facebook::react::jsinspector_modern::HostTargetDelegate& delegate); + public void handlePerfIssueAdded(const std::string& message); +} + +class facebook::react::jsinspector_modern::RAIIRemoteConnection { + public RAIIRemoteConnection(std::unique_ptr remote); + public void onMessage(std::string message); + public ~RAIIRemoteConnection(); +} + +class facebook::react::jsinspector_modern::RuntimeAgent { + public RuntimeAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::RuntimeTargetController& targetController, facebook::react::jsinspector_modern::ExecutionContextDescription executionContextDescription, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr delegate); + public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); + public const facebook::react::jsinspector_modern::ExecutionContextDescription& getExecutionContextDescription() const; + public facebook::react::jsinspector_modern::RuntimeAgent::ExportedState getExportedState(); + public void notifyBindingCalled(const std::string& bindingName, const std::string& payload); + public ~RuntimeAgent(); +} + +struct facebook::react::jsinspector_modern::RuntimeAgent::ExportedState { + public std::unique_ptr delegateState; +} + +class facebook::react::jsinspector_modern::RuntimeAgentDelegate { + public virtual bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req) = 0; + public virtual std::unique_ptr getExportedState(); + public virtual ~RuntimeAgentDelegate() = default; +} + +class facebook::react::jsinspector_modern::RuntimeAgentDelegate::ExportedState { + public virtual ~ExportedState() = default; +} + +class facebook::react::jsinspector_modern::RuntimeTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { + public RuntimeTarget(const facebook::react::jsinspector_modern::RuntimeTarget&) = delete; + public RuntimeTarget(facebook::react::jsinspector_modern::RuntimeTarget&&) = delete; + public facebook::react::jsinspector_modern::RuntimeTarget& operator=(const facebook::react::jsinspector_modern::RuntimeTarget&) = delete; + public facebook::react::jsinspector_modern::RuntimeTarget& operator=(facebook::react::jsinspector_modern::RuntimeTarget&&) = delete; + public static std::shared_ptr create(const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::jsinspector_modern::RuntimeTargetDelegate& delegate, facebook::react::RuntimeExecutor jsExecutor, facebook::react::jsinspector_modern::VoidExecutor selfExecutor); + public std::shared_ptr createAgent(const facebook::react::jsinspector_modern::FrontendChannel& channel, facebook::react::jsinspector_modern::SessionState& sessionState); + public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public ~RuntimeTarget(); +} + +class facebook::react::jsinspector_modern::RuntimeTargetController { + public RuntimeTargetController(facebook::react::jsinspector_modern::RuntimeTarget& target); + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile(); + public void disableSamplingProfiler(); + public void emitTracingStateChange(bool isTracing); + public void enableSamplingProfiler(); + public void installBindingHandler(const std::string& bindingName); + public void notifyDomainStateChanged(facebook::react::jsinspector_modern::RuntimeTargetController::Domain domain, bool enabled, const facebook::react::jsinspector_modern::RuntimeAgent& notifyingAgent); +} + +enum facebook::react::jsinspector_modern::RuntimeTargetController::Domain { + Log, + Network, + Runtime, + kMaxValue, +} + +class facebook::react::jsinspector_modern::RuntimeTargetDelegate { + public virtual bool supportsConsole() const = 0; + public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() = 0; + public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) = 0; + public virtual std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel channel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) = 0; + public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip = 0) = 0; + public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) = 0; + public virtual void disableSamplingProfiler() = 0; + public virtual void enableSamplingProfiler() = 0; + public virtual ~RuntimeTargetDelegate() = default; +} + +class facebook::react::jsinspector_modern::RuntimeTracingAgent : public facebook::react::jsinspector_modern::tracing::TargetTracingAgent { + public RuntimeTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state, facebook::react::jsinspector_modern::RuntimeTargetController& targetController); + public ~RuntimeTracingAgent(); +} + +class facebook::react::jsinspector_modern::StackTrace { + public StackTrace() = default; + public StackTrace(const facebook::react::jsinspector_modern::StackTrace&) = delete; + public StackTrace(facebook::react::jsinspector_modern::StackTrace&&) = delete; + public facebook::react::jsinspector_modern::StackTrace& operator=(const facebook::react::jsinspector_modern::StackTrace&) = delete; + public facebook::react::jsinspector_modern::StackTrace& operator=(facebook::react::jsinspector_modern::StackTrace&&) = delete; + public static std::unique_ptr empty(); + public virtual ~StackTrace() = default; +} + +class facebook::react::jsinspector_modern::TracingAgent { + public TracingAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::SessionState& sessionState, facebook::react::jsinspector_modern::HostTargetController& hostTargetController); + public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); + public ~TracingAgent(); +} + +enum facebook::react::jsinspector_modern::ConsoleAPIType { + kAssert, + kClear, + kCount, + kDebug, + kDir, + kDirXML, + kEndGroup, + kError, + kInfo, + kLog, + kStartGroup, + kStartGroupCollapsed, + kTable, + kTimeEnd, + kTrace, + kWarning, +} + +enum facebook::react::jsinspector_modern::HostCommand { + DebuggerResume, + DebuggerStepOver, +} + +struct facebook::react::jsinspector_modern::ConsoleMessage { + public ConsoleMessage(const facebook::react::jsinspector_modern::ConsoleMessage& other) = delete; + public ConsoleMessage(double timestamp, facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args, std::unique_ptr stackTrace = facebook::react::jsinspector_modern::StackTrace::empty()); + public ConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::SimpleConsoleMessage message); + public ConsoleMessage(facebook::react::jsinspector_modern::ConsoleMessage&& other) noexcept = default; + public double timestamp; + public facebook::react::jsinspector_modern::ConsoleAPIType type; + public facebook::react::jsinspector_modern::ConsoleMessage& operator=(const facebook::react::jsinspector_modern::ConsoleMessage& other) = delete; + public facebook::react::jsinspector_modern::ConsoleMessage& operator=(facebook::react::jsinspector_modern::ConsoleMessage&& other) noexcept = default; + public std::unique_ptr stackTrace; + public std::vector args; + public ~ConsoleMessage() = default; +} + +struct facebook::react::jsinspector_modern::ExecutionContextDescription { + public int32_t id; + public std::optional uniqueId; + public std::string name; + public std::string origin; +} + +struct facebook::react::jsinspector_modern::GetResponseBodyResult { + public bool base64Encoded; + public folly::dynamic toDynamic() const; + public std::string body; +} + +struct facebook::react::jsinspector_modern::HostTargetMetadata { + public std::optional appDisplayName; + public std::optional appIdentifier; + public std::optional deviceName; + public std::optional integrationName; + public std::optional platform; + public std::optional reactNativeVersion; +} + +struct facebook::react::jsinspector_modern::IOReadResult { + public bool base64Encoded; + public bool eof; + public folly::dynamic toDynamic() const; + public std::string data; +} + +struct facebook::react::jsinspector_modern::InspectorPageDescription { + public const facebook::react::jsinspector_modern::InspectorTargetCapabilities capabilities; + public const int id; + public const std::string description; + public const std::string vm; +} + +struct facebook::react::jsinspector_modern::InspectorSystemState { + public int registeredHostsCount; +} + +struct facebook::react::jsinspector_modern::InspectorTargetCapabilities { + public bool nativePageReloads; + public bool nativeSourceCodeFetching; +} + +struct facebook::react::jsinspector_modern::LoadNetworkResourceRequest { + public std::string url; +} + +struct facebook::react::jsinspector_modern::NetworkResource { + public bool success; + public folly::dynamic toDynamic() const; + public std::optional headers; + public std::optional netErrorName; + public std::optional stream; + public std::optional httpStatusCode; +} + +struct facebook::react::jsinspector_modern::PerfIssuePayload { + public std::optional description; + public std::optional learnMoreUrl; + public std::optional severity; + public std::string name; +} + +struct facebook::react::jsinspector_modern::ReadStreamParams { + public facebook::react::jsinspector_modern::StreamID handle; + public std::optional offset; + public std::optional size; +} + +struct facebook::react::jsinspector_modern::SessionState { + public bool hasPendingTraceRecording; + public bool isDebuggerDomainEnabled; + public bool isLogDomainEnabled; + public bool isNetworkDomainEnabled; + public bool isReactNativeApplicationDomainEnabled; + public bool isRuntimeDomainEnabled; + public facebook::react::jsinspector_modern::RuntimeAgent::ExportedState lastRuntimeAgentExportedState; + public std::unordered_map subscribedBindings; + public std::vector pendingSimpleConsoleMessages; +} + +struct facebook::react::jsinspector_modern::SimpleConsoleMessage { + public SimpleConsoleMessage(const facebook::react::jsinspector_modern::SimpleConsoleMessage& other) = delete; + public SimpleConsoleMessage(double timestamp, facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args); + public SimpleConsoleMessage(facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args); + public SimpleConsoleMessage(facebook::react::jsinspector_modern::SimpleConsoleMessage&& other) noexcept = default; + public double timestamp; + public facebook::react::jsinspector_modern::ConsoleAPIType type; + public facebook::react::jsinspector_modern::SimpleConsoleMessage& operator=(const facebook::react::jsinspector_modern::SimpleConsoleMessage& other) = delete; + public facebook::react::jsinspector_modern::SimpleConsoleMessage& operator=(facebook::react::jsinspector_modern::SimpleConsoleMessage&& other) noexcept = default; + public std::vector args; + public ~SimpleConsoleMessage() = default; +} + +template +class facebook::react::jsinspector_modern::EnumArray { + public constexpr ValueType& operator[](IndexType i); + public constexpr const ValueType& operator[](IndexType i) const; + public constexpr int size() const; +} + +template +struct facebook::react::jsinspector_modern::UniqueMonostate { + public constexpr bool operator<(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; + public constexpr bool operator<=(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; + public constexpr bool operator==(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; + public constexpr bool operator>(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; + public constexpr bool operator>=(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; +} + +template +class facebook::react::jsinspector_modern::EnableExecutorFromThis : public std::enable_shared_from_this { + public facebook::react::jsinspector_modern::ScopedExecutor executorFromThis(); + public void setExecutor(facebook::react::jsinspector_modern::VoidExecutor executor); + template + public void setExecutor(facebook::react::jsinspector_modern::ScopedExecutor executor); +} + +template +class facebook::react::jsinspector_modern::WeakList { + public bool empty() const; + public size_t size() const; + public void insert(std::weak_ptr ptr); + template + public bool anyOf(Fn&& fn) const; + template + public bool anyOf(Fn&& fn); + template + public void forEach(Fn&& fn) const; + template + public void forEach(Fn&& fn); +} + + +constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::TRACING_TIME_ORIGIN; +constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::kCurrentBufferStartTimeUninitialized; +using facebook::react::jsinspector_modern::tracing::Categories = folly::small_vector; +using facebook::react::jsinspector_modern::tracing::ConsoleTimeStampEntry = std::variant; +using facebook::react::jsinspector_modern::tracing::FrameSequenceId = uint64_t; +using facebook::react::jsinspector_modern::tracing::Headers = std::map; +using facebook::react::jsinspector_modern::tracing::ProcessId = uint64_t; +using facebook::react::jsinspector_modern::tracing::RuntimeProfileId = uint16_t; +using facebook::react::jsinspector_modern::tracing::ThreadId = uint64_t; +int64_t facebook::react::jsinspector_modern::tracing::highResDurationToTracingClockDuration(facebook::react::HighResDuration duration); +std::optional facebook::react::jsinspector_modern::tracing::getTracingCategoryFromString(const std::string& str); +std::optional facebook::react::jsinspector_modern::tracing::getConsoleTimeStampColorFromString(const std::string& str); +std::optional facebook::react::jsinspector_modern::tracing::getConsoleTimeStampDetailFromObject(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& detailValue); +std::set facebook::react::jsinspector_modern::tracing::parseSerializedTracingCategories(const std::string& serializedCategories); +std::string facebook::react::jsinspector_modern::tracing::consoleTimeStampColorToString(facebook::react::jsinspector_modern::tracing::ConsoleTimeStampColor color); +std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const facebook::react::jsinspector_modern::tracing::Categories& categories); +std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const std::set& categories); +std::string facebook::react::jsinspector_modern::tracing::tracingCategoryToString(const facebook::react::jsinspector_modern::tracing::Category& category); +uint64_t facebook::react::jsinspector_modern::tracing::highResTimeStampToTracingClockTimeStamp(facebook::react::HighResTimeStamp timestamp); + +class facebook::react::jsinspector_modern::tracing::HermesRuntimeSamplingProfileSerializer { + public static facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile serializeToTracingSamplingProfile(hermes::sampling_profiler::Profile hermesProfile); +} + +class facebook::react::jsinspector_modern::tracing::HostTracingProfileSerializer { + public static void emitAsDataCollectedChunks(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const std::function& chunkCallback, size_t maxChunkBytes, uint16_t profileTraceEventsChunkSize); + public static void emitFrameTimings(std::vector&& frameTimings, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::HighResTimeStamp recordingStartTimestamp, const std::function& chunkCallback, size_t maxChunkBytes); + public static void emitPerformanceTraceEvents(std::vector&& events, const std::function& chunkCallback, size_t maxChunkBytes); +} + +class facebook::react::jsinspector_modern::tracing::PerformanceTracer { + public bool isTracing() const; + public bool startTracing(); + public bool startTracing(facebook::react::HighResDuration maxDuration); + public static facebook::react::jsinspector_modern::tracing::PerformanceTracer& getInstance(); + public static facebook::react::jsinspector_modern::tracing::TraceEvent constructRuntimeProfileChunkTraceEvent(facebook::react::jsinspector_modern::tracing::RuntimeProfileId profileId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ProcessId threadId, facebook::react::HighResTimeStamp chunkTimestamp, facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk&& traceEventProfileChunk); + public static facebook::react::jsinspector_modern::tracing::TraceEvent constructRuntimeProfileTraceEvent(facebook::react::jsinspector_modern::tracing::RuntimeProfileId profileId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp profileTimestamp); + public std::optional> stopTracing(); + public uint32_t subscribeToTracingStateChanges(facebook::react::jsinspector_modern::tracing::PerformanceTracer::TracingStateCallback callback); + public using TracingStateCallback = std::function; + public void reportEventLoopMicrotasks(facebook::react::HighResTimeStamp start, facebook::react::HighResTimeStamp end); + public void reportEventLoopTask(facebook::react::HighResTimeStamp start, facebook::react::HighResTimeStamp end); + public void reportMark(const std::string& name, facebook::react::HighResTimeStamp start, folly::dynamic&& detail = nullptr); + public void reportMeasure(const std::string& name, facebook::react::HighResTimeStamp start, facebook::react::HighResDuration duration, folly::dynamic&& detail = nullptr, std::optional stackTrace = nullptr); + public void reportResourceFinish(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int encodedDataLength, int decodedBodyLength); + public void reportResourceReceiveResponse(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int statusCode, const facebook::react::jsinspector_modern::tracing::Headers& headers, int encodedDataLength, folly::dynamic timingData); + public void reportResourceReceivedData(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int encodedDataLength); + public void reportResourceSendRequest(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, const std::string& url, const std::string& requestMethod, const facebook::react::jsinspector_modern::tracing::Headers& headers); + public void reportResourceWillSendRequest(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start); + public void reportTimeStamp(const std::string& name, std::optional start = std::nullopt, std::optional end = std::nullopt, std::optional trackName = std::nullopt, std::optional trackGroup = std::nullopt, std::optional color = std::nullopt, std::optional detail = std::nullopt, std::optional stackTrace = std::nullopt); + public void unsubscribeFromTracingStateChanges(uint32_t subscriptionId); +} + +class facebook::react::jsinspector_modern::tracing::ProfileTreeNode { + public ProfileTreeNode(uint32_t id, facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType codeType, facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame callFrame, uint32_t parentId = facebook::react::jsinspector_modern::tracing::ProfileTreeNode::NO_PARENT); + public bool hasParent() const; + public const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& getCallFrame() const; + public facebook::react::jsinspector_modern::tracing::ProfileTreeNode* addChild(uint32_t childId, facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType childCodeType, facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame childCallFrame); + public facebook::react::jsinspector_modern::tracing::ProfileTreeNode* getIfAlreadyExists(facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType childCodeType, const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& childCallFrame); + public facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType getCodeType() const; + public static constexpr uint32_t NO_PARENT; + public uint32_t getId() const; + public uint32_t getParentId() const; +} + +enum facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType { + JavaScript, + Other, +} + +class facebook::react::jsinspector_modern::tracing::RawHermesRuntimeProfile : public facebook::react::jsinspector_modern::tracing::RawRuntimeProfile { + public RawHermesRuntimeProfile(hermes::sampling_profiler::Profile hermesProfile); +} + +class facebook::react::jsinspector_modern::tracing::RawRuntimeProfile { + public virtual ~RawRuntimeProfile() = default; +} + +class facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfileTraceEventSerializer { + public static void serializeAndDispatch(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&& profile, facebook::react::jsinspector_modern::tracing::IdGenerator& profileIdGenerator, facebook::react::HighResTimeStamp tracingStartTime, const std::function& dispatchCallback, uint16_t traceEventChunkSize, uint16_t profileChunkSize = PROFILE_CHUNK_SIZE, uint16_t maxUniqueNodesPerChunk = MAX_UNIQUE_NODES_PER_CHUNK); + public static void serializeAndDispatch(std::vector&& profiles, facebook::react::jsinspector_modern::tracing::IdGenerator& profileIdGenerator, facebook::react::HighResTimeStamp tracingStartTime, const std::function& dispatchCallback, uint16_t traceEventChunkSize, uint16_t profileChunkSize = PROFILE_CHUNK_SIZE, uint16_t maxUniqueNodesPerChunk = MAX_UNIQUE_NODES_PER_CHUNK); +} + +class facebook::react::jsinspector_modern::tracing::TargetTracingAgent { + protected facebook::react::jsinspector_modern::tracing::TraceRecordingState& state_; + public TargetTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public bool isRunningInBackgroundMode(); +} + +class facebook::react::jsinspector_modern::tracing::TraceEventGenerator { + public static facebook::react::jsinspector_modern::tracing::TraceEvent createScreenshotEvent(facebook::react::jsinspector_modern::tracing::FrameSequenceId frameSequenceId, int sourceId, std::vector&& snapshot, facebook::react::HighResTimeStamp expectedDisplayTime, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); + public static facebook::react::jsinspector_modern::tracing::TraceEvent createSetLayerTreeIdEvent(std::string frame, int layerTreeId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp timestamp); + public static std::pair createFrameTimingsEvents(facebook::react::jsinspector_modern::tracing::FrameSequenceId sequenceId, int layerTreeId, facebook::react::HighResTimeStamp beginTimestamp, facebook::react::HighResTimeStamp endTimestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); +} + +class facebook::react::jsinspector_modern::tracing::TraceEventSerializer { + public static folly::dynamic serialize(facebook::react::jsinspector_modern::tracing::TraceEvent&& event); + public static folly::dynamic serializeProfileChunk(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk&& profileChunk); + public static folly::dynamic serializeProfileChunkCPUProfile(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile&& cpuProfile); + public static folly::dynamic serializeProfileChunkCPUProfileNode(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node&& node); + public static folly::dynamic serializeProfileChunkCPUProfileNodeCallFrame(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame&& callFrame); + public static folly::dynamic serializeProfileChunkTimeDeltas(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::TimeDeltas&& deltas); + public static size_t estimateJsonSize(const folly::dynamic& value); +} + +enum facebook::react::jsinspector_modern::tracing::Category { + Frame, + HiddenTimeline, + JavaScriptSampling, + RuntimeExecution, + Screenshot, + Timeline, + UserTiming, +} + +enum facebook::react::jsinspector_modern::tracing::ConsoleTimeStampColor { + Error, + Primary, + PrimaryDark, + PrimaryLight, + Secondary, + SecondaryDark, + SecondaryLight, + Tertiary, + TertiaryDark, + TertiaryLight, + Warning, +} + +enum facebook::react::jsinspector_modern::tracing::EventLoopPhase { + Microtasks, + Task, +} + +enum facebook::react::jsinspector_modern::tracing::Mode { + Background, + CDP, +} + +struct facebook::react::jsinspector_modern::tracing::EventLoopReporter { + public EventLoopReporter(const facebook::react::jsinspector_modern::tracing::EventLoopReporter&) = delete; + public EventLoopReporter(facebook::react::jsinspector_modern::tracing::EventLoopPhase phase); + public EventLoopReporter(facebook::react::jsinspector_modern::tracing::EventLoopReporter&&) = delete; + public facebook::react::jsinspector_modern::tracing::EventLoopReporter& operator=(const facebook::react::jsinspector_modern::tracing::EventLoopReporter&) = delete; + public facebook::react::jsinspector_modern::tracing::EventLoopReporter& operator=(facebook::react::jsinspector_modern::tracing::EventLoopReporter&&) = delete; + public ~EventLoopReporter(); +} + +struct facebook::react::jsinspector_modern::tracing::FrameTimingSequence { + public FrameTimingSequence() = delete; + public FrameTimingSequence(facebook::react::jsinspector_modern::tracing::FrameSequenceId id, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp beginTimestamp, facebook::react::HighResTimeStamp endTimestamp, std::optional> screenshot = std::nullopt); + public facebook::react::HighResTimeStamp beginTimestamp; + public facebook::react::HighResTimeStamp endTimestamp; + public facebook::react::jsinspector_modern::tracing::FrameSequenceId id; + public facebook::react::jsinspector_modern::tracing::ThreadId threadId; + public std::optional> screenshot; +} + +struct facebook::react::jsinspector_modern::tracing::HostTracingProfile { + public facebook::react::HighResTimeStamp startTime; + public facebook::react::jsinspector_modern::tracing::ProcessId processId; + public std::vector frameTimings; + public std::vector instanceTracingProfiles; + public std::vector runtimeSamplingProfiles; +} + +struct facebook::react::jsinspector_modern::tracing::IdGenerator { + public uint32_t getNext(); +} + +struct facebook::react::jsinspector_modern::tracing::InstanceTracingProfile { + public std::vector performanceTraceEvents; +} + +struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile { + public RuntimeSamplingProfile(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&) = delete; + public RuntimeSamplingProfile(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&&) = default; + public RuntimeSamplingProfile(std::string runtimeName, facebook::react::jsinspector_modern::tracing::ProcessId processId, std::vector samples, std::unique_ptr rawRuntimeProfile); + public facebook::react::jsinspector_modern::tracing::ProcessId processId; + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile& operator=(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&) = delete; + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile& operator=(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&&) = default; + public std::string runtimeName; + public std::unique_ptr rawRuntimeProfile; + public std::vector samples; + public ~RuntimeSamplingProfile() = default; +} + +struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample { + public Sample(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&) = delete; + public Sample(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&&) = default; + public Sample(uint64_t timestamp, facebook::react::jsinspector_modern::tracing::ThreadId threadId, std::vector callStack); + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample& operator=(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&) = delete; + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample& operator=(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&&) = default; + public facebook::react::jsinspector_modern::tracing::ThreadId threadId; + public std::vector callStack; + public uint64_t timestamp; + public ~Sample() = default; +} + +struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame { + public bool operator==(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& rhs) const noexcept = default; + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame::Kind kind; + public std::optional scriptURL; + public std::optional columnNumber; + public std::optional lineNumber; + public std::string_view functionName; + public uint32_t scriptId; +} + +enum facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame::Kind { + GarbageCollector, + HostFunction, + JSFunction, + NativeFunction, +} + +struct facebook::react::jsinspector_modern::tracing::TraceEvent { + public char ph; + public facebook::react::HighResTimeStamp ts; + public facebook::react::jsinspector_modern::tracing::Categories cat; + public facebook::react::jsinspector_modern::tracing::ProcessId pid; + public facebook::react::jsinspector_modern::tracing::ThreadId tid; + public folly::dynamic args; + public std::optional s; + public std::optional dur; + public std::optional id; + public std::string name; +} + +struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk { + public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile cpuProfile; + public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::TimeDeltas timeDeltas; + public using TimeDeltas = std::vector; +} + +struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile { + public std::vector nodes; + public std::vector samples; +} + +struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node { + public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame callFrame; + public std::optional parentId; + public uint32_t id; +} + +struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame { + public std::optional url; + public std::optional columnNumber; + public std::optional lineNumber; + public std::string codeType; + public std::string functionName; + public uint32_t scriptId; +} + +struct facebook::react::jsinspector_modern::tracing::TraceRecordingState { + public TraceRecordingState(facebook::react::jsinspector_modern::tracing::Mode tracingMode, std::set enabledCategories, std::optional windowSize = std::nullopt); + public facebook::react::jsinspector_modern::tracing::Mode mode; + public std::optional windowSize; + public std::set enabledCategories; + public std::vector instanceTracingProfiles; + public std::vector runtimeSamplingProfiles; +} + +template +class facebook::react::jsinspector_modern::tracing::TimeWindowedBuffer { + public TimeWindowedBuffer(); + public TimeWindowedBuffer(facebook::react::jsinspector_modern::tracing::TimeWindowedBuffer::TimestampAccessor timestampAccessor, facebook::react::HighResDuration windowSize); + public std::vector pruneExpiredAndExtract(facebook::react::HighResTimeStamp windowRightBoundary = facebook::react::HighResTimeStamp::now()); + public using TimestampAccessor = std::function; + public void clear(); + public void push(T&& element); + public void push(const T& element); +} + +template +class facebook::react::jsinspector_modern::tracing::PerformanceTracerSection { + public PerformanceTracerSection(const char* name, const char* track = nullptr, const char* trackGroup = nullptr, const char* color = nullptr, Args... args) noexcept; + public PerformanceTracerSection(const facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&) = delete; + public PerformanceTracerSection(facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&&) = delete; + public facebook::react::jsinspector_modern::tracing::PerformanceTracerSection& operator=(const facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&) = delete; + public facebook::react::jsinspector_modern::tracing::PerformanceTracerSection& operator=(facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&&) = delete; + public ~PerformanceTracerSection() noexcept; +} + + +using facebook::react::jsinspector_modern::cdp::ParseError = folly::json::parse_error; +using facebook::react::jsinspector_modern::cdp::RequestId = long long; +using facebook::react::jsinspector_modern::cdp::TypeError = folly::TypeError; +facebook::react::jsinspector_modern::cdp::PreparsedRequest facebook::react::jsinspector_modern::cdp::preparse(std::string_view message); +std::string facebook::react::jsinspector_modern::cdp::jsonError(std::optional id, facebook::react::jsinspector_modern::cdp::ErrorCode code, std::optional message = std::nullopt); +std::string facebook::react::jsinspector_modern::cdp::jsonNotification(const std::string& method, std::optional params = std::nullopt); +std::string facebook::react::jsinspector_modern::cdp::jsonRequest(facebook::react::jsinspector_modern::cdp::RequestId id, const std::string& method, std::optional params = std::nullopt); +std::string facebook::react::jsinspector_modern::cdp::jsonResult(facebook::react::jsinspector_modern::cdp::RequestId id, const folly::dynamic& result = folly::dynamic::object()); + +enum facebook::react::jsinspector_modern::cdp::ErrorCode { + InternalError, + InvalidParams, + InvalidRequest, + MethodNotFound, + ParseError, +} + +struct facebook::react::jsinspector_modern::cdp::PreparsedRequest { + public bool operator==(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& rhs) const; + public facebook::react::jsinspector_modern::cdp::RequestId id; + public folly::dynamic params; + public std::string method; + public std::string toJson() const; +} + + +using facebook::react::jsinspector_modern::cdp::network::Headers = std::map; +std::string facebook::react::jsinspector_modern::cdp::network::resourceTypeFromMimeType(const std::string& mimeType); + +struct facebook::react::jsinspector_modern::cdp::network::ConnectTiming { + public double requestTime; +} + +struct facebook::react::jsinspector_modern::cdp::network::DataReceivedParams { + public double timestamp; + public folly::dynamic toDynamic() const; + public int dataLength; + public int encodedDataLength; + public std::string requestId; +} + +struct facebook::react::jsinspector_modern::cdp::network::LoadingFailedParams { + public bool canceled; + public double timestamp; + public folly::dynamic toDynamic() const; + public std::string errorText; + public std::string requestId; + public std::string type; +} + +struct facebook::react::jsinspector_modern::cdp::network::LoadingFinishedParams { + public double timestamp; + public folly::dynamic toDynamic() const; + public int encodedDataLength; + public std::string requestId; +} + +struct facebook::react::jsinspector_modern::cdp::network::Request { + public facebook::react::jsinspector_modern::cdp::network::Headers headers; + public folly::dynamic toDynamic() const; + public std::optional postData; + public std::string method; + public std::string url; +} + +struct facebook::react::jsinspector_modern::cdp::network::RequestWillBeSentExtraInfoParams { + public facebook::react::jsinspector_modern::cdp::network::ConnectTiming connectTiming; + public facebook::react::jsinspector_modern::cdp::network::Headers headers; + public folly::dynamic toDynamic() const; + public std::string requestId; +} + +struct facebook::react::jsinspector_modern::cdp::network::RequestWillBeSentParams { + public bool redirectHasExtraInfo; + public double timestamp; + public double wallTime; + public facebook::react::jsinspector_modern::cdp::network::Request request; + public folly::dynamic initiator; + public folly::dynamic toDynamic() const; + public std::optional redirectResponse; + public std::string documentURL; + public std::string loaderId; + public std::string requestId; +} + +struct facebook::react::jsinspector_modern::cdp::network::Response { + public facebook::react::jsinspector_modern::cdp::network::Headers headers; + public folly::dynamic toDynamic() const; + public int encodedDataLength; + public static facebook::react::jsinspector_modern::cdp::network::Response fromInputParams(const std::string& url, uint16_t status, const facebook::react::jsinspector_modern::cdp::network::Headers& headers, int encodedDataLength); + public std::string mimeType; + public std::string statusText; + public std::string url; + public uint16_t status; +} + +struct facebook::react::jsinspector_modern::cdp::network::ResponseReceivedParams { + public bool hasExtraInfo; + public double timestamp; + public facebook::react::jsinspector_modern::cdp::network::Response response; + public folly::dynamic toDynamic() const; + public std::string loaderId; + public std::string requestId; + public std::string type; +} + + +constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_CONTAINED_BY; +constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_CONTAINS; +constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_DISCONNECTED; +constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_FOLLOWING; +constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_PRECEDING; +bool facebook::react::dom::isConnected(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +facebook::react::dom::DOMBorderWidthRounded facebook::react::dom::getBorderWidth(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +facebook::react::dom::DOMOffset facebook::react::dom::getOffset(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +facebook::react::dom::DOMPoint facebook::react::dom::getScrollPosition(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +facebook::react::dom::DOMRect facebook::react::dom::getBoundingClientRect(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode, bool includeTransform); +facebook::react::dom::DOMRect facebook::react::dom::measureInWindow(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +facebook::react::dom::DOMSizeRounded facebook::react::dom::getInnerSize(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +facebook::react::dom::DOMSizeRounded facebook::react::dom::getScrollSize(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +facebook::react::dom::RNMeasureRect facebook::react::dom::measure(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +std::optional facebook::react::dom::measureLayout(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode& relativeToShadowNode); +std::shared_ptr facebook::react::dom::getElementById(const std::shared_ptr& currentRevision, const std::string& id); +std::shared_ptr facebook::react::dom::getParentNode(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +std::string facebook::react::dom::getTagName(const facebook::react::ShadowNode& shadowNode); +std::string facebook::react::dom::getTextContent(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +std::vector> facebook::react::dom::getChildNodes(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +uint_fast16_t facebook::react::dom::compareDocumentPosition(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode& otherShadowNode); + +struct facebook::react::dom::DOMBorderWidthRounded { + public int bottom; + public int left; + public int right; + public int top; +} + +struct facebook::react::dom::DOMOffset { + public double left; + public double top; + public std::shared_ptr offsetParent; +} + +struct facebook::react::dom::DOMPoint { + public double x; + public double y; +} + +struct facebook::react::dom::DOMRect { + public double height; + public double width; + public double x; + public double y; +} + +struct facebook::react::dom::DOMSizeRounded { + public int height; + public int width; +} + +struct facebook::react::dom::RNMeasureRect { + public double height; + public double pageX; + public double pageY; + public double width; + public double x; + public double y; +} + + +facebook::jsi::Value facebook::react::TurboModuleConvertUtils::convertObjCObjectToJSIValue(facebook::jsi::Runtime& runtime, id value); +id facebook::react::TurboModuleConvertUtils::convertJSIValueToObjCObject(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value, const std::shared_ptr& jsInvoker, BOOL useNSNull = NO); + + +folly::dynamic facebook::react::animationbackend::packAnimatedProps(const facebook::react::AnimatedProps& animatedProps); + + +static const facebook::react::Color facebook::react::HostPlatformColor::UndefinedColor; + + +static constexpr facebook::react::Tag facebook::react::animated::undefinedAnimatedNodeIdentifier; + + +template +constexpr bool facebook::react::bridging::supportsToJs(), std::declval(), nullptr))>>; +template +constexpr bool facebook::react::bridging::supportsToJs(), std::declval(), nullptr))>>; +template +constexpr bool facebook::react::bridging::is_optional_jsi_v; +template +constexpr bool facebook::react::bridging::supportsFromJs(std::declval(), std::declval(), nullptr))>>; +template +constexpr bool facebook::react::bridging::is_jsi_v; +template +constexpr bool facebook::react::bridging::is_optional_jsi_v>>; +template +constexpr bool facebook::react::bridging::is_optional_v; +template +constexpr bool facebook::react::bridging::supportsFromJs(std::declval(), std::declval(), nullptr))>>; +template +constexpr bool facebook::react::bridging::supportsFromJs; +template +constexpr bool facebook::react::bridging::supportsToJs; +template +using facebook::react::bridging::bridging_t = typename facebook::react::bridging::detail::bridging_wrapper::type; +template +using facebook::react::bridging::remove_cvref_t = std::remove_cv_t>; +template +constexpr size_t facebook::react::bridging::getParameterCount(ReturnT(Class::*)(ArgsT...)); +template +JSReturnT facebook::react::bridging::callFromJs(facebook::jsi::Runtime& rt, ReturnT(ClassT::*method)(facebook::jsi::Runtime&, ArgsT...), const std::shared_ptr& jsInvoker, ClassT* instance, JSArgsT &&... args); +template +decltype(facebook::react::Bridging>::fromJs(rt, facebook::react::bridging::convert(rt, std::forward(value)))) facebook::react::bridging::fromJs(facebook::jsi::Runtime& rt, JSArgT&& value, const std::shared_ptr&); +template +decltype(facebook::react::Bridging>::fromJs(rt, facebook::react::bridging::convert(rt, std::forward(value)), jsInvoker)) facebook::react::bridging::fromJs(facebook::jsi::Runtime& rt, JSArgT&& value, const std::shared_ptr& jsInvoker); +template +decltype(static_cast(std::move(facebook::react::bridging::convert(rt, std::forward(value))))) facebook::react::bridging::fromJs(facebook::jsi::Runtime& rt, JSArgT&& value, const std::shared_ptr&); +template +constexpr size_t facebook::react::bridging::getParameterCount(ReturnT(*)(ArgsT...)); +template , int> = 0> +auto facebook::react::bridging::convert(facebook::jsi::Runtime& rt, T&& value); +template ||std::is_scalar_v, int> = 0> +auto facebook::react::bridging::convert(facebook::jsi::Runtime& rt, std::optional value); +template , int> = 0> +auto facebook::react::bridging::convert(facebook::jsi::Runtime&, T&& value); +template +auto facebook::react::bridging::convert(facebook::jsi::Runtime&, facebook::react::bridging::Converter&& converter); +template +decltype(facebook::react::Bridging>::toJs(rt, std::forward(value))) facebook::react::bridging::toJs(facebook::jsi::Runtime& rt, T&& value, const std::shared_ptr& = nullptr); +template +decltype(facebook::react::Bridging>::toJs(rt, std::forward(value), jsInvoker)) facebook::react::bridging::toJs(facebook::jsi::Runtime& rt, T&& value, const std::shared_ptr& jsInvoker); +template +facebook::react::bridging::remove_cvref_t facebook::react::bridging::toJs(facebook::jsi::Runtime& rt, T&& value, const std::shared_ptr& = nullptr); + +template +struct facebook::react::bridging::Converter : public facebook::react::bridging::ConverterBase { +} + +template +struct facebook::react::bridging::ConverterBase { + protected T value_; + protected facebook::jsi::Runtime& rt_; + public ConverterBase(facebook::jsi::Runtime& rt, T&& value); + public operator facebook::react::bridging::ConverterBase::BaseT(); + public using BaseT = facebook::react::bridging::remove_cvref_t; + template && std::is_same_v, int> = 0> + public operator U() = delete; + template && std::is_convertible_v, U>, int> = 0> + public operator U(); +} + +template +struct facebook::react::bridging::is_optional : public std::false_type { +} + +template +struct facebook::react::bridging::Converter> : public facebook::react::bridging::ConverterBase, public facebook::react::bridging::ConverterBase { + public Converter(facebook::jsi::Runtime& rt, std::optional value); + public operator std::optional(); +} + +template +struct facebook::react::bridging::is_optional> : public std::false_type, public std::true_type { +} + +struct facebook::react::bridging::Converter : public facebook::react::bridging::ConverterBase { + public operator facebook::jsi::Array(); + public operator facebook::jsi::Function(); +} + +struct facebook::react::bridging::Converter : public facebook::react::bridging::ConverterBase { + public operator facebook::jsi::Array(); + public operator facebook::jsi::Function(); + public operator facebook::jsi::Object(); + public operator facebook::jsi::String(); +} + + +template +struct facebook::react::bridging::detail::function_wrapper { +} + +template +struct facebook::react::bridging::detail::bridging_wrapper { + public using type = facebook::react::bridging::remove_cvref_t; +} + +template +struct facebook::react::bridging::detail::function_wrapper { + public using type = std::function; +} + +template +struct facebook::react::bridging::detail::function_wrapper { + public using type = std::function; +} + +template +struct facebook::react::bridging::detail::bridging_wrapper::operator())>> : public facebook::react::bridging::detail::function_wrapper::operator())> { + public using type = facebook::react::bridging::remove_cvref_t; +} + + +template +struct facebook::react::array_detail::BridgingStatic { + public static facebook::jsi::Array toJs(facebook::jsi::Runtime& rt, const T& array, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::array_detail::BridgingDynamic { + public static facebook::jsi::Array toJs(facebook::jsi::Runtime& rt, const T& list, const std::shared_ptr& jsInvoker); +} + + +template +struct facebook::react::map_detail::Bridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& map, const std::shared_ptr& jsInvoker); +} + + +typedef void(*facebook::react::ReactMarker::LogTaggedMarker)(const facebook::react::ReactMarker::ReactMarkerId, const char *tag); +typedef void(*facebook::react::ReactMarker::LogTaggedMarkerBridgeless)(const facebook::react::ReactMarker::ReactMarkerId, const char *tag); +void facebook::react::ReactMarker::logMarker(facebook::react::ReactMarker::ReactMarkerId markerId); +void facebook::react::ReactMarker::logMarkerBridgeless(facebook::react::ReactMarker::ReactMarkerId markerId); +void facebook::react::ReactMarker::logMarkerDone(facebook::react::ReactMarker::ReactMarkerId markerId, double markerTime); +void facebook::react::ReactMarker::logTaggedMarker(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag); +void facebook::react::ReactMarker::logTaggedMarkerBridgeless(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag); +facebook::react::ReactMarker::LogTaggedMarker facebook::react::ReactMarker::logTaggedMarkerBridgelessImpl; +facebook::react::ReactMarker::LogTaggedMarker facebook::react::ReactMarker::logTaggedMarkerImpl; +std::shared_mutex facebook::react::ReactMarker::logTaggedMarkerImplMutex; + +class facebook::react::ReactMarker::StartupLogger { + public double getAppStartupEndTime(); + public double getAppStartupStartTime(); + public double getInitReactRuntimeEndTime(); + public double getInitReactRuntimeStartTime(); + public double getRunJSBundleEndTime(); + public double getRunJSBundleStartTime(); + public static facebook::react::ReactMarker::StartupLogger& getInstance(); + public void logStartupEvent(facebook::react::ReactMarker::ReactMarkerId markerId, double markerTime); + public void reset(); +} + +enum facebook::react::ReactMarker::ReactMarkerId { + APP_STARTUP_START, + APP_STARTUP_STOP, + CREATE_REACT_CONTEXT_STOP, + INIT_REACT_RUNTIME_START, + INIT_REACT_RUNTIME_STOP, + JS_BUNDLE_STRING_CONVERT_START, + JS_BUNDLE_STRING_CONVERT_STOP, + NATIVE_MODULE_SETUP_START, + NATIVE_MODULE_SETUP_STOP, + NATIVE_REQUIRE_START, + NATIVE_REQUIRE_STOP, + REACT_INSTANCE_INIT_START, + REACT_INSTANCE_INIT_STOP, + REGISTER_JS_SEGMENT_START, + REGISTER_JS_SEGMENT_STOP, + RUN_JS_BUNDLE_START, + RUN_JS_BUNDLE_STOP, +} + +struct facebook::react::ReactMarker::ReactMarkerEvent { + public const char* tag; + public const facebook::react::ReactMarker::ReactMarkerId markerId; + public double time; +} + + +uint64_t facebook::react::oscompat::getCurrentProcessId(); +uint64_t facebook::react::oscompat::getCurrentThreadId(); + + +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallBatchPreprocessEnd(int batchSize); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallBatchPreprocessStart(); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallDispatch(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionArgConversionEnd(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionArgConversionStart(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionEnd(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionFail(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionStart(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallFail(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallStart(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::disableLogging(); +void facebook::react::BridgeNativeModulePerfLogger::enableLogging(std::unique_ptr&& logger); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateCacheHit(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateConstructEnd(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateConstructStart(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateEnd(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateFail(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateSetUpEnd(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateSetUpStart(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateStart(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleDataCreateEnd(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleDataCreateStart(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningCacheHit(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningEnd(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningFail(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningStart(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingEnd(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingFail(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingStart(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallArgConversionStart(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallExecutionEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallExecutionStart(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallFail(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallReturnConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallReturnConversionStart(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallStart(const char* moduleName, const char* methodName); + + +void facebook::react::LegacyUIManagerConstantsProviderBinding::install(facebook::jsi::Runtime& runtime, const std::string& name, std::function&& provider); +void facebook::react::LegacyUIManagerConstantsProviderBinding::install(facebook::jsi::Runtime& runtime, const std::string& name, std::function&& provider); + + +void facebook::react::LowPriorityExecutor::execute(std::function&& workItem); + + +void facebook::react::TurboModulePerfLogger::asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::asyncMethodCallBatchPreprocessEnd(int batchSize); +void facebook::react::TurboModulePerfLogger::asyncMethodCallBatchPreprocessStart(); +void facebook::react::TurboModulePerfLogger::asyncMethodCallDispatch(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::asyncMethodCallEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::asyncMethodCallExecutionArgConversionEnd(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::TurboModulePerfLogger::asyncMethodCallExecutionArgConversionStart(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::TurboModulePerfLogger::asyncMethodCallExecutionEnd(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::TurboModulePerfLogger::asyncMethodCallExecutionFail(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::TurboModulePerfLogger::asyncMethodCallExecutionStart(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::TurboModulePerfLogger::asyncMethodCallFail(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::asyncMethodCallStart(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::disableLogging(); +void facebook::react::TurboModulePerfLogger::enableLogging(std::unique_ptr&& logger); +void facebook::react::TurboModulePerfLogger::moduleCreateCacheHit(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateConstructEnd(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateConstructStart(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateEnd(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateFail(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateSetUpEnd(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateSetUpStart(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateStart(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleDataCreateEnd(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleDataCreateStart(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleJSRequireBeginningCacheHit(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireBeginningEnd(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireBeginningFail(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireBeginningStart(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireEndingEnd(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireEndingFail(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireEndingStart(const char* moduleName); +void facebook::react::TurboModulePerfLogger::syncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallArgConversionStart(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallExecutionEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallExecutionStart(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallFail(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallReturnConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallReturnConversionStart(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallStart(const char* moduleName, const char* methodName); + + +std::unique_ptr facebook::jsc::makeJSCRuntime(); + + +using facebook::jsi::HostFunctionType = std::function; +using facebook::jsi::RuntimeFactory = std::function()>; +facebook::jsi::Value facebook::jsi::valueFromDynamic(facebook::jsi::Runtime& runtime, const folly::dynamic& dyn); +folly::dynamic facebook::jsi::dynamicFromValue(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value, const std::function& filterObjectKeys = nullptr); +std::vector facebook::jsi::runtimeGenerators(); +template +U* facebook::jsi::castInterface(T* ptr); +template +std::shared_ptr facebook::jsi::dynamicInterfaceCast(T&& ptr); + +class facebook::jsi::Array : public facebook::jsi::Object { + public Array(facebook::jsi::Array&&) = default; + public Array(facebook::jsi::Runtime& runtime, size_t length); + public facebook::jsi::Array& operator=(facebook::jsi::Array&&) = default; + public facebook::jsi::Value getValueAtIndex(facebook::jsi::Runtime& runtime, size_t i) const; + public size_t length(facebook::jsi::Runtime& runtime) const; + public size_t size(facebook::jsi::Runtime& runtime) const; + public static facebook::jsi::Array createWithElements(facebook::jsi::Runtime& runtime, std::initializer_list elements); + template + public void setValueAtIndex(facebook::jsi::Runtime& runtime, size_t i, T&& value) const; + template + public static facebook::jsi::Array createWithElements(facebook::jsi::Runtime& runtime, Args &&... args); +} + +class facebook::jsi::ArrayBuffer : public facebook::jsi::Object { + public ArrayBuffer(facebook::jsi::ArrayBuffer&&) = default; + public ArrayBuffer(facebook::jsi::Runtime& runtime, std::shared_ptr buffer); + public facebook::jsi::ArrayBuffer& operator=(facebook::jsi::ArrayBuffer&&) = default; + public size_t length(facebook::jsi::Runtime& runtime) const; + public size_t size(facebook::jsi::Runtime& runtime) const; + public uint8_t* data(facebook::jsi::Runtime& runtime) const; +} + +class facebook::jsi::BigInt : public facebook::jsi::Pointer { + public BigInt(facebook::jsi::BigInt&& other) = default; + public BigInt(facebook::jsi::Pointer&& other) noexcept; + public BigInt(facebook::jsi::Runtime::PointerValue* ptr); + public bool isInt64(facebook::jsi::Runtime& runtime) const; + public bool isUint64(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::BigInt& operator=(facebook::jsi::BigInt&& other) = default; + public facebook::jsi::String toString(facebook::jsi::Runtime& runtime, int radix = 10) const; + public int64_t asInt64(facebook::jsi::Runtime& runtime) const; + public int64_t getInt64(facebook::jsi::Runtime& runtime) const; + public static bool strictEquals(facebook::jsi::Runtime& runtime, const facebook::jsi::BigInt& a, const facebook::jsi::BigInt& b); + public static facebook::jsi::BigInt fromInt64(facebook::jsi::Runtime& runtime, int64_t value); + public static facebook::jsi::BigInt fromUint64(facebook::jsi::Runtime& runtime, uint64_t value); + public uint64_t asUint64(facebook::jsi::Runtime& runtime) const; + public uint64_t getUint64(facebook::jsi::Runtime& runtime) const; +} + +class facebook::jsi::Buffer { + public virtual const uint8_t* data() const = 0; + public virtual size_t size() const = 0; + public virtual ~Buffer(); +} + +class facebook::jsi::DecoratedHostFunction { + public DecoratedHostFunction(facebook::jsi::Runtime& drt, facebook::jsi::HostFunctionType plainHF); + public facebook::jsi::Runtime& decoratedRuntime(); + public facebook::jsi::Value operator()(facebook::jsi::Runtime&, const facebook::jsi::Value& thisVal, const facebook::jsi::Value* args, size_t count); +} + +class facebook::jsi::DecoratedHostObject : public facebook::jsi::HostObject { + public DecoratedHostObject(facebook::jsi::Runtime& drt, std::shared_ptr plainHO); + public facebook::jsi::Runtime& decoratedRuntime(); + public virtual facebook::jsi::Value get(facebook::jsi::Runtime&, const facebook::jsi::PropNameID& name) override; + public virtual std::vector getPropertyNames(facebook::jsi::Runtime&) override; + public virtual void set(facebook::jsi::Runtime&, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) override; +} + +class facebook::jsi::FileBuffer : public facebook::jsi::Buffer { + public FileBuffer(const std::string& path); + public virtual const uint8_t* data() const override; + public virtual size_t size() const override; + public ~FileBuffer() override; +} + +class facebook::jsi::Function : public facebook::jsi::Object { + public Function(facebook::jsi::Function&&) = default; + public bool isHostFunction(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Function& operator=(facebook::jsi::Function&&) = default; + public facebook::jsi::HostFunctionType& getHostFunction(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Value call(facebook::jsi::Runtime& runtime, const facebook::jsi::Value* args, size_t count) const; + public facebook::jsi::Value call(facebook::jsi::Runtime& runtime, std::initializer_list args) const; + public facebook::jsi::Value callAsConstructor(facebook::jsi::Runtime& runtime, const facebook::jsi::Value* args, size_t count) const; + public facebook::jsi::Value callAsConstructor(facebook::jsi::Runtime& runtime, std::initializer_list args) const; + public facebook::jsi::Value callWithThis(facebook::jsi::Runtime& Runtime, const facebook::jsi::Object& jsThis, const facebook::jsi::Value* args, size_t count) const; + public facebook::jsi::Value callWithThis(facebook::jsi::Runtime& runtime, const facebook::jsi::Object& jsThis, std::initializer_list args) const; + public static facebook::jsi::Function createFromHostFunction(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name, unsigned int paramCount, facebook::jsi::HostFunctionType func); + template + public facebook::jsi::Value call(facebook::jsi::Runtime& runtime, Args &&... args) const; + template + public facebook::jsi::Value callAsConstructor(facebook::jsi::Runtime& runtime, Args &&... args) const; + template + public facebook::jsi::Value callWithThis(facebook::jsi::Runtime& runtime, const facebook::jsi::Object& jsThis, Args &&... args) const; +} + +class facebook::jsi::HostObject { + public virtual facebook::jsi::Value get(facebook::jsi::Runtime&, const facebook::jsi::PropNameID& name); + public virtual std::vector getPropertyNames(facebook::jsi::Runtime& rt); + public virtual void set(facebook::jsi::Runtime&, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value); + public virtual ~HostObject(); +} + +class facebook::jsi::Instrumentation { + public using HeapStatsUpdate = std::tuple; + public virtual std::string flushAndDisableBridgeTrafficTrace() = 0; + public virtual std::string getRecordedGCStats() = 0; + public virtual std::unordered_map getHeapInfo(bool includeExpensive) = 0; + public virtual void collectGarbage(std::string cause) = 0; + public virtual void createSnapshotToFile(const std::string& path, const facebook::jsi::Instrumentation::HeapSnapshotOptions& options = {false}) = 0; + public virtual void createSnapshotToStream(std::ostream& os, const facebook::jsi::Instrumentation::HeapSnapshotOptions& options = {false}) = 0; + public virtual void dumpOpcodeStats(std::ostream& os) const = 0; + public virtual void dumpProfilerSymbolsToFile(const std::string& fileName) const = 0; + public virtual void startHeapSampling(size_t samplingInterval) = 0; + public virtual void startTrackingHeapObjectStackTraces(std::function stats)> fragmentCallback) = 0; + public virtual void stopHeapSampling(std::ostream& os) = 0; + public virtual void stopTrackingHeapObjectStackTraces() = 0; + public virtual void writeBasicBlockProfileTraceToFile(const std::string& fileName) const = 0; + public virtual ~Instrumentation() = default; +} + +struct facebook::jsi::Instrumentation::HeapSnapshotOptions { + public bool captureNumericValue; +} + +class facebook::jsi::JSError : public facebook::jsi::JSIException { + public JSError(const facebook::jsi::JSError&) = default; + public JSError(facebook::jsi::Runtime& r, facebook::jsi::Value&& value); + public JSError(facebook::jsi::Runtime& rt, const char* message); + public JSError(facebook::jsi::Runtime& rt, std::string message); + public JSError(facebook::jsi::Runtime& rt, std::string message, std::string stack); + public JSError(facebook::jsi::Value&& value, std::string message, std::string stack); + public JSError(std::string what, facebook::jsi::Runtime& rt, facebook::jsi::Value&& value); + public const facebook::jsi::Value& value() const; + public const std::string& getMessage() const; + public const std::string& getStack() const; + public virtual ~JSError(); +} + +class facebook::jsi::JSIException : public std::exception { + protected JSIException(); + protected JSIException(std::string what); + protected std::string what_; + public JSIException(const facebook::jsi::JSIException&) = default; + public virtual const char* what() const noexcept override; + public virtual ~JSIException() override; +} + +class facebook::jsi::JSINativeException : public facebook::jsi::JSIException { + public JSINativeException(const facebook::jsi::JSINativeException&) = default; + public JSINativeException(std::string what); + public virtual ~JSINativeException(); +} + +class facebook::jsi::JSITestBase : public testing::TestWithParam { + public JSITestBase(); + public bool checkValue(const facebook::jsi::Value& value, const std::string& jsValue); + public facebook::jsi::Function function(const std::string& code); + public facebook::jsi::Runtime& rt; + public facebook::jsi::RuntimeFactory factory; + public facebook::jsi::Value eval(const char* code); + public std::shared_ptr runtime; +} + +class facebook::jsi::MutableBuffer { + public virtual size_t size() const = 0; + public virtual uint8_t* data() = 0; + public virtual ~MutableBuffer(); +} + +class facebook::jsi::NativeState { + public virtual ~NativeState(); +} + +class facebook::jsi::Object : public facebook::jsi::Pointer { + protected void setPropertyValue(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) const; + protected void setPropertyValue(facebook::jsi::Runtime& runtime, const facebook::jsi::String& name, const facebook::jsi::Value& value) const; + protected void setPropertyValue(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& name, const facebook::jsi::Value& value) const; + public Object(facebook::jsi::Object&& other) = default; + public Object(facebook::jsi::Pointer&& other) noexcept; + public Object(facebook::jsi::Runtime& runtime); + public Object(facebook::jsi::Runtime::PointerValue* ptr); + public bool hasNativeState(facebook::jsi::Runtime& runtime) const; + public bool hasProperty(facebook::jsi::Runtime& runtime, const char* name) const; + public bool hasProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) const; + public bool hasProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::String& name) const; + public bool hasProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& name) const; + public bool instanceOf(facebook::jsi::Runtime& rt, const facebook::jsi::Function& ctor) const; + public bool isArray(facebook::jsi::Runtime& runtime) const; + public bool isArrayBuffer(facebook::jsi::Runtime& runtime) const; + public bool isFunction(facebook::jsi::Runtime& runtime) const; + public bool isHostObject(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Array asArray(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Array asArray(facebook::jsi::Runtime& runtime); + public facebook::jsi::Array getArray(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Array getArray(facebook::jsi::Runtime& runtime); + public facebook::jsi::Array getPropertyNames(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::ArrayBuffer getArrayBuffer(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::ArrayBuffer getArrayBuffer(facebook::jsi::Runtime& runtime); + public facebook::jsi::Function asFunction(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Function asFunction(facebook::jsi::Runtime& runtime); + public facebook::jsi::Function getFunction(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Function getFunction(facebook::jsi::Runtime& runtime); + public facebook::jsi::Function getPropertyAsFunction(facebook::jsi::Runtime& runtime, const char* name) const; + public facebook::jsi::Object getPropertyAsObject(facebook::jsi::Runtime& runtime, const char* name) const; + public facebook::jsi::Object& operator=(facebook::jsi::Object&& other) = default; + public facebook::jsi::Value getProperty(facebook::jsi::Runtime& runtime, const char* name) const; + public facebook::jsi::Value getProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) const; + public facebook::jsi::Value getProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::String& name) const; + public facebook::jsi::Value getProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& name) const; + public facebook::jsi::Value getPrototype(facebook::jsi::Runtime& runtime) const; + public static bool strictEquals(facebook::jsi::Runtime& runtime, const facebook::jsi::Object& a, const facebook::jsi::Object& b); + public static facebook::jsi::Object create(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& prototype); + public static facebook::jsi::Object createFromHostObject(facebook::jsi::Runtime& runtime, std::shared_ptr ho); + public std::shared_ptr getHostObject(facebook::jsi::Runtime& runtime) const; + public void deleteProperty(facebook::jsi::Runtime& runtime, const char* name) const; + public void deleteProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) const; + public void deleteProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::String& name) const; + public void deleteProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& name) const; + public void setExternalMemoryPressure(facebook::jsi::Runtime& runtime, size_t amt) const; + public void setNativeState(facebook::jsi::Runtime& runtime, std::shared_ptr state) const; + public void setPrototype(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& prototype) const; + template + public bool isHostObject(facebook::jsi::Runtime& runtime) const; + template + public std::shared_ptr asHostObject(facebook::jsi::Runtime& runtime) const; + template + public std::shared_ptr getHostObject(facebook::jsi::Runtime& runtime) const; + template + public bool hasNativeState(facebook::jsi::Runtime& runtime) const; + template + public std::shared_ptr getNativeState(facebook::jsi::Runtime& runtime) const; + template + public void setProperty(facebook::jsi::Runtime& runtime, const char* name, T&& value) const; + template + public void setProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name, T&& value) const; + template + public void setProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::String& name, T&& value) const; + template + public void setProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& name, T&& value) const; +} + +class facebook::jsi::Pointer { + protected Pointer(facebook::jsi::Pointer&& other) noexcept; + protected Pointer(facebook::jsi::Runtime::PointerValue* ptr); + protected facebook::jsi::Pointer& operator=(facebook::jsi::Pointer&& other) noexcept; + protected facebook::jsi::Runtime::PointerValue* ptr_; + protected ~Pointer(); +} + +class facebook::jsi::PreparedJavaScript { + protected PreparedJavaScript() = default; + public virtual ~PreparedJavaScript() = 0; +} + +class facebook::jsi::PropNameID : public facebook::jsi::Pointer { + public PropNameID(facebook::jsi::Pointer&& other) noexcept; + public PropNameID(facebook::jsi::PropNameID&& other) = default; + public PropNameID(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& other); + public PropNameID(facebook::jsi::Runtime::PointerValue* ptr); + public facebook::jsi::PropNameID& operator=(facebook::jsi::PropNameID&& other) = default; + public static bool compare(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& a, const facebook::jsi::PropNameID& b); + public static facebook::jsi::PropNameID forAscii(facebook::jsi::Runtime& runtime, const char* str); + public static facebook::jsi::PropNameID forAscii(facebook::jsi::Runtime& runtime, const char* str, size_t length); + public static facebook::jsi::PropNameID forAscii(facebook::jsi::Runtime& runtime, const std::string& str); + public static facebook::jsi::PropNameID forString(facebook::jsi::Runtime& runtime, const facebook::jsi::String& str); + public static facebook::jsi::PropNameID forSymbol(facebook::jsi::Runtime& runtime, const facebook::jsi::Symbol& sym); + public static facebook::jsi::PropNameID forUtf8(facebook::jsi::Runtime& runtime, const std::string& utf8); + public static facebook::jsi::PropNameID forUtf8(facebook::jsi::Runtime& runtime, const uint8_t* utf8, size_t length); + public static facebook::jsi::PropNameID forUtf16(facebook::jsi::Runtime& runtime, const char16_t* utf16, size_t length); + public static facebook::jsi::PropNameID forUtf16(facebook::jsi::Runtime& runtime, const std::u16string& str); + public std::string utf8(facebook::jsi::Runtime& runtime) const; + public std::u16string utf16(facebook::jsi::Runtime& runtime) const; + template + public static std::vector names(facebook::jsi::PropNameID(&&propertyNames)[N]); + template + public void getPropNameIdData(facebook::jsi::Runtime& runtime, CB& cb) const; + template + public static std::vector names(facebook::jsi::Runtime& runtime, Args &&... args); +} + +class facebook::jsi::Runtime : public facebook::jsi::ICast { + protected static const facebook::jsi::Runtime::PointerValue* getPointerValue(const facebook::jsi::Pointer& pointer); + protected static const facebook::jsi::Runtime::PointerValue* getPointerValue(const facebook::jsi::Value& value); + protected static facebook::jsi::Runtime::PointerValue* getPointerValue(facebook::jsi::Pointer& pointer); + protected virtual ScopeState* pushScope(); + protected virtual bool bigintIsInt64(const facebook::jsi::BigInt&) = 0; + protected virtual bool bigintIsUint64(const facebook::jsi::BigInt&) = 0; + protected virtual bool compare(const facebook::jsi::PropNameID&, const facebook::jsi::PropNameID&) = 0; + protected virtual bool hasNativeState(const facebook::jsi::Object&) = 0; + protected virtual bool hasProperty(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name) = 0; + protected virtual bool hasProperty(const facebook::jsi::Object&, const facebook::jsi::String& name) = 0; + protected virtual bool hasProperty(const facebook::jsi::Object&, const facebook::jsi::Value& name); + protected virtual bool instanceOf(const facebook::jsi::Object& o, const facebook::jsi::Function& f) = 0; + protected virtual bool isArray(const facebook::jsi::Object&) const = 0; + protected virtual bool isArrayBuffer(const facebook::jsi::Object&) const = 0; + protected virtual bool isFunction(const facebook::jsi::Object&) const = 0; + protected virtual bool isHostFunction(const facebook::jsi::Function&) const = 0; + protected virtual bool isHostObject(const facebook::jsi::Object&) const = 0; + protected virtual bool strictEquals(const facebook::jsi::BigInt& a, const facebook::jsi::BigInt& b) const = 0; + protected virtual bool strictEquals(const facebook::jsi::Object& a, const facebook::jsi::Object& b) const = 0; + protected virtual bool strictEquals(const facebook::jsi::String& a, const facebook::jsi::String& b) const = 0; + protected virtual bool strictEquals(const facebook::jsi::Symbol& a, const facebook::jsi::Symbol& b) const = 0; + protected virtual const void* getRuntimeDataImpl(const facebook::jsi::UUID& uuid); + protected virtual facebook::jsi::Array createArray(size_t length) = 0; + protected virtual facebook::jsi::Array getPropertyNames(const facebook::jsi::Object&) = 0; + protected virtual facebook::jsi::ArrayBuffer createArrayBuffer(std::shared_ptr buffer) = 0; + protected virtual facebook::jsi::BigInt createBigIntFromInt64(int64_t) = 0; + protected virtual facebook::jsi::BigInt createBigIntFromUint64(uint64_t) = 0; + protected virtual facebook::jsi::Function createFunctionFromHostFunction(const facebook::jsi::PropNameID& name, unsigned int paramCount, facebook::jsi::HostFunctionType func) = 0; + protected virtual facebook::jsi::HostFunctionType& getHostFunction(const facebook::jsi::Function&) = 0; + protected virtual facebook::jsi::Object createObject() = 0; + protected virtual facebook::jsi::Object createObject(std::shared_ptr ho) = 0; + protected virtual facebook::jsi::Object createObjectWithPrototype(const facebook::jsi::Value& prototype); + protected virtual facebook::jsi::PropNameID createPropNameIDFromAscii(const char* str, size_t length) = 0; + protected virtual facebook::jsi::PropNameID createPropNameIDFromString(const facebook::jsi::String& str) = 0; + protected virtual facebook::jsi::PropNameID createPropNameIDFromSymbol(const facebook::jsi::Symbol& sym) = 0; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf8(const uint8_t* utf8, size_t length) = 0; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf16(const char16_t* utf16, size_t length); + protected virtual facebook::jsi::Runtime::PointerValue* cloneBigInt(const facebook::jsi::Runtime::PointerValue* pv) = 0; + protected virtual facebook::jsi::Runtime::PointerValue* cloneObject(const facebook::jsi::Runtime::PointerValue* pv) = 0; + protected virtual facebook::jsi::Runtime::PointerValue* clonePropNameID(const facebook::jsi::Runtime::PointerValue* pv) = 0; + protected virtual facebook::jsi::Runtime::PointerValue* cloneString(const facebook::jsi::Runtime::PointerValue* pv) = 0; + protected virtual facebook::jsi::Runtime::PointerValue* cloneSymbol(const facebook::jsi::Runtime::PointerValue* pv) = 0; + protected virtual facebook::jsi::String bigintToString(const facebook::jsi::BigInt&, int) = 0; + protected virtual facebook::jsi::String createStringFromAscii(const char* str, size_t length) = 0; + protected virtual facebook::jsi::String createStringFromUtf8(const uint8_t* utf8, size_t length) = 0; + protected virtual facebook::jsi::String createStringFromUtf16(const char16_t* utf16, size_t length); + protected virtual facebook::jsi::Value call(const facebook::jsi::Function&, const facebook::jsi::Value& jsThis, const facebook::jsi::Value* args, size_t count) = 0; + protected virtual facebook::jsi::Value callAsConstructor(const facebook::jsi::Function&, const facebook::jsi::Value* args, size_t count) = 0; + protected virtual facebook::jsi::Value createValueFromJsonUtf8(const uint8_t* json, size_t length); + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name) = 0; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object&, const facebook::jsi::String& name) = 0; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object&, const facebook::jsi::Value& name); + protected virtual facebook::jsi::Value getPrototypeOf(const facebook::jsi::Object& object); + protected virtual facebook::jsi::Value getValueAtIndex(const facebook::jsi::Array&, size_t i) = 0; + protected virtual facebook::jsi::Value lockWeakObject(const facebook::jsi::WeakObject&) = 0; + protected virtual facebook::jsi::WeakObject createWeakObject(const facebook::jsi::Object&) = 0; + protected virtual size_t size(const facebook::jsi::Array&) = 0; + protected virtual size_t size(const facebook::jsi::ArrayBuffer&) = 0; + protected virtual std::shared_ptr getHostObject(const facebook::jsi::Object&) = 0; + protected virtual std::shared_ptr getNativeState(const facebook::jsi::Object&) = 0; + protected virtual std::string symbolToString(const facebook::jsi::Symbol&) = 0; + protected virtual std::string utf8(const facebook::jsi::PropNameID&) = 0; + protected virtual std::string utf8(const facebook::jsi::String&) = 0; + protected virtual std::u16string utf16(const facebook::jsi::PropNameID& sym); + protected virtual std::u16string utf16(const facebook::jsi::String& str); + protected virtual uint8_t* data(const facebook::jsi::ArrayBuffer&) = 0; + protected virtual uint64_t truncate(const facebook::jsi::BigInt&) = 0; + protected virtual void deleteProperty(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name); + protected virtual void deleteProperty(const facebook::jsi::Object&, const facebook::jsi::String& name); + protected virtual void deleteProperty(const facebook::jsi::Object&, const facebook::jsi::Value& name); + protected virtual void getPropNameIdData(const facebook::jsi::PropNameID& sym, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb); + protected virtual void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb); + protected virtual void popScope(ScopeState*); + protected virtual void setExternalMemoryPressure(const facebook::jsi::Object& obj, size_t amount) = 0; + protected virtual void setNativeState(const facebook::jsi::Object&, std::shared_ptr state) = 0; + protected virtual void setPropertyValue(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) = 0; + protected virtual void setPropertyValue(const facebook::jsi::Object&, const facebook::jsi::String& name, const facebook::jsi::Value& value) = 0; + protected virtual void setPropertyValue(const facebook::jsi::Object&, const facebook::jsi::Value& name, const facebook::jsi::Value& value); + protected virtual void setPrototypeOf(const facebook::jsi::Object& object, const facebook::jsi::Value& prototype); + protected virtual void setRuntimeDataImpl(const facebook::jsi::UUID& uuid, const void* data, void(*)(const void* data) deleter); + protected virtual void setValueAtIndexImpl(const facebook::jsi::Array&, size_t i, const facebook::jsi::Value& value) = 0; + public std::shared_ptr getRuntimeData(const facebook::jsi::UUID& uuid); + public virtual bool drainMicrotasks(int maxMicrotasksHint = -1) = 0; + public virtual bool isInspectable() = 0; + public virtual facebook::jsi::ICast* castInterface(const facebook::jsi::UUID& interfaceUUID) override; + public virtual facebook::jsi::Instrumentation& instrumentation(); + public virtual facebook::jsi::Object global() = 0; + public virtual facebook::jsi::Value evaluateJavaScript(const std::shared_ptr& buffer, const std::string& sourceURL) = 0; + public virtual facebook::jsi::Value evaluatePreparedJavaScript(const std::shared_ptr& js) = 0; + public virtual std::shared_ptr prepareJavaScript(const std::shared_ptr& buffer, std::string sourceURL) = 0; + public virtual std::string description() = 0; + public virtual void queueMicrotask(const facebook::jsi::Function& callback) = 0; + public virtual ~Runtime(); + public void setRuntimeData(const facebook::jsi::UUID& uuid, const std::shared_ptr& data); + template + protected static T make(facebook::jsi::Runtime::PointerValue* pv); +} + +struct facebook::jsi::Runtime::PointerValue { + protected virtual ~PointerValue() = default; + public virtual void invalidate() noexcept = 0; +} + +class facebook::jsi::Scope { + public Scope(const facebook::jsi::Scope&) = delete; + public Scope(facebook::jsi::Runtime& rt); + public Scope(facebook::jsi::Scope&&) = delete; + public facebook::jsi::Scope& operator=(const facebook::jsi::Scope&) = delete; + public facebook::jsi::Scope& operator=(facebook::jsi::Scope&&) = delete; + public ~Scope(); + template + public static decltype(f()) callInNewScope(facebook::jsi::Runtime& rt, F f); +} + +class facebook::jsi::SourceJavaScriptPreparation : public facebook::jsi::PreparedJavaScript, public facebook::jsi::Buffer { + public SourceJavaScriptPreparation(std::shared_ptr buf, std::string sourceURL); + public const std::string& sourceURL() const; + public virtual const uint8_t* data() const override; + public virtual size_t size() const override; +} + +class facebook::jsi::String : public facebook::jsi::Pointer { + public String(facebook::jsi::Pointer&& other) noexcept; + public String(facebook::jsi::Runtime::PointerValue* ptr); + public String(facebook::jsi::String&& other) = default; + public facebook::jsi::String& operator=(facebook::jsi::String&& other) = default; + public static bool strictEquals(facebook::jsi::Runtime& runtime, const facebook::jsi::String& a, const facebook::jsi::String& b); + public static facebook::jsi::String createFromAscii(facebook::jsi::Runtime& runtime, const char* str); + public static facebook::jsi::String createFromAscii(facebook::jsi::Runtime& runtime, const char* str, size_t length); + public static facebook::jsi::String createFromAscii(facebook::jsi::Runtime& runtime, const std::string& str); + public static facebook::jsi::String createFromUtf8(facebook::jsi::Runtime& runtime, const std::string& utf8); + public static facebook::jsi::String createFromUtf8(facebook::jsi::Runtime& runtime, const uint8_t* utf8, size_t length); + public static facebook::jsi::String createFromUtf16(facebook::jsi::Runtime& runtime, const char16_t* utf16, size_t length); + public static facebook::jsi::String createFromUtf16(facebook::jsi::Runtime& runtime, const std::u16string& utf16); + public std::string utf8(facebook::jsi::Runtime& runtime) const; + public std::u16string utf16(facebook::jsi::Runtime& runtime) const; + template + public void getStringData(facebook::jsi::Runtime& runtime, CB& cb) const; +} + +class facebook::jsi::StringBuffer : public facebook::jsi::Buffer { + public StringBuffer(std::string s); + public virtual const uint8_t* data() const override; + public virtual size_t size() const override; +} + +class facebook::jsi::Symbol : public facebook::jsi::Pointer { + public Symbol(facebook::jsi::Pointer&& other) noexcept; + public Symbol(facebook::jsi::Runtime::PointerValue* ptr); + public Symbol(facebook::jsi::Symbol&& other) = default; + public facebook::jsi::Symbol& operator=(facebook::jsi::Symbol&& other) = default; + public static bool strictEquals(facebook::jsi::Runtime& runtime, const facebook::jsi::Symbol& a, const facebook::jsi::Symbol& b); + public std::string toString(facebook::jsi::Runtime& runtime) const; +} + +class facebook::jsi::ThreadSafeRuntime : public facebook::jsi::Runtime { + public virtual facebook::jsi::Runtime& getUnsafeRuntime() = 0; + public virtual void lock() const = 0; + public virtual void unlock() const = 0; +} + +class facebook::jsi::UUID { + public constexpr UUID(); + public constexpr UUID(const facebook::jsi::UUID&) = default; + public constexpr UUID(uint32_t timeLow, uint16_t timeMid, uint16_t timeHighAndVersion, uint16_t variantAndClockSeq, uint64_t node); + public constexpr bool operator!=(const facebook::jsi::UUID& other) const; + public constexpr bool operator<(const facebook::jsi::UUID& other) const; + public constexpr bool operator==(const facebook::jsi::UUID& other) const; + public constexpr facebook::jsi::UUID& operator=(const facebook::jsi::UUID&) = default; + public constexpr uint16_t getTimeHighAndVersion() const; + public constexpr uint16_t getTimeMid() const; + public constexpr uint16_t getVariantAndClockSeq() const; + public constexpr uint32_t getTimeLow() const; + public constexpr uint64_t getNode() const; + public std::string toString() const; +} + +struct facebook::jsi::UUID::Hash { + public std::size_t operator()(const facebook::jsi::UUID& uuid) const noexcept; +} + +class facebook::jsi::Value { + public Value() noexcept; + public Value(bool b); + public Value(double d); + public Value(facebook::jsi::Runtime& runtime, const facebook::jsi::BigInt& bigint); + public Value(facebook::jsi::Runtime& runtime, const facebook::jsi::Object& obj); + public Value(facebook::jsi::Runtime& runtime, const facebook::jsi::String& str); + public Value(facebook::jsi::Runtime& runtime, const facebook::jsi::Symbol& sym); + public Value(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value); + public Value(facebook::jsi::Value&& other) noexcept; + public Value(int i); + public Value(std::nullptr_t); + public bool asBool() const; + public bool getBool() const; + public bool isBigInt() const; + public bool isBool() const; + public bool isNull() const; + public bool isNumber() const; + public bool isObject() const; + public bool isString() const; + public bool isSymbol() const; + public bool isUndefined() const; + public double asNumber() const; + public double getNumber() const; + public facebook::jsi::BigInt asBigInt(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::BigInt asBigInt(facebook::jsi::Runtime& runtime); + public facebook::jsi::BigInt getBigInt(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::BigInt getBigInt(facebook::jsi::Runtime&); + public facebook::jsi::Object asObject(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Object asObject(facebook::jsi::Runtime& runtime); + public facebook::jsi::Object getObject(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Object getObject(facebook::jsi::Runtime&); + public facebook::jsi::String asString(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::String asString(facebook::jsi::Runtime& runtime); + public facebook::jsi::String getString(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::String getString(facebook::jsi::Runtime&); + public facebook::jsi::String toString(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Symbol asSymbol(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Symbol asSymbol(facebook::jsi::Runtime& runtime); + public facebook::jsi::Symbol getSymbol(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Symbol getSymbol(facebook::jsi::Runtime&); + public facebook::jsi::Value& operator=(facebook::jsi::Value&& other) noexcept; + public static bool strictEquals(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& a, const facebook::jsi::Value& b); + public static facebook::jsi::Value createFromJsonUtf8(facebook::jsi::Runtime& runtime, const uint8_t* json, size_t length); + public static facebook::jsi::Value null(); + public static facebook::jsi::Value undefined(); + public ~Value(); + template + public Value(const char*); + template + public Value(facebook::jsi::Runtime&, const char*); + template ::value || std::is_base_of::value || std::is_base_of::value || std::is_base_of::value>> + public Value(T&& other); +} + +class facebook::jsi::WeakObject : public facebook::jsi::Pointer { + public WeakObject(facebook::jsi::Pointer&& other) noexcept; + public WeakObject(facebook::jsi::Runtime& runtime, const facebook::jsi::Object& o); + public WeakObject(facebook::jsi::Runtime::PointerValue* ptr); + public WeakObject(facebook::jsi::WeakObject&& other) = default; + public facebook::jsi::Value lock(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::WeakObject& operator=(facebook::jsi::WeakObject&& other) = default; +} + +struct facebook::jsi::ICast { + protected ~ICast() = default; + public virtual facebook::jsi::ICast* castInterface(const facebook::jsi::UUID& interfaceUUID) = 0; +} + +template +class facebook::jsi::RuntimeDecorator : public facebook::jsi::Runtime { + protected RuntimeDecorator(Plain& plain); + protected virtual Runtime::ScopeState* pushScope() override; + protected virtual bool bigintIsInt64(const facebook::jsi::BigInt& b) override; + protected virtual bool bigintIsUint64(const facebook::jsi::BigInt& b) override; + protected virtual bool compare(const facebook::jsi::PropNameID& a, const facebook::jsi::PropNameID& b) override; + protected virtual bool hasNativeState(const facebook::jsi::Object& o) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::String& name) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::Value& name) override; + protected virtual bool instanceOf(const facebook::jsi::Object& o, const facebook::jsi::Function& f) override; + protected virtual bool isArray(const facebook::jsi::Object& o) const override; + protected virtual bool isArrayBuffer(const facebook::jsi::Object& o) const override; + protected virtual bool isFunction(const facebook::jsi::Object& o) const override; + protected virtual bool isHostFunction(const facebook::jsi::Function& f) const override; + protected virtual bool isHostObject(const facebook::jsi::Object& o) const override; + protected virtual bool strictEquals(const facebook::jsi::BigInt& a, const facebook::jsi::BigInt& b) const override; + protected virtual bool strictEquals(const facebook::jsi::Object& a, const facebook::jsi::Object& b) const override; + protected virtual bool strictEquals(const facebook::jsi::String& a, const facebook::jsi::String& b) const override; + protected virtual bool strictEquals(const facebook::jsi::Symbol& a, const facebook::jsi::Symbol& b) const override; + protected virtual const void* getRuntimeDataImpl(const facebook::jsi::UUID& uuid) override; + protected virtual facebook::jsi::Array createArray(size_t length) override; + protected virtual facebook::jsi::Array getPropertyNames(const facebook::jsi::Object& o) override; + protected virtual facebook::jsi::ArrayBuffer createArrayBuffer(std::shared_ptr buffer) override; + protected virtual facebook::jsi::BigInt createBigIntFromInt64(int64_t value) override; + protected virtual facebook::jsi::BigInt createBigIntFromUint64(uint64_t value) override; + protected virtual facebook::jsi::Function createFunctionFromHostFunction(const facebook::jsi::PropNameID& name, unsigned int paramCount, facebook::jsi::HostFunctionType func) override; + protected virtual facebook::jsi::HostFunctionType& getHostFunction(const facebook::jsi::Function& f) override; + protected virtual facebook::jsi::Object createObject() override; + protected virtual facebook::jsi::Object createObject(std::shared_ptr ho) override; + protected virtual facebook::jsi::Object createObjectWithPrototype(const facebook::jsi::Value& prototype) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromAscii(const char* str, size_t length) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromString(const facebook::jsi::String& str) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromSymbol(const facebook::jsi::Symbol& sym) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf8(const uint8_t* utf8, size_t length) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf16(const char16_t* utf16, size_t length) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneBigInt(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneObject(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* clonePropNameID(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneString(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneSymbol(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::String bigintToString(const facebook::jsi::BigInt& bigint, int radix) override; + protected virtual facebook::jsi::String createStringFromAscii(const char* str, size_t length) override; + protected virtual facebook::jsi::String createStringFromUtf8(const uint8_t* utf8, size_t length) override; + protected virtual facebook::jsi::String createStringFromUtf16(const char16_t* utf16, size_t length) override; + protected virtual facebook::jsi::Value call(const facebook::jsi::Function& f, const facebook::jsi::Value& jsThis, const facebook::jsi::Value* args, size_t count) override; + protected virtual facebook::jsi::Value callAsConstructor(const facebook::jsi::Function& f, const facebook::jsi::Value* args, size_t count) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::String& name) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::Value& name) override; + protected virtual facebook::jsi::Value getPrototypeOf(const facebook::jsi::Object& object) override; + protected virtual facebook::jsi::Value getValueAtIndex(const facebook::jsi::Array& a, size_t i) override; + protected virtual facebook::jsi::Value lockWeakObject(const facebook::jsi::WeakObject& wo) override; + protected virtual facebook::jsi::WeakObject createWeakObject(const facebook::jsi::Object& o) override; + protected virtual size_t size(const facebook::jsi::Array& a) override; + protected virtual size_t size(const facebook::jsi::ArrayBuffer& ab) override; + protected virtual std::shared_ptr getHostObject(const facebook::jsi::Object& o) override; + protected virtual std::shared_ptr getNativeState(const facebook::jsi::Object& o) override; + protected virtual std::string flushAndDisableBridgeTrafficTrace() override; + protected virtual std::string getRecordedGCStats() override; + protected virtual std::string symbolToString(const facebook::jsi::Symbol& sym) override; + protected virtual std::string utf8(const facebook::jsi::PropNameID& id) override; + protected virtual std::string utf8(const facebook::jsi::String& s) override; + protected virtual std::u16string utf16(const facebook::jsi::PropNameID& sym) override; + protected virtual std::u16string utf16(const facebook::jsi::String& str) override; + protected virtual std::unordered_map getHeapInfo(bool includeExpensive) override; + protected virtual uint8_t* data(const facebook::jsi::ArrayBuffer& ab) override; + protected virtual uint64_t truncate(const facebook::jsi::BigInt& b) override; + protected virtual void collectGarbage(std::string cause) override; + protected virtual void createSnapshotToFile(const std::string& path, const facebook::jsi::Instrumentation::HeapSnapshotOptions& options) override; + protected virtual void createSnapshotToStream(std::ostream& os, const facebook::jsi::Instrumentation::HeapSnapshotOptions& options) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::PropNameID& name) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::String& name) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::Value& name) override; + protected virtual void dumpOpcodeStats(std::ostream& os) const override; + protected virtual void dumpProfilerSymbolsToFile(const std::string& fileName) const override; + protected virtual void setExternalMemoryPressure(const facebook::jsi::Object& obj, size_t amount) override; + protected virtual void setNativeState(const facebook::jsi::Object& o, std::shared_ptr state) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::String& name, const facebook::jsi::Value& value) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::Value& name, const facebook::jsi::Value& value) override; + protected virtual void setPrototypeOf(const facebook::jsi::Object& object, const facebook::jsi::Value& prototype) override; + protected virtual void setRuntimeDataImpl(const facebook::jsi::UUID& uuid, const void* data, void(*)(const void* data) deleter) override; + protected virtual void setValueAtIndexImpl(const facebook::jsi::Array& a, size_t i, const facebook::jsi::Value& value) override; + protected virtual void startHeapSampling(size_t samplingInterval) override; + protected virtual void stopHeapSampling(std::ostream& os) override; + protected virtual void stopTrackingHeapObjectStackTraces() override; + protected virtual void writeBasicBlockProfileTraceToFile(const std::string& fileName) const override; + protected void getPropNameIdData(const facebook::jsi::PropNameID& sym, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) override; + protected void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) override; + protected void popScope(Runtime::ScopeState* ss) override; + protected void startTrackingHeapObjectStackTraces(std::function)> callback) override; + public Plain& plain(); + public const Plain& plain() const; + public virtual bool drainMicrotasks(int maxMicrotasksHint) override; + public virtual bool isInspectable() override; + public virtual facebook::jsi::ICast* castInterface(const facebook::jsi::UUID& interfaceUUID) override; + public virtual facebook::jsi::Instrumentation& instrumentation() override; + public virtual facebook::jsi::Object global() override; + public virtual facebook::jsi::Value evaluateJavaScript(const std::shared_ptr& buffer, const std::string& sourceURL) override; + public virtual facebook::jsi::Value evaluatePreparedJavaScript(const std::shared_ptr& js) override; + public virtual std::shared_ptr prepareJavaScript(const std::shared_ptr& buffer, std::string sourceURL) override; + public virtual std::string description() override; + public virtual void queueMicrotask(const facebook::jsi::Function& callback) override; +} + +template +class facebook::jsi::WithRuntimeDecorator : public facebook::jsi::RuntimeDecorator { + protected virtual Runtime::ScopeState* pushScope() override; + protected virtual bool bigintIsInt64(const facebook::jsi::BigInt& bi) override; + protected virtual bool bigintIsUint64(const facebook::jsi::BigInt& bi) override; + protected virtual bool compare(const facebook::jsi::PropNameID& a, const facebook::jsi::PropNameID& b) override; + protected virtual bool hasNativeState(const facebook::jsi::Object& o) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::String& name) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::Value& name) override; + protected virtual bool instanceOf(const facebook::jsi::Object& o, const facebook::jsi::Function& f) override; + protected virtual bool isArray(const facebook::jsi::Object& o) const override; + protected virtual bool isArrayBuffer(const facebook::jsi::Object& o) const override; + protected virtual bool isFunction(const facebook::jsi::Object& o) const override; + protected virtual bool isHostFunction(const facebook::jsi::Function& f) const override; + protected virtual bool isHostObject(const facebook::jsi::Object& o) const override; + protected virtual bool strictEquals(const facebook::jsi::BigInt& a, const facebook::jsi::BigInt& b) const override; + protected virtual bool strictEquals(const facebook::jsi::Object& a, const facebook::jsi::Object& b) const override; + protected virtual bool strictEquals(const facebook::jsi::String& a, const facebook::jsi::String& b) const override; + protected virtual bool strictEquals(const facebook::jsi::Symbol& a, const facebook::jsi::Symbol& b) const override; + protected virtual const void* getRuntimeDataImpl(const facebook::jsi::UUID& uuid) override; + protected virtual facebook::jsi::Array createArray(size_t length) override; + protected virtual facebook::jsi::Array getPropertyNames(const facebook::jsi::Object& o) override; + protected virtual facebook::jsi::ArrayBuffer createArrayBuffer(std::shared_ptr buffer) override; + protected virtual facebook::jsi::BigInt createBigIntFromInt64(int64_t i) override; + protected virtual facebook::jsi::BigInt createBigIntFromUint64(uint64_t i) override; + protected virtual facebook::jsi::Function createFunctionFromHostFunction(const facebook::jsi::PropNameID& name, unsigned int paramCount, facebook::jsi::HostFunctionType func) override; + protected virtual facebook::jsi::HostFunctionType& getHostFunction(const facebook::jsi::Function& f) override; + protected virtual facebook::jsi::Object createObject() override; + protected virtual facebook::jsi::Object createObject(std::shared_ptr ho) override; + protected virtual facebook::jsi::Object createObjectWithPrototype(const facebook::jsi::Value& prototype) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromAscii(const char* str, size_t length) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromString(const facebook::jsi::String& str) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromSymbol(const facebook::jsi::Symbol& sym) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf8(const uint8_t* utf8, size_t length) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf16(const char16_t* utf16, size_t length) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneBigInt(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneObject(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* clonePropNameID(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneString(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneSymbol(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::String bigintToString(const facebook::jsi::BigInt& bi, int i) override; + protected virtual facebook::jsi::String createStringFromAscii(const char* str, size_t length) override; + protected virtual facebook::jsi::String createStringFromUtf8(const uint8_t* utf8, size_t length) override; + protected virtual facebook::jsi::String createStringFromUtf16(const char16_t* utf16, size_t length) override; + protected virtual facebook::jsi::Value call(const facebook::jsi::Function& f, const facebook::jsi::Value& jsThis, const facebook::jsi::Value* args, size_t count) override; + protected virtual facebook::jsi::Value callAsConstructor(const facebook::jsi::Function& f, const facebook::jsi::Value* args, size_t count) override; + protected virtual facebook::jsi::Value createValueFromJsonUtf8(const uint8_t* json, size_t length) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::String& name) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::Value& name) override; + protected virtual facebook::jsi::Value getPrototypeOf(const facebook::jsi::Object& object) override; + protected virtual facebook::jsi::Value getValueAtIndex(const facebook::jsi::Array& a, size_t i) override; + protected virtual facebook::jsi::Value lockWeakObject(const facebook::jsi::WeakObject& wo) override; + protected virtual facebook::jsi::WeakObject createWeakObject(const facebook::jsi::Object& o) override; + protected virtual size_t size(const facebook::jsi::Array& a) override; + protected virtual size_t size(const facebook::jsi::ArrayBuffer& ab) override; + protected virtual std::shared_ptr getHostObject(const facebook::jsi::Object& o) override; + protected virtual std::shared_ptr getNativeState(const facebook::jsi::Object& o) override; + protected virtual std::string symbolToString(const facebook::jsi::Symbol& sym) override; + protected virtual std::string utf8(const facebook::jsi::PropNameID& id) override; + protected virtual std::string utf8(const facebook::jsi::String& s) override; + protected virtual std::u16string utf16(const facebook::jsi::PropNameID& sym) override; + protected virtual std::u16string utf16(const facebook::jsi::String& str) override; + protected virtual uint8_t* data(const facebook::jsi::ArrayBuffer& ab) override; + protected virtual uint64_t truncate(const facebook::jsi::BigInt& bi) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::PropNameID& name) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::String& name) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::Value& name) override; + protected virtual void setExternalMemoryPressure(const facebook::jsi::Object& obj, size_t amt) override; + protected virtual void setNativeState(const facebook::jsi::Object& o, std::shared_ptr state) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::String& name, const facebook::jsi::Value& value) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::Value& name, const facebook::jsi::Value& value) override; + protected virtual void setPrototypeOf(const facebook::jsi::Object& object, const facebook::jsi::Value& prototype) override; + protected virtual void setRuntimeDataImpl(const facebook::jsi::UUID& uuid, const void* data, void(*)(const void* data) deleter) override; + protected virtual void setValueAtIndexImpl(const facebook::jsi::Array& a, size_t i, const facebook::jsi::Value& value) override; + protected void getPropNameIdData(const facebook::jsi::PropNameID& sym, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) override; + protected void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) override; + protected void popScope(Runtime::ScopeState* ss) override; + public WithRuntimeDecorator(Plain& plain, With& with); + public using RD = facebook::jsi::RuntimeDecorator; + public virtual bool drainMicrotasks(int maxMicrotasksHint) override; + public virtual bool isInspectable() override; + public virtual facebook::jsi::ICast* castInterface(const facebook::jsi::UUID& interfaceUUID) override; + public virtual facebook::jsi::Instrumentation& instrumentation() override; + public virtual facebook::jsi::Object global() override; + public virtual facebook::jsi::Value evaluateJavaScript(const std::shared_ptr& buffer, const std::string& sourceURL) override; + public virtual facebook::jsi::Value evaluatePreparedJavaScript(const std::shared_ptr& js) override; + public virtual std::shared_ptr prepareJavaScript(const std::shared_ptr& buffer, std::string sourceURL) override; + public virtual std::string description() override; + public virtual void queueMicrotask(const facebook::jsi::Function& callback) override; +} + + +facebook::jsi::PropNameID facebook::jsi::detail::toPropNameID(facebook::jsi::Runtime& runtime, const char* name); +facebook::jsi::PropNameID facebook::jsi::detail::toPropNameID(facebook::jsi::Runtime& runtime, const std::string& name); +facebook::jsi::PropNameID&& facebook::jsi::detail::toPropNameID(facebook::jsi::Runtime&, facebook::jsi::PropNameID&& name); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime& runtime, const char* str); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime& runtime, const std::string& str); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime&, bool b); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime&, double d); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime&, float f); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime&, int i); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime&, std::nullptr_t); +facebook::jsi::Value&& facebook::jsi::detail::toValue(facebook::jsi::Runtime&, facebook::jsi::Value&& value); +template +void facebook::jsi::detail::throwOrDie(Args &&... args); +template +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime& runtime, const T& other); + +template +class facebook::jsi::detail::ThreadSafeRuntimeImpl : public facebook::jsi::WithRuntimeDecorator, R, facebook::jsi::ThreadSafeRuntime> { + public virtual R& getUnsafeRuntime() override; + public virtual void lock() const override; + public virtual void unlock() const override; + template + public ThreadSafeRuntimeImpl(Args &&... args); +} + +template +struct facebook::jsi::detail::WithLock { + public L lock; + public WithLock(R& r); + public void after(); + public void before(); +} + +template +struct facebook::jsi::detail::AfterCaller { + public static void after(T&); +} + +template +struct facebook::jsi::detail::BeforeCaller { + public static void before(T&); +} + +template +struct facebook::jsi::detail::AfterCaller { + public static void after(T& t); +} + +template +struct facebook::jsi::detail::BeforeCaller { + public static void before(T& t); +} + +template +struct facebook::jsi::detail::AfterCaller> { + public static void after(std::tuple& tuple); +} + +template +struct facebook::jsi::detail::BeforeCaller> { + public static void before(std::tuple& tuple); +} + + +using facebook::yoga::ExperimentalFeatureSet = std::bitset()>; +using facebook::yoga::GridTrackList = std::vector; +template +concept facebook::yoga::Enumeration = std::is_enum_v; +template +concept facebook::yoga::HasOrdinality = (facebook::yoga::ordinalCount()> 0); +YGLogger facebook::yoga::getDefaultLogger(); +bool facebook::yoga::calculateLayoutInternal(facebook::yoga::Node* node, float availableWidth, float availableHeight, facebook::yoga::Direction ownerDirection, facebook::yoga::SizingMode widthSizingMode, facebook::yoga::SizingMode heightSizingMode, float ownerWidth, float ownerHeight, bool performLayout, facebook::yoga::LayoutPassReason reason, facebook::yoga::LayoutData& layoutMarkerData, uint32_t depth, uint32_t generationCount); +bool facebook::yoga::canUseCachedMeasurement(facebook::yoga::SizingMode widthMode, float availableWidth, facebook::yoga::SizingMode heightMode, float availableHeight, facebook::yoga::SizingMode lastWidthMode, float lastAvailableWidth, facebook::yoga::SizingMode lastHeightMode, float lastAvailableHeight, float lastComputedWidth, float lastComputedHeight, float marginRow, float marginColumn, const facebook::yoga::Config* config); +bool facebook::yoga::configUpdateInvalidatesLayout(const facebook::yoga::Config& oldConfig, const facebook::yoga::Config& newConfig); +bool facebook::yoga::inexactEquals(const facebook::yoga::StyleLength& a, const facebook::yoga::StyleLength& b); +bool facebook::yoga::inexactEquals(const facebook::yoga::StyleSizeLength& a, const facebook::yoga::StyleSizeLength& b); +bool facebook::yoga::inexactEquals(double a, double b); +bool facebook::yoga::inexactEquals(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +bool facebook::yoga::inexactEquals(float a, float b); +bool facebook::yoga::isBaselineLayout(const facebook::yoga::Node* node); +bool facebook::yoga::isColumn(const facebook::yoga::FlexDirection flexDirection); +bool facebook::yoga::isRow(const facebook::yoga::FlexDirection flexDirection); +bool facebook::yoga::layoutAbsoluteDescendants(facebook::yoga::Node* containingNode, facebook::yoga::Node* currentNode, facebook::yoga::SizingMode widthSizingMode, facebook::yoga::Direction currentNodeDirection, facebook::yoga::LayoutData& layoutMarkerData, uint32_t currentDepth, uint32_t generationCount, float currentNodeMainOffsetFromContainingBlock, float currentNodeCrossOffsetFromContainingBlock, float containingNodeAvailableInnerWidth, float containingNodeAvailableInnerHeight); +bool facebook::yoga::needsTrailingPosition(const facebook::yoga::FlexDirection axis); +const char* facebook::yoga::LayoutPassReasonToString(facebook::yoga::LayoutPassReason value); +const char* facebook::yoga::toString(facebook::yoga::Align e); +const char* facebook::yoga::toString(facebook::yoga::BoxSizing e); +const char* facebook::yoga::toString(facebook::yoga::Dimension e); +const char* facebook::yoga::toString(facebook::yoga::Direction e); +const char* facebook::yoga::toString(facebook::yoga::Display e); +const char* facebook::yoga::toString(facebook::yoga::Edge e); +const char* facebook::yoga::toString(facebook::yoga::Errata e); +const char* facebook::yoga::toString(facebook::yoga::ExperimentalFeature e); +const char* facebook::yoga::toString(facebook::yoga::FlexDirection e); +const char* facebook::yoga::toString(facebook::yoga::GridTrackType e); +const char* facebook::yoga::toString(facebook::yoga::Gutter e); +const char* facebook::yoga::toString(facebook::yoga::Justify e); +const char* facebook::yoga::toString(facebook::yoga::LogLevel e); +const char* facebook::yoga::toString(facebook::yoga::MeasureMode e); +const char* facebook::yoga::toString(facebook::yoga::NodeType e); +const char* facebook::yoga::toString(facebook::yoga::Overflow e); +const char* facebook::yoga::toString(facebook::yoga::PositionType e); +const char* facebook::yoga::toString(facebook::yoga::Unit e); +const char* facebook::yoga::toString(facebook::yoga::Wrap e); +const facebook::yoga::Node* facebook::yoga::resolveRef(const YGNodeConstRef ref); +constexpr YGAlign facebook::yoga::unscopedEnum(facebook::yoga::Align scoped); +constexpr YGBoxSizing facebook::yoga::unscopedEnum(facebook::yoga::BoxSizing scoped); +constexpr YGDimension facebook::yoga::unscopedEnum(facebook::yoga::Dimension scoped); +constexpr YGDirection facebook::yoga::unscopedEnum(facebook::yoga::Direction scoped); +constexpr YGDisplay facebook::yoga::unscopedEnum(facebook::yoga::Display scoped); +constexpr YGEdge facebook::yoga::unscopedEnum(facebook::yoga::Edge scoped); +constexpr YGErrata facebook::yoga::unscopedEnum(facebook::yoga::Errata scoped); +constexpr YGExperimentalFeature facebook::yoga::unscopedEnum(facebook::yoga::ExperimentalFeature scoped); +constexpr YGFlexDirection facebook::yoga::unscopedEnum(facebook::yoga::FlexDirection scoped); +constexpr YGGridTrackType facebook::yoga::unscopedEnum(facebook::yoga::GridTrackType scoped); +constexpr YGGutter facebook::yoga::unscopedEnum(facebook::yoga::Gutter scoped); +constexpr YGJustify facebook::yoga::unscopedEnum(facebook::yoga::Justify scoped); +constexpr YGLogLevel facebook::yoga::unscopedEnum(facebook::yoga::LogLevel scoped); +constexpr YGMeasureMode facebook::yoga::unscopedEnum(facebook::yoga::MeasureMode scoped); +constexpr YGNodeType facebook::yoga::unscopedEnum(facebook::yoga::NodeType scoped); +constexpr YGOverflow facebook::yoga::unscopedEnum(facebook::yoga::Overflow scoped); +constexpr YGPositionType facebook::yoga::unscopedEnum(facebook::yoga::PositionType scoped); +constexpr YGUnit facebook::yoga::unscopedEnum(facebook::yoga::Unit scoped); +constexpr YGWrap facebook::yoga::unscopedEnum(facebook::yoga::Wrap scoped); +constexpr auto facebook::yoga::maxOrDefined(std::floating_point auto a, std::floating_point auto b); +constexpr auto facebook::yoga::minOrDefined(std::floating_point auto a, std::floating_point auto b); +constexpr auto facebook::yoga::to_underlying(Enumeration auto e) noexcept; +constexpr bool facebook::yoga::isDefined(std::floating_point auto value); +constexpr bool facebook::yoga::isUndefined(std::floating_point auto value); +constexpr bool facebook::yoga::isinf(auto value); +constexpr facebook::yoga::Align facebook::yoga::fallbackAlignment(facebook::yoga::Align align); +constexpr facebook::yoga::Align facebook::yoga::scopedEnum(YGAlign unscoped); +constexpr facebook::yoga::BoxSizing facebook::yoga::scopedEnum(YGBoxSizing unscoped); +constexpr facebook::yoga::Dimension facebook::yoga::scopedEnum(YGDimension unscoped); +constexpr facebook::yoga::Direction facebook::yoga::scopedEnum(YGDirection unscoped); +constexpr facebook::yoga::Display facebook::yoga::scopedEnum(YGDisplay unscoped); +constexpr facebook::yoga::Edge facebook::yoga::scopedEnum(YGEdge unscoped); +constexpr facebook::yoga::Errata facebook::yoga::scopedEnum(YGErrata unscoped); +constexpr facebook::yoga::ExperimentalFeature facebook::yoga::scopedEnum(YGExperimentalFeature unscoped); +constexpr facebook::yoga::FlexDirection facebook::yoga::scopedEnum(YGFlexDirection unscoped); +constexpr facebook::yoga::FloatOptional facebook::yoga::maxOrDefined(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr facebook::yoga::GridTrackType facebook::yoga::scopedEnum(YGGridTrackType unscoped); +constexpr facebook::yoga::Gutter facebook::yoga::scopedEnum(YGGutter unscoped); +constexpr facebook::yoga::Justify facebook::yoga::fallbackAlignment(facebook::yoga::Justify align); +constexpr facebook::yoga::Justify facebook::yoga::scopedEnum(YGJustify unscoped); +constexpr facebook::yoga::LogLevel facebook::yoga::scopedEnum(YGLogLevel unscoped); +constexpr facebook::yoga::MeasureMode facebook::yoga::scopedEnum(YGMeasureMode unscoped); +constexpr facebook::yoga::NodeType facebook::yoga::scopedEnum(YGNodeType unscoped); +constexpr facebook::yoga::Overflow facebook::yoga::scopedEnum(YGOverflow unscoped); +constexpr facebook::yoga::PositionType facebook::yoga::scopedEnum(YGPositionType unscoped); +constexpr facebook::yoga::Unit facebook::yoga::scopedEnum(YGUnit unscoped); +constexpr facebook::yoga::Wrap facebook::yoga::scopedEnum(YGWrap unscoped); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +facebook::yoga::Align facebook::yoga::resolveChildAlignment(const facebook::yoga::Node* node, const facebook::yoga::Node* child); +facebook::yoga::Config* facebook::yoga::resolveRef(const YGConfigRef ref); +facebook::yoga::Dimension facebook::yoga::dimension(facebook::yoga::FlexDirection flexDirection); +facebook::yoga::FlexDirection facebook::yoga::resolveCrossDirection(const facebook::yoga::FlexDirection flexDirection, const facebook::yoga::Direction direction); +facebook::yoga::FlexDirection facebook::yoga::resolveDirection(const facebook::yoga::FlexDirection flexDirection, const facebook::yoga::Direction direction); +facebook::yoga::FlexLine facebook::yoga::calculateFlexLine(facebook::yoga::Node* node, facebook::yoga::Direction ownerDirection, float ownerWidth, float mainAxisOwnerSize, float availableInnerWidth, float availableInnerMainDim, facebook::yoga::Node::LayoutableChildren::Iterator& iterator, size_t lineCount); +facebook::yoga::FloatOptional facebook::yoga::boundAxisWithinMinAndMax(const facebook::yoga::Node *const node, const facebook::yoga::Direction direction, const facebook::yoga::FlexDirection axis, const facebook::yoga::FloatOptional value, const float axisSize, const float widthSize); +facebook::yoga::Justify facebook::yoga::resolveChildJustification(const facebook::yoga::Node* node, const facebook::yoga::Node* child); +facebook::yoga::MeasureMode facebook::yoga::measureMode(facebook::yoga::SizingMode mode); +facebook::yoga::Node* facebook::yoga::resolveRef(const YGNodeRef ref); +facebook::yoga::PhysicalEdge facebook::yoga::flexEndEdge(facebook::yoga::FlexDirection flexDirection); +facebook::yoga::PhysicalEdge facebook::yoga::flexStartEdge(facebook::yoga::FlexDirection flexDirection); +facebook::yoga::PhysicalEdge facebook::yoga::inlineEndEdge(facebook::yoga::FlexDirection flexDirection, facebook::yoga::Direction direction); +facebook::yoga::PhysicalEdge facebook::yoga::inlineStartEdge(facebook::yoga::FlexDirection flexDirection, facebook::yoga::Direction direction); +facebook::yoga::SizingMode facebook::yoga::sizingMode(facebook::yoga::MeasureMode mode); +float facebook::yoga::boundAxis(const facebook::yoga::Node *const node, const facebook::yoga::FlexDirection axis, const facebook::yoga::Direction direction, const float value, const float axisSize, const float widthSize); +float facebook::yoga::calculateAvailableInnerDimension(const facebook::yoga::Node *const node, const facebook::yoga::Direction direction, const facebook::yoga::Dimension dimension, const float availableDim, float paddingAndBorder, const float ownerDim, const float ownerWidth); +float facebook::yoga::calculateBaseline(const facebook::yoga::Node* node); +float facebook::yoga::getPositionOfOppositeEdge(float position, facebook::yoga::FlexDirection axis, const facebook::yoga::Node *const containingNode, const facebook::yoga::Node *const node); +float facebook::yoga::paddingAndBorderForAxis(const facebook::yoga::Node *const node, const facebook::yoga::FlexDirection axis, const facebook::yoga::Direction direction, const float widthSize); +float facebook::yoga::roundValueToPixelGrid(double value, double pointScaleFactor, bool forceCeil, bool forceFloor); +template +constexpr int32_t facebook::yoga::ordinalCount(); +template +auto facebook::yoga::ordinals(); +template +constexpr int32_t facebook::yoga::bitCount(); +template +bool facebook::yoga::inexactEquals(const std::array& val1, const std::array& val2); +void facebook::yoga::assertFatal(bool condition, const char* message); +void facebook::yoga::assertFatalWithConfig(const facebook::yoga::Config* config, bool condition, const char* message); +void facebook::yoga::assertFatalWithNode(const facebook::yoga::Node* node, bool condition, const char* message); +void facebook::yoga::calculateLayout(facebook::yoga::Node* node, float ownerWidth, float ownerHeight, facebook::yoga::Direction ownerDirection); +void facebook::yoga::cleanupContentsNodesRecursively(facebook::yoga::Node *const node); +void facebook::yoga::constrainMaxSizeForMode(const facebook::yoga::Node* node, facebook::yoga::Direction direction, facebook::yoga::FlexDirection axis, float ownerAxisSize, float ownerWidth, facebook::yoga::SizingMode* mode, float* size); +void facebook::yoga::fatalWithMessage(const char* message); +void facebook::yoga::layoutAbsoluteChild(const facebook::yoga::Node* containingNode, const facebook::yoga::Node* node, facebook::yoga::Node* child, float containingBlockWidth, float containingBlockHeight, facebook::yoga::SizingMode widthMode, facebook::yoga::Direction direction, facebook::yoga::LayoutData& layoutMarkerData, uint32_t depth, uint32_t generationCount); +void facebook::yoga::log(const facebook::yoga::Config* config, facebook::yoga::LogLevel level, const char* format, ...) noexcept; +void facebook::yoga::log(const facebook::yoga::Node* node, facebook::yoga::LogLevel level, const char* format, ...) noexcept; +void facebook::yoga::log(facebook::yoga::LogLevel level, const char* format, ...) noexcept; +void facebook::yoga::roundLayoutResultsToPixelGrid(facebook::yoga::Node* node, double absoluteLeft, double absoluteTop); +void facebook::yoga::setChildTrailingPosition(const facebook::yoga::Node *const node, facebook::yoga::Node *const child, const facebook::yoga::FlexDirection axis); +void facebook::yoga::zeroOutLayoutRecursively(facebook::yoga::Node *const node); +constexpr bool facebook::yoga::operator<(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr bool facebook::yoga::operator<=(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr bool facebook::yoga::operator==(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr bool facebook::yoga::operator==(facebook::yoga::FloatOptional lhs, float rhs); +constexpr bool facebook::yoga::operator==(float lhs, facebook::yoga::FloatOptional rhs); +constexpr bool facebook::yoga::operator>(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr bool facebook::yoga::operator>=(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr facebook::yoga::FloatOptional facebook::yoga::operator+(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); + +class facebook::yoga::Config : public YGConfig { + public Config(YGLogger logger); + public YGNodeRef cloneNode(YGNodeConstRef node, YGNodeConstRef owner, size_t childIndex) const; + public bool hasErrata(facebook::yoga::Errata errata) const; + public bool isExperimentalFeatureEnabled(facebook::yoga::ExperimentalFeature feature) const; + public bool useWebDefaults() const; + public facebook::yoga::Errata getErrata() const; + public facebook::yoga::ExperimentalFeatureSet getEnabledExperiments() const; + public float getPointScaleFactor() const; + public static const facebook::yoga::Config& getDefault(); + public uint32_t getVersion() const noexcept; + public void addErrata(facebook::yoga::Errata errata); + public void log(const facebook::yoga::Node* node, facebook::yoga::LogLevel logLevel, const char* format, va_list args) const; + public void removeErrata(facebook::yoga::Errata errata); + public void setCloneNodeCallback(YGCloneNodeFunc cloneNode); + public void setContext(void* context); + public void setErrata(facebook::yoga::Errata errata); + public void setExperimentalFeatureEnabled(facebook::yoga::ExperimentalFeature feature, bool enabled); + public void setLogger(YGLogger logger); + public void setPointScaleFactor(float pointScaleFactor); + public void setUseWebDefaults(bool useWebDefaults); + public void* getContext() const; +} + +class facebook::yoga::Node : public YGNode { + public Node(); + public Node(const facebook::yoga::Config* config); + public Node(const facebook::yoga::Node& node) = default; + public Node(facebook::yoga::Node&& node) noexcept; + public YGDirtiedFunc getDirtiedFunc() const; + public YGSize measure(float availableWidth, facebook::yoga::MeasureMode widthMode, float availableHeight, facebook::yoga::MeasureMode heightMode); + public bool alwaysFormsContainingBlock() const; + public bool getHasNewLayout() const; + public bool hasBaselineFunc() const noexcept; + public bool hasContentsChildren() const; + public bool hasDefiniteLength(facebook::yoga::Dimension dimension, float ownerSize); + public bool hasErrata(facebook::yoga::Errata errata) const; + public bool hasMeasureFunc() const noexcept; + public bool isDirty() const; + public bool isLayoutDimensionDefined(facebook::yoga::FlexDirection axis); + public bool isNodeFlexible(); + public bool isReferenceBaseline() const; + public bool removeChild(facebook::yoga::Node* child); + public const facebook::yoga::Config* getConfig() const; + public const facebook::yoga::LayoutResults& getLayout() const; + public const facebook::yoga::Style& style() const; + public const std::vector& getChildren() const; + public facebook::yoga::Direction resolveDirection(facebook::yoga::Direction ownerDirection); + public facebook::yoga::FloatOptional getResolvedDimension(facebook::yoga::Direction direction, facebook::yoga::Dimension dimension, float referenceLength, float ownerWidth) const; + public facebook::yoga::FloatOptional resolveFlexBasis(facebook::yoga::Direction direction, facebook::yoga::FlexDirection flexDirection, float referenceLength, float ownerWidth) const; + public facebook::yoga::LayoutResults& getLayout(); + public facebook::yoga::Node& operator=(const facebook::yoga::Node&) = delete; + public facebook::yoga::Node* getChild(size_t index) const; + public facebook::yoga::Node* getOwner() const; + public facebook::yoga::Node::LayoutableChildren getLayoutChildren() const; + public facebook::yoga::NodeType getNodeType() const; + public facebook::yoga::Style& style(); + public facebook::yoga::Style::SizeLength getProcessedDimension(facebook::yoga::Dimension dimension) const; + public facebook::yoga::Style::SizeLength processFlexBasis() const; + public float baseline(float width, float height) const; + public float dimensionWithMargin(facebook::yoga::FlexDirection axis, float widthSize); + public float relativePosition(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float axisSize) const; + public float resolveFlexGrow() const; + public float resolveFlexShrink() const; + public size_t getChildCount() const; + public size_t getLayoutChildCount() const; + public size_t getLineIndex() const; + public using LayoutableChildren = facebook::yoga::LayoutableChildren; + public void clearChildren(); + public void cloneChildrenIfNeeded(); + public void cloneContentsChildrenIfNeeded(); + public void insertChild(facebook::yoga::Node* child, size_t index); + public void markDirtyAndPropagate(); + public void processDimensions(); + public void removeChild(size_t index); + public void replaceChild(facebook::yoga::Node* child, size_t index); + public void replaceChild(facebook::yoga::Node* oldChild, facebook::yoga::Node* newChild); + public void reset(); + public void setAlwaysFormsContainingBlock(bool alwaysFormsContainingBlock); + public void setBaselineFunc(YGBaselineFunc baseLineFunc); + public void setChildren(const std::vector& children); + public void setConfig(facebook::yoga::Config* config); + public void setContext(void* context); + public void setDirtiedFunc(YGDirtiedFunc dirtiedFunc); + public void setDirty(bool isDirty); + public void setHasNewLayout(bool hasNewLayout); + public void setIsReferenceBaseline(bool isReferenceBaseline); + public void setLayout(const facebook::yoga::LayoutResults& layout); + public void setLayoutBorder(float border, facebook::yoga::PhysicalEdge edge); + public void setLayoutComputedFlexBasis(facebook::yoga::FloatOptional computedFlexBasis); + public void setLayoutComputedFlexBasisGeneration(uint32_t computedFlexBasisGeneration); + public void setLayoutDimension(float lengthValue, facebook::yoga::Dimension dimension); + public void setLayoutDirection(facebook::yoga::Direction direction); + public void setLayoutHadOverflow(bool hadOverflow); + public void setLayoutLastOwnerDirection(facebook::yoga::Direction direction); + public void setLayoutMargin(float margin, facebook::yoga::PhysicalEdge edge); + public void setLayoutMeasuredDimension(float measuredDimension, facebook::yoga::Dimension dimension); + public void setLayoutPadding(float padding, facebook::yoga::PhysicalEdge edge); + public void setLayoutPosition(float position, facebook::yoga::PhysicalEdge edge); + public void setLineIndex(size_t lineIndex); + public void setMeasureFunc(YGMeasureFunc measureFunc); + public void setNodeType(facebook::yoga::NodeType nodeType); + public void setOwner(facebook::yoga::Node* owner); + public void setPosition(facebook::yoga::Direction direction, float ownerWidth, float ownerHeight); + public void setStyle(const facebook::yoga::Style& style); + public void* getContext() const; +} + +class facebook::yoga::Style { + public bool flexEndMarginIsAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool flexStartMarginIsAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool horizontalInsetsDefined() const; + public bool inlineEndMarginIsAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool inlineStartMarginIsAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isFlexEndPositionAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isFlexEndPositionDefined(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isFlexStartPositionAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isFlexStartPositionDefined(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isInlineEndPositionAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isInlineEndPositionDefined(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isInlineStartPositionAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isInlineStartPositionDefined(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool operator==(const facebook::yoga::Style& other) const; + public bool verticalInsetsDefined() const; + public const facebook::yoga::GridLine& gridColumnEnd() const; + public const facebook::yoga::GridLine& gridColumnStart() const; + public const facebook::yoga::GridLine& gridRowEnd() const; + public const facebook::yoga::GridLine& gridRowStart() const; + public const facebook::yoga::GridTrackList& gridAutoColumns() const; + public const facebook::yoga::GridTrackList& gridAutoRows() const; + public const facebook::yoga::GridTrackList& gridTemplateColumns() const; + public const facebook::yoga::GridTrackList& gridTemplateRows() const; + public facebook::yoga::Align alignContent() const; + public facebook::yoga::Align alignItems() const; + public facebook::yoga::Align alignSelf() const; + public facebook::yoga::BoxSizing boxSizing() const; + public facebook::yoga::Direction direction() const; + public facebook::yoga::Display display() const; + public facebook::yoga::FlexDirection flexDirection() const; + public facebook::yoga::FloatOptional aspectRatio() const; + public facebook::yoga::FloatOptional flex() const; + public facebook::yoga::FloatOptional flexGrow() const; + public facebook::yoga::FloatOptional flexShrink() const; + public facebook::yoga::FloatOptional resolvedMaxDimension(facebook::yoga::Direction direction, facebook::yoga::Dimension axis, float referenceLength, float ownerWidth) const; + public facebook::yoga::FloatOptional resolvedMinDimension(facebook::yoga::Direction direction, facebook::yoga::Dimension axis, float referenceLength, float ownerWidth) const; + public facebook::yoga::Justify justifyContent() const; + public facebook::yoga::Justify justifyItems() const; + public facebook::yoga::Justify justifySelf() const; + public facebook::yoga::Overflow overflow() const; + public facebook::yoga::PositionType positionType() const; + public facebook::yoga::Style::Length border(facebook::yoga::Edge edge) const; + public facebook::yoga::Style::Length gap(facebook::yoga::Gutter gutter) const; + public facebook::yoga::Style::Length margin(facebook::yoga::Edge edge) const; + public facebook::yoga::Style::Length padding(facebook::yoga::Edge edge) const; + public facebook::yoga::Style::Length position(facebook::yoga::Edge edge) const; + public facebook::yoga::Style::SizeLength dimension(facebook::yoga::Dimension axis) const; + public facebook::yoga::Style::SizeLength flexBasis() const; + public facebook::yoga::Style::SizeLength maxDimension(facebook::yoga::Dimension axis) const; + public facebook::yoga::Style::SizeLength minDimension(facebook::yoga::Dimension axis) const; + public facebook::yoga::Wrap flexWrap() const; + public float computeBorderForAxis(facebook::yoga::FlexDirection axis) const; + public float computeFlexEndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public float computeFlexEndMargin(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexEndPadding(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexEndPaddingAndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexEndPosition(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float axisSize) const; + public float computeFlexStartBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public float computeFlexStartMargin(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexStartPadding(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexStartPaddingAndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexStartPosition(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float axisSize) const; + public float computeGapForAxis(facebook::yoga::FlexDirection axis, float ownerSize) const; + public float computeGapForDimension(facebook::yoga::Dimension dimension, float ownerSize) const; + public float computeInlineEndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public float computeInlineEndMargin(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineEndPadding(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineEndPaddingAndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineEndPosition(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float axisSize) const; + public float computeInlineStartBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public float computeInlineStartMargin(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineStartPadding(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineStartPaddingAndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineStartPosition(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float axisSize) const; + public float computeMarginForAxis(facebook::yoga::FlexDirection axis, float widthSize) const; + public float computePaddingAndBorderForDimension(facebook::yoga::Direction direction, facebook::yoga::Dimension dimension, float widthSize) const; + public static constexpr float DefaultFlexGrow; + public static constexpr float DefaultFlexShrink; + public static constexpr float WebDefaultFlexShrink; + public using Length = facebook::yoga::StyleLength; + public using SizeLength = facebook::yoga::StyleSizeLength; + public void resizeGridAutoColumns(size_t count); + public void resizeGridAutoRows(size_t count); + public void resizeGridTemplateColumns(size_t count); + public void resizeGridTemplateRows(size_t count); + public void setAlignContent(facebook::yoga::Align value); + public void setAlignItems(facebook::yoga::Align value); + public void setAlignSelf(facebook::yoga::Align value); + public void setAspectRatio(facebook::yoga::FloatOptional value); + public void setBorder(facebook::yoga::Edge edge, facebook::yoga::Style::Length value); + public void setBoxSizing(facebook::yoga::BoxSizing value); + public void setDimension(facebook::yoga::Dimension axis, facebook::yoga::Style::SizeLength value); + public void setDirection(facebook::yoga::Direction value); + public void setDisplay(facebook::yoga::Display value); + public void setFlex(facebook::yoga::FloatOptional value); + public void setFlexBasis(facebook::yoga::Style::SizeLength value); + public void setFlexDirection(facebook::yoga::FlexDirection value); + public void setFlexGrow(facebook::yoga::FloatOptional value); + public void setFlexShrink(facebook::yoga::FloatOptional value); + public void setFlexWrap(facebook::yoga::Wrap value); + public void setGap(facebook::yoga::Gutter gutter, facebook::yoga::Style::Length value); + public void setGridAutoColumnAt(size_t index, facebook::yoga::GridTrackSize value); + public void setGridAutoColumns(facebook::yoga::GridTrackList value); + public void setGridAutoRowAt(size_t index, facebook::yoga::GridTrackSize value); + public void setGridAutoRows(facebook::yoga::GridTrackList value); + public void setGridColumnEnd(facebook::yoga::GridLine value); + public void setGridColumnStart(facebook::yoga::GridLine value); + public void setGridRowEnd(facebook::yoga::GridLine value); + public void setGridRowStart(facebook::yoga::GridLine value); + public void setGridTemplateColumnAt(size_t index, facebook::yoga::GridTrackSize value); + public void setGridTemplateColumns(facebook::yoga::GridTrackList value); + public void setGridTemplateRowAt(size_t index, facebook::yoga::GridTrackSize value); + public void setGridTemplateRows(facebook::yoga::GridTrackList value); + public void setJustifyContent(facebook::yoga::Justify value); + public void setJustifyItems(facebook::yoga::Justify value); + public void setJustifySelf(facebook::yoga::Justify value); + public void setMargin(facebook::yoga::Edge edge, facebook::yoga::Style::Length value); + public void setMaxDimension(facebook::yoga::Dimension axis, facebook::yoga::Style::SizeLength value); + public void setMinDimension(facebook::yoga::Dimension axis, facebook::yoga::Style::SizeLength value); + public void setOverflow(facebook::yoga::Overflow value); + public void setPadding(facebook::yoga::Edge edge, facebook::yoga::Style::Length value); + public void setPosition(facebook::yoga::Edge edge, facebook::yoga::Style::Length value); + public void setPositionType(facebook::yoga::PositionType value); +} + +class facebook::yoga::StyleLength { + public constexpr StyleLength() = default; + public constexpr bool inexactEquals(const facebook::yoga::StyleLength& other) const; + public constexpr bool isAuto() const; + public constexpr bool isDefined() const; + public constexpr bool isPercent() const; + public constexpr bool isPoints() const; + public constexpr bool isUndefined() const; + public constexpr bool operator==(const facebook::yoga::StyleLength& rhs) const; + public constexpr facebook::yoga::FloatOptional resolve(float referenceLength); + public constexpr facebook::yoga::FloatOptional value() const; + public constexpr operator YGValue() const; + public static constexpr facebook::yoga::StyleLength ofAuto(); + public static constexpr facebook::yoga::StyleLength percent(float value); + public static constexpr facebook::yoga::StyleLength points(float value); + public static constexpr facebook::yoga::StyleLength undefined(); +} + +class facebook::yoga::StyleSizeLength { + public constexpr StyleSizeLength() = default; + public constexpr bool inexactEquals(const facebook::yoga::StyleSizeLength& other) const; + public constexpr bool isAuto() const; + public constexpr bool isDefined() const; + public constexpr bool isFitContent() const; + public constexpr bool isMaxContent() const; + public constexpr bool isPercent() const; + public constexpr bool isPoints() const; + public constexpr bool isStretch() const; + public constexpr bool isUndefined() const; + public constexpr bool operator==(const facebook::yoga::StyleSizeLength& rhs) const; + public constexpr facebook::yoga::FloatOptional resolve(float referenceLength) const; + public constexpr facebook::yoga::FloatOptional value() const; + public constexpr operator YGValue() const; + public static constexpr facebook::yoga::StyleSizeLength ofAuto(); + public static constexpr facebook::yoga::StyleSizeLength ofFitContent(); + public static constexpr facebook::yoga::StyleSizeLength ofMaxContent(); + public static constexpr facebook::yoga::StyleSizeLength ofStretch(); + public static constexpr facebook::yoga::StyleSizeLength percent(float value); + public static constexpr facebook::yoga::StyleSizeLength points(float value); + public static constexpr facebook::yoga::StyleSizeLength stretch(float fraction); + public static constexpr facebook::yoga::StyleSizeLength undefined(); +} + +class facebook::yoga::StyleValueHandle { + public constexpr bool isAuto() const; + public constexpr bool isDefined() const; + public constexpr bool isUndefined() const; + public static constexpr facebook::yoga::StyleValueHandle ofAuto(); +} + +class facebook::yoga::StyleValuePool { + public facebook::yoga::FloatOptional getNumber(facebook::yoga::StyleValueHandle handle) const; + public facebook::yoga::StyleLength getLength(facebook::yoga::StyleValueHandle handle) const; + public facebook::yoga::StyleSizeLength getSize(facebook::yoga::StyleValueHandle handle) const; + public void store(facebook::yoga::StyleValueHandle& handle, facebook::yoga::FloatOptional number); + public void store(facebook::yoga::StyleValueHandle& handle, facebook::yoga::StyleLength length); + public void store(facebook::yoga::StyleValueHandle& handle, facebook::yoga::StyleSizeLength sizeValue); +} + +enum facebook::yoga::Align : uint8_t { + Auto, + Baseline, + Center, + End, + FlexEnd, + FlexStart, + SpaceAround, + SpaceBetween, + SpaceEvenly, + Start, + Stretch, +} + +enum facebook::yoga::BoxSizing : uint8_t { + BorderBox, + ContentBox, +} + +enum facebook::yoga::Dimension : uint8_t { + Height, + Width, +} + +enum facebook::yoga::Direction : uint8_t { + Inherit, + LTR, + RTL, +} + +enum facebook::yoga::Display : uint8_t { + Contents, + Flex, + Grid, + None, +} + +enum facebook::yoga::Edge : uint8_t { + All, + Bottom, + End, + Horizontal, + Left, + Right, + Start, + Top, + Vertical, +} + +enum facebook::yoga::Errata : uint32_t { + AbsolutePercentAgainstInnerSize, + AbsolutePositionWithoutInsetsExcludesPadding, + All, + Classic, + None, + StretchFlexBasis, +} + +enum facebook::yoga::ExperimentalFeature : uint8_t { + FixFlexBasisFitContent, + WebFlexBasis, +} + +enum facebook::yoga::FlexDirection : uint8_t { + Column, + ColumnReverse, + Row, + RowReverse, +} + +enum facebook::yoga::GridLineType : uint8_t { + Auto, + Integer, + Span, +} + +enum facebook::yoga::GridTrackType : uint8_t { + Auto, + Fr, + Minmax, + Percent, + Points, +} + +enum facebook::yoga::Gutter : uint8_t { + All, + Column, + Row, +} + +enum facebook::yoga::Justify : uint8_t { + Auto, + Center, + End, + FlexEnd, + FlexStart, + SpaceAround, + SpaceBetween, + SpaceEvenly, + Start, + Stretch, +} + +enum facebook::yoga::LayoutPassReason : int { + COUNT, + kAbsLayout, + kAbsMeasureChild, + kFlexLayout, + kFlexMeasure, + kGridLayout, + kInitial, + kMeasureChild, + kMultilineStretch, + kStretch, +} + +enum facebook::yoga::LayoutType : int { + kCachedLayout, + kCachedMeasure, + kLayout, + kMeasure, +} + +enum facebook::yoga::LogLevel : uint8_t { + Debug, + Error, + Fatal, + Info, + Verbose, + Warn, +} + +enum facebook::yoga::MeasureMode : uint8_t { + AtMost, + Exactly, + Undefined, +} + +enum facebook::yoga::NodeType : uint8_t { + Default, + Text, +} + +enum facebook::yoga::Overflow : uint8_t { + Hidden, + Scroll, + Visible, +} + +enum facebook::yoga::PhysicalEdge : uint32_t { + Bottom, + Left, + Right, + Top, +} + +enum facebook::yoga::PositionType : uint8_t { + Absolute, + Relative, + Static, +} + +enum facebook::yoga::SizingMode { + FitContent, + MaxContent, + StretchFit, +} + +enum facebook::yoga::Unit : uint8_t { + Auto, + FitContent, + MaxContent, + Percent, + Point, + Stretch, + Undefined, +} + +enum facebook::yoga::Wrap : uint8_t { + NoWrap, + Wrap, + WrapReverse, +} + +struct facebook::yoga::CachedMeasurement { + public bool operator==(facebook::yoga::CachedMeasurement measurement) const; + public facebook::yoga::SizingMode heightSizingMode; + public facebook::yoga::SizingMode widthSizingMode; + public float availableHeight; + public float availableWidth; + public float computedHeight; + public float computedWidth; +} + +struct facebook::yoga::Event { + public static void reset(); + public static void subscribe(std::function&& subscriber); + public using Subscriber = void(YGNodeConstRef, facebook::yoga::Event::Type, facebook::yoga::Event::Data); + public using Subscribers = std::vector>; + template + public static void publish(YGNodeConstRef node, const facebook::yoga::Event::TypedData& eventData = {}); +} + +class facebook::yoga::Event::Data { + template + public Data(const facebook::yoga::Event::TypedData& data); + template + public const facebook::yoga::Event::TypedData& get() const; +} + +enum facebook::yoga::Event::Type { + LayoutPassEnd, + LayoutPassStart, + MeasureCallbackEnd, + MeasureCallbackStart, + NodeAllocation, + NodeBaselineEnd, + NodeBaselineStart, + NodeDeallocation, + NodeLayout, +} + +template +struct facebook::yoga::Event::TypedData { +} + +struct facebook::yoga::Event::TypedData { + public facebook::yoga::LayoutData* layoutData; +} + +struct facebook::yoga::Event::TypedData { + public YGMeasureMode heightMeasureMode; + public YGMeasureMode widthMeasureMode; + public const facebook::yoga::LayoutPassReason reason; + public float height; + public float measuredHeight; + public float measuredWidth; + public float width; +} + +struct facebook::yoga::Event::TypedData { + public YGConfigConstRef config; +} + +struct facebook::yoga::Event::TypedData { + public YGConfigConstRef config; +} + +struct facebook::yoga::Event::TypedData { + public facebook::yoga::LayoutType layoutType; +} + +struct facebook::yoga::FlexLine { + public const float sizeConsumed; + public const size_t numberOfAutoMargins; + public const std::vector itemsInFlow; + public facebook::yoga::FlexLineRunningLayout layout; +} + +struct facebook::yoga::FlexLineRunningLayout { + public float crossDim; + public float mainDim; + public float remainingFreeSpace; + public float totalFlexGrowFactors; + public float totalFlexShrinkScaledFactors; +} + +struct facebook::yoga::FloatOptional { + public constexpr FloatOptional() = default; + public constexpr FloatOptional(float value); + public constexpr bool isDefined() const; + public constexpr bool isUndefined() const; + public constexpr float unwrap() const; + public constexpr float unwrapOrDefault(float defaultValue) const; +} + +struct facebook::yoga::GridLine { + public bool operator==(const facebook::yoga::GridLine& other) const = default; + public constexpr bool isAuto() const; + public constexpr bool isInteger() const; + public constexpr bool isSpan() const; + public facebook::yoga::GridLineType type; + public int32_t integer; + public static constexpr facebook::yoga::GridLine auto_(); + public static constexpr facebook::yoga::GridLine fromInteger(int32_t value); + public static constexpr facebook::yoga::GridLine span(int32_t value); +} + +struct facebook::yoga::GridTrackSize { + public bool infinitelyGrowable; + public bool operator==(const facebook::yoga::GridTrackSize& other) const = default; + public facebook::yoga::StyleSizeLength maxSizingFunction; + public facebook::yoga::StyleSizeLength minSizingFunction; + public float baseSize; + public float growthLimit; + public static constexpr facebook::yoga::GridTrackSize auto_(); + public static constexpr facebook::yoga::GridTrackSize fr(float fraction); + public static constexpr facebook::yoga::GridTrackSize length(float points); + public static constexpr facebook::yoga::GridTrackSize minmax(facebook::yoga::StyleSizeLength min, facebook::yoga::StyleSizeLength max); + public static constexpr facebook::yoga::GridTrackSize percent(float percentage); +} + +struct facebook::yoga::LayoutData { + public int cachedLayouts; + public int cachedMeasures; + public int layouts; + public int measureCallbacks; + public int measures; + public std::array(facebook::yoga::LayoutPassReason::COUNT)> measureCallbackReasonsCount; + public uint32_t maxMeasureCache; +} + +struct facebook::yoga::LayoutResults { + public bool hadOverflow() const; + public bool operator==(facebook::yoga::LayoutResults layout) const; + public facebook::yoga::CachedMeasurement cachedLayout; + public facebook::yoga::Direction direction() const; + public facebook::yoga::Direction lastOwnerDirection; + public facebook::yoga::FloatOptional computedFlexBasis; + public float border(facebook::yoga::PhysicalEdge physicalEdge) const; + public float dimension(facebook::yoga::Dimension axis) const; + public float margin(facebook::yoga::PhysicalEdge physicalEdge) const; + public float measuredDimension(facebook::yoga::Dimension axis) const; + public float padding(facebook::yoga::PhysicalEdge physicalEdge) const; + public float position(facebook::yoga::PhysicalEdge physicalEdge) const; + public float rawDimension(facebook::yoga::Dimension axis) const; + public static constexpr int32_t MaxCachedMeasurements; + public std::array cachedMeasurements; + public uint32_t computedFlexBasisGeneration; + public uint32_t configVersion; + public uint32_t generationCount; + public uint32_t nextCachedMeasurementsIndex; + public void setBorder(facebook::yoga::PhysicalEdge physicalEdge, float dimension); + public void setDimension(facebook::yoga::Dimension axis, float dimension); + public void setDirection(facebook::yoga::Direction direction); + public void setHadOverflow(bool hadOverflow); + public void setMargin(facebook::yoga::PhysicalEdge physicalEdge, float dimension); + public void setMeasuredDimension(facebook::yoga::Dimension axis, float dimension); + public void setPadding(facebook::yoga::PhysicalEdge physicalEdge, float dimension); + public void setPosition(facebook::yoga::PhysicalEdge physicalEdge, float dimension); + public void setRawDimension(facebook::yoga::Dimension axis, float dimension); +} + +template +class facebook::yoga::SmallValueBuffer { + public SmallValueBuffer() = default; + public SmallValueBuffer(const facebook::yoga::SmallValueBuffer& other); + public SmallValueBuffer(facebook::yoga::SmallValueBuffer&& other) noexcept = default; + public facebook::yoga::SmallValueBuffer& operator=(const facebook::yoga::SmallValueBuffer& other); + public facebook::yoga::SmallValueBuffer& operator=(facebook::yoga::SmallValueBuffer&& other) noexcept = default; + public uint16_t push(uint32_t value); + public uint16_t push(uint64_t value); + public uint16_t replace(uint16_t index, uint32_t value); + public uint16_t replace(uint16_t index, uint64_t value); + public uint32_t get32(uint16_t index) const; + public uint64_t get64(uint16_t index) const; +} + +template +class facebook::yoga::LayoutableChildren { + public LayoutableChildren(const T* node); + public facebook::yoga::LayoutableChildren::Iterator begin() const; + public facebook::yoga::LayoutableChildren::Iterator end() const; +} + +struct facebook::yoga::LayoutableChildren::Iterator { + public Iterator() = default; + public Iterator(const T* node, size_t childIndex); + public T* operator*() const; + public facebook::yoga::LayoutableChildren::Iterator operator++(int); + public facebook::yoga::LayoutableChildren::Iterator& operator++(); + public using difference_type = std::ptrdiff_t; + public using iterator_category = std::input_iterator_tag; + public using pointer = T*; + public using reference = T*; + public using value_type = T*; +} + + +struct JS::NativeAccessibilityManager::SpecAnnounceForAccessibilityWithOptionsOptions { + protected NSString* priority() const; + protected SpecAnnounceForAccessibilityWithOptionsOptions(NSDictionary* const v); + protected std::optional queue() const; +} + +struct JS::NativeAccessibilityManager::SpecSetAccessibilityContentSizeMultipliersJSMultipliers { + protected SpecSetAccessibilityContentSizeMultipliersJSMultipliers(NSDictionary* const v); + protected std::optional accessibilityExtraExtraExtraLarge() const; + protected std::optional accessibilityExtraExtraLarge() const; + protected std::optional accessibilityExtraLarge() const; + protected std::optional accessibilityLarge() const; + protected std::optional accessibilityMedium() const; + protected std::optional extraExtraExtraLarge() const; + protected std::optional extraExtraLarge() const; + protected std::optional extraLarge() const; + protected std::optional extraSmall() const; + protected std::optional large() const; + protected std::optional medium() const; + protected std::optional small() const; +} + + +struct JS::NativeActionSheetManager::SpecShowActionSheetWithOptionsOptions { + protected NSString* message() const; + protected NSString* title() const; + protected NSString* userInterfaceStyle() const; + protected SpecShowActionSheetWithOptionsOptions(NSDictionary* const v); + protected std::optional anchor() const; + protected std::optional cancelButtonIndex() const; + protected std::optional cancelButtonTintColor() const; + protected std::optional disabledButtonTintColor() const; + protected std::optional tintColor() const; + protected std::optional> options() const; + protected std::optional> destructiveButtonIndices() const; + protected std::optional> disabledButtonIndices() const; +} + +struct JS::NativeActionSheetManager::SpecShowShareActionSheetWithOptionsOptions { + protected NSString* message() const; + protected NSString* subject() const; + protected NSString* url() const; + protected NSString* userInterfaceStyle() const; + protected SpecShowShareActionSheetWithOptionsOptions(NSDictionary* const v); + protected std::optional anchor() const; + protected std::optional cancelButtonTintColor() const; + protected std::optional disabledButtonTintColor() const; + protected std::optional tintColor() const; + protected std::optional> excludedActivityTypes() const; +} + + +struct JS::NativeAlertManager::Args { + protected Args(NSDictionary* const v); + protected NSString* cancelButtonKey() const; + protected NSString* defaultValue() const; + protected NSString* destructiveButtonKey() const; + protected NSString* keyboardType() const; + protected NSString* message() const; + protected NSString* preferredButtonKey() const; + protected NSString* title() const; + protected NSString* type() const; + protected NSString* userInterfaceStyle() const; + protected std::optional>> buttons() const; +} + + +struct JS::NativeAnimatedModule::EventMapping { + protected EventMapping(NSDictionary* const v); + protected facebook::react::LazyVector nativeEventPath() const; + protected std::optional animatedValueTag() const; +} + + +struct JS::NativeAnimatedTurboModule::EventMapping { + protected EventMapping(NSDictionary* const v); + protected facebook::react::LazyVector nativeEventPath() const; + protected std::optional animatedValueTag() const; +} + + +struct JS::NativeAppState::Constants { + protected NSDictionary* unsafeRawValue() const; + protected static JS::NativeAppState::Constants fromUnsafeRawValue(NSDictionary* const v); +} + +struct JS::NativeAppState::Constants::Builder { + protected Builder(JS::NativeAppState::Constants i); + protected Builder(const JS::NativeAppState::Constants::Builder::Input i); + protected NSDictionary* buildUnsafeRawValue() const; + protected using ResultT = JS::NativeAppState::Constants; +} + +struct JS::NativeAppState::Constants::Builder::Input { + protected RCTRequired initialAppState; +} + + +struct JS::NativeBlobModule::Constants { + protected NSDictionary* unsafeRawValue() const; + protected static JS::NativeBlobModule::Constants fromUnsafeRawValue(NSDictionary* const v); +} + +struct JS::NativeBlobModule::Constants::Builder { + protected Builder(JS::NativeBlobModule::Constants i); + protected Builder(const JS::NativeBlobModule::Constants::Builder::Input i); + protected NSDictionary* buildUnsafeRawValue() const; + protected using ResultT = JS::NativeBlobModule::Constants; +} + +struct JS::NativeBlobModule::Constants::Builder::Input { + protected RCTRequired BLOB_URI_HOST; + protected RCTRequired BLOB_URI_SCHEME; +} + + +struct JS::NativeDeviceInfo::Constants { + protected NSDictionary* unsafeRawValue() const; + protected static JS::NativeDeviceInfo::Constants fromUnsafeRawValue(NSDictionary* const v); +} + +struct JS::NativeDeviceInfo::Constants::Builder { + protected Builder(JS::NativeDeviceInfo::Constants i); + protected Builder(const JS::NativeDeviceInfo::Constants::Builder::Input i); + protected NSDictionary* buildUnsafeRawValue() const; + protected using ResultT = JS::NativeDeviceInfo::Constants; +} + +struct JS::NativeDeviceInfo::Constants::Builder::Input { + protected RCTRequired Dimensions; + protected std::optional isEdgeToEdge; + protected std::optional isIPhoneX_deprecated; +} + +struct JS::NativeDeviceInfo::DimensionsPayload { + protected NSDictionary* unsafeRawValue() const; + protected static JS::NativeDeviceInfo::DimensionsPayload fromUnsafeRawValue(NSDictionary* const v); +} + +struct JS::NativeDeviceInfo::DimensionsPayload::Builder { + protected Builder(JS::NativeDeviceInfo::DimensionsPayload i); + protected Builder(const JS::NativeDeviceInfo::DimensionsPayload::Builder::Input i); + protected NSDictionary* buildUnsafeRawValue() const; + protected using ResultT = JS::NativeDeviceInfo::DimensionsPayload; +} + +struct JS::NativeDeviceInfo::DimensionsPayload::Builder::Input { + protected std::optional screen; + protected std::optional window; + protected std::optional screenPhysicalPixels; + protected std::optional windowPhysicalPixels; +} + +struct JS::NativeDeviceInfo::DisplayMetrics { + protected NSDictionary* unsafeRawValue() const; + protected static JS::NativeDeviceInfo::DisplayMetrics fromUnsafeRawValue(NSDictionary* const v); +} + +struct JS::NativeDeviceInfo::DisplayMetrics::Builder { + protected Builder(JS::NativeDeviceInfo::DisplayMetrics i); + protected Builder(const JS::NativeDeviceInfo::DisplayMetrics::Builder::Input i); + protected NSDictionary* buildUnsafeRawValue() const; + protected using ResultT = JS::NativeDeviceInfo::DisplayMetrics; +} + +struct JS::NativeDeviceInfo::DisplayMetrics::Builder::Input { + protected RCTRequired fontScale; + protected RCTRequired height; + protected RCTRequired scale; + protected RCTRequired width; +} + +struct JS::NativeDeviceInfo::DisplayMetricsAndroid { + protected NSDictionary* unsafeRawValue() const; + protected static JS::NativeDeviceInfo::DisplayMetricsAndroid fromUnsafeRawValue(NSDictionary* const v); +} + +struct JS::NativeDeviceInfo::DisplayMetricsAndroid::Builder { + protected Builder(JS::NativeDeviceInfo::DisplayMetricsAndroid i); + protected Builder(const JS::NativeDeviceInfo::DisplayMetricsAndroid::Builder::Input i); + protected NSDictionary* buildUnsafeRawValue() const; + protected using ResultT = JS::NativeDeviceInfo::DisplayMetricsAndroid; +} + +struct JS::NativeDeviceInfo::DisplayMetricsAndroid::Builder::Input { + protected RCTRequired densityDpi; + protected RCTRequired fontScale; + protected RCTRequired height; + protected RCTRequired scale; + protected RCTRequired width; +} + + +struct JS::NativeExceptionsManager::ExceptionData { + protected ExceptionData(NSDictionary* const v); + protected NSString* componentStack() const; + protected NSString* message() const; + protected NSString* name() const; + protected NSString* originalMessage() const; + protected bool isFatal() const; + protected double id_() const; + protected facebook::react::LazyVector stack() const; + protected id _Nullable extraData() const; +} + +struct JS::NativeExceptionsManager::StackFrame { + protected NSString* file() const; + protected NSString* methodName() const; + protected StackFrame(NSDictionary* const v); + protected std::optional collapse() const; + protected std::optional column() const; + protected std::optional lineNumber() const; +} + + +struct JS::NativeFrameRateLogger::SpecSetGlobalOptionsOptions { + protected SpecSetGlobalOptionsOptions(NSDictionary* const v); + protected std::optional debug() const; +} + + +struct JS::NativeI18nManager::Constants { + protected NSDictionary* unsafeRawValue() const; + protected static JS::NativeI18nManager::Constants fromUnsafeRawValue(NSDictionary* const v); +} + +struct JS::NativeI18nManager::Constants::Builder { + protected Builder(JS::NativeI18nManager::Constants i); + protected Builder(const JS::NativeI18nManager::Constants::Builder::Input i); + protected NSDictionary* buildUnsafeRawValue() const; + protected using ResultT = JS::NativeI18nManager::Constants; +} + +struct JS::NativeI18nManager::Constants::Builder::Input { + protected NSString* localeIdentifier; + protected RCTRequired doLeftAndRightSwapInRTL; + protected RCTRequired isRTL; +} + + +struct JS::NativeImageEditor::Options { + protected JS::NativeImageEditor::OptionsOffset offset() const; + protected JS::NativeImageEditor::OptionsSize size() const; + protected NSString* resizeMode() const; + protected Options(NSDictionary* const v); + protected std::optional displaySize() const; + protected std::optional allowExternalStorage() const; +} + +struct JS::NativeImageEditor::OptionsDisplaySize { + protected OptionsDisplaySize(NSDictionary* const v); + protected double height() const; + protected double width() const; +} + +struct JS::NativeImageEditor::OptionsOffset { + protected OptionsOffset(NSDictionary* const v); + protected double x() const; + protected double y() const; +} + +struct JS::NativeImageEditor::OptionsSize { + protected OptionsSize(NSDictionary* const v); + protected double height() const; + protected double width() const; +} + + +struct JS::NativeNetworkingIOS::SpecSendRequestQuery { + protected NSString* method() const; + protected NSString* responseType() const; + protected NSString* unstable_devToolsRequestId() const; + protected NSString* url() const; + protected SpecSendRequestQuery(NSDictionary* const v); + protected bool incrementalUpdates() const; + protected bool withCredentials() const; + protected double timeout() const; + protected id data() const; + protected id headers() const; +} + + +struct JS::NativePlatformConstantsIOS::Constants { + protected NSDictionary* unsafeRawValue() const; + protected static JS::NativePlatformConstantsIOS::Constants fromUnsafeRawValue(NSDictionary* const v); +} + +struct JS::NativePlatformConstantsIOS::Constants::Builder { + protected Builder(JS::NativePlatformConstantsIOS::Constants i); + protected Builder(const JS::NativePlatformConstantsIOS::Constants::Builder::Input i); + protected NSDictionary* buildUnsafeRawValue() const; + protected using ResultT = JS::NativePlatformConstantsIOS::Constants; +} + +struct JS::NativePlatformConstantsIOS::Constants::Builder::Input { + protected RCTRequired reactNativeVersion; + protected RCTRequired interfaceIdiom; + protected RCTRequired osVersion; + protected RCTRequired systemName; + protected RCTRequired forceTouchAvailable; + protected RCTRequired isTesting; + protected std::optional isDisableAnimations; + protected std::optional isMacCatalyst; +} + +struct JS::NativePlatformConstantsIOS::ConstantsReactNativeVersion { + protected NSDictionary* unsafeRawValue() const; + protected static JS::NativePlatformConstantsIOS::ConstantsReactNativeVersion fromUnsafeRawValue(NSDictionary* const v); +} + +struct JS::NativePlatformConstantsIOS::ConstantsReactNativeVersion::Builder { + protected Builder(JS::NativePlatformConstantsIOS::ConstantsReactNativeVersion i); + protected Builder(const JS::NativePlatformConstantsIOS::ConstantsReactNativeVersion::Builder::Input i); + protected NSDictionary* buildUnsafeRawValue() const; + protected using ResultT = JS::NativePlatformConstantsIOS::ConstantsReactNativeVersion; +} + +struct JS::NativePlatformConstantsIOS::ConstantsReactNativeVersion::Builder::Input { + protected RCTRequired prerelease; + protected RCTRequired major; + protected RCTRequired minor; + protected RCTRequired patch; +} + + +struct JS::NativePushNotificationManagerIOS::Notification { + protected NSString* alertBody() const; + protected NSString* alertTitle() const; + protected NSString* category() const; + protected NSString* soundName() const; + protected Notification(NSDictionary* const v); + protected id _Nullable userInfo() const; + protected std::optional isSilent() const; + protected std::optional applicationIconBadgeNumber() const; + protected std::optional fireDate() const; + protected std::optional fireIntervalSeconds() const; +} + +struct JS::NativePushNotificationManagerIOS::SpecRequestPermissionsPermission { + protected SpecRequestPermissionsPermission(NSDictionary* const v); + protected bool alert() const; + protected bool badge() const; + protected bool sound() const; +} + + +struct JS::NativeReactDevToolsRuntimeSettingsModule::PartialReloadAndProfileConfig { + protected PartialReloadAndProfileConfig(NSDictionary* const v); + protected std::optional recordChangeDescriptions() const; + protected std::optional shouldReloadAndProfile() const; +} + + +struct JS::NativeSettingsManager::Constants { + protected NSDictionary* unsafeRawValue() const; + protected static JS::NativeSettingsManager::Constants fromUnsafeRawValue(NSDictionary* const v); +} + +struct JS::NativeSettingsManager::Constants::Builder { + protected Builder(JS::NativeSettingsManager::Constants i); + protected Builder(const JS::NativeSettingsManager::Constants::Builder::Input i); + protected NSDictionary* buildUnsafeRawValue() const; + protected using ResultT = JS::NativeSettingsManager::Constants; +} + +struct JS::NativeSettingsManager::Constants::Builder::Input { + protected RCTRequired> settings; +} + + +struct JS::NativeShareModule::SpecShareContent { + protected NSString* message() const; + protected NSString* title() const; + protected SpecShareContent(NSDictionary* const v); +} + + +struct JS::NativeSourceCode::Constants { + protected NSDictionary* unsafeRawValue() const; + protected static JS::NativeSourceCode::Constants fromUnsafeRawValue(NSDictionary* const v); +} + +struct JS::NativeSourceCode::Constants::Builder { + protected Builder(JS::NativeSourceCode::Constants i); + protected Builder(const JS::NativeSourceCode::Constants::Builder::Input i); + protected NSDictionary* buildUnsafeRawValue() const; + protected using ResultT = JS::NativeSourceCode::Constants; +} + +struct JS::NativeSourceCode::Constants::Builder::Input { + protected RCTRequired scriptURL; +} + + +struct JS::NativeStatusBarManagerIOS::Constants { + protected NSDictionary* unsafeRawValue() const; + protected static JS::NativeStatusBarManagerIOS::Constants fromUnsafeRawValue(NSDictionary* const v); +} + +struct JS::NativeStatusBarManagerIOS::Constants::Builder { + protected Builder(JS::NativeStatusBarManagerIOS::Constants i); + protected Builder(const JS::NativeStatusBarManagerIOS::Constants::Builder::Input i); + protected NSDictionary* buildUnsafeRawValue() const; + protected using ResultT = JS::NativeStatusBarManagerIOS::Constants; +} + +struct JS::NativeStatusBarManagerIOS::Constants::Builder::Input { + protected RCTRequired HEIGHT; + protected std::optional DEFAULT_BACKGROUND_COLOR; +} + + +struct JS::NativeWebSocketModule::SpecConnectOptions { + protected SpecConnectOptions(NSDictionary* const v); + protected id _Nullable headers() const; +} + + +struct std::hash { + public size_t operator()(const RCTComponentViewDescriptor& componentViewDescriptor) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::AttributedString& attributedString) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::AttributedStringBox& attributedStringBox) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::Color& color) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::EventAnimationDriverKey& key) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::LayoutConstraints& constraints) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::LayoutMetrics& layoutMetrics) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::LineMeasureCacheKey& key) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::ParagraphAttributes& attributes) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::Point& point) const noexcept; +} + +struct std::hash { + public size_t operator()(const facebook::react::PreparedTextCacheKey& key) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::Rect& rect) const noexcept; +} + +struct std::hash { + public size_t operator()(const facebook::react::ShadowView& shadowView) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::SharedColor& color) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::Size& size) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::TextAttributes& textAttributes) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::TextMeasureCacheKey& key) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::Transform& transform) const; +} + +template +struct std::hash> { + public size_t operator()(const facebook::react::RectangleCorners& corners) const noexcept; +} + +template +struct std::hash> { + public size_t operator()(const facebook::react::RectangleEdges& edges) const noexcept; +} + +struct std::hash { + public size_t operator()(const facebook::react::AttributedString::Fragment& fragment) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::jsinspector_modern::ConsoleTaskId& id) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::jsinspector_modern::ExecutionContextSelector& selector) const; +} + +template +struct std::hash> { + public size_t operator()(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; +} + + +template +FB::LazyIterator FB::operator+(typename FB::LazyIterator::difference_type n, const FB::LazyIterator& i); +template +bool FB::operator<=(const FB::LazyIterator& a, const FB::LazyIterator& b); +template +bool FB::operator>(const FB::LazyIterator& a, const FB::LazyIterator& b); +template +bool FB::operator>=(const FB::LazyIterator& a, const FB::LazyIterator& b); + +template +class FB::LazyIterator { + public FB::LazyIterator operator+(FB::LazyIterator::difference_type n) const; + public FB::LazyIterator operator++(int); + public FB::LazyIterator operator-(FB::LazyIterator::difference_type n) const; + public FB::LazyIterator operator--(int); + public FB::LazyIterator& operator++(); + public FB::LazyIterator& operator+=(FB::LazyIterator::difference_type n); + public FB::LazyIterator& operator--(); + public FB::LazyIterator& operator-=(FB::LazyIterator::difference_type n); + public FB::LazyIterator::difference_type operator-(const FB::LazyIterator& a) const; + public FB::LazyIterator::value_type operator*() const; + public FB::LazyIterator::value_type operator[](FB::LazyIterator::difference_type n) const; + public LazyIterator() = default; + public LazyIterator(U vector, FB::LazyIterator::convert_type convert, FB::LazyIterator::size_type i); + public bool operator<(const FB::LazyIterator& b) const; + public bool operator==(const FB::LazyIterator& other) const; + public std::unique_ptr operator->() const; + public using convert_type = std::function; + public using difference_type = std::int32_t; + public using iterator_category = std::random_access_iterator_tag; + public using pointer = std::unique_ptr; + public using reference = T; + public using size_type = std::int32_t; + public using value_type = T; +} + +template +class FB::LazyVector { + public FB::LazyVector::const_iterator begin() const; + public FB::LazyVector::const_iterator cbegin() const; + public FB::LazyVector::const_iterator cend() const; + public FB::LazyVector::const_iterator end() const; + public FB::LazyVector::const_reference at(FB::LazyVector::size_type pos) const; + public FB::LazyVector::const_reference back() const; + public FB::LazyVector::const_reference front() const; + public FB::LazyVector::const_reference operator[](FB::LazyVector::size_type pos) const; + public FB::LazyVector::size_type size() const; + public U unsafeRawValue() const; + public bool empty() const; + public static FB::LazyVector fromUnsafeRawValue(U v, FB::LazyVector::size_type size, FB::LazyVector::convert_type convert); + public using const_iterator = FB::LazyIterator; + public using const_reference = T; + public using convert_type = std::function; + public using iterator = FB::LazyVector::const_iterator; + public using reference = T; + public using size_type = std::int32_t; + public using value_type = T; +} \ No newline at end of file diff --git a/scripts/cxx-api/api-snapshots/ReactCommonDebugCxx.api b/scripts/cxx-api/api-snapshots/ReactCommonDebugCxx.api new file mode 100644 index 00000000000..90e24c0e896 --- /dev/null +++ b/scripts/cxx-api/api-snapshots/ReactCommonDebugCxx.api @@ -0,0 +1,11136 @@ +// @generated by scripts/cxx-api + +struct YGConfig { +} + +struct YGNode { +} + +struct YGSize { + public float height; + public float width; +} + +struct YGValue { + public YGUnit unit; + public float value; +} + +template +class TinyMap { + public TinyMap::Iterator begin(); + public TinyMap::Iterator end(); + public TinyMap::Iterator find(KeyT key); + public using Iterator = TinyMap::Pair*; + public using Pair = std::pair; + public void erase(TinyMap::Iterator iterator); + public void insert(TinyMap::Pair pair); +} + + +bool facebook::xplat::jsArgAsBool(const folly::dynamic& args, size_t n); +double facebook::xplat::jsArgAsDouble(const folly::dynamic& args, size_t n); +int64_t facebook::xplat::jsArgAsInt(const folly::dynamic& args, size_t n); +std::string facebook::xplat::jsArgAsString(const folly::dynamic& args, size_t n); +template +R facebook::xplat::jsArg(const folly::dynamic& arg, R(folly::dynamic::*asFoo)() const &, const T &... desc); +template +R facebook::xplat::jsArg(const folly::dynamic& arg, R(folly::dynamic::*asFoo)() const, const T &... desc); +template +R facebook::xplat::jsArgN(const folly::dynamic& args, size_t n, R(folly::dynamic::*asFoo)() const &); +template +R facebook::xplat::jsArgN(const folly::dynamic& args, size_t n, R(folly::dynamic::*asFoo)() const); +template +facebook::xplat::detail::is_dynamic::type& facebook::xplat::jsArgAsArray(T&& args, size_t n); +template +facebook::xplat::detail::is_dynamic::type& facebook::xplat::jsArgAsDynamic(T&& args, size_t n); +template +facebook::xplat::detail::is_dynamic::type& facebook::xplat::jsArgAsObject(T&& args, size_t n); + +class facebook::xplat::JsArgumentException : public std::logic_error { + public JsArgumentException(const std::string& msg); +} + + +class facebook::xplat::module::CxxModule { + public static constexpr AsyncTagType AsyncTag; + public static constexpr SyncTagType SyncTag; + public std::weak_ptr getInstance(); + public using Callback = std::function)>; + public using Provider = std::function()>; + public virtual std::map getConstants(); + public virtual std::string getName() = 0; + public virtual std::vector getMethods() = 0; + public virtual ~CxxModule() = default; + public void setInstance(std::weak_ptr instance); +} + +struct facebook::xplat::module::CxxModule::Method { + public Method(std::string aname, std::function&& afunc, SyncTagType); + public Method(std::string aname, std::function&& afunc, SyncTagType); + public Method(std::string aname, std::function&& afunc); + public Method(std::string aname, std::function&& afunc); + public Method(std::string aname, std::function&& afunc); + public Method(std::string aname, std::function&& afunc); + public Method(std::string aname, std::function&& afunc, AsyncTagType); + public bool isPromise; + public const char* getType(); + public size_t callbacks; + public std::function syncFunc; + public std::function func; + public std::string name; + template + public Method(std::string aname, T* t, void(T::*method)()); + template + public Method(std::string aname, T* t, void(T::*method)(folly::dynamic)); + template + public Method(std::string aname, T* t, void(T::*method)(folly::dynamic, facebook::xplat::module::CxxModule::Callback)); + template + public Method(std::string aname, T* t, void(T::*method)(folly::dynamic, facebook::xplat::module::CxxModule::Callback, facebook::xplat::module::CxxModule::Callback)); + template + public Method(std::string aname, T* t, void(T::*method)(folly::dynamic, facebook::xplat::module::CxxModule::Callback, facebook::xplat::module::CxxModule::Callback), AsyncTagType); +} + + +std::string facebook::xplat::detail::toStringHelper(); +template +R facebook::xplat::detail::jsArg1(const folly::dynamic& arg, M asFoo, const T &... desc); +template +std::string facebook::xplat::detail::toStringHelper(const T& value, const Rest &... rest); +template +facebook::xplat::detail::is_dynamic::type& facebook::xplat::detail::jsArgAsType(T&& args, size_t n, const char* required, bool(folly::dynamic::*isFoo)() const); +template +std::string facebook::xplat::detail::toStringHelper(const char* value, const Rest &... rest); + +template +struct facebook::xplat::detail::is_dynamic { + public using type = typename std::enable_if::value, T>::type; +} + + +class facebook::hermes::IHermes : public facebook::jsi::ICast { + protected ~IHermes() = default; + public static constexpr facebook::jsi::UUID uuid; + public virtual ICast* getHermesRootAPI() = 0; + public virtual SHRuntime* getSHRuntime() noexcept = 0; + public virtual const hermes::vm::GCExecTrace& getGCExecTrace() const = 0; + public virtual debugger::Debugger& getDebugger() = 0; + public virtual facebook::jsi::Value evaluateJavaScriptWithSourceMap(const std::shared_ptr& buffer, const std::shared_ptr& sourceMapBuf, const std::string& sourceURL) = 0; + public virtual facebook::jsi::Value evaluateSHUnit(SHUnitCreator shUnitCreator) = 0; + public virtual facebook::jsi::Value getObjectForID(uint64_t id) = 0; + public virtual sampling_profiler::Profile dumpSampledTraceToProfile() = 0; + public virtual std::string getIOTrackingInfoJSON() = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::BigInt& s) const = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::Object& o) const = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::PropNameID& pni) const = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::String& s) const = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::Symbol& sym) const = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::Value& val) const = 0; + public virtual void asyncTriggerTimeout() = 0; + public virtual void debugJavaScript(const std::string& src, const std::string& sourceURL, const facebook::hermes::IHermes::DebugFlags& debugFlags) = 0; + public virtual void loadSegment(std::unique_ptr buffer, const facebook::jsi::Value& context) = 0; + public virtual void registerForProfiling() = 0; + public virtual void resetTimezoneCache() = 0; + public virtual void sampledTraceToStreamInDevToolsFormat(std::ostream& stream) = 0; + public virtual void unregisterForProfiling() = 0; + public virtual void unwatchTimeLimit() = 0; + public virtual void watchTimeLimit(uint32_t timeoutInMs) = 0; + public virtual void* getVMRuntimeUnsafe() const = 0; +} + +struct facebook::hermes::IHermes::DebugFlags { +} + +class facebook::hermes::IHermesSHUnit : public facebook::jsi::ICast { + protected ~IHermesSHUnit() = default; + public static constexpr facebook::jsi::UUID uuid; + public virtual SHUnitCreator getSHUnitCreator() const = 0; +} + + +const char facebook::react::AndroidProgressBarComponentName[]; +const char facebook::react::AndroidSwitchComponentName[]; +const char facebook::react::AppleSwitchComponentName[]; +const char facebook::react::ImageComponentName[]; +const char facebook::react::ImageManagerKey[]; +const char facebook::react::InputAccessoryComponentName[]; +const char facebook::react::LegacyViewManagerAndroidInteropComponentName[]; +const char facebook::react::LegacyViewManagerInteropComponentName[]; +const char facebook::react::ModalHostViewComponentName[]; +const char facebook::react::ParagraphComponentName[]; +const char facebook::react::RawTextComponentName[]; +const char facebook::react::RootComponentName[]; +const char facebook::react::RuntimeSchedulerKey[]; +const char facebook::react::SafeAreaViewComponentName[]; +const char facebook::react::ScrollViewComponentName[]; +const char facebook::react::TextComponentName[]; +const char facebook::react::UnimplementedViewComponentName[]; +const char facebook::react::ViewComponentName[]; +const facebook::react::EventTag facebook::react::EMPTY_EVENT_TAG; +constexpr auto facebook::react::kSimpleThreadSafeCacheSizeCap; +constexpr char facebook::react::LayoutConformanceShadowNodeComponentName[]; +constexpr char facebook::react::VirtualViewComponentName[]; +constexpr char* const facebook::react::TextLayoutManagerKey; +constexpr facebook::react::HighResDuration facebook::react::DEFAULT_DURATION_THRESHOLD; +constexpr facebook::react::HighResDuration facebook::react::LONG_TASK_DURATION_THRESHOLD; +constexpr facebook::react::ReactNativeVersionType facebook::react::ReactNativeVersion; +constexpr float facebook::react::kDefaultEpsilon; +constexpr size_t facebook::react::EVENT_BUFFER_SIZE; +constexpr size_t facebook::react::LONG_TASK_BUFFER_SIZE; +constexpr size_t facebook::react::RESOURCE_TIMING_BUFFER_SIZE; +constexpr uint32_t facebook::react::INITIAL_BUCKETS_SIZE; +static const facebook::react::LayoutMetrics facebook::react::EmptyLayoutMetrics; +static const facebook::react::TelemetryTimePoint facebook::react::kTelemetryUndefinedTimePoint; +static const int facebook::react::NO_VIEW_TAG; +static constexpr auto facebook::react::kPropNameLengthHardCap; +static constexpr double facebook::react::SingleFrameIntervalMs; +static constexpr double facebook::react::TicksPerMs; +static constexpr facebook::react::RawPropsValueIndex facebook::react::kRawPropsValueIndexEmpty; +static constexpr std::string_view facebook::react::ExtrapolateTypeClamp; +static constexpr std::string_view facebook::react::ExtrapolateTypeExtend; +static constexpr std::string_view facebook::react::ExtrapolateTypeIdentity; +template +using facebook::react::CSSCompoundDataType = std::variant; +template +using facebook::react::CSSCommaSeparatedList = facebook::react::CSSList; +template +using facebook::react::CSSWhitespaceSeparatedList = facebook::react::CSSList; +template +using facebook::react::CSSMergedDataTypes = typename facebook::react::detail::merge_data_types::type; +template +using facebook::react::CSSVariantWithTypes = typename facebook::react::detail::merge_variant::type; +template +using facebook::react::EventListenerT = std::function; +typedef std::function facebook::react::ValueListenerCallback; +typedef void(*facebook::react::WarnOnUsageLogger)(std::string message); +using facebook::react::ActivePointerRegistry = std::unordered_map; +using facebook::react::AnimationEndCallback = facebook::react::AsyncCallback; +using facebook::react::AnimationTimestamp = std::chrono::duration; +using facebook::react::BackgroundExecutor = std::function&& callback)>; +using facebook::react::BackgroundImage = std::variant; +using facebook::react::BackgroundSize = std::variant; +using facebook::react::BorderColors = facebook::react::RectangleEdges; +using facebook::react::BorderCurves = facebook::react::RectangleCorners; +using facebook::react::BorderRadii = facebook::react::RectangleCorners; +using facebook::react::BorderStyles = facebook::react::RectangleEdges; +using facebook::react::BorderWidths = facebook::react::RectangleEdges; +using facebook::react::CSSBackgroundImage = facebook::react::CSSCompoundDataType; +using facebook::react::CSSBackgroundImageList = facebook::react::CSSCommaSeparatedList; +using facebook::react::CSSFilterFunction = facebook::react::CSSCompoundDataType; +using facebook::react::CSSFilterList = facebook::react::CSSWhitespaceSeparatedList; +using facebook::react::CSSFontVariantList = facebook::react::CSSWhitespaceSeparatedList; +using facebook::react::CSSLengthPercentage = facebook::react::CSSCompoundDataType; +using facebook::react::CSSPreservedToken = facebook::react::CSSToken; +using facebook::react::CSSRadialGradientSize = std::variant; +using facebook::react::CSSShadowList = facebook::react::CSSCommaSeparatedList; +using facebook::react::CSSTransformFunction = facebook::react::CSSCompoundDataType; +using facebook::react::CSSTransformList = facebook::react::CSSWhitespaceSeparatedList; +using facebook::react::CallFunc = std::function; +using facebook::react::Callback = std::function; +using facebook::react::CallbackHandle = facebook::jsi::Object; +using facebook::react::CallbackId = uint64_t; +using facebook::react::CaptureTargetOverrideRegistry = std::unordered_map>; +using facebook::react::CascadedBorderColors = facebook::react::CascadedRectangleEdges; +using facebook::react::CascadedBorderCurves = facebook::react::CascadedRectangleCorners; +using facebook::react::CascadedBorderRadii = facebook::react::CascadedRectangleCorners; +using facebook::react::CascadedBorderStyles = facebook::react::CascadedRectangleEdges; +using facebook::react::CascadedBorderWidths = facebook::react::CascadedRectangleEdges; +using facebook::react::ComponentDescriptorConstructor = facebook::react::ComponentDescriptor::Unique(const facebook::react::ComponentDescriptorParameters& parameters); +using facebook::react::ComponentDescriptorProviderRequest = std::function; +using facebook::react::ComponentHandle = int64_t; +using facebook::react::ComponentName = const char*; +using facebook::react::ComponentRegistryFactory = std::function& contextContainer)>; +using facebook::react::CornerInsets = facebook::react::RectangleCorners; +using facebook::react::DispatchEvent = std::function; +using facebook::react::EdgeInsets = facebook::react::RectangleEdges; +using facebook::react::EndResult = NativeAnimatedTurboModuleEndResult, std::optional>; +using facebook::react::EventEmitterListener = facebook::react::EventListenerT; +using facebook::react::EventEmitterListenerContainer = facebook::react::EventListenerContainerT; +using facebook::react::EventListener = std::function; +using facebook::react::EventPipe = std::function; +using facebook::react::EventPipeConclusion = std::function; +using facebook::react::EventTag = unsigned int; +using facebook::react::GarbageCollectionTrigger = std::function; +using facebook::react::GradientDirection = std::variant; +using facebook::react::HasComponentProviderFunctionType = std::function; +using facebook::react::Headers = std::map; +using facebook::react::HostPlatformTouch = facebook::react::BaseTouch; +using facebook::react::HostPlatformViewEventEmitter = facebook::react::BaseViewEventEmitter; +using facebook::react::ImageSources = std::vector; +using facebook::react::InteractionTypesMap = std::unordered_map; +using facebook::react::IntersectionObserverObserverId = int32_t; +using facebook::react::JSIScopedTimeoutInvoker = std::function& invokee, std::function errorMessageProducer)>; +using facebook::react::LayoutConformanceComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::LegacyViewManagerAndroidInteropShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::LegacyViewManagerInteropShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::LineMeasureCache = facebook::react::SimpleThreadSafeCache; +using facebook::react::LinesMeasurements = std::vector; +using facebook::react::Logger = std::function; +using facebook::react::MeasureInWindowOnSuccessCallback = facebook::react::SyncCallback; +using facebook::react::MeasureLayoutOnSuccessCallback = facebook::react::SyncCallback; +using facebook::react::MeasureOnSuccessCallback = facebook::react::SyncCallback; +using facebook::react::MethodCallResult = std::optional; +using facebook::react::MountingTransactionCallback = std::function; +using facebook::react::MutationObserverId = int32_t; +using facebook::react::NativeIntersectionObserverEntry = NativeIntersectionObserverNativeIntersectionObserverEntry; +using facebook::react::NativeIntersectionObserverIntersectionObserverId = int32_t; +using facebook::react::NativeIntersectionObserverObserveOptions = NativeIntersectionObserverNativeIntersectionObserverObserveOptions>, std::shared_ptr, std::vector, std::optional>, std::optional>; +using facebook::react::NativeMethodCallFunc = std::function; +using facebook::react::NativeMutationObserverObserveOptions = NativeMutationObserverNativeMutationObserverObserveOptions, bool>; +using facebook::react::NativeMutationRecord = NativeMutationObserverNativeMutationRecord, std::vector>; +using facebook::react::NativePartialReloadAndProfileConfig = NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfig, std::optional>; +using facebook::react::NativePerformancePerformanceObserverCallback = facebook::react::AsyncCallback<>; +using facebook::react::NativePerformancePerformanceObserverObserveOptions = NativePerformancePerformanceObserverInit>, std::optional, std::optional, std::optional>; +using facebook::react::NativeReloadAndProfileConfig = NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfig; +using facebook::react::NativeRequestIdleCallbackOptions = NativeIdleCallbacksRequestIdleCallbackOptions>; +using facebook::react::OnMutations = std::function&)>; +using facebook::react::ParagraphProps = HostPlatformParagraphProps; +using facebook::react::PerformanceEntry = std::variant; +using facebook::react::PerformanceEntryInteractionId = uint32_t; +using facebook::react::PerformanceObserverCallback = std::function; +using facebook::react::PerformanceObserverEntryTypeFilter = std::unordered_set; +using facebook::react::PointerHoverTrackerRegistry = std::unordered_map; +using facebook::react::PointerIdentifier = int32_t; +using facebook::react::PromiseSetupFunctionType = std::function)>; +using facebook::react::RawCallback = std::function; +using facebook::react::RawPropsPropNameHash = uint32_t; +using facebook::react::RawPropsPropNameLength = uint16_t; +using facebook::react::RawPropsValueIndex = uint16_t; +using facebook::react::RawTextComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::RectAsTuple = std::tuple; +using facebook::react::RootComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::RuntimeExecutor = std::function&& callback)>; +using facebook::react::RuntimeSchedulerRenderingUpdate = std::function; +using facebook::react::RuntimeSchedulerTaskErrorHandler = std::function; +using facebook::react::ScrollViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::ScrollViewProps = HostPlatformScrollViewProps; +using facebook::react::ShadowTreeCommitTransaction = std::function; +using facebook::react::ShadowViewMutationList = std::vector; +using facebook::react::SharedComponentDescriptor = std::shared_ptr; +using facebook::react::SharedComponentDescriptorRegistry = std::shared_ptr; +using facebook::react::SharedEventEmitter = std::shared_ptr; +using facebook::react::SharedEventPayload = std::shared_ptr; +using facebook::react::SharedEventTarget = std::shared_ptr; +using facebook::react::SharedParagraphAttributes = std::shared_ptr; +using facebook::react::SharedRawTextProps = std::shared_ptr; +using facebook::react::SharedScrollViewProps = std::shared_ptr; +using facebook::react::SharedShadowNodeFamily = std::shared_ptr; +using facebook::react::SharedTextAttributes = std::shared_ptr; +using facebook::react::SharedTouchEventEmitter = std::shared_ptr; +using facebook::react::SharedViewEventEmitter = std::shared_ptr; +using facebook::react::SharedViewProps = std::shared_ptr; +using facebook::react::SnapshotMap = std::unordered_map>; +using facebook::react::StatePipe = std::function; +using facebook::react::SurfaceId = int32_t; +using facebook::react::Tag = int32_t; +using facebook::react::TelemetryClock = std::chrono::steady_clock; +using facebook::react::TelemetryDuration = std::chrono::nanoseconds; +using facebook::react::TelemetryTimePoint = facebook::react::TelemetryClock::time_point; +using facebook::react::TextComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::TextEventEmitter = facebook::react::TouchEventEmitter; +using facebook::react::TextLayoutManagerExtended = facebook::react::detail::TextLayoutManagerExtended; +using facebook::react::TextMeasureCache = facebook::react::SimpleThreadSafeCache; +using facebook::react::TimePointFunction = std::chrono::steady_clock::time_point(*)(); +using facebook::react::TimerHandle = int; +using facebook::react::TimerManagerDelegate = facebook::react::PlatformTimerRegistry; +using facebook::react::Touch = facebook::react::HostPlatformTouch; +using facebook::react::Touches = std::unordered_set; +using facebook::react::TraceSectionUnwrapped = facebook::react::DummyTraceSection; +using facebook::react::TurboModuleProviderFunctionTypeWithRuntime = std::function(facebook::jsi::Runtime& runtime, const std::string& name)>; +using facebook::react::UiTask = std::function; +using facebook::react::UnimplementedViewShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::UserTimingDetailProvider = std::function; +using facebook::react::ValueFactory = std::function; +using facebook::react::ViewEventEmitter = facebook::react::HostPlatformViewEventEmitter; +using facebook::react::ViewNodePairScope = std::deque; +using facebook::react::ViewProps = facebook::react::HostPlatformViewProps; +using facebook::react::VirtualViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::parsePlatformColorFn = facebook::react::SharedColor(*)(const facebook::react::ContextContainer&, int32_t, const facebook::react::RawValue&); +template +concept facebook::react::CacheGeneratorFunction = std::invocable && std::same_as, ValueT>; +template +concept facebook::react::CSSUniqueComponentValueVisitors = CSSSyntaxVisitorReturn&& (CSSComponentValueVisitor && ...) && + ((CSSFunctionVisitor ? 1 : 0) + ... + 0) <= 1&& + ((CSSPreservedTokenVisitor ? 1 : 0) + ... + 0) <= 1&& + ((CSSSimpleBlockVisitor ? 1 : 0) + ... + 0) <= 1; +template +concept facebook::react::CSSFunctionBlockSink = requires(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser) { + { T::consumeFunctionBlock(func, parser) } -> std::convertible_to; +}; +template +concept facebook::react::CSSParserSink = requires(facebook::react::CSSValueParser& parser) { + { T::consume(parser) } -> std::convertible_to; +}; +template +concept facebook::react::CSSPreservedTokenSink = requires(const facebook::react::CSSPreservedToken& token) { + { T::consumePreservedToken(token) } -> std::convertible_to; +}; +template +concept facebook::react::CSSSimpleBlockSink = requires(const facebook::react::CSSSimpleBlock& block, facebook::react::CSSValueParser& parser) { + { T::consumeSimpleBlock(block, parser) } -> std::convertible_to; +}; +template +concept facebook::react::CSSValidDataTypeParser = ((CSSFunctionBlockSink || CSSSimpleBlockSink || CSSPreservedTokenSink) && + !CSSParserSink) || +CSSParserSink; +template +concept facebook::react::CSSComponentValueVisitor = CSSSyntaxVisitorReturn&& + (CSSFunctionVisitor || CSSPreservedTokenVisitor || CSSSimpleBlockVisitor); +template +concept facebook::react::CSSFunctionVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSFunctionBlock func, facebook::react::CSSSyntaxParser& blockParser) { + { visitor(func, blockParser) } -> std::convertible_to; +}; +template +concept facebook::react::CSSPreservedTokenVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSPreservedToken token) { + { visitor(token) } -> std::convertible_to; +}; +template +concept facebook::react::CSSSimpleBlockVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSSimpleBlock block, facebook::react::CSSSyntaxParser& blockParser) { + { visitor(block, blockParser) } -> std::convertible_to; +}; +template +concept facebook::react::CSSDataType = CSSValidDataTypeParser, std::optional> && std::equality_comparable; +template +concept facebook::react::CSSKeywordSet = std::is_enum_v && std::is_same_v, std::underlying_type_t>; +template +concept facebook::react::CSSMaybeCompoundDataType = CSSDataType || CSSValidCompoundDataType; +template +concept facebook::react::CSSSyntaxVisitorReturn = std::is_default_constructible_v && std::equality_comparable; +template +concept facebook::react::CSSValidCompoundDataType = facebook::react::detail::is_variant_of_data_types::value; +template +concept facebook::react::Hashable = !std::is_same_v&& (requires(T a) { + { std::hash{}(a) } -> std::convertible_to; +}); +template +concept facebook::react::RawPropsFilterable = requires(facebook::react::RawProps& rawProps) { + { T::filterRawProps(rawProps) } -> std::same_as; +}; +template +concept facebook::react::TextLayoutManagerWithPreparedTextLayout = requires( + TextLayoutManagerT textLayoutManager, + facebook::react::AttributedString attributedString, + facebook::react::ParagraphAttributes paragraphAttributes, + facebook::react::TextLayoutContext layoutContext, + facebook::react::LayoutConstraints layoutConstraints, + typename TextLayoutManagerT::PreparedTextLayout preparedTextLayout) { + sizeof(typename TextLayoutManagerT::PreparedTextLayout); + { + textLayoutManager.prepareLayout(attributedString, paragraphAttributes, layoutContext, layoutConstraints) + } -> std::same_as; + { + textLayoutManager.measurePreparedLayout(preparedTextLayout, layoutContext, layoutConstraints) + } -> std::same_as; +}; +Float facebook::react::floatFromYogaFloat(float value); +Float facebook::react::floatFromYogaOptionalFloat(facebook::yoga::FloatOptional value); +YGDirection facebook::react::yogaDirectionFromLayoutDirection(facebook::react::LayoutDirection direction); +bool facebook::react::areAttributedStringFragmentsEquivalentDisplayWise(const facebook::react::AttributedString::Fragment& lhs, const facebook::react::AttributedString::Fragment& rhs); +bool facebook::react::areAttributedStringFragmentsEquivalentLayoutWise(const facebook::react::AttributedString::Fragment& lhs, const facebook::react::AttributedString::Fragment& rhs); +bool facebook::react::areAttributedStringsEquivalentDisplayWise(const facebook::react::AttributedString& lhs, const facebook::react::AttributedString& rhs); +bool facebook::react::areAttributedStringsEquivalentLayoutWise(const facebook::react::AttributedString& lhs, const facebook::react::AttributedString& rhs); +bool facebook::react::areTextAttributesEquivalentLayoutWise(const facebook::react::TextAttributes& lhs, const facebook::react::TextAttributes& rhs); +bool facebook::react::hasAccurateCPUTimeNanosForBenchmarks(); +bool facebook::react::isColorMeaningful(const facebook::react::SharedColor& color) noexcept; +bool facebook::react::isHermesBytecodeBundle(const facebook::react::BundleHeader& header); +bool facebook::react::isZero(Float n); +const char* facebook::react::stringForScriptTag(const facebook::react::ScriptTag& tag); +const facebook::react::InteractionTypesMap& facebook::react::getInteractionTypes(); +const std::unordered_set& facebook::react::getDirectManipulationAllowlist(); +constexpr auto facebook::react::to_underlying(auto e) noexcept; +constexpr bool facebook::react::iequals(std::string_view a, std::string_view b); +constexpr char facebook::react::toLower(char c); +constexpr float facebook::react::canonicalize(float value, facebook::react::CSSAngleUnit unit); +constexpr std::optional facebook::react::parseCSSAngleUnit(std::string_view unit); +constexpr std::optional facebook::react::parseCSSLengthUnit(std::string_view unit); +constexpr uint32_t facebook::react::fnv1aLowercase(std::string_view string); +double facebook::react::ceil(double value) noexcept; +double facebook::react::floor(double value) noexcept; +double facebook::react::getCPUTimeNanos(); +double facebook::react::interpolate(double inputValue, double inputMin, double inputMax, double outputMin, double outputMax, std::string_view extrapolateLeft, std::string_view extrapolateRight); +double facebook::react::round(double value) noexcept; +facebook::jsi::Value facebook::react::createPromiseAsJSIValue(facebook::jsi::Runtime& rt, facebook::react::PromiseSetupFunctionType&& func); +facebook::react::AttributedString facebook::react::ensurePlaceholderIfEmpty_DO_NOT_USE(const facebook::react::AttributedString& attributedString); +facebook::react::ColorComponents facebook::react::colorComponentsFromColor(facebook::react::SharedColor color); +facebook::react::ColorSpace facebook::react::getDefaultColorSpace(); +facebook::react::ComponentBuilder facebook::react::simpleComponentBuilder(std::shared_ptr contextContainer = nullptr); +facebook::react::ComponentRegistryFactory facebook::react::getDefaultComponentRegistryFactory(); +facebook::react::DisplayType facebook::react::displayTypeFromYGDisplay(YGDisplay display); +facebook::react::FilterType facebook::react::filterTypeFromVariant(const facebook::react::CSSFilterFunction& filter); +facebook::react::LayoutMetrics facebook::react::layoutMetricsFromYogaNode(facebook::yoga::Node& yogaNode); +facebook::react::ParagraphAttributes facebook::react::convertRawProp(const facebook::react::PropsParserContext& context, const facebook::react::RawProps& rawProps, const facebook::react::ParagraphAttributes& sourceParagraphAttributes, const facebook::react::ParagraphAttributes& defaultParagraphAttributes); +facebook::react::Rect facebook::react::insetBy(const facebook::react::Rect& rect, const facebook::react::EdgeInsets& insets) noexcept; +facebook::react::Rect facebook::react::outsetBy(const facebook::react::Rect& rect, const facebook::react::EdgeInsets& outsets) noexcept; +facebook::react::ScriptTag facebook::react::parseTypeFromHeader(const facebook::react::BundleHeader& header); +facebook::react::ShadowView facebook::react::shadowViewFromShadowNode(const facebook::react::ShadowNode& shadowNode); +facebook::react::ShadowViewMutation::List facebook::react::calculateShadowViewMutations(const facebook::react::ShadowNode& oldRootShadowNode, const facebook::react::ShadowNode& newRootShadowNode); +facebook::react::SharedColor facebook::react::blackColor(); +facebook::react::SharedColor facebook::react::clearColor(); +facebook::react::SharedColor facebook::react::coerceColor(const facebook::react::RawValue& value, const facebook::react::PropsParserContext& context); +facebook::react::SharedColor facebook::react::colorFromComponents(facebook::react::ColorComponents components); +facebook::react::SharedColor facebook::react::colorFromRGBA(uint8_t r, uint8_t g, uint8_t b, uint8_t a); +facebook::react::SharedColor facebook::react::fromCSSColor(const facebook::react::CSSColor& cssColor); +facebook::react::SharedColor facebook::react::whiteColor(); +facebook::react::Size facebook::react::ModalHostViewScreenSize(void); +facebook::react::Size facebook::react::yogaMeassureToSize(int64_t value); +facebook::react::StubViewTree facebook::react::buildStubViewTreeUsingDifferentiator(const facebook::react::ShadowNode& rootShadowNode); +facebook::react::StubViewTree facebook::react::buildStubViewTreeWithoutUsingDifferentiator(const facebook::react::ShadowNode& rootShadowNode); +facebook::react::SurfaceId facebook::react::getNextRootViewTag() noexcept; +facebook::react::TurboModuleMethodValueKind facebook::react::getTurboModuleMethodValueKind(facebook::jsi::Runtime& rt, const facebook::jsi::Value* value); +facebook::react::ValueUnit facebook::react::cssLengthPercentageToValueUnit(const std::variant& value); +facebook::react::ValueUnit facebook::react::toValueUnit(const facebook::react::RawValue& value); +facebook::yoga::FloatOptional facebook::react::convertAspectRatio(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value); +facebook::yoga::FloatOptional facebook::react::yogaOptionalFloatFromFloat(Float value); +float facebook::react::ceil(float value) noexcept; +float facebook::react::floor(float value) noexcept; +float facebook::react::round(float value) noexcept; +float facebook::react::yogaFloatFromFloat(Float value); +folly::dynamic facebook::react::diffDynamicProps(const folly::dynamic& oldProps, const folly::dynamic& newProps); +folly::dynamic facebook::react::mergeDynamicProps(const folly::dynamic& source, const folly::dynamic& patch, facebook::react::NullValueStrategy nullValueStrategy); +folly::dynamic facebook::react::toDynamic(const facebook::react::SubmitBehavior& value); +int facebook::react::toInt(const facebook::react::DisplayType& displayType); +int facebook::react::toInt(const facebook::react::LayoutDirection& layoutDirection); +long double facebook::react::ceil(long double value) noexcept; +long double facebook::react::floor(long double value) noexcept; +long double facebook::react::round(long double value) noexcept; +size_t facebook::react::attributedStringFragmentHashDisplayWise(const facebook::react::AttributedString::Fragment& fragment); +size_t facebook::react::attributedStringFragmentHashLayoutWise(const facebook::react::AttributedString::Fragment& fragment); +size_t facebook::react::attributedStringHashDisplayWise(const facebook::react::AttributedString& attributedString); +size_t facebook::react::attributedStringHashLayoutWise(const facebook::react::AttributedString& attributedString); +size_t facebook::react::textAttributesHashLayoutWise(const facebook::react::TextAttributes& textAttributes); +std::function facebook::react::makeCallback(std::weak_ptr instance, const folly::dynamic& callbackId); +std::optional facebook::react::coerceAmount(const facebook::react::RawValue& value); +std::optional facebook::react::coerceAngle(const facebook::react::RawValue& value); +std::optional facebook::react::coerceLength(const facebook::react::RawValue& value); +std::optional facebook::react::optionalFloatFromYogaValue(const facebook::yoga::Style::Length& length, std::optional base = {}); +std::optional facebook::react::toRadians(const facebook::react::RawValue& value); +std::optional facebook::react::blendModeFromString(std::string_view blendModeName); +std::optional facebook::react::fromCSSShadow(const facebook::react::CSSShadow& cssShadow); +std::optional facebook::react::parseBoxShadowRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value); +std::optional facebook::react::fromCSSFilter(const facebook::react::CSSFilterFunction& cssFilter); +std::optional facebook::react::parseDropShadow(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value); +std::optional facebook::react::parseFilterRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value); +std::optional facebook::react::filterTypeFromString(std::string_view filterName); +std::optional facebook::react::fontVariantFromCSSFontVariant(facebook::react::CSSFontVariant cssVariant); +std::optional facebook::react::isolationFromString(std::string_view isolationSetting); +std::optional facebook::react::fromCSSTransformFunction(const facebook::react::CSSTransformFunction& cssTransform); +std::pair facebook::react::calculateAnimationProgress(uint64_t now, const facebook::react::LayoutAnimation& animation, const facebook::react::AnimationConfig& mutationConfig); +std::string facebook::react::base64Encode(const std::string_view s); +std::string facebook::react::componentNameByReactViewName(std::string viewName); +std::string facebook::react::generateRandomUuidString(); +std::string facebook::react::toString(const facebook::react::AccessibilityRole& accessibilityRole); +std::string facebook::react::toString(const facebook::react::AttributedString::Range& range); +std::string facebook::react::toString(const facebook::react::BlendMode& blendMode); +std::string facebook::react::toString(const facebook::react::DisplayType& displayType); +std::string facebook::react::toString(const facebook::react::DynamicTypeRamp& dynamicTypeRamp); +std::string facebook::react::toString(const facebook::react::EllipsizeMode& ellipsisMode); +std::string facebook::react::toString(const facebook::react::FilterType& filterType); +std::string facebook::react::toString(const facebook::react::FontStyle& fontStyle); +std::string facebook::react::toString(const facebook::react::FontVariant& fontVariant); +std::string facebook::react::toString(const facebook::react::FontWeight& fontWeight); +std::string facebook::react::toString(const facebook::react::HyphenationFrequency& hyphenationFrequency); +std::string facebook::react::toString(const facebook::react::ImageResizeMode& value); +std::string facebook::react::toString(const facebook::react::ImageSource& value); +std::string facebook::react::toString(const facebook::react::ImportantForAccessibility& importantForAccessibility); +std::string facebook::react::toString(const facebook::react::LayoutDirection& layoutDirection); +std::string facebook::react::toString(const facebook::react::LineBreakMode& lineBreakMode); +std::string facebook::react::toString(const facebook::react::LineBreakStrategy& lineBreakStrategy); +std::string facebook::react::toString(const facebook::react::Role& role); +std::string facebook::react::toString(const facebook::react::ScrollViewSnapToAlignment& value); +std::string facebook::react::toString(const facebook::react::SharedColor& value); +std::string facebook::react::toString(const facebook::react::TextAlignment& textAlignment); +std::string facebook::react::toString(const facebook::react::TextAlignmentVertical& textAlignment); +std::string facebook::react::toString(const facebook::react::TextBreakStrategy& textBreakStrategy); +std::string facebook::react::toString(const facebook::react::TextDecorationLineType& textDecorationLineType); +std::string facebook::react::toString(const facebook::react::TextDecorationStyle& textDecorationStyle); +std::string facebook::react::toString(const facebook::react::TextTransform& textTransform); +std::string facebook::react::toString(const facebook::react::WritingDirection& writingDirection); +std::string facebook::react::toString(double doubleValue, char suffix); +std::string facebook::react::toString(facebook::react::AccessibilityLiveRegion accessibilityLiveRegion); +std::string facebook::react::toString(facebook::react::PointerEventsMode value); +std::string_view facebook::react::getInteractionTypeForEvent(std::string_view eventName); +std::unordered_map(std::shared_ptr jsInvoker)>>& facebook::react::globalExportedCxxTurboModuleMap(); +std::vector facebook::react::longestIncreasingSubsequence(const std::vector& values, const std::vector& include); +std::vector facebook::react::parseNormalizedRootMargin(const std::string& marginStr); +std::vector facebook::react::parseMethodCalls(folly::dynamic&& jsonData); +std::vector facebook::react::sliceChildShadowNodeViewPairs(const facebook::react::ShadowViewNodePair& shadowNodePair, facebook::react::ViewNodePairScope& viewNodePairScope, bool allowFlattened, facebook::react::Point layoutOffset, const facebook::react::CullingContext& cullingContext); +template +constexpr std::optional facebook::react::parseCSSKeyword(std::string_view ident); +template +constexpr facebook::react::CSSVariantWithTypes, std::monostate> facebook::react::parseCSSProperty(std::string_view css); +template +Float facebook::react::roundToPixel(Float value, Float scaleFactor); +template +facebook::react::Point facebook::react::roundToPixel(facebook::react::Point value, Float scaleFactor); +template +facebook::react::Rect facebook::react::roundToPixel(facebook::react::Rect value, Float scaleFactor); +template +facebook::react::Size facebook::react::roundToPixel(facebook::react::Size value, Float scaleFactor); +template +std::size_t facebook::react::hash_combine(const T& v, const Args &... args); +template +void facebook::react::hash_combine(std::size_t& seed, const T& v, const Rest &... rest); +template ::type> +facebook::react::MoveWrapper facebook::react::makeMoveWrapper(T&& t); +template +constexpr std::optional facebook::react::parseCSSColorFunction(std::string_view colorFunction, facebook::react::CSSValueParser& parser); +template +constexpr std::optional facebook::react::parseCSSHexColor(std::string_view hexColorValue); +template +constexpr std::optional facebook::react::parseCSSNamedColor(std::string_view name); +template +constexpr uint32_t facebook::react::fnv1a(std::string_view string) noexcept; +template +facebook::react::ComponentDescriptor::Unique facebook::react::concreteComponentDescriptorConstructor(const facebook::react::ComponentDescriptorParameters& parameters); +template +facebook::react::ComponentDescriptorProvider facebook::react::concreteComponentDescriptorProvider(); +template +DestinationTimePointT facebook::react::clockCast(SourceTimePointT timePoint); +template +T facebook::react::convertRawProp(const facebook::react::PropsParserContext& context, const facebook::react::RawProps& rawProps, const char* name, const T& sourceValue, const U& defaultValue, const char* namePrefix = nullptr, const char* nameSuffix = nullptr); +template +T facebook::react::get(const facebook::react::AnimatedPropBase& animatedProp); +template +T facebook::react::get(const std::unique_ptr& animatedProp); +template +bool facebook::react::floatEquality(T a, T b, T epsilon = static_cast(facebook::react::kDefaultEpsilon)); +template +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, T& result); +template +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, T& result, T defaultValue); +template +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, std::optional& result); +template +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, std::vector& result); +template +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, std::vector>& result); +template +std::shared_ptr facebook::react::getManagerByName(std::shared_ptr& contextContainer, const char name[]); +uint8_t facebook::react::alphaFromColor(facebook::react::SharedColor color) noexcept; +uint8_t facebook::react::blueFromColor(facebook::react::SharedColor color) noexcept; +uint8_t facebook::react::greenFromColor(facebook::react::SharedColor color) noexcept; +uint8_t facebook::react::redFromColor(facebook::react::SharedColor color) noexcept; +void facebook::react::bindHasComponentProvider(facebook::jsi::Runtime& runtime, facebook::react::HasComponentProviderFunctionType&& provider); +void facebook::react::bindNativeLogger(facebook::jsi::Runtime& runtime, facebook::react::Logger logger); +void facebook::react::bindNativePerformanceNow(facebook::jsi::Runtime& runtime); +void facebook::react::cloneProp(facebook::react::BaseViewProps& viewProps, const facebook::react::AnimatedPropBase& animatedProp); +void facebook::react::defineReadOnlyGlobal(facebook::jsi::Runtime& runtime, const std::string& propName, facebook::jsi::Value&& value); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, YGValue& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityAction& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityLabelledBy& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityLiveRegion& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityRole& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityState& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityTraits& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AttributedString::Range& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BackfaceVisibility& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BorderCurve& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BorderStyle& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ContentInsetAdjustmentBehavior& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::CornerInsets& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Cursor& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::DynamicTypeRamp& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::EdgeInsets& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::EllipsizeMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontStyle& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontVariant& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontWeight& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::HyphenationFrequency& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ImageResizeMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ImageSource& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ImportantForAccessibility& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::LineBreakStrategy& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::OutlineStyle& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Point& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::PointerEventsMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Role& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewIndicatorStyle& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewKeyboardDismissMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewMaintainVisibleContentPosition& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewSnapToAlignment& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::SharedColor& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Size& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextAlignment& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextBreakStrategy& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextDecorationLineType& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextDecorationStyle& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextTransform& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Transform& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TransformOrigin& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::WritingDirection& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Align& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Direction& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Display& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::FlexDirection& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::FloatOptional& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Justify& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Overflow& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::PositionType& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Style::Length& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Wrap& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::AccessibilityValue& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::BlendMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Isolation& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::LayoutConformance& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::LineBreakMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::SubmitBehavior& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::TextAlignmentVertical& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::ValueUnit& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::yoga::BoxSizing& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::yoga::Style::SizeLength& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::fromRawValueShared(const facebook::react::ContextContainer& contextContainer, int32_t surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result, facebook::react::parsePlatformColorFn parsePlatformColor); +void facebook::react::fromString(const std::string& string, facebook::react::AccessibilityTraits& result); +void facebook::react::g_setNativeAnimatedNowTimestampFunction(facebook::react::TimePointFunction nowFunction); +void facebook::react::parseProcessedBackgroundImage(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::parseProcessedBoxShadow(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::parseProcessedFilter(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::parseProcessedFontVariant(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::FontVariant& result); +void facebook::react::parseProcessedTransform(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Transform& result); +void facebook::react::parseProcessedTransformOrigin(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::TransformOrigin& result); +void facebook::react::parseUnprocessedBackgroundImageList(const facebook::react::PropsParserContext& context, const std::vector& value, std::vector& result); +void facebook::react::parseUnprocessedBackgroundImageString(const std::string& value, std::vector& result); +void facebook::react::parseUnprocessedBoxShadow(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::parseUnprocessedBoxShadowList(const facebook::react::PropsParserContext& context, std::vector&& value, std::vector& result); +void facebook::react::parseUnprocessedBoxShadowString(std::string&& value, std::vector& result); +void facebook::react::parseUnprocessedFilter(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::parseUnprocessedFilterList(const facebook::react::PropsParserContext& context, std::vector&& value, std::vector& result); +void facebook::react::parseUnprocessedFilterString(std::string&& value, std::vector& result); +void facebook::react::parseUnprocessedFontVariant(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontVariant& result); +void facebook::react::parseUnprocessedFontVariantString(const std::string& value, facebook::react::FontVariant& result); +void facebook::react::parseUnprocessedTransform(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Transform& result); +void facebook::react::parseUnprocessedTransformOrigin(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TransformOrigin& result); +void facebook::react::parseUnprocessedTransformOriginString(const std::string& value, facebook::react::TransformOrigin& result); +void facebook::react::parseUnprocessedTransformString(const std::string& value, facebook::react::Transform& result); +void facebook::react::registerCxxModuleToGlobalModuleMap(std::string name, std::function(std::shared_ptr jsInvoker)> moduleProviderFunc); +void facebook::react::serializeTransformAxis(const facebook::react::TransformOperation& operation, const std::string& operationName, float defaultValue, folly::dynamic& resultTranslateArray); +void facebook::react::serializeTransformOperationValue(const std::string& operationName, const facebook::react::ValueUnit& valueUnit, folly::dynamic& resultArray); +void facebook::react::setDefaultColorSpace(facebook::react::ColorSpace newColorSpace); +void facebook::react::setTouchPayloadOnObject(facebook::jsi::Object& object, facebook::jsi::Runtime& runtime, const facebook::react::BaseTouch& touch); +void facebook::react::updateMountedFlag(const std::vector>& oldChildren, const std::vector>& newChildren, facebook::react::ShadowTreeCommitSource commitSource); +void facebook::react::updateProp(const facebook::react::PropName propName, facebook::react::BaseViewProps& viewProps, const facebook::react::PropsSnapshot& snapshot); +void facebook::react::updateTransformProps(const facebook::react::Transform& transform, const facebook::react::TransformOperation& operation, folly::dynamic& resultTranslateArray); +bool facebook::react::operator==(const facebook::react::AttributedStringBox& lhs, const facebook::react::AttributedStringBox& rhs); +bool facebook::react::operator==(const facebook::react::LayoutConstraints& lhs, const facebook::react::LayoutConstraints& rhs); +bool facebook::react::operator==(const facebook::react::LayoutContext& lhs, const facebook::react::LayoutContext& rhs); +bool facebook::react::operator==(const facebook::react::LineMeasureCacheKey& lhs, const facebook::react::LineMeasureCacheKey& rhs); +bool facebook::react::operator==(const facebook::react::PerformanceObserver& lhs, const facebook::react::PerformanceObserver& rhs); +bool facebook::react::operator==(const facebook::react::PreparedTextCacheKey& lhs, const facebook::react::PreparedTextCacheKey& rhs); +bool facebook::react::operator==(const facebook::react::RawPropsKey& lhs, const facebook::react::RawPropsKey& rhs) noexcept; +bool facebook::react::operator==(const facebook::react::Size& rhs, const facebook::react::Size& lhs) noexcept; +bool facebook::react::operator==(const facebook::react::StubView& lhs, const facebook::react::StubView& rhs); +bool facebook::react::operator==(const facebook::react::StubViewTree& lhs, const facebook::react::StubViewTree& rhs); +bool facebook::react::operator==(const facebook::react::TextMeasureCacheKey& lhs, const facebook::react::TextMeasureCacheKey& rhs); +constexpr bool facebook::react::operator==(const facebook::react::AccessibilityState& lhs, const facebook::react::AccessibilityState& rhs); +constexpr bool facebook::react::operator==(const facebook::react::AccessibilityValue& lhs, const facebook::react::AccessibilityValue& rhs); +constexpr enum facebook::react::AccessibilityTraits facebook::react::operator&(const enum facebook::react::AccessibilityTraits lhs, const enum facebook::react::AccessibilityTraits rhs); +constexpr enum facebook::react::AccessibilityTraits facebook::react::operator|(const enum facebook::react::AccessibilityTraits lhs, const enum facebook::react::AccessibilityTraits rhs); +constexpr facebook::react::HighResDuration facebook::react::operator-(const facebook::react::HighResTimeStamp& lhs, const facebook::react::HighResTimeStamp& rhs); +constexpr facebook::react::HighResTimeStamp facebook::react::operator+(const facebook::react::HighResTimeStamp& lhs, const facebook::react::HighResDuration& rhs); +constexpr facebook::react::HighResTimeStamp facebook::react::operator-(const facebook::react::HighResTimeStamp& lhs, const facebook::react::HighResDuration& rhs); +facebook::react::EdgeInsets facebook::react::operator*(const facebook::react::EdgeInsets& edgeInsets, const facebook::react::Transform& transform); +facebook::react::Point facebook::react::operator*(const facebook::react::Point& point, const facebook::react::Transform& transform); +facebook::react::Rect facebook::react::operator*(const facebook::react::Rect& rect, const facebook::react::Transform& transform); +facebook::react::Size facebook::react::operator*(const facebook::react::Size& size, const facebook::react::Transform& transform); +facebook::react::Vector facebook::react::operator*(const facebook::react::Transform& transform, const facebook::react::Vector& vector); +template +facebook::react::RectangleEdges facebook::react::operator+(const facebook::react::RectangleEdges& lhs, const facebook::react::RectangleEdges& rhs) noexcept; +template +facebook::react::RectangleEdges facebook::react::operator-(const facebook::react::RectangleEdges& lhs, const facebook::react::RectangleEdges& rhs) noexcept; + +class facebook::react::AccessibilityProps { + public AccessibilityProps() = default; + public AccessibilityProps(const facebook::react::PropsParserContext& context, const facebook::react::AccessibilityProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool accessibilityElementsHidden; + public bool accessibilityIgnoresInvertColors; + public bool accessibilityRespondsToUserInteraction; + public bool accessibilityShowsLargeContentViewer; + public bool accessibilityViewIsModal; + public bool accessible; + public bool onAccessibilityAction; + public bool onAccessibilityEscape; + public bool onAccessibilityMagicTap; + public bool onAccessibilityTap; + public facebook::react::AccessibilityLabelledBy accessibilityLabelledBy; + public facebook::react::AccessibilityLiveRegion accessibilityLiveRegion; + public facebook::react::AccessibilityTraits accessibilityTraits; + public facebook::react::AccessibilityValue accessibilityValue; + public facebook::react::ImportantForAccessibility importantForAccessibility; + public facebook::react::Role role; + public std::optional accessibilityState; + public std::string accessibilityHint; + public std::string accessibilityLabel; + public std::string accessibilityLanguage; + public std::string accessibilityLargeContentTitle; + public std::string accessibilityRole; + public std::string testId; + public std::vector accessibilityActions; + public std::vector accessibilityOrder; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::AdditionAnimatedNode : public facebook::react::OperatorAnimatedNode { + public AdditionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::AndroidProgressBarComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public AndroidProgressBarComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); + public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; +} + +class facebook::react::AndroidProgressBarMeasurementsManager { + public AndroidProgressBarMeasurementsManager(const std::shared_ptr& contextContainer); + public facebook::react::Size measure(facebook::react::SurfaceId surfaceId, const AndroidProgressBarProps& props, facebook::react::LayoutConstraints layoutConstraints) const; +} + +class facebook::react::AndroidProgressBarShadowNode : public facebook::react::ConcreteViewShadowNode { + public AndroidProgressBarShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public AndroidProgressBarShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; + public void setAndroidProgressBarMeasurementsManager(const std::shared_ptr& measurementsManager); +} + +class facebook::react::AndroidSwitchComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public AndroidSwitchComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); + public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; +} + +class facebook::react::AndroidSwitchMeasurementsManager { + public AndroidSwitchMeasurementsManager(const std::shared_ptr& contextContainer); + public facebook::react::Size measure(facebook::react::SurfaceId surfaceId, facebook::react::LayoutConstraints layoutConstraints) const; +} + +class facebook::react::AndroidSwitchShadowNode : public facebook::react::ConcreteViewShadowNode { + public AndroidSwitchShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public AndroidSwitchShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; + public void setAndroidSwitchMeasurementsManager(const std::shared_ptr& measurementsManager); +} + +class facebook::react::AnimatedModule : public NativeAnimatedModuleCxxSpec, public facebook::react::TurboModuleWithJSIBindings { + public AnimatedModule(std::shared_ptr jsInvoker, std::shared_ptr nodesManagerProvider); + public void addAnimatedEventToView(facebook::jsi::Runtime& rt, facebook::react::Tag viewTag, std::string eventName, facebook::jsi::Object eventMapping); + public void addListener(facebook::jsi::Runtime& rt, const std::string& eventName); + public void connectAnimatedNodeToShadowNodeFamily(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::jsi::Object shadowNode); + public void connectAnimatedNodeToView(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::react::Tag viewTag); + public void connectAnimatedNodes(facebook::jsi::Runtime& rt, facebook::react::Tag parentTag, facebook::react::Tag childTag); + public void createAnimatedNode(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::jsi::Object config); + public void disconnectAnimatedNodeFromView(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::react::Tag viewTag); + public void disconnectAnimatedNodes(facebook::jsi::Runtime& rt, facebook::react::Tag parentTag, facebook::react::Tag childTag); + public void dropAnimatedNode(facebook::jsi::Runtime& rt, facebook::react::Tag tag); + public void extractAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); + public void finishOperationBatch(facebook::jsi::Runtime& rt); + public void flattenAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); + public void getValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::react::AsyncCallback saveValueCallback); + public void queueAndExecuteBatchedOperations(facebook::jsi::Runtime& rt, facebook::jsi::Array operationsAndArgs); + public void removeAnimatedEventFromView(facebook::jsi::Runtime& rt, facebook::react::Tag viewTag, std::string eventName, facebook::react::Tag animatedNodeTag); + public void removeListeners(facebook::jsi::Runtime& rt, int count); + public void restoreDefaultValues(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); + public void setAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, double offset); + public void setAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, double value); + public void startAnimatingNode(facebook::jsi::Runtime& rt, int animationId, facebook::react::Tag nodeTag, facebook::jsi::Object config, facebook::react::AnimationEndCallback endCallback); + public void startListeningToAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag); + public void startOperationBatch(facebook::jsi::Runtime& rt); + public void stopAnimation(facebook::jsi::Runtime& rt, int animationId); + public void stopListeningToAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag); + public void updateAnimatedNodeConfig(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::jsi::Object config); +} + +class facebook::react::AnimatedMountingOverrideDelegate : public facebook::react::MountingOverrideDelegate { + public AnimatedMountingOverrideDelegate(facebook::react::NativeAnimatedNodesManager& animatedManager, const facebook::react::Scheduler& scheduler); + public virtual bool shouldOverridePullTransaction() const override; + public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const override; +} + +class facebook::react::AnimatedNode { + protected facebook::react::AnimatedNode* getChildNode(facebook::react::Tag tag); + protected facebook::react::AnimatedNodeType type_; + protected facebook::react::NativeAnimatedNodesManager* manager_; + protected facebook::react::Tag tag_; + protected std::unordered_set children_; + public AnimatedNode(const facebook::react::AnimatedNode&) = default; + public AnimatedNode(facebook::react::AnimatedNode&&) noexcept = default; + public AnimatedNode(facebook::react::Tag tag, folly::dynamic config, facebook::react::NativeAnimatedNodesManager& manager, facebook::react::AnimatedNodeType type); + public const folly::dynamic& getConfig() const noexcept; + public const std::unordered_set& getChildren() const noexcept; + public facebook::react::AnimatedNode& operator=(const facebook::react::AnimatedNode&) = default; + public facebook::react::AnimatedNode& operator=(facebook::react::AnimatedNode&&) noexcept = default; + public facebook::react::AnimatedNodeType type() const noexcept; + public facebook::react::Tag tag() const noexcept; + public int activeIncomingNodes; + public int bfsColor; + public static constexpr int INITIAL_BFS_COLOR; + public static std::optional getNodeTypeByName(const std::string& nodeTypeName); + public std::string debugID() const; + public virtual void onAttachToNode(facebook::react::Tag); + public virtual void onDetachedFromNode(facebook::react::Tag); + public virtual void update(); + public virtual ~AnimatedNode() = default; + public void addChild(facebook::react::Tag tag); + public void removeChild(facebook::react::Tag tag); +} + +class facebook::react::AnimatedPropsRegistry { + public std::pair>&, facebook::react::SnapshotMap&> getMap(facebook::react::SurfaceId surfaceId); + public void clear(facebook::react::SurfaceId surfaceId); + public void update(const std::unordered_map& surfaceUpdates); +} + +class facebook::react::AnimationBackend : public facebook::react::UIManagerAnimationBackend { + public AnimationBackend(std::shared_ptr animationChoreographer, std::shared_ptr uiManager); + public using PauseCallback = std::function; + public using ResumeCallback = std::function; + public virtual facebook::react::CallbackId start(const facebook::react::UIManagerAnimationBackend::Callback& callback) override; + public virtual void clearRegistry(facebook::react::SurfaceId surfaceId) override; + public virtual void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) override; + public virtual void registerJSInvoker(std::shared_ptr jsInvoker) override; + public virtual void stop(facebook::react::CallbackId callbackId) override; + public virtual void trigger() override; + public void commitUpdates(facebook::react::SurfaceId surfaceId, facebook::react::SurfaceUpdates& surfaceUpdates); + public void requestAsyncFlushForSurfaces(const std::set& surfaces); + public void synchronouslyUpdateProps(const std::unordered_map& updates); +} + +class facebook::react::AnimationBackendCommitHook : public facebook::react::UIManagerCommitHook { + public AnimationBackendCommitHook(facebook::react::UIManager& uiManager, std::shared_ptr animatedPropsRegistry); + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions& commitOptions) noexcept override; + public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept override; + public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept override; +} + +class facebook::react::AnimationChoreographer { + public virtual void pause() = 0; + public virtual void resume() = 0; + public virtual ~AnimationChoreographer() = default; + public void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) const; + public void setAnimationBackend(std::weak_ptr animationBackend); +} + +class facebook::react::AnimationDriver { + protected bool ignoreCompletedHandlers_; + protected bool isComplete_; + protected bool isStarted_; + protected double startFrameTimeMs_; + protected facebook::react::NativeAnimatedNodesManager* manager_; + protected facebook::react::Tag animatedValueTag_; + protected folly::dynamic config_; + protected int currentIteration_; + protected int id_; + protected int iterations_; + protected std::optional endCallback_; + protected virtual bool update(double, bool); + protected void markNodeUpdated(facebook::react::Tag tag); + public AnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); + public bool getIsComplete() const noexcept; + public facebook::react::Tag getAnimatedValueTag() const noexcept; + public int getId() const noexcept; + public static std::optional getDriverTypeByName(const std::string& driverTypeName); + public std::string debugID() const; + public virtual void updateConfig(folly::dynamic config); + public virtual ~AnimationDriver() = default; + public void runAnimationStep(double renderingTime); + public void startAnimation(); + public void stopAnimation(bool ignoreCompletedHandlers = false); +} + +class facebook::react::AppRegistryBinding { + public AppRegistryBinding() = delete; + public static void setSurfaceProps(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& initialProps, facebook::react::DisplayMode displayMode); + public static void startSurface(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& initialProps, facebook::react::DisplayMode displayMode); + public static void stopSurface(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId); +} + +class facebook::react::AttributedString : public facebook::react::Sealable, public facebook::react::DebugStringConvertible { + public bool compareTextAttributesWithoutFrame(const facebook::react::AttributedString& rhs) const; + public bool isContentEqual(const facebook::react::AttributedString& rhs) const; + public bool isEmpty() const; + public bool operator==(const facebook::react::AttributedString& rhs) const; + public const facebook::react::AttributedString::Fragments& getFragments() const; + public const facebook::react::TextAttributes& getBaseTextAttributes() const; + public facebook::react::AttributedString::Fragments& getFragments(); + public std::string getString() const; + public using Fragments = std::vector; + public void appendFragment(facebook::react::AttributedString::Fragment&& fragment); + public void prependFragment(facebook::react::AttributedString::Fragment&& fragment); + public void setBaseTextAttributes(const facebook::react::TextAttributes& defaultAttributes); +} + +class facebook::react::AttributedString::Fragment { + public bool isAttachment() const; + public bool isContentEqual(const facebook::react::AttributedString::Fragment& rhs) const; + public bool operator==(const facebook::react::AttributedString::Fragment& rhs) const; + public facebook::react::ShadowView parentShadowView; + public facebook::react::TextAttributes textAttributes; + public static std::string AttachmentCharacter(); + public std::string string; +} + +class facebook::react::AttributedString::Range { + public int length; + public int location; +} + +class facebook::react::AttributedStringBox { + public AttributedStringBox(); + public AttributedStringBox(const facebook::react::AttributedString& value); + public AttributedStringBox(const facebook::react::AttributedStringBox& other) = default; + public AttributedStringBox(facebook::react::AttributedStringBox&& other) noexcept; + public AttributedStringBox(std::shared_ptr opaquePointer); + public const facebook::react::AttributedString& getValue() const; + public facebook::react::AttributedStringBox& operator=(const facebook::react::AttributedStringBox& other) = default; + public facebook::react::AttributedStringBox& operator=(facebook::react::AttributedStringBox&& other) noexcept; + public facebook::react::AttributedStringBox::Mode getMode() const; + public std::shared_ptr getOpaquePointer() const; +} + +enum facebook::react::AttributedStringBox::Mode { + OpaquePointer, + Value, +} + +class facebook::react::BaseParagraphProps : public facebook::react::HostPlatformViewProps, public facebook::react::BaseTextProps { + public BaseParagraphProps() = default; + public BaseParagraphProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseParagraphProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool isSelectable; + public bool onTextLayout; + public facebook::react::ParagraphAttributes paragraphAttributes; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::BaseScrollViewProps : public facebook::react::HostPlatformViewProps { + public BaseScrollViewProps() = default; + public BaseScrollViewProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseScrollViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public Float decelerationRate; + public Float endDraggingSensitivityMultiplier; + public Float maximumZoomScale; + public Float minimumZoomScale; + public Float scrollEventThrottle; + public Float snapToInterval; + public Float zoomScale; + public bool alwaysBounceHorizontal; + public bool alwaysBounceVertical; + public bool automaticallyAdjustContentInsets; + public bool automaticallyAdjustKeyboardInsets; + public bool automaticallyAdjustsScrollIndicatorInsets; + public bool bounces; + public bool bouncesZoom; + public bool canCancelContentTouches; + public bool centerContent; + public bool directionalLockEnabled; + public bool disableIntervalMomentum; + public bool horizontal; + public bool isInvertedVirtualizedList; + public bool pagingEnabled; + public bool persistentScrollbar; + public bool pinchGestureEnabled; + public bool scrollEnabled; + public bool scrollToOverflowEnabled; + public bool scrollsToTop; + public bool showsHorizontalScrollIndicator; + public bool showsVerticalScrollIndicator; + public bool snapToEnd; + public bool snapToStart; + public facebook::react::ContentInsetAdjustmentBehavior contentInsetAdjustmentBehavior; + public facebook::react::EdgeInsets contentInset; + public facebook::react::EdgeInsets scrollIndicatorInsets; + public facebook::react::Point contentOffset; + public facebook::react::ScrollViewIndicatorStyle indicatorStyle; + public facebook::react::ScrollViewKeyboardDismissMode keyboardDismissMode; + public facebook::react::ScrollViewSnapToAlignment snapToAlignment; + public std::optional maintainVisibleContentPosition; + public std::vector snapToOffsets; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::BaseTextInputProps : public facebook::react::HostPlatformViewProps, public facebook::react::BaseTextProps { + public BaseTextInputProps() = default; + public BaseTextInputProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseTextInputProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool autoFocus; + public bool disableKeyboardShortcuts; + public bool editable; + public bool multiline; + public bool readOnly; + public facebook::react::ParagraphAttributes paragraphAttributes; + public facebook::react::SharedColor cursorColor; + public facebook::react::SharedColor placeholderTextColor; + public facebook::react::SharedColor selectionColor; + public facebook::react::SharedColor selectionHandleColor; + public facebook::react::SharedColor underlineColorAndroid; + public facebook::react::SubmitBehavior getNonDefaultSubmitBehavior() const; + public facebook::react::SubmitBehavior submitBehavior; + public facebook::react::TextAttributes getEffectiveTextAttributes(Float fontSizeMultiplier) const; + public int maxLength; + public int mostRecentEventCount; + public std::optional> acceptDragAndDropTypes; + public std::string autoCapitalize; + public std::string defaultValue; + public std::string placeholder; + public std::string text; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::BaseTextProps { + public BaseTextProps() = default; + public BaseTextProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseTextProps& sourceProps, const facebook::react::RawProps& rawProps); + public facebook::react::TextAttributes textAttributes; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::BaseTextShadowNode { + public static void buildAttributedString(const facebook::react::TextAttributes& baseTextAttributes, const facebook::react::ShadowNode& parentNode, facebook::react::AttributedString& outAttributedString, facebook::react::BaseTextShadowNode::Attachments& outAttachments); + public using Attachments = std::vector; +} + +class facebook::react::BaseTextShadowNode::Attachment { + public const facebook::react::ShadowNode* shadowNode; + public size_t fragmentIndex; +} + +class facebook::react::BaseViewEventEmitter : public facebook::react::TouchEventEmitter { + public void onAccessibilityAction(const std::string& name) const; + public void onAccessibilityEscape() const; + public void onAccessibilityMagicTap() const; + public void onAccessibilityTap() const; + public void onBlur() const; + public void onFocus() const; + public void onLayout(const facebook::react::LayoutMetrics& layoutMetrics) const; +} + +class facebook::react::BaseViewProps : public facebook::react::YogaStylableProps, public facebook::react::AccessibilityProps { + public BaseViewProps() = default; + public BaseViewProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseViewProps& sourceProps, const facebook::react::RawProps& rawProps, const std::function& filterObjectKeys = nullptr); + public Float opacity; + public Float outlineOffset; + public Float outlineWidth; + public Float shadowOpacity; + public Float shadowRadius; + public bool collapsable; + public bool collapsableChildren; + public bool getClipsContentToBounds() const; + public bool onLayout; + public bool removeClippedSubviews; + public bool shouldRasterize; + public facebook::react::BackfaceVisibility backfaceVisibility; + public facebook::react::BlendMode mixBlendMode; + public facebook::react::BorderMetrics resolveBorderMetrics(const facebook::react::LayoutMetrics& layoutMetrics) const; + public facebook::react::CascadedBorderColors borderColors; + public facebook::react::CascadedBorderCurves borderCurves; + public facebook::react::CascadedBorderRadii borderRadii; + public facebook::react::CascadedBorderStyles borderStyles; + public facebook::react::CascadedBorderWidths getBorderWidths() const; + public facebook::react::Cursor cursor; + public facebook::react::EdgeInsets hitSlop; + public facebook::react::Isolation isolation; + public facebook::react::OutlineStyle outlineStyle; + public facebook::react::PointerEventsMode pointerEvents; + public facebook::react::SharedColor backgroundColor; + public facebook::react::SharedColor outlineColor; + public facebook::react::SharedColor shadowColor; + public facebook::react::Size shadowOffset; + public facebook::react::Transform resolveTransform(const facebook::react::LayoutMetrics& layoutMetrics) const; + public facebook::react::Transform transform; + public facebook::react::TransformOrigin transformOrigin; + public facebook::react::ViewEvents events; + public static facebook::react::Transform resolveTransform(const facebook::react::Size& frameSize, const facebook::react::Transform& transform, const facebook::react::TransformOrigin& transformOrigin); + public std::optional zIndex; + public std::vector backgroundImage; + public std::vector backgroundPosition; + public std::vector backgroundRepeat; + public std::vector backgroundSize; + public std::vector boxShadow; + public std::vector filter; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::BigStringBuffer : public facebook::jsi::Buffer { + public BigStringBuffer(std::unique_ptr script); + public virtual const uint8_t* data() const override; + public virtual size_t size() const override; +} + +class facebook::react::BindingsInstaller { + public virtual facebook::react::ReactInstance::BindingsInstallFunc getBindingsInstallFunc(); +} + +class facebook::react::BridgelessNativeMethodCallInvoker : public facebook::react::NativeMethodCallInvoker { + public BridgelessNativeMethodCallInvoker(std::shared_ptr messageQueueThread); + public virtual void invokeAsync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) noexcept override; + public virtual void invokeSync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) override; +} + +class facebook::react::BufferedRuntimeExecutor { + public BufferedRuntimeExecutor(facebook::react::RuntimeExecutor runtimeExecutor); + public using Work = std::function; + public void execute(facebook::react::BufferedRuntimeExecutor::Work&& callback); + public void flush(); +} + +struct facebook::react::BufferedRuntimeExecutor::BufferedWork { + public bool operator<(const facebook::react::BufferedRuntimeExecutor::BufferedWork& rhs) const; + public facebook::react::BufferedRuntimeExecutor::Work work_; + public uint64_t index_; +} + +class facebook::react::CSSSyntaxParser { + public constexpr CSSSyntaxParser(const facebook::react::CSSSyntaxParser&) = default; + public constexpr CSSSyntaxParser(facebook::react::CSSSyntaxParser&&) = default; + public constexpr CSSSyntaxParser(std::string_view css); + public constexpr bool consumeDelimiter(facebook::react::CSSDelimiter delimiter); + public constexpr bool isFinished() const; + public constexpr const facebook::react::CSSToken& peek() const; + public constexpr facebook::react::CSSSyntaxParser& operator=(const facebook::react::CSSSyntaxParser&) = default; + public constexpr facebook::react::CSSSyntaxParser& operator=(facebook::react::CSSSyntaxParser&&) = default; + public constexpr void consumeWhitespace(); + template + public constexpr ReturnT consumeComponentValue(const facebook::react::CSSComponentValueVisitor auto &... visitors); + template + public constexpr ReturnT consumeComponentValue(facebook::react::CSSDelimiter delimiter, const facebook::react::CSSComponentValueVisitor auto &... visitors); +} + +class facebook::react::CSSToken { + public constexpr CSSToken(const facebook::react::CSSToken& other) = default; + public constexpr CSSToken(facebook::react::CSSToken&& other) = default; + public constexpr CSSToken(facebook::react::CSSTokenType type); + public constexpr CSSToken(facebook::react::CSSTokenType type, float value); + public constexpr CSSToken(facebook::react::CSSTokenType type, float value, std::string_view unit); + public constexpr CSSToken(facebook::react::CSSTokenType type, std::string_view value); + public constexpr bool operator==(const facebook::react::CSSToken& other) const = default; + public constexpr facebook::react::CSSToken& operator=(const facebook::react::CSSToken& other) = default; + public constexpr facebook::react::CSSToken& operator=(facebook::react::CSSToken&& other) = default; + public constexpr facebook::react::CSSTokenType type() const; + public constexpr float numericValue() const; + public constexpr std::string_view stringValue() const; + public constexpr std::string_view unit() const; +} + +class facebook::react::CSSTokenizer { + public constexpr CSSTokenizer(std::string_view characters); + public constexpr facebook::react::CSSToken next(); +} + +class facebook::react::CSSValueParser { + public constexpr CSSValueParser(const facebook::react::CSSValueParser&) = default; + public constexpr CSSValueParser(facebook::react::CSSSyntaxParser& parser); + public constexpr const facebook::react::CSSSyntaxParser& syntaxParser() const; + public constexpr facebook::react::CSSSyntaxParser& syntaxParser(); + public constexpr facebook::react::CSSValueParser& operator=(const facebook::react::CSSValueParser&) = default; + template + public constexpr facebook::react::CSSVariantWithTypes, std::monostate> parseNextValue(facebook::react::CSSDelimiter delimiter = facebook::react::CSSDelimiter::None); + template + public constexpr facebook::react::CSSVariantWithTypes, std::monostate> peekNextValue(facebook::react::CSSDelimiter delimiter = facebook::react::CSSDelimiter::None); +} + +class facebook::react::CallInvoker { + public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept = 0; + public virtual void invokeAsync(facebook::react::SchedulerPriority, facebook::react::CallFunc&& func) noexcept; + public virtual void invokeAsync(std::function&& func) noexcept; + public virtual void invokeSync(facebook::react::CallFunc&& func) = 0; + public virtual void invokeSync(std::function&& func); + public virtual ~CallInvoker() = default; +} + +class facebook::react::CallbackWrapper : public facebook::react::LongLivedObject { + public facebook::jsi::Function& callback() noexcept; + public facebook::jsi::Runtime& runtime() noexcept; + public facebook::react::CallInvoker& jsInvoker() noexcept; + public static std::weak_ptr createWeak(facebook::jsi::Function&& callback, facebook::jsi::Runtime& runtime, std::shared_ptr jsInvoker); + public std::shared_ptr jsInvokerPtr() noexcept; + public void destroy(); +} + +class facebook::react::CdpMetricsReporter : public facebook::react::PerformanceEntryReporterEventListener { + public CdpMetricsReporter(facebook::react::RuntimeExecutor runtimeExecutor); + public virtual void onEventTimingEntry(const facebook::react::PerformanceEventTiming& entry) override; +} + +class facebook::react::CdpPerfIssuesReporter : public facebook::react::PerformanceEntryReporterEventListener { + public CdpPerfIssuesReporter(facebook::react::RuntimeExecutor runtimeExecutor); + public virtual void onMeasureEntry(const facebook::react::PerformanceMeasure& entry, const std::optional& detailProvider) override; +} + +class facebook::react::ColorAnimatedNode : public facebook::react::AnimatedNode { + public Color getColor(); + public ColorAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::ComponentBuilder { + public ComponentBuilder(const facebook::react::ComponentBuilder& componentBuilder) = default; + public ComponentBuilder(facebook::react::ComponentBuilder&& componentBuilder) noexcept = default; + public ComponentBuilder(facebook::react::ComponentDescriptorRegistry::Shared componentDescriptorRegistry); + public facebook::react::ComponentBuilder& operator=(const facebook::react::ComponentBuilder& other) = default; + public facebook::react::ComponentBuilder& operator=(facebook::react::ComponentBuilder&& other) = default; + template + public std::shared_ptr build(facebook::react::Element element) const; +} + +class facebook::react::ComponentDescriptor { + protected facebook::react::ComponentDescriptor::Flavor flavor_; + protected facebook::react::EventDispatcher::Weak eventDispatcher_; + protected facebook::react::RawPropsParser rawPropsParser_; + protected friend ShadowNode; + protected std::shared_ptr contextContainer_; + protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const = 0; + public ComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public const std::shared_ptr& getContextContainer() const; + public using Flavor = std::shared_ptr; + public using Shared = std::shared_ptr; + public using Unique = std::unique_ptr; + public virtual facebook::react::ComponentHandle getComponentHandle() const = 0; + public virtual facebook::react::ComponentName getComponentName() const = 0; + public virtual facebook::react::Props::Shared cloneProps(const facebook::react::PropsParserContext& context, const facebook::react::Props::Shared& props, facebook::react::RawProps rawProps) const = 0; + public virtual facebook::react::ShadowNodeFamily::Shared createFamily(const facebook::react::ShadowNodeFamilyFragment& fragment) const = 0; + public virtual facebook::react::ShadowNodeTraits getTraits() const = 0; + public virtual facebook::react::State::Shared createInitialState(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family) const = 0; + public virtual facebook::react::State::Shared createState(const facebook::react::ShadowNodeFamily& family, const facebook::react::StateData::Shared& data) const = 0; + public virtual std::shared_ptr cloneShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) const = 0; + public virtual std::shared_ptr createShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family) const = 0; + public virtual void appendChild(const std::shared_ptr& parentShadowNode, const std::shared_ptr& childShadowNode) const = 0; + public virtual ~ComponentDescriptor() = default; +} + +class facebook::react::ComponentDescriptorParameters { + public facebook::react::ComponentDescriptor::Flavor flavor; + public facebook::react::EventDispatcher::Weak eventDispatcher; + public std::shared_ptr contextContainer; +} + +class facebook::react::ComponentDescriptorProvider { + public facebook::react::ComponentDescriptor::Flavor flavor; + public facebook::react::ComponentDescriptorConstructor* constructor; + public facebook::react::ComponentHandle handle; + public facebook::react::ComponentName name; +} + +class facebook::react::ComponentDescriptorProviderRegistry { + public facebook::react::ComponentDescriptorRegistry::Shared createComponentDescriptorRegistry(const facebook::react::ComponentDescriptorParameters& parameters) const; + public void add(const facebook::react::ComponentDescriptorProvider& provider) const; + public void setComponentDescriptorProviderRequest(facebook::react::ComponentDescriptorProviderRequest request) const; +} + +class facebook::react::ComponentDescriptorRegistry { + public ComponentDescriptorRegistry(facebook::react::ComponentDescriptorParameters parameters, const facebook::react::ComponentDescriptorProviderRegistry& providerRegistry, std::shared_ptr contextContainer); + public bool hasComponentDescriptorAt(facebook::react::ComponentHandle componentHandle) const; + public const facebook::react::ComponentDescriptor& at(const std::string& componentName) const; + public const facebook::react::ComponentDescriptor& at(facebook::react::ComponentHandle componentHandle) const; + public const facebook::react::ComponentDescriptor* findComponentDescriptorByHandle_DO_NOT_USE_THIS_IS_BROKEN(facebook::react::ComponentHandle componentHandle) const; + public facebook::react::ComponentDescriptor::Shared getFallbackComponentDescriptor() const; + public using Shared = std::shared_ptr; + public void setFallbackComponentDescriptor(const facebook::react::SharedComponentDescriptor& descriptor); +} + +class facebook::react::ContextContainer { + public void erase(const std::string& key) const; + public void update(const facebook::react::ContextContainer& contextContainer) const; + template + public T at(const std::string& key) const; + template + public std::optional find(const std::string& key) const; + template + public void insert(const std::string& key, const T& instance) const; +} + +class facebook::react::CxxNativeModule : public facebook::react::NativeModule { + public CxxNativeModule(std::weak_ptr instance, std::string name, facebook::xplat::module::CxxModule::Provider provider, std::shared_ptr messageQueueThread); + public static void setShouldWarnOnUse(bool value); + public virtual facebook::react::MethodCallResult callSerializableNativeHook(unsigned int hookId, folly::dynamic&& args) override; + public virtual folly::dynamic getConstants() override; + public virtual std::string getName() override; + public virtual std::string getSyncMethodName(unsigned int methodId) override; + public virtual std::vector getMethods() override; + public virtual void invoke(unsigned int reactMethodId, folly::dynamic&& params, int callId) override; +} + +class facebook::react::DebugStringConvertible { +} + +class facebook::react::DecayAnimationDriver : public facebook::react::AnimationDriver { + protected virtual bool update(double timeDeltaMs, bool restarting) override; + public DecayAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); +} + +class facebook::react::DevToolsRuntimeSettings { + public DevToolsRuntimeSettings(const facebook::react::DevToolsRuntimeSettings&) = delete; + public DevToolsRuntimeSettings(facebook::react::DevToolsRuntimeSettings&&) = delete; + public facebook::react::NativeReloadAndProfileConfig getReloadAndProfileConfig() const; + public static facebook::react::DevToolsRuntimeSettings& getInstance(); + public void operator=(const facebook::react::DevToolsRuntimeSettings&) = delete; + public void operator=(facebook::react::DevToolsRuntimeSettings&&) = delete; + public void setReloadAndProfileConfig(facebook::react::NativePartialReloadAndProfileConfig config); + public ~DevToolsRuntimeSettings() = default; +} + +class facebook::react::DevToolsRuntimeSettingsModule : public NativeReactDevToolsRuntimeSettingsModuleCxxSpec { + public DevToolsRuntimeSettingsModule(std::shared_ptr jsInvoker); + public facebook::react::NativeReloadAndProfileConfig getReloadAndProfileConfig(facebook::jsi::Runtime& rt); + public void setReloadAndProfileConfig(facebook::jsi::Runtime& rt, facebook::react::NativePartialReloadAndProfileConfig config); +} + +class facebook::react::DiffClampAnimatedNode : public facebook::react::ValueAnimatedNode { + public DiffClampAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::DivisionAnimatedNode : public facebook::react::OperatorAnimatedNode { + public DivisionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::ElementFragment { + public facebook::react::ComponentHandle componentHandle; + public facebook::react::ComponentName componentName; + public facebook::react::ElementFragment::FinalizeCallback finalizeCallback; + public facebook::react::ElementFragment::List children; + public facebook::react::ElementFragment::ReferenceCallback referenceCallback; + public facebook::react::ElementFragment::StateCallback stateCallback; + public facebook::react::Props::Shared props; + public facebook::react::SurfaceId surfaceId; + public facebook::react::Tag tag; + public using FinalizeCallback = std::function; + public using List = std::vector; + public using ListOfShared = std::vector; + public using ReferenceCallback = std::function& shadowNode)>; + public using Shared = std::shared_ptr; + public using StateCallback = std::function; +} + +class facebook::react::Error { + public Error(const char* message); + public Error(std::string message); + public const std::string& message() const; +} + +class facebook::react::EventAnimationDriver { + protected const facebook::react::Tag animatedValueTag_; + protected std::vector eventPath_; + public EventAnimationDriver(const std::vector& eventPath, facebook::react::Tag animatedValueTag); + public facebook::react::Tag getAnimatedNodeTag() const; + public std::optional getValueFromPayload(const facebook::react::EventPayload& eventPayload); + public ~EventAnimationDriver() = default; +} + +class facebook::react::EventBeat { + protected facebook::react::EventBeat::BeatCallback beatCallback_; + protected mutable std::atomic isEventBeatRequested_; + protected std::function induceCallback_; + protected std::shared_ptr ownerBox_; + protected void induce() const; + public EventBeat(const facebook::react::EventBeat& other) = delete; + public EventBeat(std::shared_ptr ownerBox, facebook::react::RuntimeScheduler& runtimeScheduler); + public facebook::react::EventBeat& operator=(const facebook::react::EventBeat& other) = delete; + public using BeatCallback = std::function; + public using Factory = std::function(std::shared_ptr ownerBox)>; + public virtual void request() const; + public virtual void requestSynchronous() const; + public virtual ~EventBeat() = default; + public void setBeatCallback(facebook::react::EventBeat::BeatCallback beatCallback); + public void unstable_setInduceCallback(std::function callback); +} + +struct facebook::react::EventBeat::OwnerBox { + public std::weak_ptr owner; +} + +class facebook::react::EventDispatcher { + public EventDispatcher(const facebook::react::EventQueueProcessor& eventProcessor, std::unique_ptr eventBeat, facebook::react::StatePipe statePipe, std::weak_ptr eventLogger); + public using Shared = std::shared_ptr; + public using Weak = std::weak_ptr; + public void addListener(std::shared_ptr listener) const; + public void dispatchEvent(facebook::react::RawEvent&& rawEvent) const; + public void dispatchStateUpdate(facebook::react::StateUpdate&& stateUpdate, facebook::react::EventQueue::UpdateMode updateMode) const; + public void dispatchUniqueEvent(facebook::react::RawEvent&& rawEvent) const; + public void experimental_flushSync() const; + public void removeListener(const std::shared_ptr& listener) const; +} + +class facebook::react::EventEmitter { + public EventEmitter(facebook::react::SharedEventTarget eventTarget, facebook::react::EventDispatcher::Weak eventDispatcher); + public const facebook::react::SharedEventTarget& getEventTarget() const; + public static facebook::react::ValueFactory defaultPayloadFactory(); + public static std::mutex& DispatchMutex(); + public static std::string normalizeEventType(std::string type); + public using Shared = std::shared_ptr; + public virtual ~EventEmitter() = default; + public void dispatchEvent(std::string type, const facebook::react::ValueFactory& payloadFactory = facebook::react::EventEmitter::defaultPayloadFactory(), facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified) const; + public void dispatchEvent(std::string type, const facebook::react::ValueFactory& payloadFactory, facebook::react::RawEvent::Category category, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified) const; + public void dispatchEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::RawEvent::Category category, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchEvent(std::string type, folly::dynamic&& payload, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified) const; + public void dispatchEvent(std::string type, folly::dynamic&& payload, facebook::react::RawEvent::Category category, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, const facebook::react::ValueFactory& payloadFactory = facebook::react::EventEmitter::defaultPayloadFactory()) const; + public void dispatchUniqueEvent(std::string type, const facebook::react::ValueFactory& payloadFactory, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload) const; + public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload) const; + public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void setEnabled(bool enabled); + public void setShadowNodeFamily(std::weak_ptr shadowNodeFamily); + template + public void experimental_flushSync(Lambda syncFunc) const; +} + +class facebook::react::EventListenerContainer { + public bool willDispatchEvent(const facebook::react::RawEvent& event); + public void addListener(std::shared_ptr listener); + public void removeListener(const std::shared_ptr& listener); +} + +class facebook::react::EventLogger { + public virtual facebook::react::EventTag onEventStart(std::string_view name, facebook::react::SharedEventTarget target, std::optional eventStartTimeStamp = std::nullopt) = 0; + public virtual void onEventProcessingEnd(facebook::react::EventTag tag) = 0; + public virtual void onEventProcessingStart(facebook::react::EventTag tag) = 0; + public virtual ~EventLogger() = default; +} + +class facebook::react::EventPerformanceLogger : public facebook::react::EventLogger, public facebook::react::RuntimeSchedulerEventTimingDelegate, public facebook::react::UIManagerMountHook { + public EventPerformanceLogger(std::weak_ptr performanceEntryReporter); + public virtual facebook::react::EventTag onEventStart(std::string_view name, facebook::react::SharedEventTarget target, std::optional eventStartTimeStamp = std::nullopt) override; + public virtual void dispatchPendingEventTimingEntries(facebook::react::HighResTimeStamp taskEndTime, const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) override; + public virtual void onEventProcessingEnd(facebook::react::EventTag tag) override; + public virtual void onEventProcessingStart(facebook::react::EventTag tag) override; + public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp mountTime) noexcept override; +} + +class facebook::react::EventQueue { + protected const std::unique_ptr eventBeat_; + protected facebook::react::EventQueueProcessor eventProcessor_; + protected mutable std::mutex queueMutex_; + protected mutable std::vector eventQueue_; + protected mutable std::vector stateUpdateQueue_; + protected void flushEvents(facebook::jsi::Runtime& runtime) const; + protected void flushStateUpdates() const; + protected void onBeat(facebook::jsi::Runtime& runtime) const; + protected void onEnqueue() const; + public EventQueue(facebook::react::EventQueueProcessor eventProcessor, std::unique_ptr eventBeat); + public void enqueueEvent(facebook::react::RawEvent&& rawEvent) const; + public void enqueueStateUpdate(facebook::react::StateUpdate&& stateUpdate, facebook::react::EventQueue::UpdateMode updateMode = facebook::react::EventQueue::UpdateMode::Asynchronous) const; + public void enqueueUniqueEvent(facebook::react::RawEvent&& rawEvent) const; + public void experimental_flushSync() const; +} + +enum facebook::react::EventQueue::UpdateMode { + Asynchronous, + unstable_Immediate, +} + +class facebook::react::EventQueueProcessor { + public EventQueueProcessor(facebook::react::EventPipe eventPipe, facebook::react::EventPipeConclusion eventPipeConclusion, facebook::react::StatePipe statePipe, std::weak_ptr eventLogger); + public void flushEvents(facebook::jsi::Runtime& runtime, std::vector&& events) const; + public void flushStateUpdates(std::vector&& states) const; +} + +class facebook::react::EventSubscription { + public EventSubscription(const facebook::react::EventSubscription&) = delete; + public EventSubscription(facebook::react::EventSubscription&&) noexcept = default; + public EventSubscription(std::function remove); + public facebook::react::EventSubscription& operator=(const facebook::react::EventSubscription&) = delete; + public facebook::react::EventSubscription& operator=(facebook::react::EventSubscription&&) noexcept = default; + public void remove(); + public ~EventSubscription() = default; +} + +class facebook::react::EventTarget { + public EventTarget(facebook::react::InstanceHandle::Shared instanceHandle, facebook::react::SurfaceId surfaceId); + public facebook::jsi::Value getInstanceHandle(facebook::jsi::Runtime& runtime) const; + public facebook::react::EventTarget::Tag getTag() const; + public facebook::react::SurfaceId getSurfaceId() const; + public using Tag = int32_t; + public void release(facebook::jsi::Runtime& runtime); + public void retain(facebook::jsi::Runtime& runtime); + public void setEnabled(bool enabled); +} + +class facebook::react::ExecutorDelegate { + public virtual facebook::react::MethodCallResult callSerializableNativeHook(facebook::react::JSExecutor& executor, unsigned int moduleId, unsigned int methodId, folly::dynamic&& args) = 0; + public virtual std::shared_ptr getModuleRegistry() = 0; + public virtual void callNativeModules(facebook::react::JSExecutor& executor, folly::dynamic&& calls, bool isEndOfBatch) = 0; + public virtual ~ExecutorDelegate() = default; +} + +class facebook::react::FrameAnimationDriver : public facebook::react::AnimationDriver { + protected virtual bool update(double timeDeltaMs, bool restarting) override; + protected virtual void updateConfig(folly::dynamic config) override; + public FrameAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); +} + +class facebook::react::FuseboxTracer { + public FuseboxTracer(const facebook::react::FuseboxTracer&) = delete; + public bool isTracing(); + public bool startTracing(); + public bool stopTracing(const std::function& resultCallback); + public bool stopTracingAndWriteToFile(const std::string& path); + public static facebook::react::FuseboxTracer& getFuseboxTracer(); + public void addEvent(const std::string_view& name, uint64_t start, uint64_t end, const std::optional& track); +} + +class facebook::react::HermesExecutor : public facebook::react::JSIExecutor { + public HermesExecutor(std::shared_ptr runtime, std::shared_ptr delegate, std::shared_ptr jsQueue, const facebook::react::JSIScopedTimeoutInvoker& timeoutInvoker, facebook::react::JSIExecutor::RuntimeInstaller runtimeInstaller, hermes::HermesRuntime& hermesRuntime); + public virtual facebook::react::jsinspector_modern::RuntimeTargetDelegate& getRuntimeTargetDelegate() override; +} + +class facebook::react::HermesExecutorFactory : public facebook::react::JSExecutorFactory { + public HermesExecutorFactory(facebook::react::JSIExecutor::RuntimeInstaller runtimeInstaller, const facebook::react::JSIScopedTimeoutInvoker& timeoutInvoker = facebook::react::JSIExecutor::defaultTimeoutInvoker, hermes::vm::RuntimeConfig runtimeConfig = defaultRuntimeConfig()); + public virtual std::unique_ptr createJSExecutor(std::shared_ptr delegate, std::shared_ptr jsQueue) override; + public void setDebuggerName(const std::string& debuggerName); + public void setEnableDebugger(bool enableDebugger); +} + +class facebook::react::HermesInstance { + public static std::unique_ptr createJSRuntime(std::shared_ptr crashManager, std::shared_ptr msgQueueThread, bool allocInOldGenBeforeTTI) noexcept; +} + +class facebook::react::HighResDuration { + public constexpr HighResDuration(); + public constexpr bool operator!=(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator!=(const std::chrono::steady_clock::duration& rhs) const; + public constexpr bool operator<(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator<(const std::chrono::steady_clock::duration& rhs) const; + public constexpr bool operator<=(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator<=(const std::chrono::steady_clock::duration& rhs) const; + public constexpr bool operator==(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator==(const std::chrono::steady_clock::duration& rhs) const; + public constexpr bool operator>(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator>(const std::chrono::steady_clock::duration& rhs) const; + public constexpr bool operator>=(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator>=(const std::chrono::steady_clock::duration& rhs) const; + public constexpr double toDOMHighResTimeStamp() const; + public constexpr facebook::react::HighResDuration operator+(const facebook::react::HighResDuration& rhs) const; + public constexpr facebook::react::HighResDuration operator+(const std::chrono::steady_clock::duration& rhs) const; + public constexpr facebook::react::HighResDuration operator-(const facebook::react::HighResDuration& rhs) const; + public constexpr facebook::react::HighResDuration operator-(const std::chrono::steady_clock::duration& rhs) const; + public constexpr facebook::react::HighResDuration& operator+=(const facebook::react::HighResDuration& rhs); + public constexpr facebook::react::HighResDuration& operator+=(const std::chrono::steady_clock::duration& rhs); + public constexpr facebook::react::HighResDuration& operator-=(const facebook::react::HighResDuration& rhs); + public constexpr facebook::react::HighResDuration& operator-=(const std::chrono::steady_clock::duration& rhs); + public constexpr int64_t toNanoseconds() const; + public constexpr operator std::chrono::steady_clock::duration() const; + public static constexpr facebook::react::HighResDuration fromChrono(std::chrono::steady_clock::duration chronoDuration); + public static constexpr facebook::react::HighResDuration fromDOMHighResTimeStamp(double units); + public static constexpr facebook::react::HighResDuration fromMilliseconds(int64_t units); + public static constexpr facebook::react::HighResDuration fromNanoseconds(int64_t units); + public static constexpr facebook::react::HighResDuration zero(); +} + +class facebook::react::HighResTimeStamp { + public HighResTimeStamp() noexcept; + public constexpr bool operator!=(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr bool operator<(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr bool operator<=(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr bool operator==(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr bool operator>(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr bool operator>=(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr double toDOMHighResTimeStamp() const; + public constexpr facebook::react::HighResTimeStamp& operator+=(const facebook::react::HighResDuration& rhs); + public constexpr facebook::react::HighResTimeStamp& operator-=(const facebook::react::HighResDuration& rhs); + public constexpr std::chrono::steady_clock::time_point toChronoSteadyClockTimePoint() const; + public static constexpr facebook::react::HighResTimeStamp fromChronoSteadyClockTimePoint(std::chrono::steady_clock::time_point chronoTimePoint); + public static constexpr facebook::react::HighResTimeStamp fromDOMHighResTimeStamp(double units); + public static constexpr facebook::react::HighResTimeStamp max() noexcept; + public static constexpr facebook::react::HighResTimeStamp min() noexcept; + public static facebook::react::HighResDuration unsafeOriginFromUnixTimeStamp() noexcept; + public static facebook::react::HighResTimeStamp now() noexcept; + public static void setTimeStampProviderForTesting(std::function&& timeStampProvider); +} + +class facebook::react::HostPlatformViewProps : public facebook::react::BaseViewProps { + public HostPlatformViewProps() = default; + public HostPlatformViewProps(const facebook::react::PropsParserContext& context, const facebook::react::HostPlatformViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool focusable; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::IAsyncEventEmitter { + public IAsyncEventEmitter() noexcept = default; + public IAsyncEventEmitter(const facebook::react::IAsyncEventEmitter&) = delete; + public IAsyncEventEmitter(facebook::react::IAsyncEventEmitter&&) noexcept = default; + public facebook::react::IAsyncEventEmitter& operator=(const facebook::react::IAsyncEventEmitter&) = delete; + public facebook::react::IAsyncEventEmitter& operator=(facebook::react::IAsyncEventEmitter&&) noexcept = default; + public virtual facebook::jsi::Object get(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker) const = 0; + public virtual ~IAsyncEventEmitter() noexcept = default; +} + +class facebook::react::ImageComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public ImageComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); + public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; +} + +class facebook::react::ImageErrorInfo { + public int responseCode; + public std::string error; + public std::vector> httpResponseHeaders; +} + +class facebook::react::ImageEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onError(const facebook::react::ImageErrorInfo& error) const; + public void onLoad(const facebook::react::ImageSource& source) const; + public void onLoadEnd() const; + public void onLoadStart() const; + public void onPartialLoad() const; + public void onProgress(double progress, int64_t loaded, int64_t total) const; +} + +class facebook::react::ImageLoadError { + public ImageLoadError(std::shared_ptr error); + public std::shared_ptr getError() const; +} + +class facebook::react::ImageManager { + public ImageManager(const std::shared_ptr& contextContainer); + public virtual facebook::react::ImageRequest requestImage(const facebook::react::ImageSource& imageSource, facebook::react::SurfaceId surfaceId, const ImageRequestParams& imageRequestParams = {}, facebook::react::Tag tag = {}) const; + public virtual ~ImageManager(); +} + +class facebook::react::ImageProps : public facebook::react::HostPlatformViewProps { + public Float blurRadius; + public Float fadeDuration; + public Float resizeMultiplier; + public ImageProps() = default; + public ImageProps(const facebook::react::PropsParserContext& context, const facebook::react::ImageProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool progressiveRenderingEnabled; + public bool shouldNotifyLoadEvents; + public facebook::react::EdgeInsets capInsets; + public facebook::react::ImageResizeMode resizeMode; + public facebook::react::ImageSource defaultSource; + public facebook::react::ImageSource loadingIndicatorSource; + public facebook::react::ImageSources sources; + public facebook::react::SharedColor overlayColor; + public facebook::react::SharedColor tintColor; + public std::string internal_analyticTag; + public std::string resizeMethod; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::ImageRequest { + public ImageRequest(const facebook::react::ImageRequest& other) = delete; + public ImageRequest(facebook::react::ImageRequest&& other) noexcept = default; + public ImageRequest(facebook::react::ImageSource imageSource, std::shared_ptr telemetry, facebook::react::SharedFunction<> resumeFunction = {}, facebook::react::SharedFunction<> cancelationFunction = {}); + public const facebook::react::ImageResponseObserverCoordinator& getObserverCoordinator() const; + public const facebook::react::ImageSource& getImageSource() const; + public const std::shared_ptr& getSharedObserverCoordinator() const; + public const std::shared_ptr& getSharedTelemetry() const; + public facebook::react::ImageRequest& operator=(const facebook::react::ImageRequest& other) = delete; + public facebook::react::ImageRequest& operator=(facebook::react::ImageRequest&& other) noexcept = default; + public ~ImageRequest() = default; +} + +class facebook::react::ImageResponse { + public ImageResponse(std::shared_ptr image, std::shared_ptr metadata); + public std::shared_ptr getImage() const; + public std::shared_ptr getMetadata() const; +} + +enum facebook::react::ImageResponse::Status { + Cancelled, + Completed, + Consumed, + Failed, + Loading, +} + +class facebook::react::ImageResponseObserver { + public virtual void didReceiveFailure(const facebook::react::ImageLoadError& error) const = 0; + public virtual void didReceiveImage(const facebook::react::ImageResponse& imageResponse) const = 0; + public virtual void didReceiveProgress(float progress, int64_t loaded, int64_t total) const = 0; + public virtual ~ImageResponseObserver() noexcept = default; +} + +class facebook::react::ImageResponseObserverCoordinator { + public ImageResponseObserverCoordinator(facebook::react::SharedFunction<> resumeFunction, facebook::react::SharedFunction<> cancelationFunction); + public void addObserver(std::shared_ptr observer) const; + public void nativeImageResponseComplete(const facebook::react::ImageResponse& imageResponse) const; + public void nativeImageResponseFailed(const facebook::react::ImageLoadError& loadError) const; + public void nativeImageResponseProgress(float progress, int64_t loaded, int64_t total) const; + public void removeObserver(const std::shared_ptr& observer) const; +} + +class facebook::react::ImageShadowNode : public facebook::react::ConcreteViewShadowNode { + public ImageShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ImageShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ImageState initialStateData(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared&, const facebook::react::ComponentDescriptor& componentDescriptor); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public virtual void layout(facebook::react::LayoutContext layoutContext) override; + public void setImageManager(const std::shared_ptr& imageManager); +} + +class facebook::react::ImageSource { + public Float scale; + public bool operator==(const facebook::react::ImageSource& rhs) const; + public facebook::react::ImageSource::CacheStategy cache; + public facebook::react::ImageSource::Type type; + public facebook::react::Size size; + public std::string body; + public std::string bundle; + public std::string method; + public std::string uri; + public std::vector> headers; +} + +enum facebook::react::ImageSource::CacheStategy { + Default, + ForceCache, + OnlyIfCached, + Reload, +} + +enum facebook::react::ImageSource::Type { + Invalid, + Local, + Remote, +} + +class facebook::react::ImageState { + public ImageState(const facebook::react::ImageSource& imageSource, facebook::react::ImageRequest imageRequest, const ImageRequestParams& imageRequestParams); + public const ImageRequestParams& getImageRequestParams() const; + public const facebook::react::ImageRequest& getImageRequest() const; + public facebook::react::ImageSource getImageSource() const; +} + +class facebook::react::ImageTelemetry { + public ImageTelemetry(const facebook::react::SurfaceId surfaceId); + public facebook::react::SurfaceId getSurfaceId() const; + public facebook::react::TelemetryTimePoint getWillRequestUrlTime() const; +} + +class facebook::react::InputAccessoryComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public InputAccessoryComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; +} + +class facebook::react::InputAccessoryShadowNode : public facebook::react::ConcreteViewShadowNode { + public InputAccessoryShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public InputAccessoryShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); +} + +class facebook::react::InputAccessoryState { + public InputAccessoryState(); + public InputAccessoryState(facebook::react::Size viewportSize_); + public const facebook::react::Size viewportSize; +} + +class facebook::react::Instance { + public bool isBatchActive(); + public bool isInspectable(); + public bool supportsProfiling(); + public const facebook::react::ModuleRegistry& getModuleRegistry() const; + public facebook::react::ModuleRegistry& getModuleRegistry(); + public facebook::react::RuntimeExecutor getRuntimeExecutor(); + public std::shared_ptr getJSCallInvoker(); + public std::shared_ptr getDecoratedNativeMethodCallInvoker(std::shared_ptr nativeMethodCallInvoker); + public void callJSCallback(uint64_t callbackId, folly::dynamic&& params); + public void callJSFunction(std::string&& module, std::string&& method, folly::dynamic&& params); + public void handleMemoryPressure(int pressureLevel); + public void initializeBridge(std::unique_ptr callback, std::shared_ptr jsef, std::shared_ptr jsQueue, std::shared_ptr moduleRegistry, facebook::react::jsinspector_modern::HostTarget* inspectorTarget = nullptr); + public void initializeRuntime(); + public void loadRAMBundle(std::unique_ptr bundleRegistry, std::unique_ptr startupScript, std::string startupScriptSourceURL, bool loadSynchronously); + public void loadRAMBundleFromFile(const std::string& sourcePath, const std::string& sourceURL, bool loadSynchronously); + public void loadRAMBundleFromString(std::unique_ptr script, const std::string& sourceURL); + public void loadScriptFromString(std::unique_ptr string, std::string sourceURL, bool loadSynchronously); + public void registerBundle(uint32_t bundleId, const std::string& bundlePath); + public void setGlobalVariable(std::string propName, std::unique_ptr jsonValue); + public void setSourceURL(std::string sourceURL); + public void unregisterFromInspector(); + public void* getJavaScriptContext(); + public ~Instance() override; +} + +class facebook::react::InstanceHandle { + public InstanceHandle(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& instanceHandle, facebook::react::Tag tag); + public facebook::jsi::Value getInstanceHandle(facebook::jsi::Runtime& runtime) const; + public facebook::react::Tag getTag() const; + public using Shared = std::shared_ptr; +} + +class facebook::react::InterpolationAnimatedNode : public facebook::react::ValueAnimatedNode { + public InterpolationAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void onAttachToNode(facebook::react::Tag animatedNodeTag) override; + public virtual void onDetachedFromNode(facebook::react::Tag animatedNodeTag) override; + public virtual void update() override; +} + +class facebook::react::IntersectionObserver { + public IntersectionObserver(facebook::react::IntersectionObserverObserverId intersectionObserverId, std::optional observationRootShadowNodeFamily, facebook::react::ShadowNodeFamily::Shared targetShadowNodeFamily, std::vector thresholds, std::optional> rootThresholds, std::vector rootMargins); + public facebook::react::IntersectionObserverObserverId getIntersectionObserverId() const; + public facebook::react::ShadowNodeFamily::Shared getTargetShadowNodeFamily() const; + public std::optional updateIntersectionObservation(const facebook::react::RootShadowNode& rootShadowNode, facebook::react::HighResTimeStamp time); + public std::optional updateIntersectionObservationForSurfaceUnmount(facebook::react::HighResTimeStamp time); + public std::vector getThresholds() const; +} + +class facebook::react::IntersectionObserverManager : public facebook::react::UIManagerMountHook, public facebook::react::RuntimeSchedulerIntersectionObserverDelegate { + public IntersectionObserverManager(); + public std::vector takeRecords(); + public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp time) noexcept override; + public virtual void shadowTreeDidUnmount(facebook::react::SurfaceId surfaceId, facebook::react::HighResTimeStamp time) noexcept override; + public virtual void updateIntersectionObservations(const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) override; + public void connect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager, std::function notifyIntersectionObserversCallback); + public void disconnect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager); + public void observe(facebook::react::IntersectionObserverObserverId intersectionObserverId, const std::optional& observationRootShadowNode, const facebook::react::ShadowNodeFamily::Shared& shadowNode, std::vector thresholds, std::optional> rootThresholds, std::optional rootMargin, const facebook::react::UIManager& uiManager); + public void unobserve(facebook::react::IntersectionObserverObserverId intersectionObserverId, const facebook::react::ShadowNodeFamily::Shared& shadowNode); +} + +class facebook::react::IntersectionObserverState { + public bool isIntersecting() const; + public bool operator==(const facebook::react::IntersectionObserverState& other) const; + public static facebook::react::IntersectionObserverState Initial(); + public static facebook::react::IntersectionObserverState Intersecting(Float threshold); + public static facebook::react::IntersectionObserverState Intersecting(Float threshold, Float rootThreshold); + public static facebook::react::IntersectionObserverState NotIntersecting(); +} + +class facebook::react::JSBigBufferString : public facebook::react::JSBigString { + public JSBigBufferString(size_t size); + public char* mutableData(); + public virtual bool isAscii() const override; + public virtual const char* c_str() const override; + public virtual size_t size() const override; + public ~JSBigBufferString() override; +} + +class facebook::react::JSBigFileString : public facebook::react::JSBigString { + public JSBigFileString(int fd, size_t size, off_t offset = 0); + public int fd() const; + public static std::unique_ptr fromPath(const std::string& sourceURL); + public virtual bool isAscii() const override; + public virtual const char* c_str() const override; + public virtual size_t size() const override; + public ~JSBigFileString() override; +} + +class facebook::react::JSBigStdString : public facebook::react::JSBigString { + public JSBigStdString(std::string str, bool isAscii = false); + public virtual bool isAscii() const override; + public virtual const char* c_str() const override; + public virtual size_t size() const override; +} + +class facebook::react::JSBigString : public facebook::jsi::Buffer { + public JSBigString() = default; + public JSBigString(const facebook::react::JSBigString&) = delete; + public JSBigString(facebook::react::JSBigString&&) = delete; + public facebook::react::JSBigString& operator=(const facebook::react::JSBigString&) = delete; + public facebook::react::JSBigString& operator=(facebook::react::JSBigString&&) = delete; + public virtual bool isAscii() const = 0; + public virtual const char* c_str() const = 0; + public virtual const uint8_t* data() const final; + public virtual size_t size() const override = 0; + public ~JSBigString() override = default; +} + +class facebook::react::JSExecutor { + public static std::string getSyntheticBundlePath(uint32_t bundleId, const std::string& bundlePath); + public virtual bool isInspectable(); + public virtual facebook::react::jsinspector_modern::RuntimeTargetDelegate& getRuntimeTargetDelegate(); + public virtual std::string getDescription() = 0; + public virtual void callFunction(const std::string& moduleId, const std::string& methodId, const folly::dynamic& arguments) = 0; + public virtual void destroy(); + public virtual void flush(); + public virtual void handleMemoryPressure(int pressureLevel); + public virtual void initializeRuntime() = 0; + public virtual void invokeCallback(double callbackId, const folly::dynamic& arguments) = 0; + public virtual void loadBundle(std::unique_ptr script, std::string sourceURL) = 0; + public virtual void registerBundle(uint32_t bundleId, const std::string& bundlePath) = 0; + public virtual void setBundleRegistry(std::unique_ptr bundleRegistry) = 0; + public virtual void setGlobalVariable(std::string propName, std::unique_ptr jsonValue) = 0; + public virtual void* getJavaScriptContext(); + public virtual ~JSExecutor() = default; +} + +class facebook::react::JSExecutorFactory { + public virtual std::unique_ptr createJSExecutor(std::shared_ptr delegate, std::shared_ptr jsQueue) = 0; + public virtual ~JSExecutorFactory() = default; +} + +class facebook::react::JSIExecutor : public facebook::react::JSExecutor { + public JSIExecutor(std::shared_ptr runtime, std::shared_ptr delegate, const facebook::react::JSIScopedTimeoutInvoker& timeoutInvoker, facebook::react::JSIExecutor::RuntimeInstaller runtimeInstaller); + public static void defaultTimeoutInvoker(const std::function& invokee, std::function errorMessageProducer); + public using RuntimeInstaller = std::function; + public virtual bool isInspectable() override; + public virtual std::string getDescription() override; + public virtual void callFunction(const std::string& moduleId, const std::string& methodId, const folly::dynamic& arguments) override; + public virtual void flush() override; + public virtual void handleMemoryPressure(int pressureLevel) override; + public virtual void initializeRuntime() override; + public virtual void invokeCallback(double callbackId, const folly::dynamic& arguments) override; + public virtual void loadBundle(std::unique_ptr script, std::string sourceURL) override; + public virtual void registerBundle(uint32_t bundleId, const std::string& bundlePath) override; + public virtual void setBundleRegistry(std::unique_ptr bundleRegistry) override; + public virtual void setGlobalVariable(std::string propName, std::unique_ptr jsonValue) override; + public virtual void* getJavaScriptContext() override; +} + +class facebook::react::JSINativeModules { + public JSINativeModules(std::shared_ptr moduleRegistry); + public facebook::jsi::Value getModule(facebook::jsi::Runtime& rt, const facebook::jsi::PropNameID& name); + public void reset(); +} + +class facebook::react::JSIndexedRAMBundle : public facebook::react::JSModulesUnbundle { + public JSIndexedRAMBundle(const char* sourcePath); + public JSIndexedRAMBundle(std::unique_ptr script); + public static std::function(std::string)> buildFactory(); + public std::unique_ptr getStartupCode(); + public virtual facebook::react::JSModulesUnbundle::Module getModule(uint32_t moduleId) const override; +} + +class facebook::react::JSModulesUnbundle { + public JSModulesUnbundle(); + public virtual facebook::react::JSModulesUnbundle::Module getModule(uint32_t moduleId) const = 0; + public virtual ~JSModulesUnbundle() = default; +} + +class facebook::react::JSModulesUnbundle::ModuleNotFound : public std::out_of_range { + public ModuleNotFound(uint32_t moduleId); +} + +struct facebook::react::JSModulesUnbundle::Module { + public std::string code; + public std::string name; +} + +class facebook::react::JsErrorHandler { + public JsErrorHandler(facebook::react::JsErrorHandler::OnJsError onJsError); + public bool hasHandledFatalError(); + public bool inErrorHandler(); + public bool isRuntimeReady(); + public using OnJsError = std::function; + public void handleError(facebook::jsi::Runtime& runtime, facebook::jsi::JSError& error, bool isFatal, bool logToConsole = true); + public void notifyOfFatalError(); + public void registerErrorListener(const std::function& listener); + public void setRuntimeReady(); + public ~JsErrorHandler(); +} + +struct facebook::react::JsErrorHandler::ProcessedError { + public bool isFatal; + public facebook::jsi::Object extraData; + public int id; + public std::optional componentStack; + public std::optional name; + public std::optional originalMessage; + public std::string message; + public std::vector stack; +} + +struct facebook::react::JsErrorHandler::ProcessedError::StackFrame { + public std::optional column; + public std::optional lineNumber; + public std::optional file; + public std::string methodName; +} + +class facebook::react::LayoutAnimationCallbackWrapper { + public LayoutAnimationCallbackWrapper(); + public LayoutAnimationCallbackWrapper(facebook::jsi::Function&& callback); + public void call(facebook::jsi::Runtime& runtime) const; +} + +class facebook::react::LayoutAnimationDriver : public facebook::react::LayoutAnimationKeyFrameManager { + protected virtual void animationMutationsForFrame(facebook::react::SurfaceId surfaceId, facebook::react::ShadowViewMutation::List& mutationsList, uint64_t now) const override; + public LayoutAnimationDriver(facebook::react::RuntimeExecutor runtimeExecutor, std::shared_ptr& contextContainer, facebook::react::LayoutAnimationStatusDelegate* delegate); +} + +class facebook::react::LayoutAnimationKeyFrameManager : public facebook::react::UIManagerAnimationDelegate, public facebook::react::MountingOverrideDelegate { + protected bool hasComponentDescriptorForShadowView(const facebook::react::ShadowView& shadowView) const; + protected const facebook::react::ComponentDescriptor& getComponentDescriptorForShadowView(const facebook::react::ShadowView& shadowView) const; + protected facebook::react::ShadowView createInterpolatedShadowView(Float progress, const facebook::react::ShadowView& startingView, const facebook::react::ShadowView& finalView) const; + protected facebook::react::SharedComponentDescriptorRegistry componentDescriptorRegistry_; + protected mutable std::mutex currentAnimationMutex_; + protected mutable std::optional currentAnimation_; + protected mutable std::vector inflightAnimations_; + protected virtual void animationMutationsForFrame(facebook::react::SurfaceId surfaceId, facebook::react::ShadowViewMutation::List& mutationsList, uint64_t now) const = 0; + protected void callCallback(const facebook::react::LayoutAnimationCallbackWrapper& callback) const; + protected void queueFinalMutationsForCompletedKeyFrame(const facebook::react::AnimationKeyFrame& keyframe, facebook::react::ShadowViewMutation::List& mutationsList, bool interrupted, const std::string& logPrefix) const; + public LayoutAnimationKeyFrameManager(facebook::react::RuntimeExecutor runtimeExecutor, std::shared_ptr& contextContainer, facebook::react::LayoutAnimationStatusDelegate* delegate); + public virtual bool shouldAnimateFrame() const override; + public virtual bool shouldOverridePullTransaction() const override; + public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const override; + public virtual void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry) override; + public virtual void stopSurface(facebook::react::SurfaceId surfaceId) override; + public virtual void uiManagerDidConfigureNextLayoutAnimation(facebook::jsi::Runtime& runtime, const facebook::react::RawValue& config, const facebook::jsi::Value& successCallbackValue, const facebook::jsi::Value& failureCallbackValue) const override; + public void setClockNow(std::function now); + public void setLayoutAnimationStatusDelegate(facebook::react::LayoutAnimationStatusDelegate* delegate) const; + public void uiManagerDidConfigureNextLayoutAnimation(facebook::react::LayoutAnimation layoutAnimation) const; +} + +class facebook::react::LayoutAnimationStatusDelegate { + public virtual void onAllAnimationsComplete() = 0; + public virtual void onAnimationStarted() = 0; + public virtual ~LayoutAnimationStatusDelegate() = default; +} + +class facebook::react::LayoutConformanceShadowNode : public facebook::react::ConcreteShadowNode { +} + +class facebook::react::LayoutableShadowNode : public facebook::react::ShadowNode { + public LayoutableShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public LayoutableShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public facebook::react::LayoutMetrics getLayoutMetrics() const; + public facebook::react::LayoutMetrics layoutMetrics_; + public facebook::react::LayoutableShadowNode::UnsharedList getLayoutableChildNodes() const; + public static facebook::react::LayoutMetrics computeLayoutMetricsFromRoot(const facebook::react::ShadowNodeFamily& descendantNodeFamily, const facebook::react::LayoutableShadowNode& rootNode, facebook::react::LayoutableShadowNode::LayoutInspectingPolicy policy); + public static facebook::react::LayoutMetrics computeRelativeLayoutMetrics(const facebook::react::ShadowNode::AncestorList& ancestors, facebook::react::LayoutableShadowNode::LayoutInspectingPolicy policy); + public static facebook::react::LayoutMetrics computeRelativeLayoutMetrics(const facebook::react::ShadowNodeFamily& descendantNodeFamily, const facebook::react::LayoutableShadowNode& ancestorNode, facebook::react::LayoutableShadowNode::LayoutInspectingPolicy policy); + public static std::shared_ptr findNodeAtPoint(const std::shared_ptr& node, facebook::react::Point point); + public using UnsharedList = std::vector; + public virtual Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const; + public virtual bool canBeTouchTarget() const; + public virtual bool canChildrenBeTouchTarget() const; + public virtual bool getIsLayoutClean() const = 0; + public virtual facebook::react::Point getContentOriginOffset(bool includeTransform) const; + public virtual facebook::react::Size measure(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public virtual facebook::react::Transform getTransform() const; + public virtual void dirtyLayout() = 0; + public virtual void layout(facebook::react::LayoutContext layoutContext) = 0; + public virtual void layoutTree(facebook::react::LayoutContext layoutContext, facebook::react::LayoutConstraints layoutConstraints) = 0; + public void setLayoutMetrics(facebook::react::LayoutMetrics layoutMetrics); +} + +struct facebook::react::LayoutableShadowNode::LayoutInspectingPolicy { + public bool enableOverflowClipping; + public bool includeTransform; + public bool includeViewportOffset; +} + +class facebook::react::LazyShadowTreeRevisionConsistencyManager : public facebook::react::ShadowTreeRevisionConsistencyManager, public facebook::react::ShadowTreeRevisionProvider { + public LazyShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRegistry& shadowTreeRegistry); + public std::shared_ptr updateCurrentRevision(facebook::react::SurfaceId surfaceId); + public virtual std::shared_ptr getCurrentRevision(facebook::react::SurfaceId surfaceId) override; + public virtual void lockRevisions() override; + public virtual void unlockRevisions() override; +} + +class facebook::react::LeakChecker { + public LeakChecker(facebook::react::RuntimeExecutor runtimeExecutor); + public void stopSurface(facebook::react::SurfaceId surfaceId); + public void uiManagerDidCreateShadowNodeFamily(const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily) const; +} + +class facebook::react::LegacyViewManagerInteropState { + public std::shared_ptr coordinator; +} + +class facebook::react::LegacyViewManagerInteropViewProps : public facebook::react::HostPlatformViewProps { + public LegacyViewManagerInteropViewProps() = default; + public LegacyViewManagerInteropViewProps(const facebook::react::PropsParserContext& context, const facebook::react::LegacyViewManagerInteropViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public const folly::dynamic otherProps; +} + +class facebook::react::LineMeasureCacheKey { + public facebook::react::AttributedString attributedString; + public facebook::react::ParagraphAttributes paragraphAttributes; + public facebook::react::Size size; +} + +class facebook::react::LongLivedObject { + protected LongLivedObject(facebook::jsi::Runtime& runtime); + protected facebook::jsi::Runtime& runtime_; + protected virtual ~LongLivedObject() = default; + public virtual void allowRelease(); +} + +class facebook::react::LongLivedObjectCollection { + public LongLivedObjectCollection() = default; + public LongLivedObjectCollection(const facebook::react::LongLivedObjectCollection&) = delete; + public size_t size() const; + public static facebook::react::LongLivedObjectCollection& get(facebook::jsi::Runtime& runtime); + public void add(std::shared_ptr o); + public void clear(); + public void operator=(const facebook::react::LongLivedObjectCollection&) = delete; + public void remove(const facebook::react::LongLivedObject* o); +} + +class facebook::react::MapBuffer { + public MapBuffer(const facebook::react::MapBuffer& buffer) = delete; + public MapBuffer(facebook::react::MapBuffer&& buffer) = default; + public MapBuffer(std::vector data); + public bool getBool(facebook::react::MapBuffer::Key key) const; + public const uint8_t* data() const; + public double getDouble(facebook::react::MapBuffer::Key key) const; + public facebook::react::MapBuffer getMapBuffer(facebook::react::MapBuffer::Key key) const; + public facebook::react::MapBuffer& operator=(const facebook::react::MapBuffer& other) = delete; + public facebook::react::MapBuffer& operator=(facebook::react::MapBuffer&& other) = default; + public int32_t getInt(facebook::react::MapBuffer::Key key) const; + public int64_t getLong(facebook::react::MapBuffer::Key key) const; + public size_t size() const; + public static constexpr uint16_t HEADER_ALIGNMENT; + public std::string getString(facebook::react::MapBuffer::Key key) const; + public std::vector getMapBufferList(facebook::react::MapBuffer::Key key) const; + public uint16_t count() const; + public using Key = uint16_t; +} + +enum facebook::react::MapBuffer::DataType : uint16_t { + Boolean, + Double, + Int, + Long, + Map, + String, +} + +struct facebook::react::MapBuffer::Bucket { + public Bucket(facebook::react::MapBuffer::Key key, uint16_t type, uint64_t data); + public facebook::react::MapBuffer::Key key; + public uint16_t type; + public uint64_t data; +} + +struct facebook::react::MapBuffer::Header { + public uint16_t alignment; + public uint16_t count; + public uint32_t bufferSize; +} + +class facebook::react::MapBufferBuilder { + public MapBufferBuilder(uint32_t initialSize = facebook::react::INITIAL_BUCKETS_SIZE); + public facebook::react::MapBuffer build(); + public static facebook::react::MapBuffer EMPTY(); + public void putBool(facebook::react::MapBuffer::Key key, bool value); + public void putDouble(facebook::react::MapBuffer::Key key, double value); + public void putInt(facebook::react::MapBuffer::Key key, int32_t value); + public void putLong(facebook::react::MapBuffer::Key key, int64_t value); + public void putMapBuffer(facebook::react::MapBuffer::Key key, const facebook::react::MapBuffer& map); + public void putMapBufferList(facebook::react::MapBuffer::Key key, const std::vector& mapBufferList); + public void putString(facebook::react::MapBuffer::Key key, const std::string& value); +} + +class facebook::react::MergedValueDispatcher { + public MergedValueDispatcher(facebook::react::MergedValueDispatcher::DispatchFunction dispatchFunction, facebook::react::MergedValueDispatcher::MergedValueFunction mergedValueFunction); + public using DispatchFunction = std::function&&)>; + public using MergedValueFunction = std::function&& tagToProps)>; + public void dispatch(const std::unordered_map& value); +} + +class facebook::react::MessageQueueThread { + public virtual void quitSynchronous() = 0; + public virtual void runOnQueue(std::function&&) = 0; + public virtual void runOnQueueSync(std::function&&) = 0; + public virtual ~MessageQueueThread() = default; +} + +class facebook::react::ModalHostViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public ModalHostViewComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; +} + +class facebook::react::ModalHostViewShadowNode : public facebook::react::ConcreteViewShadowNode { + public ModalHostViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ModalHostViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); +} + +class facebook::react::ModalHostViewState { + public ModalHostViewState(); + public ModalHostViewState(facebook::react::Size screenSize_); + public const facebook::react::Size screenSize; + public using Shared = std::shared_ptr; +} + +class facebook::react::ModuleRegistry { + public ModuleRegistry(std::vector> modules, facebook::react::ModuleRegistry::ModuleNotFoundCallback callback = nullptr); + public facebook::react::MethodCallResult callSerializableNativeHook(unsigned int moduleId, unsigned int methodId, folly::dynamic&& params); + public std::optional getConfig(const std::string& name); + public std::string getModuleName(unsigned int moduleId); + public std::string getModuleSyncMethodName(unsigned int moduleId, unsigned int methodId); + public std::vector moduleNames(); + public using ModuleNotFoundCallback = std::function; + public void callNativeMethod(unsigned int moduleId, unsigned int methodId, folly::dynamic&& params, int callId); + public void registerModules(std::vector> modules); +} + +class facebook::react::ModulusAnimatedNode : public facebook::react::ValueAnimatedNode { + public ModulusAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::MountingCoordinator { + public MountingCoordinator(const facebook::react::ShadowTreeRevision& baseRevision); + public bool hasPendingTransactions() const; + public bool waitForTransaction(std::chrono::duration timeout) const; + public const facebook::react::TelemetryController& getTelemetryController() const; + public facebook::react::ShadowTreeRevision getBaseRevision() const; + public facebook::react::SurfaceId getSurfaceId() const; + public std::optional pullTransaction(bool willPerformAsynchronously = false) const; + public void didPerformAsyncTransactions() const; + public void setMountingOverrideDelegate(std::weak_ptr delegate) const; +} + +class facebook::react::MountingOverrideDelegate { + public virtual bool shouldOverridePullTransaction() const = 0; + public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const = 0; + public virtual ~MountingOverrideDelegate() = default; +} + +class facebook::react::MountingTransaction { + public MountingTransaction(const facebook::react::MountingTransaction& mountingTransaction) = default; + public MountingTransaction(facebook::react::MountingTransaction&& mountingTransaction) noexcept = default; + public MountingTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, facebook::react::ShadowViewMutationList&& mutations, facebook::react::TransactionTelemetry telemetry); + public const facebook::react::ShadowViewMutationList& getMutations() const; + public facebook::react::MountingTransaction& operator=(const facebook::react::MountingTransaction& other) = delete; + public facebook::react::MountingTransaction& operator=(facebook::react::MountingTransaction&& other) = default; + public facebook::react::MountingTransaction::Number getNumber() const; + public facebook::react::ShadowViewMutationList getMutations(); + public facebook::react::SurfaceId getSurfaceId() const; + public facebook::react::TransactionTelemetry& getTelemetry() const; + public using Number = int64_t; + public void mergeWith(facebook::react::MountingTransaction&& transaction); +} + +class facebook::react::MultiplicationAnimatedNode : public facebook::react::OperatorAnimatedNode { + public MultiplicationAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::MutationObserver { + public MutationObserver(const facebook::react::MutationObserver&) = delete; + public MutationObserver(facebook::react::MutationObserver&&) = default; + public MutationObserver(facebook::react::MutationObserverId mutationObserverId); + public facebook::react::MutationObserver& operator=(const facebook::react::MutationObserver&) = delete; + public facebook::react::MutationObserver& operator=(facebook::react::MutationObserver&&) = default; + public void observe(std::shared_ptr targetShadowNodeFamily, bool observeSubtree); + public void recordMutations(const facebook::react::RootShadowNode& oldRootShadowNode, const facebook::react::RootShadowNode& newRootShadowNode, std::vector& recordedMutations) const; +} + +class facebook::react::MutationObserverManager : public facebook::react::UIManagerCommitHook { + public MutationObserverManager(); + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTree::CommitOptions& commitOptions) noexcept override; + public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept override; + public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept override; + public void connect(facebook::react::UIManager& uiManager, facebook::react::OnMutations&& onMutations); + public void disconnect(facebook::react::UIManager& uiManager); + public void observe(facebook::react::MutationObserverId mutationObserverId, std::shared_ptr shadowNode, bool observeSubtree, const facebook::react::UIManager& uiManager); + public void unobserveAll(facebook::react::MutationObserverId mutationObserverId); +} + +class facebook::react::NativeAnimatedNodesManager : public std::enable_shared_from_this { + public NativeAnimatedNodesManager(const facebook::react::NativeAnimatedNodesManager&) = delete; + public NativeAnimatedNodesManager(facebook::react::NativeAnimatedNodesManager&&) = delete; + public NativeAnimatedNodesManager(facebook::react::NativeAnimatedNodesManager::DirectManipulationCallback&& directManipulationCallback, facebook::react::NativeAnimatedNodesManager::FabricCommitCallback&& fabricCommitCallback, facebook::react::NativeAnimatedNodesManager::ResolvePlatformColor&& resolvePlatformColor, facebook::react::NativeAnimatedNodesManager::StartOnRenderCallback&& startOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::StopOnRenderCallback&& stopOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::FrameRateListenerCallback&& frameRateListenerCallback = nullptr) noexcept; + public NativeAnimatedNodesManager(std::shared_ptr animationBackend) noexcept; + public bool commitProps(); + public bool hasManagedProps() const noexcept; + public bool isOnRenderThread() const noexcept; + public facebook::react::AnimationMutations onAnimationFrameForBackend(facebook::react::AnimatedPropsBuilder& propsBuilder, facebook::react::AnimationTimestamp timestamp); + public facebook::react::AnimationMutations pullAnimationMutations(facebook::react::AnimationTimestamp timestamp); + public facebook::react::NativeAnimatedNodesManager& operator=(const facebook::react::NativeAnimatedNodesManager&) = delete; + public facebook::react::NativeAnimatedNodesManager& operator=(facebook::react::NativeAnimatedNodesManager&&) = delete; + public folly::dynamic getManagedProps(facebook::react::Tag tag) const noexcept; + public std::optional getValue(facebook::react::Tag tag) noexcept; + public std::shared_ptr getEventEmitterListener() noexcept; + public using DirectManipulationCallback = std::function; + public using FabricCommitCallback = std::function&)>; + public using FrameRateListenerCallback = std::function; + public using ResolvePlatformColor = std::function; + public using StartOnRenderCallback = std::function&&, bool isAsync)>; + public using StopOnRenderCallback = std::function; + public void addAnimatedEventToView(facebook::react::Tag viewTag, const std::string& eventName, const folly::dynamic& eventMapping) noexcept; + public void connectAnimatedNodeToShadowNodeFamily(facebook::react::Tag propsNodeTag, std::shared_ptr family) noexcept; + public void connectAnimatedNodeToView(facebook::react::Tag propsNodeTag, facebook::react::Tag viewTag) noexcept; + public void connectAnimatedNodes(facebook::react::Tag parentTag, facebook::react::Tag childTag) noexcept; + public void createAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config) noexcept; + public void createAnimatedNodeAsync(facebook::react::Tag tag, const folly::dynamic& config) noexcept; + public void disconnectAnimatedNodeFromView(facebook::react::Tag propsNodeTag, facebook::react::Tag viewTag) noexcept; + public void disconnectAnimatedNodes(facebook::react::Tag parentTag, facebook::react::Tag childTag) noexcept; + public void dropAnimatedNode(facebook::react::Tag tag) noexcept; + public void extractAnimatedNodeOffsetOp(facebook::react::Tag tag); + public void flattenAnimatedNodeOffset(facebook::react::Tag tag); + public void insertMutations(std::unordered_map>& updates, facebook::react::AnimationMutations& mutations, facebook::react::AnimatedPropsBuilder& propsBuilder, bool hasLayoutUpdates = false); + public void onManagedPropsRemoved(facebook::react::Tag tag) noexcept; + public void onRender(); + public void removeAnimatedEventFromView(facebook::react::Tag viewTag, const std::string& eventName, facebook::react::Tag animatedValueTag) noexcept; + public void resolvePlatformColor(facebook::react::SurfaceId surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result) const; + public void restoreDefaultValues(facebook::react::Tag tag) noexcept; + public void scheduleOnUI(facebook::react::UiTask&& task); + public void schedulePropsCommit(facebook::react::Tag viewTag, const folly::dynamic& props, bool layoutStyleUpdated, bool forceFabricCommit, facebook::react::ShadowNodeFamily::Weak shadowNodeFamily = {}) noexcept; + public void setAnimatedNodeOffset(facebook::react::Tag tag, double offset); + public void setAnimatedNodeValue(facebook::react::Tag tag, double value); + public void startAnimatingNode(int animationId, facebook::react::Tag animatedNodeTag, folly::dynamic config, std::optional endCallback) noexcept; + public void startListeningToAnimatedNodeValue(facebook::react::Tag tag, facebook::react::ValueListenerCallback&& callback) noexcept; + public void startRenderCallbackIfNeeded(bool isAsync); + public void stopAnimation(int animationId, bool isTrackingAnimation = false) noexcept; + public void stopListeningToAnimatedNodeValue(facebook::react::Tag tag) noexcept; + public void updateNodes(const std::set& finishedAnimationValueNodes = {}) noexcept; + public ~NativeAnimatedNodesManager() noexcept; + template >> + public T* getAnimatedNode(facebook::react::Tag tag) const; +} + +class facebook::react::NativeAnimatedNodesManagerProvider { + public NativeAnimatedNodesManagerProvider(facebook::react::NativeAnimatedNodesManager::StartOnRenderCallback startOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::StopOnRenderCallback stopOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::FrameRateListenerCallback frameRateListenerCallback = nullptr); + public std::shared_ptr getEventEmitterListener(); + public std::shared_ptr getOrCreate(facebook::jsi::Runtime& runtime, std::shared_ptr jsInvoker); + public void addEventEmitterListener(const std::shared_ptr& listener); +} + +class facebook::react::NativeCPUTime : public NativeCPUTimeCxxSpec { + public NativeCPUTime(std::shared_ptr jsInvoker); + public bool hasAccurateCPUTimeNanosForBenchmarks(facebook::jsi::Runtime& runtime); + public double getCPUTimeNanos(facebook::jsi::Runtime& runtime); +} + +class facebook::react::NativeDOM : public NativeDOMCxxSpec { + public NativeDOM(std::shared_ptr jsInvoker); + public bool hasPointerCapture(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, double pointerId); + public bool isConnected(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference); + public double compareDocumentPosition(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference, facebook::jsi::Value otherNativeNodeReference); + public facebook::jsi::Value getElementById(facebook::jsi::Runtime& rt, facebook::react::SurfaceId surfaceId, const std::string& id); + public facebook::jsi::Value getParentNode(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference); + public facebook::jsi::Value linkRootNode(facebook::jsi::Runtime& rt, facebook::react::SurfaceId surfaceId, facebook::jsi::Value instanceHandle); + public std::string getTagName(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); + public std::string getTextContent(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); + public std::tuple getBoundingClientRect(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, bool includeTransform); + public std::tuple getScrollPosition(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); + public std::tuple getOffset(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); + public std::tuple getBorderWidth(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); + public std::tuple getInnerSize(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); + public std::tuple getScrollSize(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); + public std::vector getChildNodes(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference); + public void measure(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, const facebook::react::MeasureOnSuccessCallback& callback); + public void measureInWindow(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, const facebook::react::MeasureInWindowOnSuccessCallback& callback); + public void measureLayout(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, std::shared_ptr relativeToShadowNode, facebook::jsi::Function onFail, const facebook::react::MeasureLayoutOnSuccessCallback& onSuccess); + public void releasePointerCapture(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, double pointerId); + public void setNativeProps(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, facebook::jsi::Value updatePayload); + public void setPointerCapture(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, double pointerId); +} + +class facebook::react::NativeFantomTestSpecificMethods : public NativeFantomTestSpecificMethodsCxxSpec { + public NativeFantomTestSpecificMethods(std::shared_ptr jsInvoker); + public void registerForcedCloneCommitHook(facebook::jsi::Runtime& runtime); + public void setRootNodeSize(facebook::jsi::Runtime& runtime, int surfaceId, float width, float height); + public void takeFunctionAndNoop(facebook::jsi::Runtime& runtime, facebook::jsi::Function callback); +} + +class facebook::react::NativeIdleCallbacks : public NativeIdleCallbacksCxxSpec { + public NativeIdleCallbacks(std::shared_ptr jsInvoker); + public facebook::react::CallbackHandle requestIdleCallback(facebook::jsi::Runtime& runtime, facebook::react::SyncCallback&& callback, std::optional options); + public void cancelIdleCallback(facebook::jsi::Runtime& runtime, facebook::jsi::Object handle); +} + +class facebook::react::NativeIntersectionObserver : public NativeIntersectionObserverCxxSpec { + public NativeIntersectionObserver(std::shared_ptr jsInvoker); + public facebook::jsi::Object observeV2(facebook::jsi::Runtime& runtime, facebook::react::NativeIntersectionObserverObserveOptions options); + public std::vector takeRecords(facebook::jsi::Runtime& runtime); + public void connect(facebook::jsi::Runtime& runtime, facebook::react::AsyncCallback<> notifyIntersectionObserversCallback); + public void disconnect(facebook::jsi::Runtime& runtime); + public void unobserveV2(facebook::jsi::Runtime& runtime, facebook::react::IntersectionObserverObserverId intersectionObserverId, facebook::jsi::Object targetToken); +} + +class facebook::react::NativeMethodCallInvoker { + public virtual void invokeAsync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) noexcept = 0; + public virtual void invokeSync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) = 0; + public virtual ~NativeMethodCallInvoker() = default; +} + +class facebook::react::NativeMicrotasks : public NativeMicrotasksCxxSpec { + public NativeMicrotasks(std::shared_ptr jsInvoker); + public void queueMicrotask(facebook::jsi::Runtime& runtime, facebook::jsi::Function callback); +} + +class facebook::react::NativeModule { + public virtual facebook::react::MethodCallResult callSerializableNativeHook(unsigned int reactMethodId, folly::dynamic&& args) = 0; + public virtual folly::dynamic getConstants() = 0; + public virtual std::string getName() = 0; + public virtual std::string getSyncMethodName(unsigned int methodId) = 0; + public virtual std::vector getMethods() = 0; + public virtual void invoke(unsigned int reactMethodId, folly::dynamic&& params, int callId) = 0; + public virtual ~NativeModule() = default; +} + +class facebook::react::NativeModulePerfLogger { + public virtual void asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName) = 0; + public virtual void asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName) = 0; + public virtual void asyncMethodCallBatchPreprocessEnd(int batchSize) = 0; + public virtual void asyncMethodCallBatchPreprocessStart() = 0; + public virtual void asyncMethodCallDispatch(const char* moduleName, const char* methodName) = 0; + public virtual void asyncMethodCallEnd(const char* moduleName, const char* methodName) = 0; + public virtual void asyncMethodCallExecutionArgConversionEnd(const char* moduleName, const char* methodName, int32_t id) = 0; + public virtual void asyncMethodCallExecutionArgConversionStart(const char* moduleName, const char* methodName, int32_t id) = 0; + public virtual void asyncMethodCallExecutionEnd(const char* moduleName, const char* methodName, int32_t id) = 0; + public virtual void asyncMethodCallExecutionFail(const char* moduleName, const char* methodName, int32_t id) = 0; + public virtual void asyncMethodCallExecutionStart(const char* moduleName, const char* methodName, int32_t id) = 0; + public virtual void asyncMethodCallFail(const char* moduleName, const char* methodName) = 0; + public virtual void asyncMethodCallStart(const char* moduleName, const char* methodName) = 0; + public virtual void moduleCreateCacheHit(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateConstructEnd(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateConstructStart(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateEnd(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateFail(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateSetUpEnd(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateSetUpStart(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateStart(const char* moduleName, int32_t id) = 0; + public virtual void moduleDataCreateEnd(const char* moduleName, int32_t id) = 0; + public virtual void moduleDataCreateStart(const char* moduleName, int32_t id) = 0; + public virtual void moduleJSRequireBeginningCacheHit(const char* moduleName) = 0; + public virtual void moduleJSRequireBeginningEnd(const char* moduleName) = 0; + public virtual void moduleJSRequireBeginningFail(const char* moduleName) = 0; + public virtual void moduleJSRequireBeginningStart(const char* moduleName) = 0; + public virtual void moduleJSRequireEndingEnd(const char* moduleName) = 0; + public virtual void moduleJSRequireEndingFail(const char* moduleName) = 0; + public virtual void moduleJSRequireEndingStart(const char* moduleName) = 0; + public virtual void syncMethodCallArgConversionEnd(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallArgConversionStart(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallEnd(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallExecutionEnd(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallExecutionStart(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallFail(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallReturnConversionEnd(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallReturnConversionStart(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallStart(const char* moduleName, const char* methodName) = 0; + public virtual ~NativeModulePerfLogger() = default; +} + +class facebook::react::NativeMutationObserver : public NativeMutationObserverCxxSpec { + public NativeMutationObserver(std::shared_ptr jsInvoker); + public std::vector takeRecords(facebook::jsi::Runtime& runtime); + public void connect(facebook::jsi::Runtime& runtime, facebook::jsi::Function notifyMutationObservers, facebook::react::SyncCallback getPublicInstanceFromInstanceHandle); + public void disconnect(facebook::jsi::Runtime& runtime); + public void observe(facebook::jsi::Runtime& runtime, const facebook::react::NativeMutationObserverObserveOptions& options); + public void unobserveAll(facebook::jsi::Runtime& runtime, facebook::react::MutationObserverId mutationObserverId); +} + +class facebook::react::NativePerformance : public NativePerformanceCxxSpec { + public NativePerformance(std::shared_ptr jsInvoker); + public double getDroppedEntriesCount(facebook::jsi::Runtime& rt, facebook::jsi::Object observerObj); + public facebook::jsi::Object createObserver(facebook::jsi::Runtime& rt, facebook::react::NativePerformancePerformanceObserverCallback callback); + public facebook::react::HighResDuration timeOrigin(facebook::jsi::Runtime& rt); + public facebook::react::HighResTimeStamp now(facebook::jsi::Runtime& rt); + public std::optional getMarkTime(facebook::jsi::Runtime& rt, const std::string& name); + public std::unordered_map getReactNativeStartupTiming(facebook::jsi::Runtime& rt); + public std::unordered_map getSimpleMemoryInfo(facebook::jsi::Runtime& rt); + public std::vector getEntries(facebook::jsi::Runtime& rt); + public std::vector getEntriesByName(facebook::jsi::Runtime& rt, const std::string& entryName, std::optional entryType = std::nullopt); + public std::vector getEntriesByType(facebook::jsi::Runtime& rt, facebook::react::PerformanceEntryType entryType); + public std::vector takeRecords(facebook::jsi::Runtime& rt, facebook::jsi::Object observerObj, bool sort); + public std::vector getSupportedPerformanceEntryTypes(facebook::jsi::Runtime& rt); + public std::vector> getEventCounts(facebook::jsi::Runtime& rt); + public void clearEventCountsForTesting(facebook::jsi::Runtime& rt); + public void clearMarks(facebook::jsi::Runtime& rt, std::optional entryName = std::nullopt); + public void clearMeasures(facebook::jsi::Runtime& rt, std::optional entryName = std::nullopt); + public void disconnect(facebook::jsi::Runtime& rt, facebook::jsi::Object observer); + public void observe(facebook::jsi::Runtime& rt, facebook::jsi::Object observer, facebook::react::NativePerformancePerformanceObserverObserveOptions options); + public void reportMark(facebook::jsi::Runtime& rt, const std::string& name, facebook::react::HighResTimeStamp time, facebook::jsi::Value entry); + public void reportMeasure(facebook::jsi::Runtime& rt, const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration, facebook::jsi::Value entry); +} + +class facebook::react::NativeReactNativeFeatureFlags : public NativeReactNativeFeatureFlagsCxxSpec { + public NativeReactNativeFeatureFlags(std::shared_ptr jsInvoker); + public bool cdpInteractionMetricsEnabled(facebook::jsi::Runtime& runtime); + public bool commonTestFlag(facebook::jsi::Runtime& runtime); + public bool commonTestFlagWithoutNativeImplementation(facebook::jsi::Runtime& runtime); + public bool cxxNativeAnimatedEnabled(facebook::jsi::Runtime& runtime); + public bool defaultTextToOverflowHidden(facebook::jsi::Runtime& runtime); + public bool disableEarlyViewCommandExecution(facebook::jsi::Runtime& runtime); + public bool disableImageViewPreallocationAndroid(facebook::jsi::Runtime& runtime); + public bool disableMountItemReorderingAndroid(facebook::jsi::Runtime& runtime); + public bool disableSubviewClippingAndroid(facebook::jsi::Runtime& runtime); + public bool disableTextLayoutManagerCacheAndroid(facebook::jsi::Runtime& runtime); + public bool disableViewPreallocationAndroid(facebook::jsi::Runtime& runtime); + public bool enableAccessibilityOrder(facebook::jsi::Runtime& runtime); + public bool enableAccumulatedUpdatesInRawPropsAndroid(facebook::jsi::Runtime& runtime); + public bool enableAndroidAntialiasedBorderRadiusClipping(facebook::jsi::Runtime& runtime); + public bool enableAndroidLinearText(facebook::jsi::Runtime& runtime); + public bool enableAndroidTextMeasurementOptimizations(facebook::jsi::Runtime& runtime); + public bool enableBridgelessArchitecture(facebook::jsi::Runtime& runtime); + public bool enableCppPropsIteratorSetter(facebook::jsi::Runtime& runtime); + public bool enableCustomFocusSearchOnClippedElementsAndroid(facebook::jsi::Runtime& runtime); + public bool enableDestroyShadowTreeRevisionAsync(facebook::jsi::Runtime& runtime); + public bool enableDifferentiatorMutationVectorPreallocation(facebook::jsi::Runtime& runtime); + public bool enableDoubleMeasurementFixAndroid(facebook::jsi::Runtime& runtime); + public bool enableEagerMainQueueModulesOnIOS(facebook::jsi::Runtime& runtime); + public bool enableEagerRootViewAttachment(facebook::jsi::Runtime& runtime); + public bool enableExclusivePropsUpdateAndroid(facebook::jsi::Runtime& runtime); + public bool enableFabricCommitBranching(facebook::jsi::Runtime& runtime); + public bool enableFabricLogs(facebook::jsi::Runtime& runtime); + public bool enableFabricRenderer(facebook::jsi::Runtime& runtime); + public bool enableFontScaleChangesUpdatingLayout(facebook::jsi::Runtime& runtime); + public bool enableIOSTextBaselineOffsetPerLine(facebook::jsi::Runtime& runtime); + public bool enableIOSViewClipToPaddingBox(facebook::jsi::Runtime& runtime); + public bool enableImagePrefetchingAndroid(facebook::jsi::Runtime& runtime); + public bool enableImagePrefetchingJNIBatchingAndroid(facebook::jsi::Runtime& runtime); + public bool enableImagePrefetchingOnUiThreadAndroid(facebook::jsi::Runtime& runtime); + public bool enableImmediateUpdateModeForContentOffsetChanges(facebook::jsi::Runtime& runtime); + public bool enableImperativeFocus(facebook::jsi::Runtime& runtime); + public bool enableInteropViewManagerClassLookUpOptimizationIOS(facebook::jsi::Runtime& runtime); + public bool enableIntersectionObserverByDefault(facebook::jsi::Runtime& runtime); + public bool enableKeyEvents(facebook::jsi::Runtime& runtime); + public bool enableLayoutAnimationsOnAndroid(facebook::jsi::Runtime& runtime); + public bool enableLayoutAnimationsOnIOS(facebook::jsi::Runtime& runtime); + public bool enableMainQueueCoordinatorOnIOS(facebook::jsi::Runtime& runtime); + public bool enableModuleArgumentNSNullConversionIOS(facebook::jsi::Runtime& runtime); + public bool enableMutationObserverByDefault(facebook::jsi::Runtime& runtime); + public bool enableNativeCSSParsing(facebook::jsi::Runtime& runtime); + public bool enableNativeViewPropTransformations(facebook::jsi::Runtime& runtime); + public bool enableNetworkEventReporting(facebook::jsi::Runtime& runtime); + public bool enablePreparedTextLayout(facebook::jsi::Runtime& runtime); + public bool enablePropsUpdateReconciliationAndroid(facebook::jsi::Runtime& runtime); + public bool enableSwiftUIBasedFilters(facebook::jsi::Runtime& runtime); + public bool enableViewCulling(facebook::jsi::Runtime& runtime); + public bool enableViewRecycling(facebook::jsi::Runtime& runtime); + public bool enableViewRecyclingForImage(facebook::jsi::Runtime& runtime); + public bool enableViewRecyclingForScrollView(facebook::jsi::Runtime& runtime); + public bool enableViewRecyclingForText(facebook::jsi::Runtime& runtime); + public bool enableViewRecyclingForView(facebook::jsi::Runtime& runtime); + public bool enableVirtualViewContainerStateExperimental(facebook::jsi::Runtime& runtime); + public bool enableVirtualViewDebugFeatures(facebook::jsi::Runtime& runtime); + public bool fixFindShadowNodeByTagRaceCondition(facebook::jsi::Runtime& runtime); + public bool fixMappingOfEventPrioritiesBetweenFabricAndReact(facebook::jsi::Runtime& runtime); + public bool fixTextClippingAndroid15useBoundsForWidth(facebook::jsi::Runtime& runtime); + public bool fixYogaFlexBasisFitContentInMainAxis(facebook::jsi::Runtime& runtime); + public bool fuseboxAssertSingleHostState(facebook::jsi::Runtime& runtime); + public bool fuseboxEnabledRelease(facebook::jsi::Runtime& runtime); + public bool fuseboxFrameRecordingEnabled(facebook::jsi::Runtime& runtime); + public bool fuseboxNetworkInspectionEnabled(facebook::jsi::Runtime& runtime); + public bool hideOffscreenVirtualViewsOnIOS(facebook::jsi::Runtime& runtime); + public bool overrideBySynchronousMountPropsAtMountingAndroid(facebook::jsi::Runtime& runtime); + public bool perfIssuesEnabled(facebook::jsi::Runtime& runtime); + public bool perfMonitorV2Enabled(facebook::jsi::Runtime& runtime); + public bool preventShadowTreeCommitExhaustion(facebook::jsi::Runtime& runtime); + public bool shouldPressibilityUseW3CPointerEventsForHover(facebook::jsi::Runtime& runtime); + public bool shouldTriggerResponderTransferOnScrollAndroid(facebook::jsi::Runtime& runtime); + public bool skipActivityIdentityAssertionOnHostPause(facebook::jsi::Runtime& runtime); + public bool syncAndroidClipToPaddingWithOverflow(facebook::jsi::Runtime& runtime); + public bool traceTurboModulePromiseRejectionsOnAndroid(facebook::jsi::Runtime& runtime); + public bool updateRuntimeShadowNodeReferencesOnCommit(facebook::jsi::Runtime& runtime); + public bool updateRuntimeShadowNodeReferencesOnCommitThread(facebook::jsi::Runtime& runtime); + public bool useAlwaysAvailableJSErrorHandling(facebook::jsi::Runtime& runtime); + public bool useFabricInterop(facebook::jsi::Runtime& runtime); + public bool useLISAlgorithmInDifferentiator(facebook::jsi::Runtime& runtime); + public bool useNativeViewConfigsInBridgelessMode(facebook::jsi::Runtime& runtime); + public bool useNestedScrollViewAndroid(facebook::jsi::Runtime& runtime); + public bool useSharedAnimatedBackend(facebook::jsi::Runtime& runtime); + public bool useTraitHiddenOnAndroid(facebook::jsi::Runtime& runtime); + public bool useTurboModuleInterop(facebook::jsi::Runtime& runtime); + public bool useTurboModules(facebook::jsi::Runtime& runtime); + public bool useUnorderedMapInDifferentiator(facebook::jsi::Runtime& runtime); + public bool viewTransitionEnabled(facebook::jsi::Runtime& runtime); + public double preparedTextCacheSize(facebook::jsi::Runtime& runtime); + public double viewCullingOutsetRatio(facebook::jsi::Runtime& runtime); + public double virtualViewPrerenderRatio(facebook::jsi::Runtime& runtime); + public static constexpr std::string_view kModuleName; +} + +class facebook::react::NativeToJsBridge { + public NativeToJsBridge(facebook::react::JSExecutorFactory* jsExecutorFactory, std::shared_ptr registry, std::shared_ptr jsQueue, std::shared_ptr callback); + public bool isBatchActive(); + public bool isInspectable(); + public facebook::react::jsinspector_modern::RuntimeTargetDelegate& getInspectorTargetDelegate(); + public std::shared_ptr getDecoratedNativeMethodCallInvoker(std::shared_ptr nativeMethodCallInvoker) const; + public virtual ~NativeToJsBridge(); + public void callFunction(std::string&& module, std::string&& method, folly::dynamic&& arguments); + public void destroy(); + public void handleMemoryPressure(int pressureLevel); + public void initializeRuntime(); + public void invokeCallback(double callbackId, folly::dynamic&& arguments); + public void loadBundle(std::unique_ptr bundleRegistry, std::unique_ptr startupScript, std::string sourceURL); + public void loadBundleSync(std::unique_ptr bundleRegistry, std::unique_ptr startupScript, std::string sourceURL); + public void registerBundle(uint32_t bundleId, const std::string& bundlePath); + public void runOnExecutorQueue(std::function&& task) noexcept; + public void setGlobalVariable(std::string propName, std::unique_ptr jsonValue); + public void* getJavaScriptContext(); +} + +class facebook::react::NetworkReporter { + public bool isDebuggingEnabled() const; + public static facebook::react::NetworkReporter& getInstance(); + public void reportConnectionTiming(const std::string& requestId, const std::optional& headers); + public void reportDataReceived(const std::string& requestId, int dataLength, const std::optional& encodedDataLength); + public void reportRequestFailed(const std::string& requestId, bool cancelled) const; + public void reportRequestStart(const std::string& requestId, const facebook::react::RequestInfo& requestInfo, int encodedDataLength, const std::optional& redirectResponse); + public void reportResponseEnd(const std::string& requestId, int encodedDataLength); + public void reportResponseStart(const std::string& requestId, const facebook::react::ResponseInfo& responseInfo, int encodedDataLength); + public void storeResponseBody(const std::string& requestId, std::string_view body, bool base64Encoded); +} + +class facebook::react::ObjectAnimatedNode : public facebook::react::AnimatedNode { + public ObjectAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public void collectViewUpdates(std::string propKey, folly::dynamic& props); +} + +class facebook::react::OperatorAnimatedNode : public facebook::react::ValueAnimatedNode { + protected std::vector inputNodes_; + public OperatorAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); +} + +class facebook::react::ParagraphAttributes : public facebook::react::DebugStringConvertible { + public Float maximumFontSize; + public Float minimumFontScale; + public Float minimumFontSize; + public bool adjustsFontSizeToFit; + public bool includeFontPadding; + public bool operator==(const facebook::react::ParagraphAttributes& rhs) const; + public facebook::react::EllipsizeMode ellipsizeMode; + public facebook::react::HyphenationFrequency android_hyphenationFrequency; + public facebook::react::TextBreakStrategy textBreakStrategy; + public int maximumNumberOfLines; + public std::optional textAlignVertical; +} + +class facebook::react::ParagraphComponentDescriptor : public facebook::react::BaseParagraphComponentDescriptor { + public ParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); +} + +class facebook::react::ParagraphEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onTextLayout(const facebook::react::LinesMeasurements& linesMeasurements) const; +} + +class facebook::react::ParagraphShadowNode : public facebook::react::ConcreteViewShadowNode, public facebook::react::BaseTextShadowNode { + protected virtual bool shouldNewRevisionDirtyMeasurement(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) const override; + public ParagraphShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ParagraphShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public virtual Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const override; + public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; + public virtual void layout(facebook::react::LayoutContext layoutContext) override; + public void setTextLayoutManager(std::shared_ptr textLayoutManager); +} + +class facebook::react::ParagraphShadowNode::Content { + public facebook::react::AttributedString attributedString; + public facebook::react::BaseTextShadowNode::Attachments attachments; + public facebook::react::ParagraphAttributes paragraphAttributes; +} + +class facebook::react::PerformanceEntryBuffer { + public PerformanceEntryBuffer() = default; + public facebook::react::HighResDuration durationThreshold; + public size_t droppedEntriesCount; + public virtual void add(const facebook::react::PerformanceEntry& entry) = 0; + public virtual void clear() = 0; + public virtual void clear(const std::string& name) = 0; + public virtual void getEntries(std::vector& target) const = 0; + public virtual void getEntries(std::vector& target, const std::string& name) const = 0; + public virtual ~PerformanceEntryBuffer() = default; +} + +class facebook::react::PerformanceEntryCircularBuffer : public facebook::react::PerformanceEntryBuffer { + public PerformanceEntryCircularBuffer(size_t size); + public virtual void add(const facebook::react::PerformanceEntry& entry) override; + public virtual void clear() override; + public virtual void clear(const std::string& name) override; + public virtual void getEntries(std::vector& target) const override; + public virtual void getEntries(std::vector& target, const std::string& name) const override; + public ~PerformanceEntryCircularBuffer() override = default; +} + +class facebook::react::PerformanceEntryKeyedBuffer : public facebook::react::PerformanceEntryBuffer { + public PerformanceEntryKeyedBuffer() = default; + public std::optional find(const std::string& name) const; + public virtual void add(const facebook::react::PerformanceEntry& entry) override; + public virtual void clear() override; + public virtual void clear(const std::string& name) override; + public virtual void getEntries(std::vector& target) const override; + public virtual void getEntries(std::vector& target, const std::string& name) const override; +} + +class facebook::react::PerformanceEntryReporter { + public PerformanceEntryReporter(); + public const std::unordered_map& getEventCounts() const; + public facebook::react::PerformanceObserverRegistry& getObserverRegistry(); + public static std::shared_ptr& getInstance(); + public static std::vector getSupportedEntryTypes(); + public std::optional getMarkTime(const std::string& markName) const; + public std::vector getEntries() const; + public std::vector getEntries(facebook::react::PerformanceEntryType entryType) const; + public std::vector getEntries(facebook::react::PerformanceEntryType entryType, const std::string& entryName) const; + public uint32_t getDroppedEntriesCount(facebook::react::PerformanceEntryType type) const noexcept; + public using UserTimingDetailProvider = std::function; + public void addEventListener(facebook::react::PerformanceEntryReporterEventListener* listener); + public void clearEntries(); + public void clearEntries(facebook::react::PerformanceEntryType entryType); + public void clearEntries(facebook::react::PerformanceEntryType entryType, const std::string& entryName); + public void clearEventCounts(); + public void getEntries(std::vector& dest) const; + public void getEntries(std::vector& dest, facebook::react::PerformanceEntryType entryType) const; + public void getEntries(std::vector& dest, facebook::react::PerformanceEntryType entryType, const std::string& entryName) const; + public void removeEventListener(facebook::react::PerformanceEntryReporterEventListener* listener); + public void reportEvent(const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration, facebook::react::HighResTimeStamp processingStart, facebook::react::HighResTimeStamp processingEnd, facebook::react::HighResTimeStamp taskEndTime, uint32_t interactionId); + public void reportLongTask(facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration); + public void reportMark(const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::PerformanceEntryReporter::UserTimingDetailProvider&& detailProvider = nullptr); + public void reportMeasure(const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration, const std::optional& detailProvider = std::nullopt); + public void reportResourceTiming(const std::string& url, facebook::react::HighResTimeStamp fetchStart, facebook::react::HighResTimeStamp requestStart, std::optional connectStart, std::optional connectEnd, facebook::react::HighResTimeStamp responseStart, facebook::react::HighResTimeStamp responseEnd, int responseStatus, const std::string& contentType, int encodedBodySize, int decodedBodySize); +} + +class facebook::react::PerformanceEntryReporterEventListener { + public virtual void onEventTimingEntry(const facebook::react::PerformanceEventTiming&); + public virtual void onMeasureEntry(const facebook::react::PerformanceMeasure&, const std::optional&); + public virtual ~PerformanceEntryReporterEventListener() = default; +} + +class facebook::react::PerformanceObserver : public std::enable_shared_from_this { + public PerformanceObserver(PrivateUseCreateMethod, facebook::react::PerformanceObserverRegistry& registry, facebook::react::PerformanceObserverCallback&& callback); + public static std::shared_ptr create(facebook::react::PerformanceObserverRegistry& registry, facebook::react::PerformanceObserverCallback&& callback); + public std::vector takeRecords(); + public uint32_t getDroppedEntriesCount() noexcept; + public void disconnect() noexcept; + public void handleEntry(const facebook::react::PerformanceEntry& entry); + public void observe(facebook::react::PerformanceEntryType type, facebook::react::PerformanceObserverObserveSingleOptions options = {}); + public void observe(std::unordered_set types); + public ~PerformanceObserver() = default; +} + +class facebook::react::PerformanceObserverRegistry { + public PerformanceObserverRegistry() = default; + public void addObserver(std::shared_ptr observer); + public void queuePerformanceEntry(const facebook::react::PerformanceEntry& entry); + public void removeObserver(std::shared_ptr observer); +} + +class facebook::react::PlatformTimerRegistry { + public virtual void createRecurringTimer(uint32_t timerID, double delayMS) = 0; + public virtual void createTimer(uint32_t timerID, double delayMS) = 0; + public virtual void deleteTimer(uint32_t timerID) = 0; + public virtual void quit(); + public virtual ~PlatformTimerRegistry() noexcept = default; +} + +class facebook::react::PointerEventsProcessor { + public bool hasPointerCapture(facebook::react::PointerIdentifier pointerId, const facebook::react::ShadowNode* shadowNode); + public static std::shared_ptr getShadowNodeFromEventTarget(facebook::jsi::Runtime& runtime, facebook::react::EventTarget* target); + public void interceptPointerEvent(const std::shared_ptr& target, const std::string& type, facebook::react::ReactEventPriority priority, const facebook::react::PointerEvent& event, const facebook::react::DispatchEvent& eventDispatcher, const facebook::react::UIManager& uiManager); + public void releasePointerCapture(facebook::react::PointerIdentifier pointerId, const facebook::react::ShadowNode* shadowNode); + public void setPointerCapture(facebook::react::PointerIdentifier pointerId, const std::shared_ptr& shadowNode); +} + +class facebook::react::PointerHoverTracker { + public PointerHoverTracker(std::shared_ptr target, const facebook::react::UIManager& uiManager); + public bool areAnyTargetsListeningToEvents(std::initializer_list eventTypes, const facebook::react::UIManager& uiManager) const; + public bool hasSameTarget(const facebook::react::PointerHoverTracker& other) const; + public const facebook::react::ShadowNode* getTarget(const facebook::react::UIManager& uiManager) const; + public std::tuple diffEventPath(const facebook::react::PointerHoverTracker& other, const facebook::react::UIManager& uiManager) const; + public using EventPath = std::vector>; + public using Unique = std::unique_ptr; + public void markAsOld(); +} + +class facebook::react::PreparedTextCacheKey { + public facebook::react::AttributedString attributedString; + public facebook::react::LayoutConstraints layoutConstraints; + public facebook::react::ParagraphAttributes paragraphAttributes; +} + +class facebook::react::Props : public virtual facebook::react::Sealable, public virtual facebook::react::DebugStringConvertible { + protected void initialize(const facebook::react::PropsParserContext& context, const facebook::react::Props& sourceProps, const facebook::react::RawProps& rawProps, const std::function& filterObjectKeys = nullptr); + public Props() = default; + public Props(const facebook::react::Props& other) = delete; + public Props(const facebook::react::PropsParserContext& context, const facebook::react::Props& sourceProps, const facebook::react::RawProps& rawProps, const std::function& filterObjectKeys = nullptr); + public facebook::react::Props& operator=(const facebook::react::Props& other) = delete; + public std::string nativeId; + public using Shared = std::shared_ptr; + public virtual ~Props() = default; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::PropsAnimatedNode : public facebook::react::AnimatedNode { + public PropsAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public facebook::react::SurfaceId connectedRootTag() const; + public facebook::react::Tag connectedViewTag() const; + public folly::dynamic props(); + public virtual void update() override; + public void connectToShadowNodeFamily(facebook::react::ShadowNodeFamily::Weak shadowNodeFamily); + public void connectToView(facebook::react::Tag viewTag); + public void disconnectFromShadowNodeFamily(); + public void disconnectFromView(facebook::react::Tag viewTag); + public void restoreDefaultValues(); + public void update(bool forceFabricCommit); +} + +class facebook::react::RAMBundleRegistry { + public RAMBundleRegistry(facebook::react::RAMBundleRegistry&&) = default; + public RAMBundleRegistry(std::unique_ptr mainBundle, std::function(std::string)> factory = nullptr); + public facebook::react::JSModulesUnbundle::Module getModule(uint32_t bundleId, uint32_t moduleId); + public facebook::react::RAMBundleRegistry& operator=(facebook::react::RAMBundleRegistry&&) = default; + public static constexpr uint32_t MAIN_BUNDLE_ID; + public static std::unique_ptr multipleBundlesRegistry(std::unique_ptr mainBundle, std::function(std::string)> factory); + public static std::unique_ptr singleBundleRegistry(std::unique_ptr mainBundle); + public virtual ~RAMBundleRegistry() = default; + public void registerBundle(uint32_t bundleId, std::string bundlePath); +} + +class facebook::react::RawProps { + public RawProps(); + public RawProps(const facebook::react::RawProps& other) noexcept; + public RawProps(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value) noexcept; + public RawProps(facebook::react::RawProps&& other) noexcept = default; + public RawProps(folly::dynamic dynamic) noexcept; + public bool isEmpty() const noexcept; + public const facebook::react::RawValue* at(const char* name, const char* prefix, const char* suffix) const noexcept; + public facebook::react::RawProps& operator=(const facebook::react::RawProps& other) noexcept = delete; + public facebook::react::RawProps& operator=(facebook::react::RawProps&& other) noexcept = delete; + public folly::dynamic toDynamic(const std::function& filterObjectKeys = nullptr) const; + public operator folly::dynamic() const; + public void parse(const facebook::react::RawPropsParser& parser) noexcept; +} + +enum facebook::react::RawProps::Mode { + Dynamic, + Empty, + JSI, +} + +class facebook::react::RawPropsKey { + public const char* name; + public const char* prefix; + public const char* suffix; + public operator std::string() const noexcept; + public void render(char* buffer, facebook::react::RawPropsPropNameLength* length) const noexcept; +} + +class facebook::react::RawPropsKeyMap { + public facebook::react::RawPropsValueIndex at(const char* name, facebook::react::RawPropsPropNameLength length) noexcept; + public void insert(const facebook::react::RawPropsKey& key, facebook::react::RawPropsValueIndex value) noexcept; + public void reindex() noexcept; +} + +class facebook::react::RawPropsParser { + public RawPropsParser() = default; + public RawPropsParser(bool); + template + public void prepare() noexcept; +} + +class facebook::react::RawTextProps : public facebook::react::Props { + public RawTextProps() = default; + public RawTextProps(const facebook::react::PropsParserContext& context, const facebook::react::RawTextProps& sourceProps, const facebook::react::RawProps& rawProps); + public std::string text; +} + +class facebook::react::RawTextShadowNode : public facebook::react::ConcreteShadowNode { +} + +class facebook::react::RawValue { + public RawValue() noexcept; + public RawValue(const folly::dynamic& dynamic) noexcept; + public RawValue(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value) noexcept; + public RawValue(facebook::jsi::Runtime& runtime, facebook::jsi::Value&& value) noexcept; + public RawValue(facebook::react::RawValue&& other) noexcept; + public RawValue(folly::dynamic&& dynamic) noexcept; + public bool hasValue() const; + public facebook::react::RawValue& operator=(facebook::react::RawValue&& other) noexcept; + public operator folly::dynamic() const; + template + public bool hasType() const; + template + public operator T() const; +} + +class facebook::react::ReactInstance { + public ReactInstance(const facebook::react::ReactInstance&) = delete; + public ReactInstance(facebook::react::ReactInstance&&) = delete; + public ReactInstance(std::unique_ptr runtime, std::shared_ptr jsMessageQueueThread, std::shared_ptr timerManager, facebook::react::JsErrorHandler::OnJsError onJsError, facebook::react::jsinspector_modern::HostTarget* parentInspectorTarget = nullptr); + public facebook::react::ReactInstance& operator=(const facebook::react::ReactInstance&) = delete; + public facebook::react::ReactInstance& operator=(facebook::react::ReactInstance&&) = delete; + public facebook::react::RuntimeExecutor getBufferedRuntimeExecutor() noexcept; + public facebook::react::RuntimeExecutor getUnbufferedRuntimeExecutor() noexcept; + public std::shared_ptr getRuntimeScheduler() noexcept; + public using BindingsInstallFunc = std::function; + public void callFunctionOnModule(const std::string& moduleName, const std::string& methodName, folly::dynamic&& args); + public void handleMemoryPressureJs(int pressureLevel); + public void initializeRuntime(facebook::react::ReactInstance::JSRuntimeFlags options, facebook::react::ReactInstance::BindingsInstallFunc bindingsInstallFunc) noexcept; + public void loadScript(std::unique_ptr script, const std::string& sourceURL, std::function&& beforeLoad = nullptr, std::function&& afterLoad = nullptr); + public void registerSegment(uint32_t segmentId, const std::string& segmentPath); + public void unregisterFromInspector(); + public void* getJavaScriptContext(); + public ~ReactInstance() noexcept override; +} + +struct facebook::react::ReactInstance::JSRuntimeFlags { + public bool isProfiling; + public const std::string runtimeDiagnosticFlags; +} + +class facebook::react::ReactNativeFeatureFlags { + public static bool cdpInteractionMetricsEnabled(); + public static bool commonTestFlag(); + public static bool cxxNativeAnimatedEnabled(); + public static bool defaultTextToOverflowHidden(); + public static bool disableEarlyViewCommandExecution(); + public static bool disableImageViewPreallocationAndroid(); + public static bool disableMountItemReorderingAndroid(); + public static bool disableSubviewClippingAndroid(); + public static bool disableTextLayoutManagerCacheAndroid(); + public static bool disableViewPreallocationAndroid(); + public static bool enableAccessibilityOrder(); + public static bool enableAccumulatedUpdatesInRawPropsAndroid(); + public static bool enableAndroidAntialiasedBorderRadiusClipping(); + public static bool enableAndroidLinearText(); + public static bool enableAndroidTextMeasurementOptimizations(); + public static bool enableBridgelessArchitecture(); + public static bool enableCppPropsIteratorSetter(); + public static bool enableCustomFocusSearchOnClippedElementsAndroid(); + public static bool enableDestroyShadowTreeRevisionAsync(); + public static bool enableDifferentiatorMutationVectorPreallocation(); + public static bool enableDoubleMeasurementFixAndroid(); + public static bool enableEagerMainQueueModulesOnIOS(); + public static bool enableEagerRootViewAttachment(); + public static bool enableExclusivePropsUpdateAndroid(); + public static bool enableFabricCommitBranching(); + public static bool enableFabricLogs(); + public static bool enableFabricRenderer(); + public static bool enableFontScaleChangesUpdatingLayout(); + public static bool enableIOSTextBaselineOffsetPerLine(); + public static bool enableIOSViewClipToPaddingBox(); + public static bool enableImagePrefetchingAndroid(); + public static bool enableImagePrefetchingJNIBatchingAndroid(); + public static bool enableImagePrefetchingOnUiThreadAndroid(); + public static bool enableImmediateUpdateModeForContentOffsetChanges(); + public static bool enableImperativeFocus(); + public static bool enableInteropViewManagerClassLookUpOptimizationIOS(); + public static bool enableIntersectionObserverByDefault(); + public static bool enableKeyEvents(); + public static bool enableLayoutAnimationsOnAndroid(); + public static bool enableLayoutAnimationsOnIOS(); + public static bool enableMainQueueCoordinatorOnIOS(); + public static bool enableModuleArgumentNSNullConversionIOS(); + public static bool enableMutationObserverByDefault(); + public static bool enableNativeCSSParsing(); + public static bool enableNativeViewPropTransformations(); + public static bool enableNetworkEventReporting(); + public static bool enablePreparedTextLayout(); + public static bool enablePropsUpdateReconciliationAndroid(); + public static bool enableSwiftUIBasedFilters(); + public static bool enableViewCulling(); + public static bool enableViewRecycling(); + public static bool enableViewRecyclingForImage(); + public static bool enableViewRecyclingForScrollView(); + public static bool enableViewRecyclingForText(); + public static bool enableViewRecyclingForView(); + public static bool enableVirtualViewContainerStateExperimental(); + public static bool enableVirtualViewDebugFeatures(); + public static bool fixFindShadowNodeByTagRaceCondition(); + public static bool fixMappingOfEventPrioritiesBetweenFabricAndReact(); + public static bool fixTextClippingAndroid15useBoundsForWidth(); + public static bool fixYogaFlexBasisFitContentInMainAxis(); + public static bool fuseboxAssertSingleHostState(); + public static bool fuseboxEnabledRelease(); + public static bool fuseboxFrameRecordingEnabled(); + public static bool fuseboxNetworkInspectionEnabled(); + public static bool hideOffscreenVirtualViewsOnIOS(); + public static bool overrideBySynchronousMountPropsAtMountingAndroid(); + public static bool perfIssuesEnabled(); + public static bool perfMonitorV2Enabled(); + public static bool preventShadowTreeCommitExhaustion(); + public static bool shouldPressibilityUseW3CPointerEventsForHover(); + public static bool shouldTriggerResponderTransferOnScrollAndroid(); + public static bool skipActivityIdentityAssertionOnHostPause(); + public static bool syncAndroidClipToPaddingWithOverflow(); + public static bool traceTurboModulePromiseRejectionsOnAndroid(); + public static bool updateRuntimeShadowNodeReferencesOnCommit(); + public static bool updateRuntimeShadowNodeReferencesOnCommitThread(); + public static bool useAlwaysAvailableJSErrorHandling(); + public static bool useFabricInterop(); + public static bool useLISAlgorithmInDifferentiator(); + public static bool useNativeViewConfigsInBridgelessMode(); + public static bool useNestedScrollViewAndroid(); + public static bool useSharedAnimatedBackend(); + public static bool useTraitHiddenOnAndroid(); + public static bool useTurboModuleInterop(); + public static bool useTurboModules(); + public static bool useUnorderedMapInDifferentiator(); + public static bool viewTransitionEnabled(); + public static double preparedTextCacheSize(); + public static double viewCullingOutsetRatio(); + public static double virtualViewPrerenderRatio(); + public static std::optional dangerouslyForceOverride(std::unique_ptr provider); + public static void dangerouslyReset(); + public static void override(std::unique_ptr provider); +} + +class facebook::react::ReactNativeFeatureFlagsAccessor { + public ReactNativeFeatureFlagsAccessor(); + public bool cdpInteractionMetricsEnabled(); + public bool commonTestFlag(); + public bool cxxNativeAnimatedEnabled(); + public bool defaultTextToOverflowHidden(); + public bool disableEarlyViewCommandExecution(); + public bool disableImageViewPreallocationAndroid(); + public bool disableMountItemReorderingAndroid(); + public bool disableSubviewClippingAndroid(); + public bool disableTextLayoutManagerCacheAndroid(); + public bool disableViewPreallocationAndroid(); + public bool enableAccessibilityOrder(); + public bool enableAccumulatedUpdatesInRawPropsAndroid(); + public bool enableAndroidAntialiasedBorderRadiusClipping(); + public bool enableAndroidLinearText(); + public bool enableAndroidTextMeasurementOptimizations(); + public bool enableBridgelessArchitecture(); + public bool enableCppPropsIteratorSetter(); + public bool enableCustomFocusSearchOnClippedElementsAndroid(); + public bool enableDestroyShadowTreeRevisionAsync(); + public bool enableDifferentiatorMutationVectorPreallocation(); + public bool enableDoubleMeasurementFixAndroid(); + public bool enableEagerMainQueueModulesOnIOS(); + public bool enableEagerRootViewAttachment(); + public bool enableExclusivePropsUpdateAndroid(); + public bool enableFabricCommitBranching(); + public bool enableFabricLogs(); + public bool enableFabricRenderer(); + public bool enableFontScaleChangesUpdatingLayout(); + public bool enableIOSTextBaselineOffsetPerLine(); + public bool enableIOSViewClipToPaddingBox(); + public bool enableImagePrefetchingAndroid(); + public bool enableImagePrefetchingJNIBatchingAndroid(); + public bool enableImagePrefetchingOnUiThreadAndroid(); + public bool enableImmediateUpdateModeForContentOffsetChanges(); + public bool enableImperativeFocus(); + public bool enableInteropViewManagerClassLookUpOptimizationIOS(); + public bool enableIntersectionObserverByDefault(); + public bool enableKeyEvents(); + public bool enableLayoutAnimationsOnAndroid(); + public bool enableLayoutAnimationsOnIOS(); + public bool enableMainQueueCoordinatorOnIOS(); + public bool enableModuleArgumentNSNullConversionIOS(); + public bool enableMutationObserverByDefault(); + public bool enableNativeCSSParsing(); + public bool enableNativeViewPropTransformations(); + public bool enableNetworkEventReporting(); + public bool enablePreparedTextLayout(); + public bool enablePropsUpdateReconciliationAndroid(); + public bool enableSwiftUIBasedFilters(); + public bool enableViewCulling(); + public bool enableViewRecycling(); + public bool enableViewRecyclingForImage(); + public bool enableViewRecyclingForScrollView(); + public bool enableViewRecyclingForText(); + public bool enableViewRecyclingForView(); + public bool enableVirtualViewContainerStateExperimental(); + public bool enableVirtualViewDebugFeatures(); + public bool fixFindShadowNodeByTagRaceCondition(); + public bool fixMappingOfEventPrioritiesBetweenFabricAndReact(); + public bool fixTextClippingAndroid15useBoundsForWidth(); + public bool fixYogaFlexBasisFitContentInMainAxis(); + public bool fuseboxAssertSingleHostState(); + public bool fuseboxEnabledRelease(); + public bool fuseboxFrameRecordingEnabled(); + public bool fuseboxNetworkInspectionEnabled(); + public bool hideOffscreenVirtualViewsOnIOS(); + public bool overrideBySynchronousMountPropsAtMountingAndroid(); + public bool perfIssuesEnabled(); + public bool perfMonitorV2Enabled(); + public bool preventShadowTreeCommitExhaustion(); + public bool shouldPressibilityUseW3CPointerEventsForHover(); + public bool shouldTriggerResponderTransferOnScrollAndroid(); + public bool skipActivityIdentityAssertionOnHostPause(); + public bool syncAndroidClipToPaddingWithOverflow(); + public bool traceTurboModulePromiseRejectionsOnAndroid(); + public bool updateRuntimeShadowNodeReferencesOnCommit(); + public bool updateRuntimeShadowNodeReferencesOnCommitThread(); + public bool useAlwaysAvailableJSErrorHandling(); + public bool useFabricInterop(); + public bool useLISAlgorithmInDifferentiator(); + public bool useNativeViewConfigsInBridgelessMode(); + public bool useNestedScrollViewAndroid(); + public bool useSharedAnimatedBackend(); + public bool useTraitHiddenOnAndroid(); + public bool useTurboModuleInterop(); + public bool useTurboModules(); + public bool useUnorderedMapInDifferentiator(); + public bool viewTransitionEnabled(); + public double preparedTextCacheSize(); + public double viewCullingOutsetRatio(); + public double virtualViewPrerenderRatio(); + public std::optional getAccessedFeatureFlagNames() const; + public void override(std::unique_ptr provider); +} + +class facebook::react::ReactNativeFeatureFlagsDefaults : public facebook::react::ReactNativeFeatureFlagsProvider { + public ReactNativeFeatureFlagsDefaults() = default; + public virtual bool cdpInteractionMetricsEnabled() override; + public virtual bool commonTestFlag() override; + public virtual bool cxxNativeAnimatedEnabled() override; + public virtual bool defaultTextToOverflowHidden() override; + public virtual bool disableEarlyViewCommandExecution() override; + public virtual bool disableImageViewPreallocationAndroid() override; + public virtual bool disableMountItemReorderingAndroid() override; + public virtual bool disableSubviewClippingAndroid() override; + public virtual bool disableTextLayoutManagerCacheAndroid() override; + public virtual bool disableViewPreallocationAndroid() override; + public virtual bool enableAccessibilityOrder() override; + public virtual bool enableAccumulatedUpdatesInRawPropsAndroid() override; + public virtual bool enableAndroidAntialiasedBorderRadiusClipping() override; + public virtual bool enableAndroidLinearText() override; + public virtual bool enableAndroidTextMeasurementOptimizations() override; + public virtual bool enableBridgelessArchitecture() override; + public virtual bool enableCppPropsIteratorSetter() override; + public virtual bool enableCustomFocusSearchOnClippedElementsAndroid() override; + public virtual bool enableDestroyShadowTreeRevisionAsync() override; + public virtual bool enableDifferentiatorMutationVectorPreallocation() override; + public virtual bool enableDoubleMeasurementFixAndroid() override; + public virtual bool enableEagerMainQueueModulesOnIOS() override; + public virtual bool enableEagerRootViewAttachment() override; + public virtual bool enableExclusivePropsUpdateAndroid() override; + public virtual bool enableFabricCommitBranching() override; + public virtual bool enableFabricLogs() override; + public virtual bool enableFabricRenderer() override; + public virtual bool enableFontScaleChangesUpdatingLayout() override; + public virtual bool enableIOSTextBaselineOffsetPerLine() override; + public virtual bool enableIOSViewClipToPaddingBox() override; + public virtual bool enableImagePrefetchingAndroid() override; + public virtual bool enableImagePrefetchingJNIBatchingAndroid() override; + public virtual bool enableImagePrefetchingOnUiThreadAndroid() override; + public virtual bool enableImmediateUpdateModeForContentOffsetChanges() override; + public virtual bool enableImperativeFocus() override; + public virtual bool enableInteropViewManagerClassLookUpOptimizationIOS() override; + public virtual bool enableIntersectionObserverByDefault() override; + public virtual bool enableKeyEvents() override; + public virtual bool enableLayoutAnimationsOnAndroid() override; + public virtual bool enableLayoutAnimationsOnIOS() override; + public virtual bool enableMainQueueCoordinatorOnIOS() override; + public virtual bool enableModuleArgumentNSNullConversionIOS() override; + public virtual bool enableMutationObserverByDefault() override; + public virtual bool enableNativeCSSParsing() override; + public virtual bool enableNativeViewPropTransformations() override; + public virtual bool enableNetworkEventReporting() override; + public virtual bool enablePreparedTextLayout() override; + public virtual bool enablePropsUpdateReconciliationAndroid() override; + public virtual bool enableSwiftUIBasedFilters() override; + public virtual bool enableViewCulling() override; + public virtual bool enableViewRecycling() override; + public virtual bool enableViewRecyclingForImage() override; + public virtual bool enableViewRecyclingForScrollView() override; + public virtual bool enableViewRecyclingForText() override; + public virtual bool enableViewRecyclingForView() override; + public virtual bool enableVirtualViewContainerStateExperimental() override; + public virtual bool enableVirtualViewDebugFeatures() override; + public virtual bool fixFindShadowNodeByTagRaceCondition() override; + public virtual bool fixMappingOfEventPrioritiesBetweenFabricAndReact() override; + public virtual bool fixTextClippingAndroid15useBoundsForWidth() override; + public virtual bool fixYogaFlexBasisFitContentInMainAxis() override; + public virtual bool fuseboxAssertSingleHostState() override; + public virtual bool fuseboxEnabledRelease() override; + public virtual bool fuseboxFrameRecordingEnabled() override; + public virtual bool fuseboxNetworkInspectionEnabled() override; + public virtual bool hideOffscreenVirtualViewsOnIOS() override; + public virtual bool overrideBySynchronousMountPropsAtMountingAndroid() override; + public virtual bool perfIssuesEnabled() override; + public virtual bool perfMonitorV2Enabled() override; + public virtual bool preventShadowTreeCommitExhaustion() override; + public virtual bool shouldPressibilityUseW3CPointerEventsForHover() override; + public virtual bool shouldTriggerResponderTransferOnScrollAndroid() override; + public virtual bool skipActivityIdentityAssertionOnHostPause() override; + public virtual bool syncAndroidClipToPaddingWithOverflow() override; + public virtual bool traceTurboModulePromiseRejectionsOnAndroid() override; + public virtual bool updateRuntimeShadowNodeReferencesOnCommit() override; + public virtual bool updateRuntimeShadowNodeReferencesOnCommitThread() override; + public virtual bool useAlwaysAvailableJSErrorHandling() override; + public virtual bool useFabricInterop() override; + public virtual bool useLISAlgorithmInDifferentiator() override; + public virtual bool useNativeViewConfigsInBridgelessMode() override; + public virtual bool useNestedScrollViewAndroid() override; + public virtual bool useSharedAnimatedBackend() override; + public virtual bool useTraitHiddenOnAndroid() override; + public virtual bool useTurboModuleInterop() override; + public virtual bool useTurboModules() override; + public virtual bool useUnorderedMapInDifferentiator() override; + public virtual bool viewTransitionEnabled() override; + public virtual double preparedTextCacheSize() override; + public virtual double viewCullingOutsetRatio() override; + public virtual double virtualViewPrerenderRatio() override; +} + +class facebook::react::ReactNativeFeatureFlagsDynamicProvider : public facebook::react::ReactNativeFeatureFlagsDefaults { + public ReactNativeFeatureFlagsDynamicProvider(folly::dynamic values); + public virtual bool cdpInteractionMetricsEnabled() override; + public virtual bool commonTestFlag() override; + public virtual bool cxxNativeAnimatedEnabled() override; + public virtual bool defaultTextToOverflowHidden() override; + public virtual bool disableEarlyViewCommandExecution() override; + public virtual bool disableImageViewPreallocationAndroid() override; + public virtual bool disableMountItemReorderingAndroid() override; + public virtual bool disableSubviewClippingAndroid() override; + public virtual bool disableTextLayoutManagerCacheAndroid() override; + public virtual bool disableViewPreallocationAndroid() override; + public virtual bool enableAccessibilityOrder() override; + public virtual bool enableAccumulatedUpdatesInRawPropsAndroid() override; + public virtual bool enableAndroidAntialiasedBorderRadiusClipping() override; + public virtual bool enableAndroidLinearText() override; + public virtual bool enableAndroidTextMeasurementOptimizations() override; + public virtual bool enableBridgelessArchitecture() override; + public virtual bool enableCppPropsIteratorSetter() override; + public virtual bool enableCustomFocusSearchOnClippedElementsAndroid() override; + public virtual bool enableDestroyShadowTreeRevisionAsync() override; + public virtual bool enableDifferentiatorMutationVectorPreallocation() override; + public virtual bool enableDoubleMeasurementFixAndroid() override; + public virtual bool enableEagerMainQueueModulesOnIOS() override; + public virtual bool enableEagerRootViewAttachment() override; + public virtual bool enableExclusivePropsUpdateAndroid() override; + public virtual bool enableFabricCommitBranching() override; + public virtual bool enableFabricLogs() override; + public virtual bool enableFabricRenderer() override; + public virtual bool enableFontScaleChangesUpdatingLayout() override; + public virtual bool enableIOSTextBaselineOffsetPerLine() override; + public virtual bool enableIOSViewClipToPaddingBox() override; + public virtual bool enableImagePrefetchingAndroid() override; + public virtual bool enableImagePrefetchingJNIBatchingAndroid() override; + public virtual bool enableImagePrefetchingOnUiThreadAndroid() override; + public virtual bool enableImmediateUpdateModeForContentOffsetChanges() override; + public virtual bool enableImperativeFocus() override; + public virtual bool enableInteropViewManagerClassLookUpOptimizationIOS() override; + public virtual bool enableIntersectionObserverByDefault() override; + public virtual bool enableKeyEvents() override; + public virtual bool enableLayoutAnimationsOnAndroid() override; + public virtual bool enableLayoutAnimationsOnIOS() override; + public virtual bool enableMainQueueCoordinatorOnIOS() override; + public virtual bool enableModuleArgumentNSNullConversionIOS() override; + public virtual bool enableMutationObserverByDefault() override; + public virtual bool enableNativeCSSParsing() override; + public virtual bool enableNativeViewPropTransformations() override; + public virtual bool enableNetworkEventReporting() override; + public virtual bool enablePreparedTextLayout() override; + public virtual bool enablePropsUpdateReconciliationAndroid() override; + public virtual bool enableSwiftUIBasedFilters() override; + public virtual bool enableViewCulling() override; + public virtual bool enableViewRecycling() override; + public virtual bool enableViewRecyclingForImage() override; + public virtual bool enableViewRecyclingForScrollView() override; + public virtual bool enableViewRecyclingForText() override; + public virtual bool enableViewRecyclingForView() override; + public virtual bool enableVirtualViewContainerStateExperimental() override; + public virtual bool enableVirtualViewDebugFeatures() override; + public virtual bool fixFindShadowNodeByTagRaceCondition() override; + public virtual bool fixMappingOfEventPrioritiesBetweenFabricAndReact() override; + public virtual bool fixTextClippingAndroid15useBoundsForWidth() override; + public virtual bool fixYogaFlexBasisFitContentInMainAxis() override; + public virtual bool fuseboxAssertSingleHostState() override; + public virtual bool fuseboxEnabledRelease() override; + public virtual bool fuseboxFrameRecordingEnabled() override; + public virtual bool fuseboxNetworkInspectionEnabled() override; + public virtual bool hideOffscreenVirtualViewsOnIOS() override; + public virtual bool overrideBySynchronousMountPropsAtMountingAndroid() override; + public virtual bool perfIssuesEnabled() override; + public virtual bool perfMonitorV2Enabled() override; + public virtual bool preventShadowTreeCommitExhaustion() override; + public virtual bool shouldPressibilityUseW3CPointerEventsForHover() override; + public virtual bool shouldTriggerResponderTransferOnScrollAndroid() override; + public virtual bool skipActivityIdentityAssertionOnHostPause() override; + public virtual bool syncAndroidClipToPaddingWithOverflow() override; + public virtual bool traceTurboModulePromiseRejectionsOnAndroid() override; + public virtual bool updateRuntimeShadowNodeReferencesOnCommit() override; + public virtual bool updateRuntimeShadowNodeReferencesOnCommitThread() override; + public virtual bool useAlwaysAvailableJSErrorHandling() override; + public virtual bool useFabricInterop() override; + public virtual bool useLISAlgorithmInDifferentiator() override; + public virtual bool useNativeViewConfigsInBridgelessMode() override; + public virtual bool useNestedScrollViewAndroid() override; + public virtual bool useSharedAnimatedBackend() override; + public virtual bool useTraitHiddenOnAndroid() override; + public virtual bool useTurboModuleInterop() override; + public virtual bool useTurboModules() override; + public virtual bool useUnorderedMapInDifferentiator() override; + public virtual bool viewTransitionEnabled() override; + public virtual double preparedTextCacheSize() override; + public virtual double viewCullingOutsetRatio() override; + public virtual double virtualViewPrerenderRatio() override; +} + +class facebook::react::ReactNativeFeatureFlagsOverridesOSSCanary : public facebook::react::ReactNativeFeatureFlagsOverridesOSSStable { + public ReactNativeFeatureFlagsOverridesOSSCanary() = default; + public virtual bool enableBridgelessArchitecture() override; + public virtual bool enableFabricRenderer() override; + public virtual bool enableIntersectionObserverByDefault() override; + public virtual bool useNativeViewConfigsInBridgelessMode() override; + public virtual bool useTurboModuleInterop() override; + public virtual bool useTurboModules() override; +} + +class facebook::react::ReactNativeFeatureFlagsOverridesOSSExperimental : public facebook::react::ReactNativeFeatureFlagsOverridesOSSCanary { + public ReactNativeFeatureFlagsOverridesOSSExperimental() = default; + public virtual bool enableAccessibilityOrder() override; + public virtual bool enableSwiftUIBasedFilters() override; + public virtual bool fixTextClippingAndroid15useBoundsForWidth() override; + public virtual bool preventShadowTreeCommitExhaustion() override; +} + +class facebook::react::ReactNativeFeatureFlagsOverridesOSSStable : public facebook::react::ReactNativeFeatureFlagsDefaults { + public virtual bool enableBridgelessArchitecture() override; + public virtual bool enableFabricRenderer() override; + public virtual bool useNativeViewConfigsInBridgelessMode() override; + public virtual bool useTurboModules() override; +} + +class facebook::react::ReactNativeFeatureFlagsProvider { + public virtual bool cdpInteractionMetricsEnabled() = 0; + public virtual bool commonTestFlag() = 0; + public virtual bool cxxNativeAnimatedEnabled() = 0; + public virtual bool defaultTextToOverflowHidden() = 0; + public virtual bool disableEarlyViewCommandExecution() = 0; + public virtual bool disableImageViewPreallocationAndroid() = 0; + public virtual bool disableMountItemReorderingAndroid() = 0; + public virtual bool disableSubviewClippingAndroid() = 0; + public virtual bool disableTextLayoutManagerCacheAndroid() = 0; + public virtual bool disableViewPreallocationAndroid() = 0; + public virtual bool enableAccessibilityOrder() = 0; + public virtual bool enableAccumulatedUpdatesInRawPropsAndroid() = 0; + public virtual bool enableAndroidAntialiasedBorderRadiusClipping() = 0; + public virtual bool enableAndroidLinearText() = 0; + public virtual bool enableAndroidTextMeasurementOptimizations() = 0; + public virtual bool enableBridgelessArchitecture() = 0; + public virtual bool enableCppPropsIteratorSetter() = 0; + public virtual bool enableCustomFocusSearchOnClippedElementsAndroid() = 0; + public virtual bool enableDestroyShadowTreeRevisionAsync() = 0; + public virtual bool enableDifferentiatorMutationVectorPreallocation() = 0; + public virtual bool enableDoubleMeasurementFixAndroid() = 0; + public virtual bool enableEagerMainQueueModulesOnIOS() = 0; + public virtual bool enableEagerRootViewAttachment() = 0; + public virtual bool enableExclusivePropsUpdateAndroid() = 0; + public virtual bool enableFabricCommitBranching() = 0; + public virtual bool enableFabricLogs() = 0; + public virtual bool enableFabricRenderer() = 0; + public virtual bool enableFontScaleChangesUpdatingLayout() = 0; + public virtual bool enableIOSTextBaselineOffsetPerLine() = 0; + public virtual bool enableIOSViewClipToPaddingBox() = 0; + public virtual bool enableImagePrefetchingAndroid() = 0; + public virtual bool enableImagePrefetchingJNIBatchingAndroid() = 0; + public virtual bool enableImagePrefetchingOnUiThreadAndroid() = 0; + public virtual bool enableImmediateUpdateModeForContentOffsetChanges() = 0; + public virtual bool enableImperativeFocus() = 0; + public virtual bool enableInteropViewManagerClassLookUpOptimizationIOS() = 0; + public virtual bool enableIntersectionObserverByDefault() = 0; + public virtual bool enableKeyEvents() = 0; + public virtual bool enableLayoutAnimationsOnAndroid() = 0; + public virtual bool enableLayoutAnimationsOnIOS() = 0; + public virtual bool enableMainQueueCoordinatorOnIOS() = 0; + public virtual bool enableModuleArgumentNSNullConversionIOS() = 0; + public virtual bool enableMutationObserverByDefault() = 0; + public virtual bool enableNativeCSSParsing() = 0; + public virtual bool enableNativeViewPropTransformations() = 0; + public virtual bool enableNetworkEventReporting() = 0; + public virtual bool enablePreparedTextLayout() = 0; + public virtual bool enablePropsUpdateReconciliationAndroid() = 0; + public virtual bool enableSwiftUIBasedFilters() = 0; + public virtual bool enableViewCulling() = 0; + public virtual bool enableViewRecycling() = 0; + public virtual bool enableViewRecyclingForImage() = 0; + public virtual bool enableViewRecyclingForScrollView() = 0; + public virtual bool enableViewRecyclingForText() = 0; + public virtual bool enableViewRecyclingForView() = 0; + public virtual bool enableVirtualViewContainerStateExperimental() = 0; + public virtual bool enableVirtualViewDebugFeatures() = 0; + public virtual bool fixFindShadowNodeByTagRaceCondition() = 0; + public virtual bool fixMappingOfEventPrioritiesBetweenFabricAndReact() = 0; + public virtual bool fixTextClippingAndroid15useBoundsForWidth() = 0; + public virtual bool fixYogaFlexBasisFitContentInMainAxis() = 0; + public virtual bool fuseboxAssertSingleHostState() = 0; + public virtual bool fuseboxEnabledRelease() = 0; + public virtual bool fuseboxFrameRecordingEnabled() = 0; + public virtual bool fuseboxNetworkInspectionEnabled() = 0; + public virtual bool hideOffscreenVirtualViewsOnIOS() = 0; + public virtual bool overrideBySynchronousMountPropsAtMountingAndroid() = 0; + public virtual bool perfIssuesEnabled() = 0; + public virtual bool perfMonitorV2Enabled() = 0; + public virtual bool preventShadowTreeCommitExhaustion() = 0; + public virtual bool shouldPressibilityUseW3CPointerEventsForHover() = 0; + public virtual bool shouldTriggerResponderTransferOnScrollAndroid() = 0; + public virtual bool skipActivityIdentityAssertionOnHostPause() = 0; + public virtual bool syncAndroidClipToPaddingWithOverflow() = 0; + public virtual bool traceTurboModulePromiseRejectionsOnAndroid() = 0; + public virtual bool updateRuntimeShadowNodeReferencesOnCommit() = 0; + public virtual bool updateRuntimeShadowNodeReferencesOnCommitThread() = 0; + public virtual bool useAlwaysAvailableJSErrorHandling() = 0; + public virtual bool useFabricInterop() = 0; + public virtual bool useLISAlgorithmInDifferentiator() = 0; + public virtual bool useNativeViewConfigsInBridgelessMode() = 0; + public virtual bool useNestedScrollViewAndroid() = 0; + public virtual bool useSharedAnimatedBackend() = 0; + public virtual bool useTraitHiddenOnAndroid() = 0; + public virtual bool useTurboModuleInterop() = 0; + public virtual bool useTurboModules() = 0; + public virtual bool useUnorderedMapInDifferentiator() = 0; + public virtual bool viewTransitionEnabled() = 0; + public virtual double preparedTextCacheSize() = 0; + public virtual double viewCullingOutsetRatio() = 0; + public virtual double virtualViewPrerenderRatio() = 0; + public virtual ~ReactNativeFeatureFlagsProvider() = default; +} + +class facebook::react::ReactPerfettoLogger { + public static bool isTracing(); + public static void mark(const std::string_view& eventName, facebook::react::HighResTimeStamp startTime, const std::optional& trackName = std::nullopt, const std::optional& trackGroup = std::nullopt); + public static void measure(const std::string_view& eventName, facebook::react::HighResTimeStamp startTime, facebook::react::HighResTimeStamp endTime, const std::optional& trackName = std::nullopt, const std::optional& trackGroup = std::nullopt); +} + +class facebook::react::RootProps : public facebook::react::HostPlatformViewProps { + public RootProps() = default; + public RootProps(const facebook::react::PropsParserContext& context, const facebook::react::RootProps& sourceProps, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext); + public RootProps(const facebook::react::PropsParserContext& context, const facebook::react::RootProps& sourceProps, const facebook::react::RawProps& rawProps); + public facebook::react::LayoutConstraints layoutConstraints; + public facebook::react::LayoutContext layoutContext; +} + +class facebook::react::RootShadowNode : public facebook::react::ConcreteViewShadowNode { + public RootShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public RootShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public bool layoutIfNeeded(std::vector* affectedNodes = {}); + public facebook::react::RootShadowNode::Unshared clone(const facebook::react::PropsParserContext& propsParserContext, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; + public static facebook::react::ShadowNodeTraits BaseTraits(); + public using Shared = std::shared_ptr; + public using Unshared = std::shared_ptr; + public virtual facebook::react::Transform getTransform() const override; + public void setInstanceHandle(facebook::react::InstanceHandle::Shared instanceHandle) const; +} + +class facebook::react::RoundAnimatedNode : public facebook::react::ValueAnimatedNode { + public RoundAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::RunLoopObserver { + protected const facebook::react::RunLoopObserver::Activity activities_; + protected const facebook::react::RunLoopObserver::WeakOwner owner_; + protected mutable const facebook::react::RunLoopObserver::Delegate* delegate_; + protected mutable std::atomic enabled_; + protected virtual void startObserving() const noexcept = 0; + protected virtual void stopObserving() const noexcept = 0; + protected void activityDidChange(facebook::react::RunLoopObserver::Activity activity) const noexcept; + public RunLoopObserver(facebook::react::RunLoopObserver::Activity activities, facebook::react::RunLoopObserver::WeakOwner owner) noexcept; + public facebook::react::RunLoopObserver::WeakOwner getOwner() const noexcept; + public using Factory = std::function(facebook::react::RunLoopObserver::Activity activities, const facebook::react::RunLoopObserver::WeakOwner& owner)>; + public using Owner = std::shared_ptr; + public using WeakOwner = std::weak_ptr; + public virtual bool isOnRunLoopThread() const noexcept = 0; + public virtual ~RunLoopObserver() noexcept = default; + public void disable() const noexcept; + public void enable() const noexcept; + public void setDelegate(const facebook::react::RunLoopObserver::Delegate* delegate) const noexcept; +} + +class facebook::react::RunLoopObserver::Delegate { + public virtual void activityDidChange(const facebook::react::RunLoopObserver::Delegate* delegate, facebook::react::RunLoopObserver::Activity activity) const noexcept = 0; + public virtual ~Delegate() noexcept = default; +} + +enum facebook::react::RunLoopObserver::Activity : int32_t { + AfterWaiting, + BeforeWaiting, + None, +} + +class facebook::react::RuntimeScheduler { + public RuntimeScheduler(const facebook::react::RuntimeScheduler&) = delete; + public RuntimeScheduler(facebook::react::RuntimeExecutor runtimeExecutor, std::function now = facebook::react::HighResTimeStamp::now, facebook::react::RuntimeSchedulerTaskErrorHandler onTaskError = handleTaskErrorDefault); + public RuntimeScheduler(facebook::react::RuntimeScheduler&&) = delete; + public facebook::react::RuntimeScheduler& operator=(const facebook::react::RuntimeScheduler&) = delete; + public facebook::react::RuntimeScheduler& operator=(facebook::react::RuntimeScheduler&&) = delete; + public virtual bool getShouldYield() noexcept override; + public virtual facebook::react::HighResTimeStamp now() const noexcept override; + public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept override; + public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; + public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept override; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept override; + public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) override; + public virtual void cancelTask(facebook::react::Task& task) noexcept override; + public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) override; + public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) override; + public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept override; + public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) override; + public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) override; + public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* reporter) override; + public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* shadowTreeRevisionConsistencyManager) override; +} + +class facebook::react::RuntimeSchedulerBase { + public virtual bool getShouldYield() noexcept = 0; + public virtual facebook::react::HighResTimeStamp now() const noexcept = 0; + public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept = 0; + public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept = 0; + public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept = 0; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept = 0; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept = 0; + public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) = 0; + public virtual void cancelTask(facebook::react::Task& task) noexcept = 0; + public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) = 0; + public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) = 0; + public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept = 0; + public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) = 0; + public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) = 0; + public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* reporter) = 0; + public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* provider) = 0; + public virtual ~RuntimeSchedulerBase() = default; +} + +class facebook::react::RuntimeSchedulerBinding : public facebook::jsi::HostObject { + public RuntimeSchedulerBinding(std::shared_ptr runtimeScheduler); + public static std::shared_ptr createAndInstallIfNeeded(facebook::jsi::Runtime& runtime, const std::shared_ptr& runtimeScheduler); + public static std::shared_ptr getBinding(facebook::jsi::Runtime& runtime); + public std::shared_ptr getRuntimeScheduler() noexcept; + public virtual facebook::jsi::Value get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) override; +} + +class facebook::react::RuntimeSchedulerCallInvoker : public facebook::react::CallInvoker { + public RuntimeSchedulerCallInvoker(std::weak_ptr runtimeScheduler); + public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept override; + public virtual void invokeAsync(facebook::react::SchedulerPriority priority, facebook::react::CallFunc&& func) noexcept override; + public virtual void invokeSync(facebook::react::CallFunc&& func) override; +} + +class facebook::react::RuntimeSchedulerEventTimingDelegate { + public virtual void dispatchPendingEventTimingEntries(facebook::react::HighResTimeStamp taskEndTime, const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) = 0; + public virtual ~RuntimeSchedulerEventTimingDelegate() = default; +} + +class facebook::react::RuntimeSchedulerIntersectionObserverDelegate { + public virtual void updateIntersectionObservations(const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) = 0; + public virtual ~RuntimeSchedulerIntersectionObserverDelegate() = default; +} + +class facebook::react::RuntimeScheduler_Legacy : public facebook::react::RuntimeSchedulerBase { + public RuntimeScheduler_Legacy(const facebook::react::RuntimeScheduler_Legacy&) = delete; + public RuntimeScheduler_Legacy(facebook::react::RuntimeExecutor runtimeExecutor, std::function now, facebook::react::RuntimeSchedulerTaskErrorHandler onTaskError); + public RuntimeScheduler_Legacy(facebook::react::RuntimeScheduler_Legacy&&) = delete; + public facebook::react::RuntimeScheduler_Legacy& operator=(const facebook::react::RuntimeScheduler_Legacy&) = delete; + public facebook::react::RuntimeScheduler_Legacy& operator=(facebook::react::RuntimeScheduler_Legacy&&) = delete; + public virtual bool getShouldYield() noexcept override; + public virtual facebook::react::HighResTimeStamp now() const noexcept override; + public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept override; + public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; + public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept override; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept override; + public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) override; + public virtual void cancelTask(facebook::react::Task& task) noexcept override; + public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) override; + public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) override; + public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept override; + public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) override; + public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) override; + public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* performanceEntryReporter) override; + public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* shadowTreeRevisionConsistencyManager) override; +} + +class facebook::react::RuntimeScheduler_Modern : public facebook::react::RuntimeSchedulerBase { + public RuntimeScheduler_Modern(const facebook::react::RuntimeScheduler_Modern&) = delete; + public RuntimeScheduler_Modern(facebook::react::RuntimeExecutor runtimeExecutor, std::function now, facebook::react::RuntimeSchedulerTaskErrorHandler onTaskError); + public RuntimeScheduler_Modern(facebook::react::RuntimeScheduler_Modern&&) = delete; + public facebook::react::RuntimeScheduler_Modern& operator=(const facebook::react::RuntimeScheduler_Modern&) = delete; + public facebook::react::RuntimeScheduler_Modern& operator=(facebook::react::RuntimeScheduler_Modern&&) = delete; + public virtual bool getShouldYield() noexcept override; + public virtual facebook::react::HighResTimeStamp now() const noexcept override; + public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept override; + public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration customTimeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; + public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration customTimeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept override; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept override; + public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) override; + public virtual void cancelTask(facebook::react::Task& task) noexcept override; + public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) override; + public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) override; + public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept override; + public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) override; + public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) override; + public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* performanceEntryReporter) override; + public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* shadowTreeRevisionConsistencyManager) override; +} + +class facebook::react::SafeAreaViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { +} + +class facebook::react::SafeAreaViewShadowNode : public facebook::react::ConcreteViewShadowNode { +} + +class facebook::react::SafeAreaViewState { + public facebook::react::EdgeInsets padding; +} + +class facebook::react::Scheduler : public facebook::react::UIManagerDelegate { + public Scheduler(const facebook::react::SchedulerToolbox& schedulerToolbox, facebook::react::UIManagerAnimationDelegate* animationDelegate, facebook::react::SchedulerDelegate* delegate); + public const facebook::react::ComponentDescriptor* findComponentDescriptorByHandle_DO_NOT_USE_THIS_IS_BROKEN(facebook::react::ComponentHandle handle) const; + public facebook::react::SchedulerDelegate* getDelegate() const; + public std::shared_ptr getContextContainer() const; + public std::shared_ptr getUIManager() const; + public virtual void uiManagerDidCreateShadowNode(const facebook::react::ShadowNode& shadowNode) override; + public virtual void uiManagerDidDispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) override; + public virtual void uiManagerDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) override; + public virtual void uiManagerDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) override; + public virtual void uiManagerDidPromoteReactRevision(const facebook::react::ShadowTree& shadowTree) override; + public virtual void uiManagerDidSendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType) override; + public virtual void uiManagerDidSetIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) override; + public virtual void uiManagerDidStartSurface(const facebook::react::ShadowTree& shadowTree) override; + public virtual void uiManagerDidUpdateShadowTree(const std::unordered_map& tagToProps) override; + public virtual void uiManagerShouldAddEventListener(std::shared_ptr listener) final; + public virtual void uiManagerShouldRemoveEventListener(const std::shared_ptr& listener) final; + public virtual void uiManagerShouldSetOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback) override; + public virtual void uiManagerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) override; + public void addEventListener(std::shared_ptr listener); + public void animationTick() const; + public void registerSurface(const facebook::react::SurfaceHandler& surfaceHandler) const noexcept; + public void removeEventListener(const std::shared_ptr& listener); + public void reportMount(facebook::react::SurfaceId surfaceId) const; + public void setDelegate(facebook::react::SchedulerDelegate* delegate); + public void unregisterSurface(const facebook::react::SurfaceHandler& surfaceHandler) const noexcept; + public ~Scheduler() override; +} + +class facebook::react::SchedulerDelegate { + public virtual void schedulerDidDispatchCommand(const facebook::react::ShadowView& shadowView, const std::string& commandName, const folly::dynamic& args) = 0; + public virtual void schedulerDidFinishTransaction(const std::shared_ptr& mountingCoordinator) = 0; + public virtual void schedulerDidRequestPreliminaryViewAllocation(const facebook::react::ShadowNode& shadowNode) = 0; + public virtual void schedulerDidSendAccessibilityEvent(const facebook::react::ShadowView& shadowView, const std::string& eventType) = 0; + public virtual void schedulerDidSetIsJSResponder(const facebook::react::ShadowView& shadowView, bool isJSResponder, bool blockNativeResponder) = 0; + public virtual void schedulerDidUpdateShadowTree(const std::unordered_map& tagToProps) = 0; + public virtual void schedulerShouldMergeReactRevision(facebook::react::SurfaceId surfaceId) = 0; + public virtual void schedulerShouldRenderTransactions(const std::shared_ptr& mountingCoordinator) = 0; + public virtual void schedulerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) = 0; + public virtual ~SchedulerDelegate() noexcept = default; +} + +class facebook::react::ScopedShadowTreeRevisionLock { + public ScopedShadowTreeRevisionLock(const facebook::react::ScopedShadowTreeRevisionLock&) = delete; + public ScopedShadowTreeRevisionLock(facebook::react::ScopedShadowTreeRevisionLock&&) = delete; + public ScopedShadowTreeRevisionLock(facebook::react::ShadowTreeRevisionConsistencyManager* consistencyManager) noexcept; + public facebook::react::ScopedShadowTreeRevisionLock& operator=(const facebook::react::ScopedShadowTreeRevisionLock&) = delete; + public facebook::react::ScopedShadowTreeRevisionLock& operator=(facebook::react::ScopedShadowTreeRevisionLock&&) = delete; + public ~ScopedShadowTreeRevisionLock() noexcept; +} + +class facebook::react::ScrollViewEventEmitter : public facebook::react::BaseViewEventEmitter { + public using EndDragMetrics = facebook::react::ScrollEndDragEvent; + public using Metrics = facebook::react::ScrollEvent; + public void onMomentumScrollBegin(const facebook::react::ScrollEvent& scrollEvent) const; + public void onMomentumScrollEnd(const facebook::react::ScrollEvent& scrollEvent) const; + public void onScroll(const facebook::react::ScrollEvent& scrollEvent) const; + public void onScrollBeginDrag(const facebook::react::ScrollEvent& scrollEvent) const; + public void onScrollEndDrag(const facebook::react::ScrollEndDragEvent& scrollEvent) const; + public void onScrollToTop(const facebook::react::ScrollEvent& scrollEvent) const; +} + +class facebook::react::ScrollViewMaintainVisibleContentPosition { + public bool operator==(const facebook::react::ScrollViewMaintainVisibleContentPosition& rhs) const = default; + public int minIndexForVisible; + public std::optional autoscrollToTopThreshold; +} + +class facebook::react::ScrollViewShadowNode : public facebook::react::ConcreteViewShadowNode { + public ScrollViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ScrollViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ScrollViewState initialStateData(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family, const facebook::react::ComponentDescriptor& componentDescriptor); + public virtual facebook::react::Point getContentOriginOffset(bool includeTransform) const override; + public virtual void layout(facebook::react::LayoutContext layoutContext) override; +} + +class facebook::react::ScrollViewState { + public ScrollViewState() = default; + public ScrollViewState(facebook::react::Point contentOffset, facebook::react::Rect contentBoundingRect, int scrollAwayPaddingTop); + public bool disableViewCulling; + public facebook::react::Point contentOffset; + public facebook::react::Rect contentBoundingRect; + public facebook::react::Size getContentSize() const; + public int scrollAwayPaddingTop; +} + +class facebook::react::Sealable { + public Sealable(); + public Sealable(const facebook::react::Sealable& other); + public Sealable(facebook::react::Sealable&& other) noexcept; + public bool getSealed() const; + public facebook::react::Sealable& operator=(const facebook::react::Sealable& other); + public facebook::react::Sealable& operator=(facebook::react::Sealable&& other) noexcept; + public void ensureUnsealed() const; + public void seal() const; + public ~Sealable() noexcept; +} + +class facebook::react::SelectableParagraphComponentDescriptor : public facebook::react::BaseParagraphComponentDescriptor { + public SelectableParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); +} + +class facebook::react::SelectableParagraphShadowNode : public facebook::react::ParagraphShadowNode { + public SelectableParagraphShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public SelectableParagraphShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static constexpr facebook::react::ComponentName Name(); + public static facebook::react::ComponentHandle Handle(); +} + +class facebook::react::ShadowNode : public facebook::react::Sealable, public facebook::react::DebugStringConvertible, public facebook::jsi::NativeState { + protected facebook::react::Props::Shared props_; + protected facebook::react::ShadowNodeTraits traits_; + protected facebook::react::State::Shared state_; + protected int orderIndex_; + protected mutable std::weak_ptr runtimeShadowNodeReference_; + protected std::shared_ptr>> children_; + public ShadowNode(const facebook::react::ShadowNode& shadowNode) noexcept = delete; + public ShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ShadowNode(const facebook::react::ShadowNodeFragment& fragment, facebook::react::ShadowNodeFamily::Shared family, facebook::react::ShadowNodeTraits traits); + public bool getHasBeenPromoted() const; + public const facebook::react::ComponentDescriptor& getComponentDescriptor() const; + public const facebook::react::Props::Shared& getProps() const; + public const facebook::react::ShadowNodeFamily& getFamily() const; + public const facebook::react::SharedEventEmitter& getEventEmitter() const; + public const facebook::react::State::Shared& getState() const; + public const std::vector>& getChildren() const; + public facebook::jsi::Value getInstanceHandle(facebook::jsi::Runtime& runtime) const; + public facebook::react::ComponentHandle getComponentHandle() const; + public facebook::react::ComponentName getComponentName() const; + public facebook::react::ShadowNode& operator=(const facebook::react::ShadowNode& other) noexcept = delete; + public facebook::react::ShadowNodeFamily::Shared getFamilyShared() const; + public facebook::react::ShadowNodeTraits getTraits() const; + public facebook::react::State::Shared getMostRecentState() const; + public facebook::react::SurfaceId getSurfaceId() const; + public facebook::react::Tag getTag() const; + public int getOrderIndex() const; + public static bool getUseRuntimeShadowNodeReferenceUpdateOnThread(); + public static bool sameFamily(const facebook::react::ShadowNode& first, const facebook::react::ShadowNode& second); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public static std::shared_ptr>> emptySharedShadowNodeSharedList(); + public static void setUseRuntimeShadowNodeReferenceUpdateOnThread(bool isEnabled); + public std::shared_ptr getContextContainer() const; + public std::shared_ptr clone(const facebook::react::ShadowNodeFragment& fragment) const; + public std::shared_ptr cloneMultiple(const std::unordered_set>& familiesToUpdate, const std::function(const facebook::react::ShadowNode& oldShadowNode, const facebook::react::ShadowNodeFragment& fragment)>& callback) const; + public std::shared_ptr cloneTree(const facebook::react::ShadowNodeFamily& shadowNodeFamily, const std::function(const facebook::react::ShadowNode& oldShadowNode)>& callback) const; + public using AncestorList = std::vector, int>>; + public virtual void appendChild(const std::shared_ptr& child); + public virtual void completeClone(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public virtual void replaceChild(const facebook::react::ShadowNode& oldChild, const std::shared_ptr& newChild, size_t suggestedIndex = std::numeric_limits::max()); + public virtual ~ShadowNode() override = default; + public void sealRecursive() const; + public void setMounted(bool mounted) const; + public void setRuntimeShadowNodeReference(const std::shared_ptr& runtimeShadowNodeReference) const; + public void transferRuntimeShadowNodeReference(const std::shared_ptr& destinationShadowNode, const facebook::react::ShadowNodeFragment& fragment) const; + public void updateRuntimeShadowNodeReference(const std::shared_ptr& destinationShadowNode) const; +} + +class facebook::react::ShadowNodeFamily : public facebook::jsi::NativeState { + public ShadowNodeFamily(const facebook::react::ShadowNodeFamilyFragment& fragment, facebook::react::SharedEventEmitter eventEmitter, facebook::react::EventDispatcher::Weak eventDispatcher, const facebook::react::ComponentDescriptor& componentDescriptor); + public const facebook::react::ComponentDescriptor& getComponentDescriptor() const; + public facebook::jsi::Value getInstanceHandle(facebook::jsi::Runtime& runtime) const; + public facebook::react::ComponentHandle getComponentHandle() const; + public facebook::react::ComponentName getComponentName() const; + public facebook::react::InstanceHandle::Shared getInstanceHandle() const; + public facebook::react::ShadowNodeFamily::AncestorList getAncestors(const facebook::react::ShadowNode& ancestorShadowNode) const; + public facebook::react::SharedEventEmitter getEventEmitter() const; + public facebook::react::SurfaceId getSurfaceId() const; + public facebook::react::Tag getTag() const; + public mutable std::unique_ptr nativeProps_DEPRECATED; + public std::shared_ptr getMostRecentState() const; + public using AncestorList = std::vector, int>>; + public using Shared = std::shared_ptr; + public using Weak = std::weak_ptr; + public void dispatchRawState(facebook::react::StateUpdate&& stateUpdate, facebook::react::EventQueue::UpdateMode updateMode); + public void onUnmountedFamilyDestroyed(std::function callback); + public void setInstanceHandle(facebook::react::InstanceHandle::Shared& instanceHandle); + public void setMostRecentState(const std::shared_ptr& state); + public void setMounted(); + public void setParent(const facebook::react::ShadowNodeFamily::Shared& parent); + public ~ShadowNodeFamily(); +} + +class facebook::react::ShadowNodeTraits { + public bool check(facebook::react::ShadowNodeTraits::Trait traits) const; + public facebook::react::ShadowNodeTraits::Trait get() const; + public void set(facebook::react::ShadowNodeTraits::Trait trait); + public void unset(facebook::react::ShadowNodeTraits::Trait trait); +} + +enum facebook::react::ShadowNodeTraits::Trait : int32_t { + BaselineYogaNode, + ChildrenAreShared, + ChildrenFormStackingContext, + DirtyYogaNode, + ForceFlattenView, + FormsStackingContext, + FormsView, + Hidden, + KeyboardFocusable, + LeafYogaNode, + MeasurableYogaNode, + None, + RootNodeKind, + Unstable_uncullableTrace, + Unstable_uncullableView, + ViewKind, +} + +class facebook::react::ShadowTree { + public ShadowTree(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext, const facebook::react::ShadowTreeDelegate& delegate, const facebook::react::ContextContainer& contextContainer); + public facebook::react::CommitMode getCommitMode() const; + public facebook::react::CommitStatus commit(const facebook::react::ShadowTreeCommitTransaction& transaction, const facebook::react::ShadowTree::CommitOptions& commitOptions) const; + public facebook::react::CommitStatus tryCommit(const facebook::react::ShadowTreeCommitTransaction& transaction, const facebook::react::ShadowTree::CommitOptions& commitOptions) const; + public facebook::react::ShadowTreeRevision getCurrentRevision() const; + public facebook::react::SurfaceId getSurfaceId() const; + public std::optional getCurrentReactRevision() const; + public std::shared_ptr getMountingCoordinator() const; + public using CommitMode = facebook::react::ShadowTreeCommitMode; + public using CommitOptions = facebook::react::ShadowTreeCommitOptions; + public using CommitSource = facebook::react::ShadowTreeCommitSource; + public using CommitStatus = facebook::react::ShadowTreeCommitStatus; + public using Unique = std::unique_ptr; + public void commitEmptyTree() const; + public void mergeReactRevision() const; + public void notifyDelegatesOfUpdates() const; + public void promoteReactRevision() const; + public void setCommitMode(facebook::react::CommitMode commitMode) const; + public ~ShadowTree(); +} + +class facebook::react::ShadowTreeDelegate { + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions& commitOptions) const = 0; + public virtual void shadowTreeDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) const = 0; + public virtual void shadowTreeDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) const = 0; + public virtual void shadowTreeDidPromoteReactRevision(const facebook::react::ShadowTree& shadowTree) const = 0; + public virtual ~ShadowTreeDelegate() noexcept = default; +} + +class facebook::react::ShadowTreeRegistry { + public ShadowTreeRegistry() = default; + public bool visit(facebook::react::SurfaceId surfaceId, const std::function& callback) const; + public std::unique_ptr remove(facebook::react::SurfaceId surfaceId) const; + public void add(std::unique_ptr&& shadowTree) const; + public void enumerate(const std::function& callback) const; + public ~ShadowTreeRegistry(); +} + +class facebook::react::ShadowTreeRevision { + public facebook::react::RootShadowNode::Shared rootShadowNode; + public facebook::react::ShadowTreeRevision::Number number; + public facebook::react::TransactionTelemetry telemetry; + public using Number = int64_t; +} + +class facebook::react::ShadowTreeRevisionConsistencyManager { + public virtual void lockRevisions() = 0; + public virtual void unlockRevisions() = 0; + public virtual ~ShadowTreeRevisionConsistencyManager() = default; +} + +class facebook::react::ShadowTreeRevisionProvider { + public virtual facebook::react::RootShadowNode::Shared getCurrentRevision(facebook::react::SurfaceId surfaceId) = 0; + public virtual ~ShadowTreeRevisionProvider() = default; +} + +class facebook::react::SharedColor { + public Color& operator*(); + public SharedColor(); + public SharedColor(Color color); + public bool operator!=(const facebook::react::SharedColor& otherColor) const; + public bool operator==(const facebook::react::SharedColor& otherColor) const; + public const Color& operator*() const; + public operator bool() const; + public std::string toString() const noexcept; +} + +class facebook::react::SpringAnimationDriver : public facebook::react::AnimationDriver { + protected virtual bool update(double timeDeltaMs, bool restarting) override; + public SpringAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); +} + +class facebook::react::StackTraceParser { + public static std::vector parse(bool isHermes, const std::string& stackString); +} + +class facebook::react::State { + protected State(facebook::react::StateData::Shared data, const facebook::react::State& previousState); + protected State(facebook::react::StateData::Shared data, facebook::react::ShadowNodeFamily::Weak family); + protected const facebook::react::StateData::Shared& getDataPointer() const; + protected facebook::react::ShadowNodeFamily::Weak family_; + protected facebook::react::StateData::Shared data_; + protected mutable bool isObsolete_; + protected size_t revision_; + public facebook::react::State::Shared getMostRecentState() const; + public facebook::react::State::Shared getMostRecentStateIfObsolete() const; + public size_t getRevision() const; + public static constexpr size_t initialRevisionValue; + public using Shared = std::shared_ptr; + public virtual ~State() = default; +} + +class facebook::react::StateUpdate { + public facebook::react::SharedShadowNodeFamily family; + public facebook::react::StateUpdate::Callback callback; + public using Callback = std::function; + public using FailureCallback = std::function; +} + +class facebook::react::StubView { + public StubView() = default; + public StubView(const facebook::react::StubView& stubView) = default; + public facebook::react::ComponentHandle componentHandle; + public facebook::react::ComponentName componentName; + public facebook::react::LayoutMetrics layoutMetrics; + public facebook::react::Props::Shared props; + public facebook::react::ShadowNodeTraits traits; + public facebook::react::SharedEventEmitter eventEmitter; + public facebook::react::State::Shared state; + public facebook::react::SurfaceId surfaceId; + public facebook::react::Tag parentTag; + public facebook::react::Tag tag; + public operator facebook::react::ShadowView() const; + public std::vector children; + public using Shared = std::shared_ptr; + public void update(const facebook::react::ShadowView& shadowView); +} + +class facebook::react::StubViewTree { + public StubViewTree() = default; + public StubViewTree(const facebook::react::ShadowView& shadowView); + public bool hasTag(facebook::react::Tag tag) const; + public const facebook::react::StubView& getRootStubView() const; + public const facebook::react::StubView& getStubView(facebook::react::Tag tag) const; + public size_t size() const; + public std::vector takeMountingLogs(); + public void dispatchCommand(const facebook::react::ShadowView& shadowView, const std::string& commandName, const folly::dynamic& args); + public void mutate(const facebook::react::ShadowViewMutationList& mutations); +} + +class facebook::react::StyleAnimatedNode : public facebook::react::AnimatedNode { + public StyleAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public bool isLayoutStyleUpdated() const noexcept; + public void collectViewUpdates(folly::dynamic& props); +} + +class facebook::react::SubtractionAnimatedNode : public facebook::react::OperatorAnimatedNode { + public SubtractionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::SurfaceHandler { + public SurfaceHandler(const facebook::react::SurfaceHandler& SurfaceHandler) noexcept = delete; + public SurfaceHandler(const std::string& moduleName, facebook::react::SurfaceId surfaceId) noexcept; + public SurfaceHandler(facebook::react::SurfaceHandler&& other) noexcept = delete; + public facebook::react::DisplayMode getDisplayMode() const noexcept; + public facebook::react::LayoutConstraints getLayoutConstraints() const noexcept; + public facebook::react::LayoutContext getLayoutContext() const noexcept; + public facebook::react::Size measure(const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; + public facebook::react::SurfaceHandler& operator=(const facebook::react::SurfaceHandler& other) noexcept = delete; + public facebook::react::SurfaceHandler& operator=(facebook::react::SurfaceHandler&& other) noexcept = delete; + public facebook::react::SurfaceHandler::Status getStatus() const noexcept; + public facebook::react::SurfaceId getSurfaceId() const noexcept; + public folly::dynamic getProps() const noexcept; + public std::shared_ptr getMountingCoordinator() const noexcept; + public std::string getModuleName() const noexcept; + public virtual void setDisplayMode(facebook::react::DisplayMode displayMode) const noexcept; + public virtual ~SurfaceHandler() noexcept; + public void constraintLayout(const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; + public void setContextContainer(std::shared_ptr contextContainer) const noexcept; + public void setProps(const folly::dynamic& props) const noexcept; + public void setSurfaceId(facebook::react::SurfaceId surfaceId) const noexcept; + public void start() const noexcept; + public void stop() const noexcept; +} + +enum facebook::react::SurfaceHandler::Status { + Registered, + Running, + Unregistered, +} + +class facebook::react::SurfaceManager { + public SurfaceManager(const facebook::react::Scheduler& scheduler) noexcept; + public bool isSurfaceRunning(facebook::react::SurfaceId surfaceId) const noexcept; + public facebook::react::Size measureSurface(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const noexcept; + public std::optional getSurfaceProps(facebook::react::SurfaceId surfaceId) const noexcept; + public std::shared_ptr findMountingCoordinator(facebook::react::SurfaceId surfaceId) const noexcept; + public std::unordered_set getRunningSurfaces() const noexcept; + public void constraintSurfaceLayout(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const noexcept; + public void startSurface(facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& props, const facebook::react::LayoutConstraints& layoutConstraints = {}, const facebook::react::LayoutContext& layoutContext = {}) noexcept; + public void stopAllSurfaces() noexcept; + public void stopSurface(facebook::react::SurfaceId surfaceId) noexcept; + public ~SurfaceManager() noexcept; +} + +struct facebook::react::SurfaceManager::SurfaceProps { + public facebook::react::LayoutConstraints layoutConstraints; + public facebook::react::LayoutContext layoutContext; + public facebook::react::SurfaceId surfaceId; + public folly::dynamic props; + public std::string moduleName; +} + +class facebook::react::SurfaceTelemetry { + public facebook::react::TelemetryDuration getCommitTime() const; + public facebook::react::TelemetryDuration getDiffTime() const; + public facebook::react::TelemetryDuration getLayoutTime() const; + public facebook::react::TelemetryDuration getMountTime() const; + public facebook::react::TelemetryDuration getTextMeasureTime() const; + public int getLastRevisionNumber() const; + public int getNumberOfMutations() const; + public int getNumberOfTextMeasurements() const; + public int getNumberOfTransactions() const; + public static constexpr size_t kMaxNumberOfRecordedCommitTelemetries; + public std::vector getRecentTransactionTelemetries() const; + public void incorporate(const facebook::react::TransactionTelemetry& telemetry, int numberOfMutations); +} + +class facebook::react::SwitchComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public SwitchComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); + public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; +} + +class facebook::react::SwitchShadowNode : public facebook::react::ConcreteViewShadowNode { + public SwitchShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public SwitchShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; +} + +class facebook::react::TaskPriorityComparer { + public bool operator()(const std::shared_ptr& lhs, const std::shared_ptr& rhs); +} + +class facebook::react::TelemetryController { + public bool pullTransaction(const facebook::react::MountingTransactionCallback& willMount, const facebook::react::MountingTransactionCallback& doMount, const facebook::react::MountingTransactionCallback& didMount) const; +} + +class facebook::react::TextAttributes : public facebook::react::DebugStringConvertible { + public Float fontSize; + public Float fontSizeMultiplier; + public Float letterSpacing; + public Float lineHeight; + public Float maxFontSizeMultiplier; + public Float opacity; + public Float textShadowRadius; + public bool operator==(const facebook::react::TextAttributes& rhs) const; + public facebook::react::SharedColor backgroundColor; + public facebook::react::SharedColor foregroundColor; + public facebook::react::SharedColor textDecorationColor; + public facebook::react::SharedColor textShadowColor; + public static facebook::react::TextAttributes defaultTextAttributes(); + public std::optional allowFontScaling; + public std::optional isHighlighted; + public std::optional isPressable; + public std::optional accessibilityRole; + public std::optional dynamicTypeRamp; + public std::optional fontStyle; + public std::optional fontVariant; + public std::optional fontWeight; + public std::optional layoutDirection; + public std::optional lineBreakMode; + public std::optional lineBreakStrategy; + public std::optional role; + public std::optional textShadowOffset; + public std::optional alignment; + public std::optional textDecorationLineType; + public std::optional textDecorationStyle; + public std::optional textTransform; + public std::optional baseWritingDirection; + public std::string fontFamily; + public void apply(facebook::react::TextAttributes textAttributes); +} + +class facebook::react::TextInputEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onBlur(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onContentSizeChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onEndEditing(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onFocus(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onKeyPress(const facebook::react::TextInputEventEmitter::KeyPressMetrics& keyPressMetrics) const; + public void onScroll(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onSelectionChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onSubmitEditing(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; +} + +struct facebook::react::TextInputEventEmitter::KeyPressMetrics { + public int eventCount; + public std::string text; +} + +struct facebook::react::TextInputEventEmitter::Metrics { + public Float zoomScale; + public facebook::react::AttributedString::Range selectionRange; + public facebook::react::EdgeInsets contentInset; + public facebook::react::Point contentOffset; + public facebook::react::Size containerSize; + public facebook::react::Size contentSize; + public facebook::react::Size layoutMeasurement; + public facebook::react::Tag target; + public int eventCount; + public std::string text; +} + +class facebook::react::TextInputState { + public TextInputState() = default; + public TextInputState(facebook::react::AttributedStringBox attributedStringBox, facebook::react::AttributedString reactTreeAttributedString, facebook::react::ParagraphAttributes paragraphAttributes, int64_t mostRecentEventCount); + public facebook::react::AttributedString reactTreeAttributedString; + public facebook::react::AttributedStringBox attributedStringBox; + public facebook::react::ParagraphAttributes paragraphAttributes; + public int64_t mostRecentEventCount; +} + +class facebook::react::TextMeasureCacheKey { + public facebook::react::AttributedString attributedString; + public facebook::react::LayoutConstraints layoutConstraints; + public facebook::react::ParagraphAttributes paragraphAttributes; +} + +class facebook::react::TextMeasurement { + public facebook::react::Size size; + public facebook::react::TextMeasurement::Attachments attachments; + public using Attachments = std::vector; +} + +class facebook::react::TextMeasurement::Attachment { + public bool isClipped; + public facebook::react::Rect frame; +} + +class facebook::react::TextProps : public facebook::react::Props, public facebook::react::BaseTextProps { + public TextProps() = default; + public TextProps(const facebook::react::PropsParserContext& context, const facebook::react::TextProps& sourceProps, const facebook::react::RawProps& rawProps); + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::TextShadowNode : public facebook::react::ConcreteShadowNode, public facebook::react::BaseTextShadowNode { + public static facebook::react::ShadowNodeTraits BaseTraits(); +} + +class facebook::react::TimerManager { + public TimerManager(const facebook::react::TimerManager&) = delete; + public TimerManager(facebook::react::TimerManager&&) = delete; + public TimerManager(std::unique_ptr platformTimerRegistry) noexcept; + public facebook::react::TimerManager& operator=(const facebook::react::TimerManager&) = delete; + public facebook::react::TimerManager& operator=(facebook::react::TimerManager&&) = delete; + public void attachGlobals(facebook::jsi::Runtime& runtime); + public void callTimer(facebook::react::TimerHandle handle); + public void quit(); + public void setRuntimeExecutor(facebook::react::RuntimeExecutor runtimeExecutor) noexcept; + public ~TimerManager() noexcept; +} + +class facebook::react::TouchEventEmitter : public facebook::react::EventEmitter { + public TouchEventEmitter(facebook::react::SharedEventTarget eventTarget, facebook::react::EventDispatcher::Weak eventDispatcher); + public void onClick(facebook::react::PointerEvent event) const; + public void onGotPointerCapture(facebook::react::PointerEvent event) const; + public void onLostPointerCapture(facebook::react::PointerEvent event) const; + public void onPointerCancel(facebook::react::PointerEvent event) const; + public void onPointerDown(facebook::react::PointerEvent event) const; + public void onPointerEnter(facebook::react::PointerEvent event) const; + public void onPointerLeave(facebook::react::PointerEvent event) const; + public void onPointerMove(facebook::react::PointerEvent event) const; + public void onPointerOut(facebook::react::PointerEvent event) const; + public void onPointerOver(facebook::react::PointerEvent event) const; + public void onPointerUp(facebook::react::PointerEvent event) const; + public void onTouchCancel(facebook::react::TouchEvent event) const; + public void onTouchEnd(facebook::react::TouchEvent event) const; + public void onTouchMove(facebook::react::TouchEvent event) const; + public void onTouchStart(facebook::react::TouchEvent event) const; +} + +class facebook::react::TrackingAnimatedNode : public facebook::react::AnimatedNode { + public TrackingAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::TransactionTelemetry { + public TransactionTelemetry(); + public TransactionTelemetry(std::function now); + public facebook::react::TelemetryDuration getTextMeasureTime() const; + public facebook::react::TelemetryTimePoint getCommitEndTime() const; + public facebook::react::TelemetryTimePoint getCommitStartTime() const; + public facebook::react::TelemetryTimePoint getDiffEndTime() const; + public facebook::react::TelemetryTimePoint getDiffStartTime() const; + public facebook::react::TelemetryTimePoint getLayoutEndTime() const; + public facebook::react::TelemetryTimePoint getLayoutStartTime() const; + public facebook::react::TelemetryTimePoint getMountEndTime() const; + public facebook::react::TelemetryTimePoint getMountStartTime() const; + public int getAffectedLayoutNodesCount() const; + public int getNumberOfTextMeasurements() const; + public int getRevisionNumber() const; + public static facebook::react::TransactionTelemetry* threadLocalTelemetry(); + public void didCommit(); + public void didDiff(); + public void didLayout(); + public void didLayout(int affectedLayoutNodesCount); + public void didMeasureText(); + public void didMount(); + public void setAsThreadLocal(); + public void setRevisionNumber(int revisionNumber); + public void unsetAsThreadLocal(); + public void willCommit(); + public void willDiff(); + public void willLayout(); + public void willMeasureText(); + public void willMount(); +} + +class facebook::react::TransformAnimatedNode : public facebook::react::AnimatedNode { + public TransformAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public void collectViewUpdates(folly::dynamic& props); +} + +class facebook::react::TurboModule : public facebook::jsi::HostObject { + protected const std::string name_; + protected std::shared_ptr jsInvoker_; + protected std::unordered_map methodMap_; + protected std::unordered_map> eventEmitterMap_; + protected using ArgFactory = std::function& args)>; + protected virtual facebook::jsi::Value create(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& propName); + protected void emitDeviceEvent(const std::string& eventName, facebook::react::TurboModule::ArgFactory&& argFactory = nullptr); + protected void emitDeviceEvent(facebook::jsi::Runtime&, const std::string& eventName, facebook::react::TurboModule::ArgFactory&& argFactory = nullptr); + public TurboModule(std::string name, std::shared_ptr jsInvoker); + public virtual facebook::jsi::Value get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& propName) override; + public virtual std::vector getPropertyNames(facebook::jsi::Runtime& runtime) override; +} + +struct facebook::react::TurboModule::MethodMetadata { + public facebook::jsi::Value(*invoker)(facebook::jsi::Runtime &rt, facebook::react::TurboModule &turboModule, const facebook::jsi::Value *args, size_t count); + public size_t argCount; +} + +class facebook::react::TurboModuleBinding { + public static void install(facebook::jsi::Runtime& runtime, TurboModuleProviderFunctionType&& moduleProvider, TurboModuleProviderFunctionType&& legacyModuleProvider = nullptr, std::shared_ptr longLivedObjectCollection = nullptr); + public static void install(facebook::jsi::Runtime& runtime, facebook::react::TurboModuleProviderFunctionTypeWithRuntime&& moduleProvider, facebook::react::TurboModuleProviderFunctionTypeWithRuntime&& legacyModuleProvider = nullptr, std::shared_ptr longLivedObjectCollection = nullptr); + public ~TurboModuleBinding(); +} + +class facebook::react::TurboModuleWithJSIBindings { + public static void installJSIBindings(const std::shared_ptr& cxxModule, facebook::jsi::Runtime& runtime); + public virtual ~TurboModuleWithJSIBindings() = default; +} + +class facebook::react::UIManager : public facebook::react::ShadowTreeDelegate { + public UIManager(const facebook::react::RuntimeExecutor& runtimeExecutor, std::shared_ptr contextContainer); + public const facebook::react::ShadowTreeRegistry& getShadowTreeRegistry() const; + public facebook::react::LayoutMetrics getRelativeLayoutMetrics(const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode* ancestorShadowNode, facebook::react::LayoutableShadowNode::LayoutInspectingPolicy policy) const; + public facebook::react::ShadowTree::Unique stopSurface(facebook::react::SurfaceId surfaceId) const; + public facebook::react::ShadowTreeRevisionConsistencyManager* getShadowTreeRevisionConsistencyManager(); + public facebook::react::ShadowTreeRevisionProvider* getShadowTreeRevisionProvider(); + public facebook::react::UIManagerDelegate* getDelegate(); + public facebook::react::UIManagerViewTransitionDelegate* getViewTransitionDelegate() const; + public std::shared_ptr getContextContainer() const; + public std::shared_ptr findNodeAtPoint(const std::shared_ptr& shadowNode, facebook::react::Point point) const; + public std::shared_ptr findShadowNodeByTag_DEPRECATED(facebook::react::Tag tag) const; + public std::shared_ptr getNewestCloneOfShadowNode(const facebook::react::ShadowNode& shadowNode) const; + public std::shared_ptr cloneNode(const facebook::react::ShadowNode& shadowNode, const std::shared_ptr>>& children, facebook::react::RawProps rawProps) const; + public std::shared_ptr createNode(facebook::react::Tag tag, const std::string& componentName, facebook::react::SurfaceId surfaceId, facebook::react::RawProps props, facebook::react::InstanceHandle::Shared instanceHandle) const; + public std::weak_ptr unstable_getAnimationBackend(); + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTree::CommitOptions& commitOptions) const override; + public virtual void shadowTreeDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) const override; + public virtual void shadowTreeDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) const override; + public virtual void shadowTreeDidPromoteReactRevision(const facebook::react::ShadowTree& shadowTree) const override; + public void addEventListener(std::shared_ptr listener); + public void animationTick() const; + public void appendChild(const std::shared_ptr& parentShadowNode, const std::shared_ptr& childShadowNode) const; + public void completeSurface(facebook::react::SurfaceId surfaceId, const std::shared_ptr>>& rootChildren, facebook::react::ShadowTree::CommitOptions commitOptions); + public void dispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) const; + public void registerCommitHook(facebook::react::UIManagerCommitHook& commitHook); + public void registerMountHook(facebook::react::UIManagerMountHook& mountHook); + public void removeEventListener(const std::shared_ptr& listener); + public void reportMount(facebook::react::SurfaceId surfaceId) const; + public void sendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType); + public void setAnimationDelegate(facebook::react::UIManagerAnimationDelegate* delegate); + public void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry); + public void setDelegate(facebook::react::UIManagerDelegate* delegate); + public void setIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) const; + public void setNativeAnimatedDelegate(std::weak_ptr delegate); + public void setNativeProps_DEPRECATED(const std::shared_ptr& shadowNode, facebook::react::RawProps rawProps) const; + public void setOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback); + public void setSurfaceProps(facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& props, facebook::react::DisplayMode displayMode) const noexcept; + public void setViewTransitionDelegate(facebook::react::UIManagerViewTransitionDelegate* delegate); + public void startEmptySurface(facebook::react::ShadowTree::Unique&& shadowTree) const noexcept; + public void startSurface(facebook::react::ShadowTree::Unique&& shadowTree, const std::string& moduleName, const folly::dynamic& props, facebook::react::DisplayMode displayMode) const noexcept; + public void stopSurfaceForAnimationDelegate(facebook::react::SurfaceId surfaceId) const; + public void synchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props); + public void unregisterCommitHook(facebook::react::UIManagerCommitHook& commitHook); + public void unregisterMountHook(facebook::react::UIManagerMountHook& mountHook); + public void unstable_setAnimationBackend(std::shared_ptr animationBackend); + public void updateShadowTree(std::unordered_map&& tagToProps); + public void updateState(const facebook::react::StateUpdate& stateUpdate) const; + public void visitBinding(const std::function& callback, facebook::jsi::Runtime& runtime) const; + public ~UIManager() override; +} + +class facebook::react::UIManagerAnimationBackend { + public using Callback = std::function; + public virtual facebook::react::CallbackId start(const facebook::react::UIManagerAnimationBackend::Callback& callback) = 0; + public virtual void clearRegistry(facebook::react::SurfaceId surfaceId) = 0; + public virtual void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) = 0; + public virtual void registerJSInvoker(std::shared_ptr jsInvoker) = 0; + public virtual void stop(facebook::react::CallbackId callbackId) = 0; + public virtual void trigger() = 0; + public virtual ~UIManagerAnimationBackend() = default; +} + +class facebook::react::UIManagerAnimationDelegate { + public virtual bool shouldAnimateFrame() const = 0; + public virtual void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry) = 0; + public virtual void stopSurface(facebook::react::SurfaceId surfaceId) = 0; + public virtual void uiManagerDidConfigureNextLayoutAnimation(facebook::jsi::Runtime& runtime, const facebook::react::RawValue& config, const facebook::jsi::Value& successCallback, const facebook::jsi::Value& failureCallback) const = 0; + public virtual ~UIManagerAnimationDelegate() = default; +} + +class facebook::react::UIManagerBinding : public facebook::jsi::HostObject { + public UIManagerBinding(std::shared_ptr uiManager); + public facebook::react::PointerEventsProcessor& getPointerEventsProcessor(); + public facebook::react::UIManager& getUIManager(); + public static std::shared_ptr getBinding(facebook::jsi::Runtime& runtime); + public static void createAndInstallIfNeeded(facebook::jsi::Runtime& runtime, const std::shared_ptr& uiManager); + public virtual facebook::jsi::Value get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) override; + public void dispatchEvent(facebook::jsi::Runtime& runtime, facebook::react::EventTarget* eventTarget, const std::string& type, facebook::react::ReactEventPriority priority, const facebook::react::EventPayload& payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void invalidate() const; + public ~UIManagerBinding() override; +} + +class facebook::react::UIManagerCommitHook { + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions&) noexcept; + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree&, const facebook::react::RootShadowNode::Shared&, const facebook::react::RootShadowNode::Unshared& newRootShadowNode) noexcept; + public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept = 0; + public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept = 0; + public virtual ~UIManagerCommitHook() noexcept = default; +} + +class facebook::react::UIManagerDelegate { + public using OnSurfaceStartCallback = std::function; + public virtual void uiManagerDidCreateShadowNode(const facebook::react::ShadowNode& shadowNode) = 0; + public virtual void uiManagerDidDispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) = 0; + public virtual void uiManagerDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) = 0; + public virtual void uiManagerDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) = 0; + public virtual void uiManagerDidPromoteReactRevision(const facebook::react::ShadowTree& shadowTree) = 0; + public virtual void uiManagerDidSendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType) = 0; + public virtual void uiManagerDidSetIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) = 0; + public virtual void uiManagerDidStartSurface(const facebook::react::ShadowTree& shadowTree) = 0; + public virtual void uiManagerDidUpdateShadowTree(const std::unordered_map& tagToProps) = 0; + public virtual void uiManagerShouldAddEventListener(std::shared_ptr listener) = 0; + public virtual void uiManagerShouldRemoveEventListener(const std::shared_ptr& listener) = 0; + public virtual void uiManagerShouldSetOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback) = 0; + public virtual void uiManagerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) = 0; + public virtual ~UIManagerDelegate() noexcept = default; +} + +class facebook::react::UIManagerMountHook { + public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp mountTime) noexcept = 0; + public virtual void shadowTreeDidUnmount(facebook::react::SurfaceId, facebook::react::HighResTimeStamp) noexcept; + public virtual ~UIManagerMountHook() noexcept = default; +} + +class facebook::react::UIManagerNativeAnimatedDelegate { + public virtual void runAnimationFrame() = 0; + public virtual ~UIManagerNativeAnimatedDelegate() = default; +} + +class facebook::react::UIManagerNativeAnimatedDelegateImpl : public facebook::react::UIManagerNativeAnimatedDelegate { + public UIManagerNativeAnimatedDelegateImpl(std::weak_ptr manager); + public virtual void runAnimationFrame() override; +} + +class facebook::react::UIManagerViewTransitionDelegate { + public virtual std::optional getViewTransitionInstance(const std::string& name, const std::string& pseudo); + public virtual void applyViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name, const std::string& className); + public virtual void cancelViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name); + public virtual void restoreViewTransitionName(const facebook::react::ShadowNode& shadowNode); + public virtual void startViewTransition(std::function mutationCallback, std::function onReadyCallback, std::function onCompleteCallback); + public virtual void startViewTransitionEnd(); + public virtual ~UIManagerViewTransitionDelegate() = default; +} + +struct facebook::react::UIManagerViewTransitionDelegate::ViewTransitionInstance { + public Float height; + public Float width; + public Float x; + public Float y; + public facebook::react::Tag nativeTag; +} + +class facebook::react::UnimplementedViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public UnimplementedViewComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public virtual facebook::react::ComponentHandle getComponentHandle() const override; + public virtual facebook::react::ComponentName getComponentName() const override; + public virtual facebook::react::Props::Shared cloneProps(const facebook::react::PropsParserContext& context, const facebook::react::Props::Shared& props, facebook::react::RawProps rawProps) const override; +} + +class facebook::react::UnimplementedViewProps : public facebook::react::HostPlatformViewProps { + public facebook::react::ComponentName getComponentName() const; + public void setComponentName(facebook::react::ComponentName componentName); +} + +class facebook::react::UnstableLegacyViewManagerAutomaticComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public UnstableLegacyViewManagerAutomaticComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public UnstableLegacyViewManagerAutomaticComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, std::string legacyComponentName); + public virtual facebook::react::ComponentHandle getComponentHandle() const override; + public virtual facebook::react::ComponentName getComponentName() const override; +} + +class facebook::react::ValueAnimatedNode : public facebook::react::AnimatedNode { + protected bool isColorValue_; + public ValueAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public bool getIsColorValue() const noexcept; + public bool setOffset(double offset) noexcept; + public bool setRawValue(double value) noexcept; + public double getOffset() const noexcept; + public double getRawValue() const noexcept; + public double getValue() const noexcept; + public void extractOffset() noexcept; + public void flattenOffset() noexcept; + public void setValueListener(facebook::react::ValueListenerCallback&& callback) noexcept; +} + +class facebook::react::ValueFactoryEventPayload : public facebook::react::EventPayload { + public ValueFactoryEventPayload(facebook::react::ValueFactory factory); + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; + public virtual facebook::react::EventPayloadType getType() const override; +} + +class facebook::react::ViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public ViewComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); +} + +class facebook::react::ViewShadowNode : public facebook::react::ConcreteViewShadowNode { + public ViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); +} + +class facebook::react::ViewShadowNodeProps : public facebook::react::HostPlatformViewProps { + public ViewShadowNodeProps() = default; + public ViewShadowNodeProps(const facebook::react::PropsParserContext& context, const facebook::react::ViewShadowNodeProps& sourceProps, const facebook::react::RawProps& rawProps); +} + +class facebook::react::ViewTransitionModule : public facebook::react::UIManagerViewTransitionDelegate { + public virtual std::optional getViewTransitionInstance(const std::string& name, const std::string& pseudo) override; + public virtual void applyViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name, const std::string& className) override; + public virtual void cancelViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name) override; + public virtual void restoreViewTransitionName(const facebook::react::ShadowNode& shadowNode) override; + public virtual void startViewTransition(std::function mutationCallback, std::function onReadyCallback, std::function onCompleteCallback) override; + public virtual void startViewTransitionEnd() override; + public void setUIManager(facebook::react::UIManager* uiManager); + public ~ViewTransitionModule() override = default; +} + +struct facebook::react::ViewTransitionModule::AnimationKeyFrameView { + public facebook::react::SurfaceId surfaceId; + public facebook::react::Tag tag; + public facebook::react::ViewTransitionModule::AnimationKeyFrameViewLayoutMetrics layoutMetrics; +} + +struct facebook::react::ViewTransitionModule::AnimationKeyFrameViewLayoutMetrics { + public Float pointScaleFactor; + public facebook::react::Point originFromRoot; + public facebook::react::Size size; +} + +class facebook::react::VirtualViewShadowNode : public facebook::react::ConcreteViewShadowNode { + public VirtualViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public VirtualViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); +} + +class facebook::react::WeakFamilyRegistry { + public facebook::react::WeakFamilyRegistry::WeakFamilies weakFamiliesForSurfaceId(facebook::react::SurfaceId surfaceId) const; + public using WeakFamilies = std::vector; + public void add(const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily) const; + public void removeFamiliesWithSurfaceId(facebook::react::SurfaceId surfaceId) const; +} + +class facebook::react::YogaLayoutableShadowNode : public facebook::react::LayoutableShadowNode { + protected facebook::yoga::Config yogaConfig_; + protected mutable facebook::yoga::Node yogaNode_; + protected virtual bool shouldNewRevisionDirtyMeasurement(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) const; + public YogaLayoutableShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public YogaLayoutableShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public facebook::react::Rect getContentBounds() const; + public using ListOfShared = std::vector; + public using Shared = std::shared_ptr; + public virtual bool getIsLayoutClean() const override; + public virtual void appendChild(const std::shared_ptr& child) override; + public virtual void completeClone(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) override; + public virtual void dirtyLayout() override; + public virtual void layout(facebook::react::LayoutContext layoutContext) override; + public virtual void layoutTree(facebook::react::LayoutContext layoutContext, facebook::react::LayoutConstraints layoutConstraints) override; + public virtual void replaceChild(const facebook::react::ShadowNode& oldChild, const std::shared_ptr& newChild, size_t suggestedIndex = SIZE_MAX) override; + public void enableMeasurement(); + public void setPadding(facebook::react::RectangleEdges padding) const; + public void setPositionType(YGPositionType positionType) const; + public void setSize(facebook::react::Size size) const; + public void updateYogaChildren(); + public void updateYogaProps(); +} + +class facebook::react::YogaStylableProps : public facebook::react::Props { + public YogaStylableProps() = default; + public YogaStylableProps(const facebook::react::PropsParserContext& context, const facebook::react::YogaStylableProps& sourceProps, const facebook::react::RawProps& rawProps, const std::function& filterObjectKeys = nullptr); + public facebook::yoga::Style yogaStyle; + public facebook::yoga::Style::Length insetBlockEnd; + public facebook::yoga::Style::Length insetBlockStart; + public facebook::yoga::Style::Length insetInlineEnd; + public facebook::yoga::Style::Length insetInlineStart; + public facebook::yoga::Style::Length marginBlock; + public facebook::yoga::Style::Length marginBlockEnd; + public facebook::yoga::Style::Length marginBlockStart; + public facebook::yoga::Style::Length marginInline; + public facebook::yoga::Style::Length marginInlineEnd; + public facebook::yoga::Style::Length marginInlineStart; + public facebook::yoga::Style::Length paddingBlock; + public facebook::yoga::Style::Length paddingBlockEnd; + public facebook::yoga::Style::Length paddingBlockStart; + public facebook::yoga::Style::Length paddingInline; + public facebook::yoga::Style::Length paddingInlineEnd; + public facebook::yoga::Style::Length paddingInlineStart; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +enum facebook::react::AccessibilityLiveRegion : uint8_t { + Assertive, + None, + Polite, +} + +enum facebook::react::AccessibilityRole : uint8_t { + Adjustable, + Alert, + Button, + Checkbox, + Combobox, + Drawerlayout, + Dropdownlist, + Grid, + Header, + Horizontalscrollview, + Iconmenu, + Image, + Imagebutton, + Keyboardkey, + Link, + List, + Menu, + Menubar, + Menuitem, + None, + Pager, + Progressbar, + Radio, + Radiogroup, + Scrollbar, + Scrollview, + Search, + Slidingdrawer, + Spinbutton, + Summary, + Switch, + Tab, + Tabbar, + Tablist, + Text, + Timer, + Togglebutton, + Toolbar, + Viewgroup, + Webview, +} + +enum facebook::react::AccessibilityTraits : uint32_t { + Adjustable, + AllowsDirectInteraction, + Button, + CausesPageTurn, + Header, + Image, + KeyboardKey, + Link, + None, + NotEnabled, + PlaysSound, + SearchField, + Selected, + StartsMediaSession, + StaticText, + SummaryElement, + Switch, + TabBar, + UpdatesFrequently, +} + +enum facebook::react::AnimatedNodeType { + Addition, + Color, + Diffclamp, + Division, + Interpolation, + Modulus, + Multiplication, + Object, + Props, + Round, + Style, + Subtraction, + Tracking, + Transform, + Value, +} + +enum facebook::react::AnimationConfigurationType { + Create, + Delete, + Update, +} + +enum facebook::react::AnimationDriverType { + Decay, + Frames, + Spring, +} + +enum facebook::react::AnimationProperty { + NotApplicable, + Opacity, + ScaleX, + ScaleXY, + ScaleY, +} + +enum facebook::react::AnimationType { + EaseIn, + EaseInEaseOut, + EaseOut, + Keyboard, + Linear, + None, + Spring, +} + +enum facebook::react::BackfaceVisibility : uint8_t { + Auto, + Hidden, + Visible, +} + +enum facebook::react::BackgroundRepeatStyle { + NoRepeat, + Repeat, + Round, + Space, +} + +enum facebook::react::BackgroundSizeKeyword { + Contain, + Cover, +} + +enum facebook::react::BlendMode { + Color, + ColorBurn, + ColorDodge, + Darken, + Difference, + Exclusion, + HardLight, + Hue, + Lighten, + Luminosity, + Multiply, + Normal, + Overlay, + Saturation, + Screen, + SoftLight, +} + +enum facebook::react::BorderCurve : uint8_t { + Circular, + Continuous, +} + +enum facebook::react::BorderStyle : uint8_t { + Dashed, + Dotted, + Solid, +} + +enum facebook::react::CSSAngleUnit : uint8_t { + Deg, + Grad, + Rad, + Turn, +} + +enum facebook::react::CSSDelimiter { + Comma, + CommaOrWhitespace, + None, + OptionalWhitespace, + Solidus, + SolidusOrWhitespace, + Whitespace, +} + +enum facebook::react::CSSFontVariant : std::underlying_type_t { + CommonLigatures, + Contextual, + DiscretionaryLigatures, + HistoricalLigatures, + LiningNums, + NoCommonLigatures, + NoContextual, + NoDiscretionaryLigatures, + NoHistoricalLigatures, + OldstyleNums, + ProportionalNums, + SmallCaps, + StylisticEight, + StylisticEighteen, + StylisticEleven, + StylisticFifteen, + StylisticFive, + StylisticFour, + StylisticFourteen, + StylisticNine, + StylisticNineteen, + StylisticOne, + StylisticSeven, + StylisticSeventeen, + StylisticSix, + StylisticSixteen, + StylisticTen, + StylisticThirteen, + StylisticThree, + StylisticTwelve, + StylisticTwenty, + StylisticTwo, + TabularNums, +} + +enum facebook::react::CSSGradientAtKeyword : std::underlying_type_t { + At, +} + +enum facebook::react::CSSGradientDirectionKeyword : std::underlying_type_t { + Bottom, + Left, + Right, + Top, +} + +enum facebook::react::CSSGradientPositionKeyword : std::underlying_type_t { + Bottom, + Center, + Left, + Right, + Top, +} + +enum facebook::react::CSSGradientToKeyword : std::underlying_type_t { + To, +} + +enum facebook::react::CSSInsetShadowKeyword : std::underlying_type_t { + Inset, +} + +enum facebook::react::CSSKeyword : uint8_t { + Absolute, + At, + Auto, + Baseline, + Block, + Bottom, + Center, + Clip, + Column, + ColumnReverse, + CommonLigatures, + Content, + Contents, + Contextual, + Dashed, + DiscretionaryLigatures, + Dotted, + Double, + End, + Fixed, + Flex, + FlexEnd, + FlexStart, + Grid, + Groove, + Hidden, + HistoricalLigatures, + Inherit, + Initial, + Inline, + InlineBlock, + InlineFlex, + InlineGrid, + Inset, + Left, + LiningNums, + Ltr, + MaxContent, + Medium, + MinContent, + NoCommonLigatures, + NoContextual, + NoDiscretionaryLigatures, + NoHistoricalLigatures, + NoWrap, + None, + Normal, + OldstyleNums, + Outset, + ProportionalNums, + Relative, + Ridge, + Right, + Row, + RowReverse, + Rtl, + Scroll, + SmallCaps, + Solid, + SpaceAround, + SpaceBetween, + SpaceEvenly, + Start, + Static, + Sticky, + Stretch, + StylisticEight, + StylisticEighteen, + StylisticEleven, + StylisticFifteen, + StylisticFive, + StylisticFour, + StylisticFourteen, + StylisticNine, + StylisticNineteen, + StylisticOne, + StylisticSeven, + StylisticSeventeen, + StylisticSix, + StylisticSixteen, + StylisticTen, + StylisticThirteen, + StylisticThree, + StylisticTwelve, + StylisticTwenty, + StylisticTwo, + TabularNums, + Thick, + Thin, + To, + Top, + Unset, + Visible, + Wrap, + WrapReverse, +} + +enum facebook::react::CSSLengthUnit : uint8_t { + Cap, + Ch, + Cm, + Dvb, + Dvh, + Dvi, + Dvmax, + Dvmin, + Dvw, + Em, + Ex, + Ic, + In, + Lh, + Lvb, + Lvh, + Lvi, + Lvmax, + Lvmin, + Lvw, + Mm, + Pc, + Pt, + Px, + Q, + Rcap, + Rch, + Rem, + Rex, + Ric, + Rlh, + Svb, + Svh, + Svi, + Svmax, + Svmin, + Svw, + Vb, + Vh, + Vi, + Vmax, + Vmin, + Vw, +} + +enum facebook::react::CSSLinearGradientDirectionKeyword : uint8_t { + ToBottomLeft, + ToBottomRight, + ToTopLeft, + ToTopRight, +} + +enum facebook::react::CSSRadialGradientShape : uint8_t { + Circle, + Ellipse, +} + +enum facebook::react::CSSRadialGradientSizeKeyword : uint8_t { + ClosestCorner, + ClosestSide, + FarthestCorner, + FarthestSide, +} + +enum facebook::react::CSSTokenType { + CloseCurly, + CloseParen, + CloseSquare, + Comma, + Delim, + Dimension, + EndOfFile, + Function, + Hash, + Ident, + Number, + OpenCurly, + OpenParen, + OpenSquare, + Percentage, + WhiteSpace, +} + +enum facebook::react::CSSTransformOriginKeyword : std::underlying_type_t { + Bottom, + Center, + Left, + Right, + Top, +} + +enum facebook::react::CSSWideKeyword : std::underlying_type_t { + Inherit, + Initial, + Unset, +} + +enum facebook::react::ColorSpace { + DisplayP3, + sRGB, +} + +enum facebook::react::ContentInsetAdjustmentBehavior { + Always, + Automatic, + Never, + ScrollableAxes, +} + +enum facebook::react::Cursor : uint8_t { + Alias, + AllScroll, + Auto, + Cell, + ColResize, + ContextMenu, + Copy, + Crosshair, + Default, + EResize, + EWResize, + Grab, + Grabbing, + Help, + Move, + NEResize, + NESWResize, + NResize, + NSResize, + NWResize, + NWSEResize, + NoDrop, + None, + NotAllowed, + Pointer, + Progress, + RowResize, + SEResize, + SResize, + SWResize, + Text, + Url, + WResize, + Wait, + ZoomIn, + ZoomOut, +} + +enum facebook::react::DisplayMode { + Hidden, + Suspended, + Visible, +} + +enum facebook::react::DisplayType { + Contents, + Flex, + Grid, + None, +} + +enum facebook::react::DynamicTypeRamp { + Body, + Callout, + Caption1, + Caption2, + Footnote, + Headline, + LargeTitle, + Subheadline, + Title1, + Title2, + Title3, +} + +enum facebook::react::EllipsizeMode { + Clip, + Head, + Middle, + Tail, +} + +enum facebook::react::EventPayloadType { + PointerEvent, + ScrollEvent, + ValueFactory, +} + +enum facebook::react::FilterType { + Blur, + Brightness, + Contrast, + DropShadow, + Grayscale, + HueRotate, + Invert, + Opacity, + Saturate, + Sepia, +} + +enum facebook::react::FontStyle { + Italic, + Normal, + Oblique, +} + +enum facebook::react::FontVariant : int { + Default, + LiningNums, + OldstyleNums, + ProportionalNums, + SmallCaps, + StylisticEight, + StylisticEighteen, + StylisticEleven, + StylisticFifteen, + StylisticFive, + StylisticFour, + StylisticFourteen, + StylisticNine, + StylisticNineteen, + StylisticOne, + StylisticSeven, + StylisticSeventeen, + StylisticSix, + StylisticSixteen, + StylisticTen, + StylisticThirteen, + StylisticThree, + StylisticTwelve, + StylisticTwenty, + StylisticTwo, + TabularNums, +} + +enum facebook::react::FontWeight : int { + Black, + Bold, + Demibold, + Heavy, + Light, + Medium, + Regular, + Semibold, + Thin, + UltraLight, + Weight100, + Weight200, + Weight300, + Weight400, + Weight500, + Weight600, + Weight700, + Weight800, + Weight900, +} + +enum facebook::react::GradientDirectionType { + Angle, + Keyword, +} + +enum facebook::react::GradientKeyword : uint8_t { + ToBottomLeft, + ToBottomRight, + ToTopLeft, + ToTopRight, +} + +enum facebook::react::HyphenationFrequency { + Full, + None, + Normal, +} + +enum facebook::react::ImageResizeMode : int8_t { + Center, + Contain, + Cover, + None, + Repeat, + Stretch, +} + +enum facebook::react::ImportantForAccessibility : uint8_t { + Auto, + No, + NoHideDescendants, + Yes, +} + +enum facebook::react::Isolation { + Auto, + Isolate, +} + +enum facebook::react::LayoutConformance : uint8_t { + Compatibility, + Strict, +} + +enum facebook::react::LayoutDirection { + LeftToRight, + RightToLeft, + Undefined, +} + +enum facebook::react::LineBreakMode { + Char, + Clip, + Head, + Middle, + Tail, + Word, +} + +enum facebook::react::LineBreakStrategy { + HangulWordPriority, + None, + PushOut, + Standard, +} + +enum facebook::react::NullValueStrategy { + Ignore, + Override, +} + +enum facebook::react::OutlineStyle : uint8_t { + Dashed, + Dotted, + Solid, +} + +enum facebook::react::PerformanceEntryType { + EVENT, + LONGTASK, + MARK, + MEASURE, + RESOURCE, + _NEXT, +} + +enum facebook::react::PointerEventsMode : uint8_t { + Auto, + BoxNone, + BoxOnly, + None, +} + +enum facebook::react::PositionType { + Absolute, + Relative, + Static, +} + +enum facebook::react::PropName { + ALIGN_CONTENT, + ALIGN_ITEMS, + ALIGN_SELF, + ASPECT_RATIO, + BACKFACE_VISIBILITY, + BACKGROUND_COLOR, + BORDER_COLOR, + BORDER_CURVES, + BORDER_RADII, + BORDER_STYLES, + BORDER_WIDTH, + BOX_SHADOW, + BOX_SIZING, + COLUMN_GAP, + CURSOR, + DIRECTION, + DISPLAY, + FILTER, + FLEX, + FLEX_BASIS, + FLEX_DIRECTION, + FLEX_GROW, + FLEX_SHRINK, + FLEX_WRAP, + HEIGHT, + ISOLATION, + JUSTIFY_CONTENT, + MARGIN, + MAX_HEIGHT, + MAX_WIDTH, + MIN_HEIGHT, + MIN_WIDTH, + MIX_BLEND_MODE, + OPACITY, + OUTLINE_COLOR, + OUTLINE_OFFSET, + OUTLINE_STYLE, + OUTLINE_WIDTH, + PADDING, + POINTER_EVENTS, + POSITION, + POSITION_TYPE, + ROW_GAP, + SHADOW_COLOR, + SHADOW_OFFSET, + SHADOW_OPACITY, + SHADOW_RADIUS, + STYLE_OVERFLOW, + TRANSFORM, + TRANSFORM_ORIGIN, + WIDTH, + Z_INDEX, +} + +enum facebook::react::RadialGradientShape { + Circle, + Ellipse, +} + +enum facebook::react::ReactEventPriority { + Continuous, + Default, + Discrete, + Idle, +} + +enum facebook::react::Role : uint8_t { + Alert, + Alertdialog, + Application, + Article, + Banner, + Button, + Cell, + Checkbox, + Columnheader, + Combobox, + Complementary, + Contentinfo, + Definition, + Dialog, + Directory, + Document, + Feed, + Figure, + Form, + Grid, + Group, + Heading, + Img, + Link, + List, + Listitem, + Log, + Main, + Marquee, + Math, + Menu, + Menubar, + Menuitem, + Meter, + Navigation, + None, + Note, + Option, + Presentation, + Progressbar, + Radio, + Radiogroup, + Region, + Row, + Rowgroup, + Rowheader, + Scrollbar, + Searchbox, + Separator, + Slider, + Spinbutton, + Status, + Summary, + Switch, + Tab, + Table, + Tablist, + Tabpanel, + Term, + Timer, + Toolbar, + Tooltip, + Tree, + Treegrid, + Treeitem, +} + +enum facebook::react::SchedulerPriority : int { + IdlePriority, + ImmediatePriority, + LowPriority, + NormalPriority, + UserBlockingPriority, +} + +enum facebook::react::ScriptTag { + RAMBundle, + String, +} + +enum facebook::react::ScrollViewIndicatorStyle { + Black, + Default, + White, +} + +enum facebook::react::ScrollViewKeyboardDismissMode { + Interactive, + None, + OnDrag, +} + +enum facebook::react::ScrollViewSnapToAlignment { + Center, + End, + Start, +} + +enum facebook::react::ShadowTreeCommitMode { + Normal, + Suspended, +} + +enum facebook::react::ShadowTreeCommitSource { + AnimationEndSync, + React, + ReactRevisionMerge, + Unknown, +} + +enum facebook::react::ShadowTreeCommitStatus { + Cancelled, + Failed, + Succeeded, +} + +enum facebook::react::SubmitBehavior { + BlurAndSubmit, + Default, + Newline, + Submit, +} + +enum facebook::react::TextAlignment { + Center, + Justified, + Left, + Natural, + Right, +} + +enum facebook::react::TextAlignmentVertical { + Auto, + Bottom, + Center, + Top, +} + +enum facebook::react::TextBreakStrategy { + Balanced, + HighQuality, + Simple, +} + +enum facebook::react::TextDecorationLineType { + None, + Strikethrough, + Underline, + UnderlineStrikethrough, +} + +enum facebook::react::TextDecorationStyle { + Dashed, + Dotted, + Double, + Solid, +} + +enum facebook::react::TextTransform { + Capitalize, + Lowercase, + None, + Unset, + Uppercase, +} + +enum facebook::react::TimerSource { + RequestAnimationFrame, + SetInterval, + SetTimeout, + Unknown, +} + +enum facebook::react::TransformOperationType : uint8_t { + Arbitrary, + Identity, + Perspective, + Rotate, + Scale, + Skew, + Translate, +} + +enum facebook::react::TurboModuleMethodValueKind { + ArrayKind, + BooleanKind, + FunctionKind, + NumberKind, + ObjectKind, + PromiseKind, + StringKind, + VoidKind, +} + +enum facebook::react::UnitType { + Percent, + Point, + Undefined, +} + +enum facebook::react::WritingDirection { + LeftToRight, + Natural, + RightToLeft, +} + +struct facebook::react::AbstractPerformanceEntry { + public facebook::react::HighResDuration duration; + public facebook::react::HighResTimeStamp startTime; + public std::string name; +} + +struct facebook::react::AccessibilityAction { + public std::optional label; + public std::string name; +} + +struct facebook::react::AccessibilityLabelledBy { + public std::vector value; +} + +struct facebook::react::AccessibilityState { + public bool busy; + public bool disabled; + public bool selected; + public facebook::react::AccessibilityState::CheckedState checked; + public std::optional expanded; +} + +enum facebook::react::AccessibilityState::CheckedState { + Checked, + Mixed, + None, + Unchecked, +} + +struct facebook::react::AccessibilityValue { + public std::optional max; + public std::optional min; + public std::optional now; + public std::optional text; +} + +struct facebook::react::ActivePointer { + public bool shouldLeaveWhenReleased; + public facebook::react::PointerEvent event; +} + +struct facebook::react::AnimatedPropBase { + public AnimatedPropBase(facebook::react::PropName propName); + public facebook::react::PropName propName; + public virtual ~AnimatedPropBase() = default; +} + +struct facebook::react::AnimatedProps { + public std::unique_ptr rawProps; + public std::vector> props; +} + +struct facebook::react::AnimatedPropsBuilder { + public facebook::react::AnimatedProps get(); + public std::unique_ptr rawProps; + public std::vector> props; + public void setAlignContent(facebook::yoga::Align value); + public void setAlignItems(facebook::yoga::Align value); + public void setAlignSelf(facebook::yoga::Align value); + public void setAspectRatio(facebook::yoga::FloatOptional value); + public void setBackfaceVisibility(facebook::react::BackfaceVisibility value); + public void setBackgroundColor(facebook::react::SharedColor value); + public void setBorderColor(facebook::react::CascadedBorderColors& value); + public void setBorderCurves(facebook::react::CascadedBorderCurves& value); + public void setBorderRadii(facebook::react::CascadedBorderRadii& value); + public void setBorderStyles(facebook::react::CascadedBorderStyles& value); + public void setBorderWidth(facebook::react::CascadedRectangleEdges& value); + public void setBoxShadow(const std::vector& value); + public void setBoxSizing(facebook::yoga::BoxSizing value); + public void setColumnGap(facebook::yoga::Style::Length value); + public void setCursor(facebook::react::Cursor value); + public void setDirection(facebook::yoga::Direction value); + public void setDisplay(facebook::yoga::Display value); + public void setFilter(const std::vector& value); + public void setFlex(facebook::yoga::FloatOptional value); + public void setFlexBasis(facebook::yoga::Style::SizeLength value); + public void setFlexDirection(facebook::yoga::FlexDirection value); + public void setFlexGrow(facebook::yoga::FloatOptional value); + public void setFlexShrink(facebook::yoga::FloatOptional value); + public void setFlexWrap(facebook::yoga::Wrap value); + public void setHeight(facebook::yoga::Style::SizeLength value); + public void setIsolation(facebook::react::Isolation value); + public void setJustifyContent(facebook::yoga::Justify value); + public void setMargin(facebook::react::CascadedRectangleEdges& value); + public void setMaxHeight(facebook::yoga::Style::SizeLength value); + public void setMaxWidth(facebook::yoga::Style::SizeLength value); + public void setMinHeight(facebook::yoga::Style::SizeLength value); + public void setMinWidth(facebook::yoga::Style::SizeLength value); + public void setMixBlendMode(facebook::react::BlendMode value); + public void setOpacity(Float value); + public void setOutlineColor(facebook::react::SharedColor value); + public void setOutlineOffset(Float value); + public void setOutlineStyle(facebook::react::OutlineStyle value); + public void setOutlineWidth(Float value); + public void setOverflow(facebook::yoga::Overflow value); + public void setPadding(facebook::react::CascadedRectangleEdges& value); + public void setPointerEvents(facebook::react::PointerEventsMode value); + public void setPosition(facebook::react::CascadedRectangleEdges& value); + public void setPositionType(facebook::yoga::PositionType value); + public void setRowGap(facebook::yoga::Style::Length value); + public void setShadowColor(facebook::react::SharedColor value); + public void setShadowOffset(facebook::react::Size value); + public void setShadowOpacity(Float value); + public void setShadowRadius(Float value); + public void setTransform(const facebook::react::Transform& t); + public void setTransformOrigin(const facebook::react::TransformOrigin& value); + public void setWidth(facebook::yoga::Style::SizeLength value); + public void setZIndex(std::optional value); + public void storeDynamic(folly::dynamic& d); + public void storeJSI(facebook::jsi::Runtime& runtime, facebook::jsi::Value& value); +} + +struct facebook::react::AnimationConfig { + public Float initialVelocity; + public Float springDamping; + public double delay; + public double duration; + public facebook::react::AnimationProperty animationProperty; + public facebook::react::AnimationType animationType; +} + +struct facebook::react::AnimationKeyFrame { + public bool generateFinalSyntheticMutations; + public bool invalidated; + public double initialProgress; + public facebook::react::AnimationConfigurationType type; + public facebook::react::ShadowView viewEnd; + public facebook::react::ShadowView viewPrev; + public facebook::react::ShadowView viewStart; + public facebook::react::Tag parentTag; + public facebook::react::Tag tag; + public std::vector finalMutationsForKeyFrame; +} + +struct facebook::react::AnimationMutation { + public bool hasLayoutUpdates; + public facebook::react::AnimatedProps props; + public facebook::react::Tag tag; + public std::shared_ptr family; +} + +struct facebook::react::AnimationMutations { + public std::set asyncFlushSurfaces; + public std::vector batch; +} + +struct facebook::react::BackgroundPosition { + public BackgroundPosition(); + public bool operator==(const facebook::react::BackgroundPosition& other) const = default; + public std::optional bottom; + public std::optional left; + public std::optional right; + public std::optional top; +} + +struct facebook::react::BackgroundRepeat { + public BackgroundRepeat(); + public bool operator==(const facebook::react::BackgroundRepeat& other) const = default; + public facebook::react::BackgroundRepeatStyle x; + public facebook::react::BackgroundRepeatStyle y; +} + +struct facebook::react::BackgroundSizeLengthPercentage { + public BackgroundSizeLengthPercentage(); + public bool isXAuto() const; + public bool isYAuto() const; + public bool operator==(const facebook::react::BackgroundSizeLengthPercentage& other) const = default; + public std::variant x; + public std::variant y; +} + +struct facebook::react::BaseTouch { + public Float force; + public Float timestamp; + public facebook::react::HighResTimeStamp timeStamp; + public facebook::react::Point offsetPoint; + public facebook::react::Point pagePoint; + public facebook::react::Point screenPoint; + public facebook::react::Tag target; + public int identifier; +} + +struct facebook::react::BaseTouch::Comparator { + public bool operator()(const facebook::react::BaseTouch& lhs, const facebook::react::BaseTouch& rhs) const; +} + +struct facebook::react::BaseTouch::Hasher { + public size_t operator()(const facebook::react::BaseTouch& touch) const; +} + +struct facebook::react::BorderMetrics { + public bool operator==(const facebook::react::BorderMetrics& rhs) const = default; + public facebook::react::BorderColors borderColors; + public facebook::react::BorderCurves borderCurves; + public facebook::react::BorderRadii borderRadii; + public facebook::react::BorderStyles borderStyles; + public facebook::react::BorderWidths borderWidths; +} + +struct facebook::react::BoxShadow { + public Float blurRadius; + public Float offsetX; + public Float offsetY; + public Float spreadDistance; + public bool inset; + public bool operator==(const facebook::react::BoxShadow& other) const = default; + public facebook::react::SharedColor color; +} + +struct facebook::react::Bridging { + public static bool fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); + public static bool toJs(facebook::jsi::Runtime&, bool value); +} + +struct facebook::react::Bridging : public facebook::react::Bridging { +} + +struct facebook::react::Bridging { + public static double fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); + public static double toJs(facebook::jsi::Runtime&, double value); +} + +struct facebook::react::Bridging { + public static float fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); + public static float toJs(facebook::jsi::Runtime&, float value); +} + +struct facebook::react::Bridging { + public static int32_t fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); + public static int32_t toJs(facebook::jsi::Runtime&, int32_t value); +} + +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime&, uint32_t value); + public static uint32_t fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); +} + +struct facebook::react::Bridging { + public static void fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value&); +} + +struct facebook::react::BufferEvent { + public std::string name; + public std::string track; + public uint64_t end; + public uint64_t start; +} + +struct facebook::react::BundleHeader { + public BundleHeader(); + public facebook::react::Magic32 magic32; + public uint32_t version; + public uint64_t magic64; +} + +struct facebook::react::CSSAngle { + public constexpr bool operator==(const facebook::react::CSSAngle& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSBlurFilter { + public constexpr bool operator==(const facebook::react::CSSBlurFilter& rhs) const = default; + public facebook::react::CSSLength amount; +} + +struct facebook::react::CSSBrightnessFilter { + public constexpr bool operator==(const facebook::react::CSSBrightnessFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSColor { + public constexpr bool operator==(const facebook::react::CSSColor& rhs) const = default; + public static constexpr facebook::react::CSSColor black(); + public uint8_t a; + public uint8_t b; + public uint8_t g; + public uint8_t r; +} + +struct facebook::react::CSSColorHint { + public bool operator==(const facebook::react::CSSColorHint& rhs) const = default; + public std::variant position; +} + +struct facebook::react::CSSColorStop { + public bool operator==(const facebook::react::CSSColorStop& rhs) const; + public facebook::react::CSSColor color; + public std::optional> endPosition; + public std::optional> startPosition; +} + +struct facebook::react::CSSContrastFilter { + public constexpr bool operator==(const facebook::react::CSSContrastFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSDropShadowFilter { + public constexpr bool operator==(const facebook::react::CSSDropShadowFilter& rhs) const = default; + public facebook::react::CSSColor color; + public facebook::react::CSSLength offsetX; + public facebook::react::CSSLength offsetY; + public facebook::react::CSSLength standardDeviation; +} + +struct facebook::react::CSSFunctionBlock { + public std::string_view name; +} + +struct facebook::react::CSSGrayscaleFilter { + public constexpr bool operator==(const facebook::react::CSSGrayscaleFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSHueRotateFilter { + public constexpr bool operator==(const facebook::react::CSSHueRotateFilter& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSInvertFilter { + public constexpr bool operator==(const facebook::react::CSSInvertFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSLength { + public constexpr bool operator==(const facebook::react::CSSLength& rhs) const = default; + public facebook::react::CSSLengthUnit unit; + public float value; +} + +struct facebook::react::CSSLinearGradientDirection { + public bool operator==(const facebook::react::CSSLinearGradientDirection& rhs) const = default; + public std::variant value; +} + +struct facebook::react::CSSLinearGradientFunction { + public bool operator==(const facebook::react::CSSLinearGradientFunction& rhs) const = default; + public static std::pair>, int> parseGradientColorStopsAndHints(facebook::react::CSSValueParser& parser); + public std::optional direction; + public std::vector> items; +} + +struct facebook::react::CSSMatrix { + public constexpr bool operator==(const facebook::react::CSSMatrix& rhs) const = default; + public std::array values; +} + +struct facebook::react::CSSNumber { + public constexpr bool operator==(const facebook::react::CSSNumber& rhs) const = default; + public float value; +} + +struct facebook::react::CSSOpacityFilter { + public constexpr bool operator==(const facebook::react::CSSOpacityFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSPercentage { + public constexpr bool operator==(const facebook::react::CSSPercentage& rhs) const = default; + public float value; +} + +struct facebook::react::CSSPerspective { + public constexpr bool operator==(const facebook::react::CSSPerspective& rhs) const = default; + public facebook::react::CSSLength length; +} + +struct facebook::react::CSSRadialGradientExplicitSize { + public bool operator==(const facebook::react::CSSRadialGradientExplicitSize& rhs) const = default; + public std::variant sizeX; + public std::variant sizeY; +} + +struct facebook::react::CSSRadialGradientFunction { + public bool operator==(const facebook::react::CSSRadialGradientFunction& rhs) const = default; + public std::optional position; + public std::optional shape; + public std::optional size; + public std::vector> items; +} + +struct facebook::react::CSSRadialGradientPosition { + public bool operator==(const facebook::react::CSSRadialGradientPosition& rhs) const = default; + public std::optional> bottom; + public std::optional> left; + public std::optional> right; + public std::optional> top; +} + +struct facebook::react::CSSRatio { + public constexpr bool isDegenerate() const; + public constexpr bool operator==(const facebook::react::CSSRatio& rhs) const = default; + public float denominator; + public float numerator; +} + +struct facebook::react::CSSRotate { + public constexpr bool operator==(const facebook::react::CSSRotate& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSRotateX { + public constexpr bool operator==(const facebook::react::CSSRotateX& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSRotateY { + public constexpr bool operator==(const facebook::react::CSSRotateY& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSRotateZ { + public constexpr bool operator==(const facebook::react::CSSRotateZ& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSSaturateFilter { + public constexpr bool operator==(const facebook::react::CSSSaturateFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSScale { + public constexpr bool operator==(const facebook::react::CSSScale& rhs) const = default; + public float x; + public float y; +} + +struct facebook::react::CSSScaleX { + public constexpr bool operator==(const facebook::react::CSSScaleX& rhs) const = default; + public float value; +} + +struct facebook::react::CSSScaleY { + public constexpr bool operator==(const facebook::react::CSSScaleY& rhs) const = default; + public float value; +} + +struct facebook::react::CSSSepiaFilter { + public constexpr bool operator==(const facebook::react::CSSSepiaFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSShadow { + public bool inset; + public constexpr bool operator==(const facebook::react::CSSShadow& rhs) const = default; + public facebook::react::CSSColor color; + public facebook::react::CSSLength blurRadius; + public facebook::react::CSSLength offsetX; + public facebook::react::CSSLength offsetY; + public facebook::react::CSSLength spreadDistance; +} + +struct facebook::react::CSSSimpleBlock { + public facebook::react::CSSTokenType openBracketType; +} + +struct facebook::react::CSSSkewX { + public constexpr bool operator==(const facebook::react::CSSSkewX& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSSkewY { + public constexpr bool operator==(const facebook::react::CSSSkewY& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSTransformOrigin { + public constexpr bool operator==(const facebook::react::CSSTransformOrigin& rhs) const = default; + public facebook::react::CSSLength z; + public std::variant x; + public std::variant y; +} + +struct facebook::react::CSSTranslate3D { + public constexpr bool operator==(const facebook::react::CSSTranslate3D& rhs) const = default; + public facebook::react::CSSLength z; + public std::variant x; + public std::variant y; +} + +struct facebook::react::CSSTranslate { + public constexpr bool operator==(const facebook::react::CSSTranslate& rhs) const = default; + public std::variant x; + public std::variant y; +} + +struct facebook::react::CSSTranslateX { + public constexpr bool operator==(const facebook::react::CSSTranslateX& rhs) const = default; + public std::variant value; +} + +struct facebook::react::CSSTranslateY { + public constexpr bool operator==(const facebook::react::CSSTranslateY& rhs) const = default; + public std::variant value; +} + +struct facebook::react::CSSZero { + public constexpr bool operator==(const facebook::react::CSSZero& rhs) const = default; +} + +struct facebook::react::CallbackWithId { + public facebook::react::Callback callback; + public facebook::react::CallbackId callbackId; +} + +struct facebook::react::ColorComponents { + public facebook::react::ColorSpace colorSpace; + public float alpha; + public float blue; + public float green; + public float red; +} + +struct facebook::react::ColorStop { + public bool operator==(const facebook::react::ColorStop& other) const = default; + public facebook::react::SharedColor color; + public facebook::react::ValueUnit position; +} + +struct facebook::react::CornerRadii { + public bool operator==(const facebook::react::CornerRadii& other) const = default; + public float horizontal; + public float vertical; +} + +struct facebook::react::CullingContext { + public bool operator==(const facebook::react::CullingContext& rhs) const = default; + public bool shouldConsiderCulling() const; + public facebook::react::CullingContext adjustCullingContextIfNeeded(const facebook::react::ShadowViewNodePair& pair) const; + public facebook::react::Rect frame; + public facebook::react::Transform transform; +} + +struct facebook::react::DebugStringConvertibleOptions { +} + +struct facebook::react::DefaultTurboModules { + public static std::shared_ptr getTurboModule(const std::string& name, const std::shared_ptr& jsInvoker); +} + +struct facebook::react::DropShadowParams { + public Float offsetX; + public Float offsetY; + public Float standardDeviation; + public bool operator==(const facebook::react::DropShadowParams& other) const = default; + public facebook::react::SharedColor color; +} + +struct facebook::react::DummyTraceSection { + template + public DummyTraceSection(const char* name, ConvertsToStringPiece &&... args); +} + +struct facebook::react::DynamicEventPayload : public facebook::react::EventPayload { + protected folly::dynamic payload_; + public DynamicEventPayload(folly::dynamic&& payload); + public static facebook::react::SharedEventPayload create(folly::dynamic&& payload); + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; + public virtual facebook::react::EventPayloadType getType() const override; + public virtual std::optional extractValue(const std::vector&) const override; +} + +struct facebook::react::DynamicPointerEvent : public facebook::react::DynamicEventPayload { + public DynamicPointerEvent(folly::dynamic&& payload); + public const std::optional>& getHitPathForEventListener() const; +} + +struct facebook::react::EventAnimationDriverKey { + public bool operator==(const facebook::react::EventAnimationDriverKey& rhs) const noexcept; + public facebook::react::Tag viewTag; + public std::string eventName; +} + +struct facebook::react::EventPayload { + public EventPayload() = default; + public EventPayload(const facebook::react::EventPayload&) = default; + public EventPayload(facebook::react::EventPayload&&) = default; + public facebook::react::EventPayload& operator=(const facebook::react::EventPayload&) = default; + public facebook::react::EventPayload& operator=(facebook::react::EventPayload&&) = default; + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const = 0; + public virtual facebook::react::EventPayloadType getType() const = 0; + public virtual std::optional extractValue(const std::vector&) const; + public virtual ~EventPayload() = default; +} + +struct facebook::react::FantomForcedCloneCommitHook : public facebook::react::UIManagerCommitHook { + public facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const std::shared_ptr& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode) noexcept override; + public virtual void commitHookWasRegistered(const facebook::react::UIManager&) noexcept override; + public virtual void commitHookWasUnregistered(const facebook::react::UIManager&) noexcept override; +} + +struct facebook::react::FilterFunction { + public bool operator==(const facebook::react::FilterFunction& other) const = default; + public facebook::react::FilterType type; + public std::variant parameters; +} + +struct facebook::react::InspectorData { + public folly::dynamic props; + public int columnNumber; + public int lineNumber; + public int selectedIndex; + public std::string fileName; + public std::vector hierarchy; +} + +struct facebook::react::InstanceCallback { + public virtual void decrementPendingJSCalls(); + public virtual void incrementPendingJSCalls(); + public virtual void onBatchComplete(); + public virtual ~InstanceCallback() = default; +} + +struct facebook::react::IntersectionObserverEntry { + public bool isIntersectingAboveThresholds; + public bool sameShadowNodeFamily(const facebook::react::ShadowNodeFamily& otherShadowNodeFamily) const; + public facebook::react::HighResTimeStamp time; + public facebook::react::IntersectionObserverObserverId intersectionObserverId; + public facebook::react::Rect intersectionRect; + public facebook::react::Rect rootRect; + public facebook::react::Rect targetRect; + public facebook::react::ShadowNodeFamily::Shared shadowNodeFamily; +} + +struct facebook::react::LayoutAnimation { + public bool completed; + public facebook::react::LayoutAnimationCallbackWrapper failureCallback; + public facebook::react::LayoutAnimationCallbackWrapper successCallback; + public facebook::react::LayoutAnimationConfig layoutAnimationConfig; + public facebook::react::SurfaceId surfaceId; + public std::vector keyFrames; + public uint64_t startTime; +} + +struct facebook::react::LayoutAnimationConfig { + public double duration; + public facebook::react::AnimationConfig createConfig; + public facebook::react::AnimationConfig deleteConfig; + public facebook::react::AnimationConfig updateConfig; +} + +struct facebook::react::LayoutConformanceProps : public facebook::react::YogaStylableProps { + public LayoutConformanceProps() = default; + public LayoutConformanceProps(const facebook::react::PropsParserContext& context, const facebook::react::LayoutConformanceProps& sourceProps, const facebook::react::RawProps& rawProps); + public facebook::react::LayoutConformance mode; +} + +struct facebook::react::LayoutConstraints { + public facebook::react::LayoutDirection layoutDirection; + public facebook::react::Size clamp(const facebook::react::Size& size) const; + public facebook::react::Size maximumSize; + public facebook::react::Size minimumSize; +} + +struct facebook::react::LayoutContext { + public Float fontSizeMultiplier; + public Float pointScaleFactor; + public bool swapLeftAndRightInRTL; + public facebook::react::Point viewportOffset; + public std::vector* affectedNodes; +} + +struct facebook::react::LayoutMetrics { + public Float pointScaleFactor; + public bool operator==(const facebook::react::LayoutMetrics& rhs) const = default; + public bool wasLeftAndRightSwapped; + public facebook::react::DisplayType displayType; + public facebook::react::EdgeInsets borderWidth; + public facebook::react::EdgeInsets contentInsets; + public facebook::react::EdgeInsets overflowInset; + public facebook::react::LayoutDirection layoutDirection; + public facebook::react::PositionType positionType; + public facebook::react::Rect frame; + public facebook::react::Rect getContentFrame() const; + public facebook::react::Rect getOverflowInsetFrame() const; + public facebook::react::Rect getPaddingFrame() const; +} + +struct facebook::react::LineMeasurement { + public Float ascender; + public Float capHeight; + public Float descender; + public Float xHeight; + public LineMeasurement(const folly::dynamic& data); + public LineMeasurement(std::string text, facebook::react::Rect frame, Float descender, Float capHeight, Float ascender, Float xHeight); + public bool operator==(const facebook::react::LineMeasurement& rhs) const; + public facebook::react::Rect frame; + public static Float baseline(const std::vector& lines); + public std::string text; +} + +struct facebook::react::LinearGradient { + public bool operator==(const facebook::react::LinearGradient& other) const = default; + public facebook::react::GradientDirection direction; + public std::vector colorStops; +} + +struct facebook::react::Magic32 { + public uint32_t reserved_; + public uint32_t value; +} + +struct facebook::react::MarginValue { + public Float value; + public bool isPercentage; +} + +struct facebook::react::MeasuredPreparedTextLayout { + public facebook::react::LayoutConstraints layoutConstraints; + public facebook::react::TextMeasurement measurement; + public facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout preparedTextLayout; +} + +struct facebook::react::MethodCall { + public MethodCall(int mod, int meth, folly::dynamic&& args, int cid); + public folly::dynamic arguments; + public int callId; + public int methodId; + public int moduleId; +} + +struct facebook::react::MethodDescriptor { + public MethodDescriptor(std::string n, std::string t); + public std::string name; + public std::string type; +} + +struct facebook::react::ModuleConfig { + public folly::dynamic config; + public size_t index; +} + +struct facebook::react::MutationRecord { + public facebook::react::MutationObserverId mutationObserverId; + public std::shared_ptr targetShadowNode; + public std::vector> addedShadowNodes; + public std::vector> removedShadowNodes; +} + +struct facebook::react::NativePerformanceEntry { + public facebook::react::HighResDuration duration; + public facebook::react::HighResTimeStamp startTime; + public facebook::react::PerformanceEntryType entryType; + public std::optional connectEnd; + public std::optional connectStart; + public std::optional fetchStart; + public std::optional processingEnd; + public std::optional processingStart; + public std::optional requestStart; + public std::optional responseEnd; + public std::optional responseStart; + public std::optional interactionId; + public std::optional decodedBodySize; + public std::optional encodedBodySize; + public std::optional responseStatus; + public std::optional contentType; + public std::string name; +} + +struct facebook::react::PerformanceEntrySorter { + public bool operator()(const facebook::react::PerformanceEntry& lhs, const facebook::react::PerformanceEntry& rhs); +} + +struct facebook::react::PerformanceEventTiming : public facebook::react::AbstractPerformanceEntry { + public facebook::react::HighResTimeStamp processingEnd; + public facebook::react::HighResTimeStamp processingStart; + public facebook::react::HighResTimeStamp taskEndTime; + public facebook::react::PerformanceEntryInteractionId interactionId; + public static constexpr facebook::react::PerformanceEntryType entryType; +} + +struct facebook::react::PerformanceLongTaskTiming : public facebook::react::AbstractPerformanceEntry { + public static constexpr facebook::react::PerformanceEntryType entryType; +} + +struct facebook::react::PerformanceMark : public facebook::react::AbstractPerformanceEntry { + public static constexpr facebook::react::PerformanceEntryType entryType; +} + +struct facebook::react::PerformanceMeasure : public facebook::react::AbstractPerformanceEntry { + public static constexpr facebook::react::PerformanceEntryType entryType; +} + +struct facebook::react::PerformanceObserverObserveMultipleOptions { + public facebook::react::HighResDuration durationThreshold; +} + +struct facebook::react::PerformanceObserverObserveSingleOptions { + public bool buffered; + public facebook::react::HighResDuration durationThreshold; +} + +struct facebook::react::PerformanceResourceTiming : public facebook::react::AbstractPerformanceEntry { + public facebook::react::HighResTimeStamp fetchStart; + public facebook::react::HighResTimeStamp requestStart; + public int decodedBodySize; + public int encodedBodySize; + public int responseStatus; + public static constexpr facebook::react::PerformanceEntryType entryType; + public std::optional connectEnd; + public std::optional connectStart; + public std::optional responseEnd; + public std::optional responseStart; + public std::string contentType; +} + +struct facebook::react::Point { + public Float x; + public Float y; + public bool operator==(const facebook::react::Point& rhs) const = default; + public facebook::react::Point operator+(const facebook::react::Point& rhs) const noexcept; + public facebook::react::Point operator-() const noexcept; + public facebook::react::Point operator-(const facebook::react::Point& rhs) const noexcept; + public facebook::react::Point& operator*=(const facebook::react::Point& point) noexcept; + public facebook::react::Point& operator+=(const facebook::react::Point& point) noexcept; + public facebook::react::Point& operator-=(const facebook::react::Point& point) noexcept; +} + +struct facebook::react::PointerEvent : public facebook::react::EventPayload { + public Float height; + public Float pressure; + public Float tangentialPressure; + public Float width; + public bool altKey; + public bool ctrlKey; + public bool isPrimary; + public bool metaKey; + public bool shiftKey; + public facebook::react::HighResTimeStamp timeStamp; + public facebook::react::Point clientPoint; + public facebook::react::Point offsetPoint; + public facebook::react::Point screenPoint; + public int button; + public int buttons; + public int detail; + public int pointerId; + public int tiltX; + public int tiltY; + public int twist; + public std::string pointerType; + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; + public virtual facebook::react::EventPayloadType getType() const override; +} + +struct facebook::react::PointerEventTarget { + public facebook::react::PointerEvent event; + public std::shared_ptr target; +} + +struct facebook::react::ProcessedColorStop { + public bool operator==(const facebook::react::ProcessedColorStop& other) const = default; + public facebook::react::SharedColor color; + public std::optional position; +} + +struct facebook::react::Promise : public facebook::react::LongLivedObject { + public Promise(facebook::jsi::Runtime& rt, facebook::jsi::Function resolve, facebook::jsi::Function reject); + public facebook::jsi::Function reject_; + public facebook::jsi::Function resolve_; + public void reject(const std::string& message); + public void resolve(const facebook::jsi::Value& result); +} + +struct facebook::react::PropsParserContext { + public PropsParserContext(const facebook::react::PropsParserContext&) = delete; + public PropsParserContext(const facebook::react::SurfaceId surfaceId, const facebook::react::ContextContainer& contextContainer); + public const facebook::react::ContextContainer& contextContainer; + public const facebook::react::SurfaceId surfaceId; + public facebook::react::PropsParserContext& operator=(const facebook::react::PropsParserContext&) = delete; +} + +struct facebook::react::PropsSnapshot { + public facebook::react::BaseViewProps props; + public std::unique_ptr rawProps; + public std::unordered_set propNames; +} + +struct facebook::react::RadialGradient { + public bool operator==(const facebook::react::RadialGradient& other) const = default; + public facebook::react::RadialGradientPosition position; + public facebook::react::RadialGradientShape shape; + public facebook::react::RadialGradientSize size; + public std::vector colorStops; +} + +struct facebook::react::RadialGradientPosition { + public bool operator==(const facebook::react::RadialGradientPosition& other) const = default; + public std::optional bottom; + public std::optional left; + public std::optional right; + public std::optional top; +} + +struct facebook::react::RadialGradientSize { + public bool operator==(const facebook::react::RadialGradientSize& other) const = default; + public std::variant value; +} + +enum facebook::react::RadialGradientSize::SizeKeyword { + ClosestCorner, + ClosestSide, + FarthestCorner, + FarthestSide, +} + +struct facebook::react::RadialGradientSize::Dimensions { + public bool operator==(const facebook::react::RadialGradientSize::Dimensions& other) const = default; + public facebook::react::ValueUnit x; + public facebook::react::ValueUnit y; +} + +struct facebook::react::RawEvent { + public RawEvent(std::string type, facebook::react::SharedEventPayload eventPayload, facebook::react::SharedEventTarget eventTarget, std::weak_ptr shadowNodeFamily, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified, bool isUnique = false, facebook::react::HighResTimeStamp eventStartTimeStamp = facebook::react::HighResTimeStamp::now()); + public bool isUnique; + public facebook::react::EventTag loggingTag; + public facebook::react::HighResTimeStamp eventStartTimeStamp; + public facebook::react::RawEvent::Category category; + public facebook::react::SharedEventPayload eventPayload; + public facebook::react::SharedEventTarget eventTarget; + public std::string type; + public std::weak_ptr shadowNodeFamily; +} + +enum facebook::react::RawEvent::Category { + Continuous, + ContinuousEnd, + ContinuousStart, + Discrete, + Idle, + Unspecified, +} + +struct facebook::react::ReactNativeVersionType { + public int32_t Major; + public int32_t Minor; + public int32_t Patch; + public std::string_view Prerelease; +} + +struct facebook::react::RecoverableError : public std::exception { + public RecoverableError(const std::string& what_); + public virtual const char* what() const noexcept override; + template + public static void runRethrowingAsRecoverable(std::function act); +} + +struct facebook::react::Rect { + public Float getMaxX() const noexcept; + public Float getMaxY() const noexcept; + public Float getMidX() const noexcept; + public Float getMidY() const noexcept; + public Float getMinX() const noexcept; + public Float getMinY() const noexcept; + public bool containsPoint(facebook::react::Point point) noexcept; + public bool operator==(const facebook::react::Rect& rhs) const noexcept = default; + public facebook::react::Point getCenter() const noexcept; + public facebook::react::Point origin; + public facebook::react::Size size; + public static facebook::react::Rect boundingRect(const facebook::react::Point& a, const facebook::react::Point& b, const facebook::react::Point& c, const facebook::react::Point& d) noexcept; + public static facebook::react::Rect intersect(const facebook::react::Rect& rect1, const facebook::react::Rect& rect2); + public void unionInPlace(const facebook::react::Rect& rect) noexcept; +} + +struct facebook::react::RequestInfo { + public std::optional headers; + public std::optional httpBody; + public std::string httpMethod; + public std::string url; +} + +struct facebook::react::ResourceTimingData { + public facebook::react::HighResTimeStamp fetchStart; + public facebook::react::HighResTimeStamp requestStart; + public int decodedBodySize; + public int encodedBodySize; + public int responseStatus; + public std::optional connectEnd; + public std::optional connectStart; + public std::optional responseStart; + public std::string contentType; + public std::string url; +} + +struct facebook::react::ResponseInfo { + public std::optional headers; + public std::string url; + public uint16_t statusCode; +} + +struct facebook::react::SchedulerToolbox { + public facebook::react::ComponentRegistryFactory componentRegistryFactory; + public facebook::react::EventBeat::Factory eventBeatFactory; + public facebook::react::RuntimeExecutor runtimeExecutor; + public std::optional bridgelessBindingsExecutor; + public std::shared_ptr contextContainer; + public std::shared_ptr animationChoreographer; + public std::vector> commitHooks; +} + +struct facebook::react::ScrollEndDragEvent : public facebook::react::ScrollEvent { + public ScrollEndDragEvent() = default; + public ScrollEndDragEvent(const facebook::react::ScrollEvent& scrollEvent); + public facebook::react::Point targetContentOffset; + public facebook::react::Point velocity; + public folly::dynamic asDynamic() const; + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; +} + +struct facebook::react::ScrollEvent : public facebook::react::EventPayload { + public Float timestamp; + public Float zoomScale; + public ScrollEvent() = default; + public facebook::react::EdgeInsets contentInset; + public facebook::react::Point contentOffset; + public facebook::react::Size containerSize; + public facebook::react::Size contentSize; + public folly::dynamic asDynamic() const; + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; + public virtual facebook::react::EventPayloadType getType() const override; + public virtual std::optional extractValue(const std::vector&) const override; +} + +struct facebook::react::ShadowNodeFamilyFragment { + public const facebook::react::SurfaceId surfaceId; + public const facebook::react::Tag tag; + public const std::shared_ptr instanceHandle; +} + +struct facebook::react::ShadowNodeFragment { + public const bool runtimeShadowNodeReference; + public const facebook::react::Props::Shared& props; + public const facebook::react::State::Shared& state; + public const std::shared_ptr>>& children; + public static const facebook::react::Props::Shared& propsPlaceholder(); + public static const facebook::react::State::Shared& statePlaceholder(); + public static const std::shared_ptr>>& childrenPlaceholder(); +} + +struct facebook::react::ShadowNodeListWrapper : public facebook::jsi::NativeState { + public ShadowNodeListWrapper(std::shared_ptr>> shadowNodeList); + public std::shared_ptr>> shadowNodeList; + public ~ShadowNodeListWrapper() override; +} + +struct facebook::react::ShadowNodeWrapper : public facebook::jsi::NativeState { + public ShadowNodeWrapper(std::shared_ptr shadowNode); + public std::shared_ptr shadowNode; + public ~ShadowNodeWrapper() override; +} + +struct facebook::react::ShadowTreeCommitOptions { + public bool enableStateReconciliation; + public bool mountSynchronously; + public facebook::react::ShadowTreeCommitSource source; +} + +struct facebook::react::ShadowView { + public ShadowView() = default; + public ShadowView(const facebook::react::ShadowNode& shadowNode); + public ShadowView(const facebook::react::ShadowView& shadowView) = default; + public ShadowView(facebook::react::ShadowView&& shadowView) noexcept = default; + public bool operator==(const facebook::react::ShadowView& rhs) const; + public facebook::react::ComponentHandle componentHandle; + public facebook::react::ComponentName componentName; + public facebook::react::EventEmitter::Shared eventEmitter; + public facebook::react::LayoutMetrics layoutMetrics; + public facebook::react::Props::Shared props; + public facebook::react::ShadowNodeTraits traits; + public facebook::react::ShadowView& operator=(const facebook::react::ShadowView& other) = default; + public facebook::react::ShadowView& operator=(facebook::react::ShadowView&& other) = default; + public facebook::react::State::Shared state; + public facebook::react::SurfaceId surfaceId; + public facebook::react::Tag tag; +} + +struct facebook::react::ShadowViewMutation { + public ShadowViewMutation() = delete; + public bool mutatedViewIsVirtual() const; + public facebook::react::ShadowView newChildShadowView; + public facebook::react::ShadowView oldChildShadowView; + public facebook::react::ShadowViewMutation::Type type; + public facebook::react::Tag parentTag; + public int index; + public static facebook::react::ShadowViewMutation CreateMutation(facebook::react::ShadowView shadowView); + public static facebook::react::ShadowViewMutation DeleteMutation(facebook::react::ShadowView shadowView); + public static facebook::react::ShadowViewMutation InsertMutation(const facebook::react::ShadowView& parentShadowView, facebook::react::ShadowView childShadowView, int index); + public static facebook::react::ShadowViewMutation InsertMutation(facebook::react::Tag parentTag, facebook::react::ShadowView childShadowView, int index); + public static facebook::react::ShadowViewMutation RemoveMutation(const facebook::react::ShadowView& parentShadowView, facebook::react::ShadowView childShadowView, int index); + public static facebook::react::ShadowViewMutation RemoveMutation(facebook::react::Tag parentTag, facebook::react::ShadowView childShadowView, int index); + public static facebook::react::ShadowViewMutation UpdateMutation(facebook::react::ShadowView oldChildShadowView, facebook::react::ShadowView newChildShadowView, const facebook::react::ShadowView& parentShadowView); + public static facebook::react::ShadowViewMutation UpdateMutation(facebook::react::ShadowView oldChildShadowView, facebook::react::ShadowView newChildShadowView, facebook::react::Tag parentTag); + public using List = std::vector; +} + +enum facebook::react::ShadowViewMutation::Type : std::uint8_t { + Create, + Delete, + Insert, + Remove, + Update, +} + +struct facebook::react::ShadowViewNodePair { + public bool flattened; + public bool inOtherTree() const; + public bool isConcreteView; + public bool operator==(const facebook::react::ShadowViewNodePair& rhs) const; + public const facebook::react::ShadowNode* shadowNode; + public facebook::react::Point contextOrigin; + public facebook::react::ShadowView shadowView; + public mutable const facebook::react::ShadowViewNodePair* otherTreePair; + public size_t mountIndex; +} + +struct facebook::react::Size { + public Float height; + public Float width; + public facebook::react::Size& operator*=(const facebook::react::Point& point) noexcept; + public facebook::react::Size& operator+=(const facebook::react::Point& point) noexcept; +} + +struct facebook::react::StateData { + public using Shared = std::shared_ptr; +} + +struct facebook::react::SurfaceContext { + public std::unordered_map> map; + public std::unordered_map> pendingMap; + public std::unordered_set> families; + public std::unordered_set> pendingFamilies; +} + +struct facebook::react::SurfaceUpdates { + public bool hasLayoutUpdates; + public std::unordered_map propsMap; + public std::unordered_set> families; +} + +struct facebook::react::SystraceSection : public facebook::react::DummyTraceSection { + template + public SystraceSection(const char* name, ConvertsToStringPiece &&... args); +} + +struct facebook::react::Task : public facebook::jsi::NativeState { + public Task(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback, facebook::react::HighResTimeStamp expirationTime); + public Task(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback, facebook::react::HighResTimeStamp expirationTime); +} + +struct facebook::react::TextLayoutContext { + public Float pointScaleFactor; + public bool operator==(const facebook::react::TextLayoutContext& rhs) const = default; + public facebook::react::SurfaceId surfaceId; +} + +struct facebook::react::TimerCallback { + public TimerCallback(facebook::jsi::Function callback, std::vector args, bool repeat, facebook::react::TimerSource source = facebook::react::TimerSource::Unknown); + public bool repeat; + public const std::vector args_; + public facebook::jsi::Function callback_; + public facebook::react::TimerSource source; + public void invoke(facebook::jsi::Runtime& runtime); +} + +struct facebook::react::TouchEvent { + public facebook::react::Touches changedTouches; + public facebook::react::Touches targetTouches; + public facebook::react::Touches touches; +} + +struct facebook::react::Transform { + public Float& at(int i, int j) noexcept; + public bool operator==(const facebook::react::Transform& rhs) const noexcept; + public const Float& at(int i, int j) const noexcept; + public facebook::react::Rect applyWithCenter(const facebook::react::Rect& rect, const facebook::react::Point& center) const; + public facebook::react::Transform operator*(const facebook::react::Transform& rhs) const; + public operator folly::dynamic() const; + public static bool isHorizontalInversion(const facebook::react::Transform& transform) noexcept; + public static bool isVerticalInversion(const facebook::react::Transform& transform) noexcept; + public static facebook::react::Transform FromTransformOperation(facebook::react::TransformOperation transformOperation, const facebook::react::Size& size, const facebook::react::Transform& transform = facebook::react::Transform::Identity()); + public static facebook::react::Transform HorizontalInversion() noexcept; + public static facebook::react::Transform Identity() noexcept; + public static facebook::react::Transform Interpolate(Float animationProgress, const facebook::react::Transform& lhs, const facebook::react::Transform& rhs, const facebook::react::Size& size); + public static facebook::react::Transform Perspective(Float perspective) noexcept; + public static facebook::react::Transform Rotate(Float angleX, Float angleY, Float angleZ) noexcept; + public static facebook::react::Transform RotateX(Float radians) noexcept; + public static facebook::react::Transform RotateY(Float radians) noexcept; + public static facebook::react::Transform RotateZ(Float radians) noexcept; + public static facebook::react::Transform Scale(Float factorX, Float factorY, Float factorZ) noexcept; + public static facebook::react::Transform Skew(Float x, Float y) noexcept; + public static facebook::react::Transform Translate(Float x, Float y, Float z) noexcept; + public static facebook::react::Transform VerticalInversion() noexcept; + public static facebook::react::TransformOperation DefaultTransformOperation(facebook::react::TransformOperationType type); + public std::array matrix; + public std::vector operations; +} + +struct facebook::react::TransformConfig { + public double value; + public facebook::react::Tag nodeTag; + public std::string property; +} + +struct facebook::react::TransformOperation { + public bool operator==(const facebook::react::TransformOperation& other) const = default; + public facebook::react::TransformOperationType type; + public facebook::react::ValueUnit x; + public facebook::react::ValueUnit y; + public facebook::react::ValueUnit z; +} + +struct facebook::react::TransformOrigin { + public bool isSet() const; + public bool operator==(const facebook::react::TransformOrigin& other) const = default; + public float z; + public std::array xy; +} + +struct facebook::react::ValueUnit { + public constexpr ValueUnit() = default; + public constexpr ValueUnit(float v, facebook::react::UnitType u); + public constexpr bool operator==(const facebook::react::ValueUnit& other) const = default; + public constexpr float resolve(float referenceLength) const; + public constexpr operator bool() const; + public facebook::react::UnitType unit; + public float value; +} + +struct facebook::react::Vector { + public Float w; + public Float x; + public Float y; + public Float z; +} + +struct facebook::react::ViewEvents { + public constexpr bool operator[](const facebook::react::ViewEvents::Offset offset) const; + public std::bitset<64> bits; + public std::bitset<64>::reference operator[](const facebook::react::ViewEvents::Offset offset); +} + +enum facebook::react::ViewEvents::Offset : std::size_t { + Click, + ClickCapture, + GotPointerCapture, + LostPointerCapture, + MoveShouldSetResponder, + MoveShouldSetResponderCapture, + PointerDown, + PointerDownCapture, + PointerEnter, + PointerEnterCapture, + PointerLeave, + PointerLeaveCapture, + PointerMove, + PointerMoveCapture, + PointerOut, + PointerOutCapture, + PointerOver, + PointerOverCapture, + PointerUp, + PointerUpCapture, + ResponderEnd, + ResponderGrant, + ResponderMove, + ResponderReject, + ResponderRelease, + ResponderStart, + ResponderTerminate, + ResponderTerminationRequest, + ShouldBlockNativeResponder, + StartShouldSetResponder, + StartShouldSetResponderCapture, + TouchCancel, + TouchEnd, + TouchMove, + TouchStart, +} + +template +struct facebook::react::CSSList : public std::vector { +} + +template +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +template +struct facebook::react::CSSList { +} + +template ... VisitorsT> +struct facebook::react::CSSComponentValueVisitorDispatcher { + public constexpr ReturnT consumeComponentValue(facebook::react::CSSDelimiter delimiter, const VisitorsT &... visitors); + public constexpr std::optional visitFunction(); + public constexpr std::optional visitFunction(const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); + public constexpr std::optional visitPreservedToken(); + public constexpr std::optional visitPreservedToken(const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); + public constexpr std::optional visitSimpleBlock(facebook::react::CSSTokenType endToken); + public constexpr std::optional visitSimpleBlock(facebook::react::CSSTokenType endToken, const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); + public facebook::react::CSSSyntaxParser& parser; +} + +template +struct facebook::react::CSSList : public std::vector { +} + +template +class facebook::react::CircularBuffer { + public CircularBuffer(size_t maxSize); + public T& operator[](size_t idx); + public bool add(const T& el); + public size_t size() const; + public std::vector getEntries() const; + public std::vector getEntries(std::function predicate) const; + public void clear(); + public void clear(std::function predicate); + public void getEntries(std::vector& res) const; + public void getEntries(std::vector& res, std::function predicate) const; +} + +template +class facebook::react::MoveWrapper { + public MoveWrapper() = default; + public MoveWrapper(T&& t); + public MoveWrapper(const facebook::react::MoveWrapper& other); + public MoveWrapper(facebook::react::MoveWrapper&& other) noexcept; + public T& operator*(); + public T&& move(); + public T* operator->(); + public const T& operator*() const; + public const T* operator->() const; + public facebook::react::MoveWrapper& operator=(const facebook::react::MoveWrapper&) = delete; + public facebook::react::MoveWrapper& operator=(facebook::react::MoveWrapper&&) = delete; +} + +template +class facebook::react::ConcreteViewShadowNode : public facebook::react::ConcreteShadowNode { + public ConcreteViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ConcreteViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public using BaseShadowNode = facebook::react::ConcreteShadowNode; + public using ConcreteViewProps = ViewPropsT; + public virtual bool canBeTouchTarget() const override; + public virtual bool canChildrenBeTouchTarget() const override; + public virtual facebook::react::Transform getTransform() const override; +} + +template +class facebook::react::BaseTextInputShadowNode : public facebook::react::ConcreteViewShadowNode, public facebook::react::BaseTextShadowNode { + protected facebook::react::LayoutConstraints getTextConstraints(const facebook::react::LayoutConstraints& layoutConstraints) const; + protected std::shared_ptr textLayoutManager_; + protected virtual Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const override; + protected virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; + protected virtual void layout(facebook::react::LayoutContext layoutContext) override; + public BaseTextInputShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public BaseTextInputShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public using BaseShadowNode = facebook::react::ConcreteViewShadowNode; + public void setTextLayoutManager(std::shared_ptr textLayoutManager); +} + +template +class facebook::react::UnstableLegacyViewManagerInteropComponentDescriptor : public facebook::react::ConcreteComponentDescriptor> { + public UnstableLegacyViewManagerInteropComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); +} + +template +class facebook::react::ConcreteShadowNode : public BaseShadowNodeT { + protected facebook::react::Props::Shared props_; + protected facebook::react::State::Shared state_; + public const facebook::react::ConcreteShadowNode::ConcreteEventEmitter& getConcreteEventEmitter() const; + public const facebook::react::ConcreteShadowNode::ConcreteProps& getConcreteProps() const; + public const facebook::react::ConcreteShadowNode::ConcreteStateData& getStateData() const; + public const std::shared_ptr& getConcreteSharedProps() const; + public static const facebook::react::ConcreteShadowNode::SharedConcreteProps& defaultSharedProps(); + public static facebook::react::ComponentHandle Handle(); + public static facebook::react::ComponentName Name(); + public static facebook::react::ConcreteShadowNode::ConcreteStateData initialStateData(const facebook::react::Props::Shared&, const facebook::react::ShadowNodeFamily::Shared&, const facebook::react::ComponentDescriptor&); + public static facebook::react::ConcreteShadowNode::UnsharedConcreteProps Props(const facebook::react::PropsParserContext& context, const facebook::react::RawProps& rawProps, const facebook::react::Props::Shared& baseProps = nullptr); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public using ConcreteEventEmitter = EventEmitterT; + public using ConcreteProps = PropsT; + public using ConcreteState = facebook::react::ConcreteState; + public using ConcreteStateData = StateDataT; + public using SharedConcreteEventEmitter = std::shared_ptr; + public using SharedConcreteProps = std::shared_ptr; + public using SharedConcreteShadowNode = std::shared_ptr; + public using UnsharedConcreteProps = std::shared_ptr; + public void setStateData(facebook::react::ConcreteShadowNode::ConcreteStateData&& data); +} + +template +struct facebook::react::Bridging : public facebook::react::Bridging { +} + +template +struct facebook::react::TemplateStringLiteral { + public constexpr TemplateStringLiteral(const char(&str)[N]); + public constexpr operator std::string_view() const; + public std::array value; +} + +template +struct facebook::react::CSSDataTypeParser { +} + +template +class facebook::react::ConcreteState : public facebook::react::State { + public ConcreteState(facebook::react::ConcreteState::SharedData data, const facebook::react::State& previousState); + public ConcreteState(facebook::react::ConcreteState::SharedData data, facebook::react::ShadowNodeFamily::Weak family); + public const facebook::react::ConcreteState::Data& getData() const; + public using Data = DataT; + public using Shared = std::shared_ptr; + public using SharedData = std::shared_ptr; + public void updateState(facebook::react::ConcreteState::Data&& newData, facebook::react::EventQueue::UpdateMode updateMode = facebook::react::EventQueue::UpdateMode::Asynchronous) const; + public void updateState(std::function callback, facebook::react::EventQueue::UpdateMode updateMode = facebook::react::EventQueue::UpdateMode::Asynchronous) const; + public ~ConcreteState() override = default; +} + +template +class facebook::react::SyncCallback { +} + +template +class facebook::react::SimpleThreadSafeCache { + public SimpleThreadSafeCache(); + public SimpleThreadSafeCache(unsigned long size); + public ValueT get(const KeyT& key, facebook::react::CacheGeneratorFunction auto generator) const; + public std::optional get(const KeyT& key) const; + public std::pair getWithKey(const KeyT& key, facebook::react::CacheGeneratorFunction auto generator) const; +} + +template +class facebook::react::DiffMap { + public DiffMap(); + public DiffMap(size_t sizeHint); + public facebook::react::DiffMap::Iterator begin(); + public facebook::react::DiffMap::Iterator end(); + public facebook::react::DiffMap::Iterator find(KeyT key); + public using Pair = std::pair; + public void erase(facebook::react::DiffMap::Iterator it); + public void insert(facebook::react::DiffMap::Pair pair); +} + +class facebook::react::DiffMap::Iterator { + public bool operator!=(const facebook::react::DiffMap::Iterator& other) const; + public bool operator==(const facebook::react::DiffMap::Iterator& other) const; + public const facebook::react::DiffMap::Pair& operator*() const; + public const facebook::react::DiffMap::Pair* operator->() const; + public facebook::react::DiffMap::Iterator& operator++(); +} + +template +class facebook::react::OnScopeExit { + public OnScopeExit(const Lambda&& lambda) noexcept; + public OnScopeExit(const facebook::react::OnScopeExit&) = delete; + public OnScopeExit(facebook::react::OnScopeExit&&) = delete; + public facebook::react::OnScopeExit& operator=(const facebook::react::OnScopeExit&) = delete; + public facebook::react::OnScopeExit& operator=(facebook::react::OnScopeExit&&) = delete; + public ~OnScopeExit() noexcept; +} + +template +class facebook::react::SyncCallback { + public R call(Args... args) const; + public R operator()(Args... args) const; + public SyncCallback(const facebook::react::SyncCallback&) = delete; + public SyncCallback(facebook::jsi::Runtime& rt, facebook::jsi::Function function, std::shared_ptr jsInvoker); + public SyncCallback(facebook::react::SyncCallback&& other) noexcept; + public facebook::react::SyncCallback& operator=(const facebook::react::SyncCallback&) = delete; + public facebook::react::SyncCallback& operator=(facebook::react::SyncCallback&& other) noexcept; + public ~SyncCallback(); +} + +template +struct facebook::react::Bridging : public facebook::react::Bridging> { +} + +template +struct facebook::react::Bridging : public facebook::react::Bridging> { +} + +template +class facebook::react::BaseParagraphComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; + public BaseParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); + public virtual facebook::react::ComponentName getComponentName() const override; +} + +template +class facebook::react::ConcreteComponentDescriptor : public facebook::react::ComponentDescriptor { + protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; + public ConcreteComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public using ConcreteEventEmitter = typename ShadowNodeT::ConcreteEventEmitter; + public using ConcreteProps = typename ShadowNodeT::ConcreteProps; + public using ConcreteShadowNode = ShadowNodeT; + public using ConcreteState = typename ShadowNodeT::ConcreteState; + public using ConcreteStateData = typename ShadowNodeT::ConcreteState::Data; + public using SharedConcreteEventEmitter = typename ShadowNodeT::SharedConcreteEventEmitter; + public using SharedConcreteProps = typename ShadowNodeT::SharedConcreteProps; + public virtual facebook::react::ComponentHandle getComponentHandle() const override; + public virtual facebook::react::ComponentName getComponentName() const override; + public virtual facebook::react::Props::Shared cloneProps(const facebook::react::PropsParserContext& context, const facebook::react::Props::Shared& props, facebook::react::RawProps rawProps) const override; + public virtual facebook::react::ShadowNodeFamily::Shared createFamily(const facebook::react::ShadowNodeFamilyFragment& fragment) const override; + public virtual facebook::react::ShadowNodeTraits getTraits() const override; + public virtual facebook::react::State::Shared createInitialState(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family) const override; + public virtual facebook::react::State::Shared createState(const facebook::react::ShadowNodeFamily& family, const facebook::react::StateData::Shared& data) const override; + public virtual std::shared_ptr cloneShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) const override; + public virtual std::shared_ptr createShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family) const override; + public virtual void appendChild(const std::shared_ptr& parentShadowNode, const std::shared_ptr& childShadowNode) const override; +} + +template +class facebook::react::Element { + public Element(); + public facebook::react::Element& children(std::vector children); + public facebook::react::Element& finalize(std::function finalizeCallback); + public facebook::react::Element& props(facebook::react::Element::SharedConcreteProps props); + public facebook::react::Element& props(std::function callback); + public facebook::react::Element& reference(facebook::react::Element::ConcreteUnsharedShadowNode& outShadowNode); + public facebook::react::Element& reference(std::function callback); + public facebook::react::Element& stateData(std::function callback); + public facebook::react::Element& surfaceId(facebook::react::SurfaceId surfaceId); + public facebook::react::Element& tag(facebook::react::Tag tag); + public operator facebook::react::ElementFragment(); + public using ConcreteProps = typename ShadowNodeT::ConcreteProps; + public using ConcreteReferenceCallback = std::function& shadowNode)>; + public using ConcreteShadowNode = ShadowNodeT; + public using ConcreteState = typename ShadowNodeT::ConcreteState; + public using ConcreteStateData = typename ShadowNodeT::ConcreteStateData; + public using ConcreteUnsharedShadowNode = std::shared_ptr; + public using SharedConcreteProps = std::shared_ptr; + public using SharedConcreteState = std::shared_ptr; +} + +template +struct facebook::react::Bridging { +} + +template +struct facebook::react::AnimatedProp : public facebook::react::AnimatedPropBase { + public AnimatedProp() = default; + public AnimatedProp(facebook::react::PropName propName, const T& value); + public T value; +} + +template +struct facebook::react::CascadedRectangleCorners { + public bool operator==(const facebook::react::CascadedRectangleCorners& rhs) const = default; + public facebook::react::CascadedRectangleCorners::Counterpart resolve(bool isRTL, T defaults) const; + public facebook::react::CascadedRectangleCorners::OptionalT all; + public facebook::react::CascadedRectangleCorners::OptionalT bottomEnd; + public facebook::react::CascadedRectangleCorners::OptionalT bottomLeft; + public facebook::react::CascadedRectangleCorners::OptionalT bottomRight; + public facebook::react::CascadedRectangleCorners::OptionalT bottomStart; + public facebook::react::CascadedRectangleCorners::OptionalT endEnd; + public facebook::react::CascadedRectangleCorners::OptionalT endStart; + public facebook::react::CascadedRectangleCorners::OptionalT startEnd; + public facebook::react::CascadedRectangleCorners::OptionalT startStart; + public facebook::react::CascadedRectangleCorners::OptionalT topEnd; + public facebook::react::CascadedRectangleCorners::OptionalT topLeft; + public facebook::react::CascadedRectangleCorners::OptionalT topRight; + public facebook::react::CascadedRectangleCorners::OptionalT topStart; + public using Counterpart = facebook::react::RectangleCorners; + public using OptionalT = std::optional; +} + +template +struct facebook::react::CascadedRectangleEdges { + public bool operator==(const facebook::react::CascadedRectangleEdges& rhs) const = default; + public facebook::react::CascadedRectangleEdges::Counterpart resolve(bool isRTL, T defaults) const; + public facebook::react::CascadedRectangleEdges::OptionalT all; + public facebook::react::CascadedRectangleEdges::OptionalT block; + public facebook::react::CascadedRectangleEdges::OptionalT blockEnd; + public facebook::react::CascadedRectangleEdges::OptionalT blockStart; + public facebook::react::CascadedRectangleEdges::OptionalT bottom; + public facebook::react::CascadedRectangleEdges::OptionalT end; + public facebook::react::CascadedRectangleEdges::OptionalT horizontal; + public facebook::react::CascadedRectangleEdges::OptionalT left; + public facebook::react::CascadedRectangleEdges::OptionalT right; + public facebook::react::CascadedRectangleEdges::OptionalT start; + public facebook::react::CascadedRectangleEdges::OptionalT top; + public facebook::react::CascadedRectangleEdges::OptionalT vertical; + public using Counterpart = facebook::react::RectangleEdges; + public using OptionalT = std::optional; +} + +template +struct facebook::react::RectangleCorners { + public T bottomLeft; + public T bottomRight; + public T topLeft; + public T topRight; + public bool isUniform() const noexcept; + public bool operator==(const facebook::react::RectangleCorners& rhs) const noexcept = default; +} + +template +struct facebook::react::RectangleEdges { + public T bottom; + public T left; + public T right; + public T top; + public bool isUniform() const noexcept; + public bool operator==(const facebook::react::RectangleEdges& rhs) const noexcept = default; + public static const facebook::react::RectangleEdges ZERO; +} + +template +class facebook::react::AsyncCallback { + public AsyncCallback(facebook::jsi::Runtime& runtime, facebook::jsi::Function function, std::shared_ptr jsInvoker); + public void call(Args... args) const noexcept; + public void call(std::function&& callImpl) const noexcept; + public void callWithPriority(facebook::react::SchedulerPriority priority, Args... args) const noexcept; + public void callWithPriority(facebook::react::SchedulerPriority priority, std::function&& callImpl) const noexcept; + public void operator()(Args... args) const noexcept; +} + +template +class facebook::react::AsyncEventEmitter : public facebook::react::IAsyncEventEmitter { + public AsyncEventEmitter(); + public AsyncEventEmitter(const facebook::react::AsyncEventEmitter&) = delete; + public AsyncEventEmitter(facebook::react::AsyncEventEmitter&&) noexcept = default; + public facebook::react::AsyncEventEmitter& operator=(const facebook::react::AsyncEventEmitter&) = delete; + public facebook::react::AsyncEventEmitter& operator=(facebook::react::AsyncEventEmitter&&) noexcept = default; + public virtual facebook::jsi::Object get(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker) const override; + public void emit(Args... value); + public void emit(std::function&& converter); + public ~AsyncEventEmitter() override = default; +} + +template +class facebook::react::SharedFunction { + public SharedFunction(const facebook::react::SharedFunction& other) = default; + public SharedFunction(facebook::react::SharedFunction&& other) noexcept = default; + public SharedFunction(std::function&& function = nullptr); + public facebook::react::SharedFunction& operator=(const facebook::react::SharedFunction& other) = default; + public facebook::react::SharedFunction& operator=(facebook::react::SharedFunction&& other) noexcept = default; + public void assign(std::function function) const; + public void operator()(ArgumentT... args) const; +} + +template +class facebook::react::AsyncPromise { + public AsyncPromise(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker); + public facebook::jsi::Object get(facebook::jsi::Runtime& rt) const; + public void reject(facebook::react::Error error); + public void resolve(T... value); +} + +template +class facebook::react::EventListenerContainerT { + public bool willDispatchEvent(TArgs... args); + public void addListener(std::shared_ptr> listener); + public void removeListener(const std::shared_ptr>& listener); +} + +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const folly::dynamic& value); + public static folly::dynamic fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); +} + +struct facebook::react::Bridging { + public static std::nullptr_t fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); + public static std::nullptr_t toJs(facebook::jsi::Runtime&, std::nullptr_t); +} + +struct facebook::react::Bridging { + public static facebook::jsi::String toJs(facebook::jsi::Runtime& rt, const std::string& value); + public static std::string fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::String& value); +} + +struct facebook::react::Bridging { + public static facebook::jsi::String toJs(facebook::jsi::Runtime& rt, std::string_view value); +} + +template +struct facebook::react::Bridging> { + public static constexpr size_t kArgumentCount; + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, facebook::react::Bridging>::Func fn, const std::shared_ptr& jsInvoker); + public using Func = std::function; + public using IndexSequence = std::index_sequence_for; +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, 2> { + public static std::pair fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, N> { + public static std::array fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::optional& value, const std::shared_ptr& jsInvoker); + public static std::optional fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value, const std::shared_ptr& jsInvoker); + template + public static std::optional fromJs(facebook::jsi::Runtime& rt, const std::optional& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { + public static std::set fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::unique_ptr& ptr, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { + public static std::vector fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::weak_ptr& weakPtr, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, sizeof...(Types)> { +} + +struct facebook::react::Bridging { + public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); + public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Value&& value); + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, std::string message); +} + +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::WeakObject& value); + public static facebook::jsi::WeakObject fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); +} + +struct facebook::react::Bridging : public NativeAnimatedTurboModuleEndResultBridging { +} + +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const facebook::react::Error& error); +} + +struct facebook::react::Bridging { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::EventSubscription& eventSubscription, const std::shared_ptr& jsInvoker); + public static facebook::react::EventSubscription fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); +} + +struct facebook::react::Bridging { + public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResDuration& value); + public static facebook::react::HighResDuration fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); +} + +struct facebook::react::Bridging { + public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResTimeStamp& value); + public static facebook::react::HighResTimeStamp fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); +} + +struct facebook::react::Bridging : public NativeIntersectionObserverNativeIntersectionObserverEntryBridging { +} + +struct facebook::react::Bridging : public NativeIntersectionObserverNativeIntersectionObserverObserveOptionsBridging { +} + +struct facebook::react::Bridging : public NativeMutationObserverNativeMutationObserverObserveOptionsBridging { +} + +struct facebook::react::Bridging : public NativeMutationObserverNativeMutationRecordBridging { +} + +struct facebook::react::Bridging : public NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfigBridging { +} + +struct facebook::react::Bridging : public NativePerformanceRawPerformanceEntryBridging { +} + +struct facebook::react::Bridging : public NativePerformancePerformanceObserverInitBridging { +} + +struct facebook::react::Bridging : public NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfigBridging { +} + +struct facebook::react::Bridging : public NativeIdleCallbacksRequestIdleCallbackOptionsBridging { +} + +struct facebook::react::Bridging { + public static facebook::react::PerformanceEntryType fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); + public static int toJs(facebook::jsi::Runtime&, const facebook::react::PerformanceEntryType& value); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static std::optional consume(facebook::react::CSSValueParser& syntaxParser); +} + +struct facebook::react::CSSDataTypeParser { + public static std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSNumberPercentTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSNumberPercentTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSVariantComponentTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSVariantComponentTransformParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +template +struct facebook::react::CSSDataTypeParser> { + public static std::optional> consume(facebook::react::CSSValueParser& parser); +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::SyncCallback& value); + public static facebook::react::SyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncCallback& value); + public static facebook::react::AsyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncEventEmitter& eventEmitter, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { +} + +template +struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncPromise& promise); +} + +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::shared_ptr& value); + public static std::shared_ptr fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& jsiValue); +} + +template +struct facebook::react::Bridging, std::enable_if_t, std::function>>> : public facebook::react::Bridging> { +} + +template +struct facebook::react::Bridging, std::enable_if_t>> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::shared_ptr& ptr, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging, std::enable_if_t>> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, std::shared_ptr value); + public static std::shared_ptr fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); +} + + +bool facebook::react::HostPlatformViewTraitsInitializer::formsStackingContext(const facebook::react::ViewProps& props); +bool facebook::react::HostPlatformViewTraitsInitializer::formsView(const facebook::react::ViewProps& props); +bool facebook::react::HostPlatformViewTraitsInitializer::isKeyboardFocusable(const facebook::react::ViewProps&); + + +constexpr bool facebook::react::detail::isHexDigit(char c); +constexpr bool facebook::react::detail::isValidHexColor(std::string_view hex); +constexpr float facebook::react::detail::hueToRgb(float p, float q, float t); +constexpr std::optional facebook::react::detail::normalizeNumberComponent(const std::variant& component); +constexpr uint8_t facebook::react::detail::clamp255Component(float f); +constexpr uint8_t facebook::react::detail::clampAlpha(std::optional alpha); +constexpr uint8_t facebook::react::detail::hexToNumeric(std::string_view hex, facebook::react::detail::HexColorType hexType); +float facebook::react::detail::normalizeHue(float hue); +std::optional facebook::react::detail::normalizeHueComponent(const std::variant& component); +std::tuple facebook::react::detail::hslToRgb(float h, float s, float l); +std::tuple facebook::react::detail::hwbToRgb(float h, float w, float b); +template +constexpr bool facebook::react::detail::isLegacyColorFunction(facebook::react::CSSValueParser& parser); +template +constexpr std::optional facebook::react::detail::parseLegacyRgbFunction(facebook::react::CSSValueParser& parser); +template +constexpr std::optional facebook::react::detail::parseModernRgbFunction(facebook::react::CSSValueParser& parser); +template +constexpr std::optional facebook::react::detail::parseRgbFunction(facebook::react::CSSValueParser& parser); +template +std::optional facebook::react::detail::parseHslFunction(facebook::react::CSSValueParser& parser); +template +std::optional facebook::react::detail::parseHwbFunction(facebook::react::CSSValueParser& parser); +template +std::optional facebook::react::detail::parseLegacyHslFunction(facebook::react::CSSValueParser& parser); +template +std::optional facebook::react::detail::parseModernHslFunction(facebook::react::CSSValueParser& parser); +template +constexpr std::optional facebook::react::detail::normalizeComponent(const std::variant& component, float baseValue); + +enum facebook::react::detail::HexColorType { + Long, + Short, +} + +template +struct facebook::react::detail::merge_data_types { + public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; +} + +template +struct facebook::react::detail::merge_data_types { + public using type = std::variant; +} + +template +struct facebook::react::detail::merge_data_types { +} + +template +struct facebook::react::detail::PreparedTextLayoutT { + public using type = typename T::PreparedTextLayout; +} + +template +struct facebook::react::detail::CSSVariantComponentTransformParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +template +struct facebook::react::detail::CSSAngleTransformParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +template +struct facebook::react::detail::CSSFilterSimpleAmountParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +template +struct facebook::react::detail::CSSNumberPercentTransformParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +template +struct facebook::react::detail::PreparedTextLayoutT { + public using type = std::nullptr_t; +} + +template +struct facebook::react::detail::is_variant_of_data_types : public std::false_type { +} + +template +class facebook::react::detail::TextLayoutManagerExtended { + public TextLayoutManagerExtended(const TextLayoutManagerT& textLayoutManager); + public facebook::react::LinesMeasurements measureLines(const facebook::react::AttributedStringBox& attributedStringBox, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::Size& size); + public facebook::react::TextMeasurement measurePreparedLayout(const facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout& layout, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout prepareLayout(const facebook::react::AttributedString& attributedString, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public static constexpr bool supportsLineMeasurement(); + public static constexpr bool supportsPreparedTextLayout(); + public using PreparedTextLayout = typename facebook::react::detail::PreparedTextLayoutT::type; +} + +template +struct facebook::react::detail::merge_variant { +} + +template +struct facebook::react::detail::merge_data_types, RestT...> { + public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; +} + +template +struct facebook::react::detail::merge_data_types, AlllowedType2T, RestT...> { + public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; +} + +template +struct facebook::react::detail::merge_variant, RestT...> { + public using type = std::variant; +} + +template +struct facebook::react::detail::merge_data_types> { + public using type = std::variant; +} + +template +struct facebook::react::detail::is_variant_of_data_types> : public std::false_type, public std::true_type { +} + +template +struct facebook::react::detail::merge_data_types, std::variant, RestT...> { + public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; +} + + +constexpr std::string_view facebook::react::detail::css::keywords::Absolute; +constexpr std::string_view facebook::react::detail::css::keywords::At; +constexpr std::string_view facebook::react::detail::css::keywords::Auto; +constexpr std::string_view facebook::react::detail::css::keywords::Baseline; +constexpr std::string_view facebook::react::detail::css::keywords::Block; +constexpr std::string_view facebook::react::detail::css::keywords::Bottom; +constexpr std::string_view facebook::react::detail::css::keywords::Center; +constexpr std::string_view facebook::react::detail::css::keywords::Clip; +constexpr std::string_view facebook::react::detail::css::keywords::Column; +constexpr std::string_view facebook::react::detail::css::keywords::ColumnReverse; +constexpr std::string_view facebook::react::detail::css::keywords::CommonLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::Content; +constexpr std::string_view facebook::react::detail::css::keywords::Contents; +constexpr std::string_view facebook::react::detail::css::keywords::Contextual; +constexpr std::string_view facebook::react::detail::css::keywords::Dashed; +constexpr std::string_view facebook::react::detail::css::keywords::DiscretionaryLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::Dotted; +constexpr std::string_view facebook::react::detail::css::keywords::Double; +constexpr std::string_view facebook::react::detail::css::keywords::End; +constexpr std::string_view facebook::react::detail::css::keywords::Fixed; +constexpr std::string_view facebook::react::detail::css::keywords::Flex; +constexpr std::string_view facebook::react::detail::css::keywords::FlexEnd; +constexpr std::string_view facebook::react::detail::css::keywords::FlexStart; +constexpr std::string_view facebook::react::detail::css::keywords::Grid; +constexpr std::string_view facebook::react::detail::css::keywords::Groove; +constexpr std::string_view facebook::react::detail::css::keywords::Hidden; +constexpr std::string_view facebook::react::detail::css::keywords::HistoricalLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::Inherit; +constexpr std::string_view facebook::react::detail::css::keywords::Initial; +constexpr std::string_view facebook::react::detail::css::keywords::Inline; +constexpr std::string_view facebook::react::detail::css::keywords::InlineBlock; +constexpr std::string_view facebook::react::detail::css::keywords::InlineFlex; +constexpr std::string_view facebook::react::detail::css::keywords::InlineGrid; +constexpr std::string_view facebook::react::detail::css::keywords::Inset; +constexpr std::string_view facebook::react::detail::css::keywords::Left; +constexpr std::string_view facebook::react::detail::css::keywords::LiningNums; +constexpr std::string_view facebook::react::detail::css::keywords::Ltr; +constexpr std::string_view facebook::react::detail::css::keywords::MaxContent; +constexpr std::string_view facebook::react::detail::css::keywords::Medium; +constexpr std::string_view facebook::react::detail::css::keywords::MinContent; +constexpr std::string_view facebook::react::detail::css::keywords::NoCommonLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::NoContextual; +constexpr std::string_view facebook::react::detail::css::keywords::NoDiscretionaryLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::NoHistoricalLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::NoWrap; +constexpr std::string_view facebook::react::detail::css::keywords::None; +constexpr std::string_view facebook::react::detail::css::keywords::Normal; +constexpr std::string_view facebook::react::detail::css::keywords::OldstyleNums; +constexpr std::string_view facebook::react::detail::css::keywords::Outset; +constexpr std::string_view facebook::react::detail::css::keywords::ProportionalNums; +constexpr std::string_view facebook::react::detail::css::keywords::Relative; +constexpr std::string_view facebook::react::detail::css::keywords::Ridge; +constexpr std::string_view facebook::react::detail::css::keywords::Right; +constexpr std::string_view facebook::react::detail::css::keywords::Row; +constexpr std::string_view facebook::react::detail::css::keywords::RowReverse; +constexpr std::string_view facebook::react::detail::css::keywords::Rtl; +constexpr std::string_view facebook::react::detail::css::keywords::Scroll; +constexpr std::string_view facebook::react::detail::css::keywords::SmallCaps; +constexpr std::string_view facebook::react::detail::css::keywords::Solid; +constexpr std::string_view facebook::react::detail::css::keywords::SpaceAround; +constexpr std::string_view facebook::react::detail::css::keywords::SpaceBetween; +constexpr std::string_view facebook::react::detail::css::keywords::SpaceEvenly; +constexpr std::string_view facebook::react::detail::css::keywords::Start; +constexpr std::string_view facebook::react::detail::css::keywords::Static; +constexpr std::string_view facebook::react::detail::css::keywords::Sticky; +constexpr std::string_view facebook::react::detail::css::keywords::Stretch; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticEight; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticEighteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticEleven; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticFifteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticFive; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticFour; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticFourteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticNine; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticNineteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticOne; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticSeven; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticSeventeen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticSix; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticSixteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticTen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticThirteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticThree; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwelve; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwenty; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwo; +constexpr std::string_view facebook::react::detail::css::keywords::TabularNums; +constexpr std::string_view facebook::react::detail::css::keywords::Thick; +constexpr std::string_view facebook::react::detail::css::keywords::Thin; +constexpr std::string_view facebook::react::detail::css::keywords::To; +constexpr std::string_view facebook::react::detail::css::keywords::Top; +constexpr std::string_view facebook::react::detail::css::keywords::Unset; +constexpr std::string_view facebook::react::detail::css::keywords::Visible; +constexpr std::string_view facebook::react::detail::css::keywords::Wrap; +constexpr std::string_view facebook::react::detail::css::keywords::WrapReverse; +template +concept facebook::react::detail::css::keywords::hasAbsolute = (CSSKeywordSet && requires() { T::Absolute; }); +template +concept facebook::react::detail::css::keywords::hasAt = (CSSKeywordSet && requires() { T::At; }); +template +concept facebook::react::detail::css::keywords::hasAuto = (CSSKeywordSet && requires() { T::Auto; }); +template +concept facebook::react::detail::css::keywords::hasBaseline = (CSSKeywordSet && requires() { T::Baseline; }); +template +concept facebook::react::detail::css::keywords::hasBlock = (CSSKeywordSet && requires() { T::Block; }); +template +concept facebook::react::detail::css::keywords::hasBottom = (CSSKeywordSet && requires() { T::Bottom; }); +template +concept facebook::react::detail::css::keywords::hasCenter = (CSSKeywordSet && requires() { T::Center; }); +template +concept facebook::react::detail::css::keywords::hasClip = (CSSKeywordSet && requires() { T::Clip; }); +template +concept facebook::react::detail::css::keywords::hasColumn = (CSSKeywordSet && requires() { T::Column; }); +template +concept facebook::react::detail::css::keywords::hasColumnReverse = (CSSKeywordSet && requires() { T::ColumnReverse; }); +template +concept facebook::react::detail::css::keywords::hasCommonLigatures = (CSSKeywordSet && requires() { T::CommonLigatures; }); +template +concept facebook::react::detail::css::keywords::hasContent = (CSSKeywordSet && requires() { T::Content; }); +template +concept facebook::react::detail::css::keywords::hasContents = (CSSKeywordSet && requires() { T::Contents; }); +template +concept facebook::react::detail::css::keywords::hasContextual = (CSSKeywordSet && requires() { T::Contextual; }); +template +concept facebook::react::detail::css::keywords::hasDashed = (CSSKeywordSet && requires() { T::Dashed; }); +template +concept facebook::react::detail::css::keywords::hasDiscretionaryLigatures = (CSSKeywordSet && requires() { T::DiscretionaryLigatures; }); +template +concept facebook::react::detail::css::keywords::hasDotted = (CSSKeywordSet && requires() { T::Dotted; }); +template +concept facebook::react::detail::css::keywords::hasDouble = (CSSKeywordSet && requires() { T::Double; }); +template +concept facebook::react::detail::css::keywords::hasEnd = (CSSKeywordSet && requires() { T::End; }); +template +concept facebook::react::detail::css::keywords::hasFixed = (CSSKeywordSet && requires() { T::Fixed; }); +template +concept facebook::react::detail::css::keywords::hasFlex = (CSSKeywordSet && requires() { T::Flex; }); +template +concept facebook::react::detail::css::keywords::hasFlexEnd = (CSSKeywordSet && requires() { T::FlexEnd; }); +template +concept facebook::react::detail::css::keywords::hasFlexStart = (CSSKeywordSet && requires() { T::FlexStart; }); +template +concept facebook::react::detail::css::keywords::hasGrid = (CSSKeywordSet && requires() { T::Grid; }); +template +concept facebook::react::detail::css::keywords::hasGroove = (CSSKeywordSet && requires() { T::Groove; }); +template +concept facebook::react::detail::css::keywords::hasHidden = (CSSKeywordSet && requires() { T::Hidden; }); +template +concept facebook::react::detail::css::keywords::hasHistoricalLigatures = (CSSKeywordSet && requires() { T::HistoricalLigatures; }); +template +concept facebook::react::detail::css::keywords::hasInherit = (CSSKeywordSet && requires() { T::Inherit; }); +template +concept facebook::react::detail::css::keywords::hasInitial = (CSSKeywordSet && requires() { T::Initial; }); +template +concept facebook::react::detail::css::keywords::hasInline = (CSSKeywordSet && requires() { T::Inline; }); +template +concept facebook::react::detail::css::keywords::hasInlineBlock = (CSSKeywordSet && requires() { T::InlineBlock; }); +template +concept facebook::react::detail::css::keywords::hasInlineFlex = (CSSKeywordSet && requires() { T::InlineFlex; }); +template +concept facebook::react::detail::css::keywords::hasInlineGrid = (CSSKeywordSet && requires() { T::InlineGrid; }); +template +concept facebook::react::detail::css::keywords::hasInset = (CSSKeywordSet && requires() { T::Inset; }); +template +concept facebook::react::detail::css::keywords::hasLeft = (CSSKeywordSet && requires() { T::Left; }); +template +concept facebook::react::detail::css::keywords::hasLiningNums = (CSSKeywordSet && requires() { T::LiningNums; }); +template +concept facebook::react::detail::css::keywords::hasLtr = (CSSKeywordSet && requires() { T::Ltr; }); +template +concept facebook::react::detail::css::keywords::hasMaxContent = (CSSKeywordSet && requires() { T::MaxContent; }); +template +concept facebook::react::detail::css::keywords::hasMedium = (CSSKeywordSet && requires() { T::Medium; }); +template +concept facebook::react::detail::css::keywords::hasMinContent = (CSSKeywordSet && requires() { T::MinContent; }); +template +concept facebook::react::detail::css::keywords::hasNoCommonLigatures = (CSSKeywordSet && requires() { T::NoCommonLigatures; }); +template +concept facebook::react::detail::css::keywords::hasNoContextual = (CSSKeywordSet && requires() { T::NoContextual; }); +template +concept facebook::react::detail::css::keywords::hasNoDiscretionaryLigatures = (CSSKeywordSet && requires() { T::NoDiscretionaryLigatures; }); +template +concept facebook::react::detail::css::keywords::hasNoHistoricalLigatures = (CSSKeywordSet && requires() { T::NoHistoricalLigatures; }); +template +concept facebook::react::detail::css::keywords::hasNoWrap = (CSSKeywordSet && requires() { T::NoWrap; }); +template +concept facebook::react::detail::css::keywords::hasNone = (CSSKeywordSet && requires() { T::None; }); +template +concept facebook::react::detail::css::keywords::hasNormal = (CSSKeywordSet && requires() { T::Normal; }); +template +concept facebook::react::detail::css::keywords::hasOldstyleNums = (CSSKeywordSet && requires() { T::OldstyleNums; }); +template +concept facebook::react::detail::css::keywords::hasOutset = (CSSKeywordSet && requires() { T::Outset; }); +template +concept facebook::react::detail::css::keywords::hasProportionalNums = (CSSKeywordSet && requires() { T::ProportionalNums; }); +template +concept facebook::react::detail::css::keywords::hasRelative = (CSSKeywordSet && requires() { T::Relative; }); +template +concept facebook::react::detail::css::keywords::hasRidge = (CSSKeywordSet && requires() { T::Ridge; }); +template +concept facebook::react::detail::css::keywords::hasRight = (CSSKeywordSet && requires() { T::Right; }); +template +concept facebook::react::detail::css::keywords::hasRow = (CSSKeywordSet && requires() { T::Row; }); +template +concept facebook::react::detail::css::keywords::hasRowReverse = (CSSKeywordSet && requires() { T::RowReverse; }); +template +concept facebook::react::detail::css::keywords::hasRtl = (CSSKeywordSet && requires() { T::Rtl; }); +template +concept facebook::react::detail::css::keywords::hasScroll = (CSSKeywordSet && requires() { T::Scroll; }); +template +concept facebook::react::detail::css::keywords::hasSmallCaps = (CSSKeywordSet && requires() { T::SmallCaps; }); +template +concept facebook::react::detail::css::keywords::hasSolid = (CSSKeywordSet && requires() { T::Solid; }); +template +concept facebook::react::detail::css::keywords::hasSpaceAround = (CSSKeywordSet && requires() { T::SpaceAround; }); +template +concept facebook::react::detail::css::keywords::hasSpaceBetween = (CSSKeywordSet && requires() { T::SpaceBetween; }); +template +concept facebook::react::detail::css::keywords::hasSpaceEvenly = (CSSKeywordSet && requires() { T::SpaceEvenly; }); +template +concept facebook::react::detail::css::keywords::hasStart = (CSSKeywordSet && requires() { T::Start; }); +template +concept facebook::react::detail::css::keywords::hasStatic = (CSSKeywordSet && requires() { T::Static; }); +template +concept facebook::react::detail::css::keywords::hasSticky = (CSSKeywordSet && requires() { T::Sticky; }); +template +concept facebook::react::detail::css::keywords::hasStretch = (CSSKeywordSet && requires() { T::Stretch; }); +template +concept facebook::react::detail::css::keywords::hasStylisticEight = (CSSKeywordSet && requires() { T::StylisticEight; }); +template +concept facebook::react::detail::css::keywords::hasStylisticEighteen = (CSSKeywordSet && requires() { T::StylisticEighteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticEleven = (CSSKeywordSet && requires() { T::StylisticEleven; }); +template +concept facebook::react::detail::css::keywords::hasStylisticFifteen = (CSSKeywordSet && requires() { T::StylisticFifteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticFive = (CSSKeywordSet && requires() { T::StylisticFive; }); +template +concept facebook::react::detail::css::keywords::hasStylisticFour = (CSSKeywordSet && requires() { T::StylisticFour; }); +template +concept facebook::react::detail::css::keywords::hasStylisticFourteen = (CSSKeywordSet && requires() { T::StylisticFourteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticNine = (CSSKeywordSet && requires() { T::StylisticNine; }); +template +concept facebook::react::detail::css::keywords::hasStylisticNineteen = (CSSKeywordSet && requires() { T::StylisticNineteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticOne = (CSSKeywordSet && requires() { T::StylisticOne; }); +template +concept facebook::react::detail::css::keywords::hasStylisticSeven = (CSSKeywordSet && requires() { T::StylisticSeven; }); +template +concept facebook::react::detail::css::keywords::hasStylisticSeventeen = (CSSKeywordSet && requires() { T::StylisticSeventeen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticSix = (CSSKeywordSet && requires() { T::StylisticSix; }); +template +concept facebook::react::detail::css::keywords::hasStylisticSixteen = (CSSKeywordSet && requires() { T::StylisticSixteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticTen = (CSSKeywordSet && requires() { T::StylisticTen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticThirteen = (CSSKeywordSet && requires() { T::StylisticThirteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticThree = (CSSKeywordSet && requires() { T::StylisticThree; }); +template +concept facebook::react::detail::css::keywords::hasStylisticTwelve = (CSSKeywordSet && requires() { T::StylisticTwelve; }); +template +concept facebook::react::detail::css::keywords::hasStylisticTwenty = (CSSKeywordSet && requires() { T::StylisticTwenty; }); +template +concept facebook::react::detail::css::keywords::hasStylisticTwo = (CSSKeywordSet && requires() { T::StylisticTwo; }); +template +concept facebook::react::detail::css::keywords::hasTabularNums = (CSSKeywordSet && requires() { T::TabularNums; }); +template +concept facebook::react::detail::css::keywords::hasThick = (CSSKeywordSet && requires() { T::Thick; }); +template +concept facebook::react::detail::css::keywords::hasThin = (CSSKeywordSet && requires() { T::Thin; }); +template +concept facebook::react::detail::css::keywords::hasTo = (CSSKeywordSet && requires() { T::To; }); +template +concept facebook::react::detail::css::keywords::hasTop = (CSSKeywordSet && requires() { T::Top; }); +template +concept facebook::react::detail::css::keywords::hasUnset = (CSSKeywordSet && requires() { T::Unset; }); +template +concept facebook::react::detail::css::keywords::hasVisible = (CSSKeywordSet && requires() { T::Visible; }); +template +concept facebook::react::detail::css::keywords::hasWrap = (CSSKeywordSet && requires() { T::Wrap; }); +template +concept facebook::react::detail::css::keywords::hasWrapReverse = (CSSKeywordSet && requires() { T::WrapReverse; }); + + +constexpr size_t facebook::react::jsinspector_modern::REQUEST_BUFFER_MAX_SIZE_BYTES; +template +using facebook::react::jsinspector_modern::ScopedExecutor = std::function&& callback)>; +typedef std::function facebook::react::jsinspector_modern::FrontendChannel; +typedef std::map facebook::react::jsinspector_modern::Headers; +using facebook::react::jsinspector_modern::ExecutionContextSelectorSet = std::unordered_set; +using facebook::react::jsinspector_modern::IOReadError = const std::string; +using facebook::react::jsinspector_modern::InspectorPage = facebook::react::jsinspector_modern::InspectorPageDescription; +using facebook::react::jsinspector_modern::StreamID = const std::string; +using facebook::react::jsinspector_modern::VoidExecutor = std::function&& callback)>; +bool facebook::react::jsinspector_modern::matchesAny(const facebook::react::jsinspector_modern::ExecutionContextDescription& context, const facebook::react::jsinspector_modern::ExecutionContextSelectorSet& selectors); +facebook::react::jsinspector_modern::IInspector& facebook::react::jsinspector_modern::getInspectorInstance(); +folly::dynamic facebook::react::jsinspector_modern::createHostMetadataPayload(const facebook::react::jsinspector_modern::HostTargetMetadata& metadata); +folly::dynamic facebook::react::jsinspector_modern::targetCapabilitiesToDynamic(const facebook::react::jsinspector_modern::InspectorTargetCapabilities& capabilities); +std::string facebook::react::jsinspector_modern::httpReasonPhrase(uint16_t status); +std::string facebook::react::jsinspector_modern::mimeTypeFromHeaders(const facebook::react::jsinspector_modern::Headers& headers); +std::unique_ptr facebook::react::jsinspector_modern::makeTestInspectorInstance(); +template +void facebook::react::jsinspector_modern::emitNotificationsForTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const ChannelsRange& channels, bool isBackgroundTrace); +template +facebook::react::jsinspector_modern::ScopedExecutor facebook::react::jsinspector_modern::makeScopedExecutor(std::shared_ptr self, facebook::react::jsinspector_modern::ScopedExecutor executor); +template +facebook::react::jsinspector_modern::ScopedExecutor facebook::react::jsinspector_modern::makeScopedExecutor(std::shared_ptr self, facebook::react::jsinspector_modern::VoidExecutor executor); +template +facebook::react::jsinspector_modern::VoidExecutor facebook::react::jsinspector_modern::makeVoidExecutor(facebook::react::jsinspector_modern::ScopedExecutor executor); +void facebook::react::jsinspector_modern::emitGlobalStateObserverChange(facebook::jsi::Runtime& runtime, const char* globalName, const char* callbackName, bool value); +void facebook::react::jsinspector_modern::emitNotificationsForTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const facebook::react::jsinspector_modern::FrontendChannel& channel, bool isBackgroundTrace); +void facebook::react::jsinspector_modern::emitTracingStateObserverChange(facebook::jsi::Runtime& runtime, bool isTracing); +void facebook::react::jsinspector_modern::installGlobalStateObserver(facebook::jsi::Runtime& runtime, const char* globalName, const char* statusProperty, const char* callbackName); +void facebook::react::jsinspector_modern::installTracingStateObserver(facebook::jsi::Runtime& runtime); +void facebook::react::jsinspector_modern::truncateToValidUTF8(std::vector& buffer); + +class facebook::react::jsinspector_modern::BoundedRequestBuffer { + public bool put(const std::string& requestId, std::string_view data, bool base64Encoded) noexcept; + public std::shared_ptr get(const std::string& requestId) const; + public void clear(); +} + +struct facebook::react::jsinspector_modern::BoundedRequestBuffer::ResponseBody { + public bool base64Encoded; + public std::string data; +} + +class facebook::react::jsinspector_modern::CallbackLocalConnection : public facebook::react::jsinspector_modern::ILocalConnection { + public CallbackLocalConnection(std::function handler); + public virtual void disconnect() override; + public virtual void sendMessage(std::string message) override; +} + +class facebook::react::jsinspector_modern::CallbackRemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { + public CallbackRemoteConnection(std::function handler); + public virtual void onDisconnect() override; + public virtual void onMessage(std::string message) override; +} + +class facebook::react::jsinspector_modern::ConsoleTask { + public ConsoleTask(const facebook::react::jsinspector_modern::ConsoleTask&) = default; + public ConsoleTask(facebook::react::jsinspector_modern::ConsoleTask&&) = default; + public ConsoleTask(std::shared_ptr taskContext); + public facebook::react::jsinspector_modern::ConsoleTask& operator=(const facebook::react::jsinspector_modern::ConsoleTask&) = delete; + public facebook::react::jsinspector_modern::ConsoleTask& operator=(facebook::react::jsinspector_modern::ConsoleTask&&) = delete; + public ~ConsoleTask(); +} + +class facebook::react::jsinspector_modern::ConsoleTaskContext : public std::enable_shared_from_this { + public ConsoleTaskContext(const facebook::react::jsinspector_modern::ConsoleTaskContext&) = delete; + public ConsoleTaskContext(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::RuntimeTargetDelegate& runtimeTargetDelegate, std::string name); + public ConsoleTaskContext(facebook::react::jsinspector_modern::ConsoleTaskContext&&) = delete; + public facebook::react::jsinspector_modern::ConsoleTaskContext& operator=(const facebook::react::jsinspector_modern::ConsoleTaskContext&) = delete; + public facebook::react::jsinspector_modern::ConsoleTaskContext& operator=(facebook::react::jsinspector_modern::ConsoleTaskContext&&) = delete; + public facebook::react::jsinspector_modern::ConsoleTaskId id() const; + public std::optional getSerializedStackTrace() const; + public void schedule(); + public ~ConsoleTaskContext(); +} + +class facebook::react::jsinspector_modern::ConsoleTaskId { + public ConsoleTaskId() = default; + public ConsoleTaskId(const facebook::react::jsinspector_modern::ConsoleTaskId&) = default; + public ConsoleTaskId(facebook::react::jsinspector_modern::ConsoleTaskId&&) = default; + public bool operator==(const facebook::react::jsinspector_modern::ConsoleTaskId&) const = default; + public facebook::react::jsinspector_modern::ConsoleTaskId& operator=(const facebook::react::jsinspector_modern::ConsoleTaskId&) = default; + public facebook::react::jsinspector_modern::ConsoleTaskId& operator=(facebook::react::jsinspector_modern::ConsoleTaskId&&) = default; + public operator bool() const; + public operator void *() const; + public ~ConsoleTaskId() = default; +} + +class facebook::react::jsinspector_modern::ConsoleTaskOrchestrator { + public ConsoleTaskOrchestrator(const facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&) = delete; + public ConsoleTaskOrchestrator(facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&&) = delete; + public facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& operator=(const facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&) = delete; + public facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& operator=(facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&&) = delete; + public static facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& getInstance(); + public std::shared_ptr top() const; + public void cancelTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); + public void finishTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); + public void scheduleTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId, std::weak_ptr taskContext); + public void startTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); + public ~ConsoleTaskOrchestrator() = default; +} + +class facebook::react::jsinspector_modern::ExecutionContextManager { + public int32_t allocateExecutionContextId(); +} + +class facebook::react::jsinspector_modern::ExecutionContextSelector { + public ExecutionContextSelector() = delete; + public ExecutionContextSelector(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) = default; + public ExecutionContextSelector(facebook::react::jsinspector_modern::ExecutionContextSelector&& other) noexcept = default; + public bool matches(const facebook::react::jsinspector_modern::ExecutionContextDescription& context) const noexcept; + public bool operator==(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) const noexcept; + public facebook::react::jsinspector_modern::ExecutionContextSelector& operator=(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) = default; + public facebook::react::jsinspector_modern::ExecutionContextSelector& operator=(facebook::react::jsinspector_modern::ExecutionContextSelector&& other) noexcept = default; + public static facebook::react::jsinspector_modern::ExecutionContextSelector all(); + public static facebook::react::jsinspector_modern::ExecutionContextSelector byId(int32_t id); + public static facebook::react::jsinspector_modern::ExecutionContextSelector byName(std::string name); + public ~ExecutionContextSelector() = default; +} + +class facebook::react::jsinspector_modern::FallbackRuntimeAgentDelegate : public facebook::react::jsinspector_modern::RuntimeAgentDelegate { + public FallbackRuntimeAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, const facebook::react::jsinspector_modern::SessionState& sessionState, std::string engineDescription); + public virtual bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req) override; +} + +class facebook::react::jsinspector_modern::FallbackRuntimeTargetDelegate : public facebook::react::jsinspector_modern::RuntimeTargetDelegate { + public FallbackRuntimeTargetDelegate(std::string engineDescription); + public virtual bool supportsConsole() const override; + public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() override; + public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) override; + public virtual std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel channel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) override; + public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip) override; + public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) override; + public virtual void disableSamplingProfiler() override; + public virtual void enableSamplingProfiler() override; +} + +class facebook::react::jsinspector_modern::HermesRuntimeTargetDelegate : public facebook::react::jsinspector_modern::RuntimeTargetDelegate { + public HermesRuntimeTargetDelegate(std::shared_ptr runtime, hermes::HermesRuntime& hermesRuntime); + public std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) override; + public virtual bool supportsConsole() const override; + public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() override; + public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) override; + public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip) override; + public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) override; + public virtual void disableSamplingProfiler() override; + public virtual void enableSamplingProfiler() override; + public ~HermesRuntimeTargetDelegate() override; +} + +class facebook::react::jsinspector_modern::HostAgent { + public HostAgent(const facebook::react::jsinspector_modern::FrontendChannel& frontendChannel, facebook::react::jsinspector_modern::HostTargetController& targetController, facebook::react::jsinspector_modern::HostTargetMetadata hostMetadata, facebook::react::jsinspector_modern::SessionState& sessionState, facebook::react::jsinspector_modern::VoidExecutor executor); + public HostAgent(const facebook::react::jsinspector_modern::HostAgent&) = delete; + public HostAgent(facebook::react::jsinspector_modern::HostAgent&&) = delete; + public bool isEligibleForBackgroundTrace() const; + public facebook::react::jsinspector_modern::HostAgent& operator=(const facebook::react::jsinspector_modern::HostAgent&) = delete; + public facebook::react::jsinspector_modern::HostAgent& operator=(facebook::react::jsinspector_modern::HostAgent&&) = delete; + public void emitSystemStateChanged(bool isSingleHost); + public void handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); + public void setCurrentInstanceAgent(std::shared_ptr agent); + public ~HostAgent(); +} + +class facebook::react::jsinspector_modern::HostTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { + public HostTarget(const facebook::react::jsinspector_modern::HostTarget&) = delete; + public HostTarget(facebook::react::jsinspector_modern::HostTarget&&) = delete; + public bool startTracing(facebook::react::jsinspector_modern::tracing::Mode mode, std::set enabledCategories); + public bool stopAndMaybeEmitBackgroundTrace(); + public facebook::react::jsinspector_modern::HostTarget& operator=(const facebook::react::jsinspector_modern::HostTarget&) = delete; + public facebook::react::jsinspector_modern::HostTarget& operator=(facebook::react::jsinspector_modern::HostTarget&&) = delete; + public facebook::react::jsinspector_modern::InstanceTarget& registerInstance(facebook::react::jsinspector_modern::InstanceTargetDelegate& delegate); + public facebook::react::jsinspector_modern::tracing::HostTracingProfile stopTracing(); + public static std::shared_ptr create(facebook::react::jsinspector_modern::HostTargetDelegate& delegate, facebook::react::jsinspector_modern::VoidExecutor executor); + public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public std::unique_ptr connect(std::unique_ptr connectionToFrontend); + public void recordFrameTimings(facebook::react::jsinspector_modern::tracing::FrameTimingSequence frameTimingSequence); + public void sendCommand(facebook::react::jsinspector_modern::HostCommand command); + public void unregisterInstance(facebook::react::jsinspector_modern::InstanceTarget& instance); + public ~HostTarget(); +} + +class facebook::react::jsinspector_modern::HostTargetController { + public HostTargetController(facebook::react::jsinspector_modern::HostTarget& target); + public bool decrementPauseOverlayCounter(); + public bool hasInstance() const; + public bool maybeEmitStashedBackgroundTrace(); + public bool startTracing(facebook::react::jsinspector_modern::tracing::Mode mode, std::set enabledCategories); + public facebook::react::jsinspector_modern::HostTargetDelegate& getDelegate(); + public facebook::react::jsinspector_modern::tracing::HostTracingProfile stopTracing(); + public void incrementPauseOverlayCounter(); + public void installPerfIssuesBinding(); +} + +class facebook::react::jsinspector_modern::HostTargetDelegate : public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate { + public HostTargetDelegate() = default; + public HostTargetDelegate(const facebook::react::jsinspector_modern::HostTargetDelegate&) = delete; + public HostTargetDelegate(facebook::react::jsinspector_modern::HostTargetDelegate&&) = delete; + public facebook::react::jsinspector_modern::HostTargetDelegate& operator=(const facebook::react::jsinspector_modern::HostTargetDelegate&) = delete; + public facebook::react::jsinspector_modern::HostTargetDelegate& operator=(facebook::react::jsinspector_modern::HostTargetDelegate&&) = delete; + public virtual facebook::react::jsinspector_modern::HostTargetMetadata getMetadata() = 0; + public virtual facebook::react::jsinspector_modern::HostTargetTracingDelegate* getTracingDelegate(); + public virtual void loadNetworkResource(const facebook::react::jsinspector_modern::LoadNetworkResourceRequest&, facebook::react::jsinspector_modern::ScopedExecutor) override; + public virtual void onReload(const facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest& request) = 0; + public virtual void onSetPausedInDebuggerMessage(const facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest& request) = 0; + public virtual void unstable_onPerfIssueAdded(const facebook::react::jsinspector_modern::PerfIssuePayload&); + public virtual ~HostTargetDelegate() override; +} + +struct facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest { + public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest& rhs) const; + public std::optional message; +} + +struct facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest { + public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest& rhs) const; + public std::optional ignoreCache; + public std::optional scriptToEvaluateOnLoad; +} + +class facebook::react::jsinspector_modern::HostTargetTraceRecording { + public HostTargetTraceRecording(facebook::react::jsinspector_modern::HostTarget& hostTarget, facebook::react::jsinspector_modern::tracing::Mode tracingMode, std::set enabledCategories, std::optional windowSize = std::nullopt); + public bool isBackgroundInitiated() const; + public bool isUserInitiated() const; + public facebook::react::jsinspector_modern::tracing::HostTracingProfile stop(); + public void recordFrameTimings(facebook::react::jsinspector_modern::tracing::FrameTimingSequence frameTimingSequence); + public void setTracedInstance(facebook::react::jsinspector_modern::InstanceTarget* instanceTarget); + public void start(); +} + +class facebook::react::jsinspector_modern::HostTargetTracingDelegate { + public HostTargetTracingDelegate() = default; + public HostTargetTracingDelegate(const facebook::react::jsinspector_modern::HostTargetTracingDelegate&) = delete; + public HostTargetTracingDelegate(facebook::react::jsinspector_modern::HostTargetTracingDelegate&&) = delete; + public facebook::react::jsinspector_modern::HostTargetTracingDelegate& operator=(const facebook::react::jsinspector_modern::HostTargetTracingDelegate&) = delete; + public facebook::react::jsinspector_modern::HostTargetTracingDelegate& operator=(facebook::react::jsinspector_modern::HostTargetTracingDelegate&&) = delete; + public virtual void onTracingStarted(facebook::react::jsinspector_modern::tracing::Mode, bool); + public virtual void onTracingStopped(); + public virtual ~HostTargetTracingDelegate() = default; +} + +class facebook::react::jsinspector_modern::HostTracingAgent { + public HostTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public void setTracedInstance(facebook::react::jsinspector_modern::InstanceTarget* instanceTarget); +} + +class facebook::react::jsinspector_modern::IDestructible { + public virtual ~IDestructible() = 0; +} + +class facebook::react::jsinspector_modern::IInspector : public facebook::react::jsinspector_modern::IDestructible { + public using ConnectFunc = std::function(std::unique_ptr)>; + public virtual facebook::react::jsinspector_modern::InspectorSystemState getSystemState() const = 0; + public virtual int addPage(const std::string& description, const std::string& vm, facebook::react::jsinspector_modern::IInspector::ConnectFunc connectFunc, facebook::react::jsinspector_modern::InspectorTargetCapabilities capabilities = {}) = 0; + public virtual std::unique_ptr connect(int pageId, std::unique_ptr remote) = 0; + public virtual std::vector getPages() const = 0; + public virtual void registerPageStatusListener(std::weak_ptr listener) = 0; + public virtual void removePage(int pageId) = 0; + public virtual ~IInspector() = 0; +} + +class facebook::react::jsinspector_modern::ILocalConnection : public facebook::react::jsinspector_modern::IDestructible { + public virtual void disconnect() = 0; + public virtual void sendMessage(std::string message) = 0; + public virtual ~ILocalConnection() = 0; +} + +class facebook::react::jsinspector_modern::IPageStatusListener : public facebook::react::jsinspector_modern::IDestructible { + public virtual void onPageRemoved(int); + public virtual void unstable_onHostTargetAdded(); + public virtual ~IPageStatusListener() = 0; +} + +class facebook::react::jsinspector_modern::IRemoteConnection : public facebook::react::jsinspector_modern::IDestructible { + public virtual void onDisconnect() = 0; + public virtual void onMessage(std::string message) = 0; + public virtual ~IRemoteConnection() = 0; +} + +class facebook::react::jsinspector_modern::IWebSocket { + public virtual void send(std::string_view message) = 0; + public virtual ~IWebSocket() = default; +} + +class facebook::react::jsinspector_modern::IWebSocketDelegate { + public virtual void didClose() = 0; + public virtual void didFailWithError(std::optional posixCode, std::string error) = 0; + public virtual void didOpen() = 0; + public virtual void didReceiveMessage(std::string_view message) = 0; + public virtual ~IWebSocketDelegate() = default; +} + +class facebook::react::jsinspector_modern::InspectorFlags { + public bool getAssertSingleHostState() const; + public bool getFrameRecordingEnabled() const; + public bool getFuseboxEnabled() const; + public bool getIsProfilingBuild() const; + public bool getNetworkInspectionEnabled() const; + public bool getPerfIssuesEnabled() const; + public static facebook::react::jsinspector_modern::InspectorFlags& getInstance(); + public void dangerouslyDisableFuseboxForTest(); + public void dangerouslyResetFlags(); +} + +class facebook::react::jsinspector_modern::InspectorPackagerConnection { + public InspectorPackagerConnection(std::string url, std::string deviceName, std::string appName, std::unique_ptr delegate); + public bool isConnected() const; + public void closeQuietly(); + public void connect(); + public void sendEventToAllConnections(std::string event); +} + +class facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl : public facebook::react::jsinspector_modern::IWebSocketDelegate, public facebook::react::jsinspector_modern::IPageStatusListener, public std::enable_shared_from_this { + public bool isConnected() const; + public static std::shared_ptr create(std::string url, std::string deviceName, std::string appName, std::unique_ptr delegate); + public using SessionId = uint32_t; + public void closeQuietly(); + public void connect(); + public void scheduleSendToPackager(folly::dynamic message, facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::SessionId sourceSessionId, const std::string& sourcePageId, const std::string& sourceProxySessionId); + public void sendEventToAllConnections(const std::string& event); +} + +class facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::RemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { + public RemoteConnection(std::weak_ptr owningPackagerConnection, std::string pageId, facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::SessionId sessionId, std::string proxySessionId); + public virtual void onDisconnect() override; + public virtual void onMessage(std::string message) override; +} + +class facebook::react::jsinspector_modern::InspectorPackagerConnectionDelegate { + public virtual std::unique_ptr connectWebSocket(const std::string& url, std::weak_ptr delegate) = 0; + public virtual void scheduleCallback(std::function callback, std::chrono::milliseconds delayMs) = 0; + public virtual ~InspectorPackagerConnectionDelegate() = default; +} + +class facebook::react::jsinspector_modern::InstanceAgent { + public InstanceAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::InstanceTarget& target, facebook::react::jsinspector_modern::SessionState& sessionState); + public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); + public void sendConsoleMessage(facebook::react::jsinspector_modern::SimpleConsoleMessage message); + public void setCurrentRuntime(facebook::react::jsinspector_modern::RuntimeTarget* runtime); +} + +class facebook::react::jsinspector_modern::InstanceTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { + public InstanceTarget(const facebook::react::jsinspector_modern::InstanceTarget&) = delete; + public InstanceTarget(facebook::react::jsinspector_modern::InstanceTarget&&) = delete; + public facebook::react::jsinspector_modern::InstanceTarget& operator=(const facebook::react::jsinspector_modern::InstanceTarget&) = delete; + public facebook::react::jsinspector_modern::InstanceTarget& operator=(facebook::react::jsinspector_modern::InstanceTarget&&) = delete; + public facebook::react::jsinspector_modern::RuntimeTarget& registerRuntime(facebook::react::jsinspector_modern::RuntimeTargetDelegate& delegate, facebook::react::RuntimeExecutor executor); + public static std::shared_ptr create(std::shared_ptr executionContextManager, facebook::react::jsinspector_modern::InstanceTargetDelegate& delegate, facebook::react::jsinspector_modern::VoidExecutor executor); + public std::shared_ptr createAgent(const facebook::react::jsinspector_modern::FrontendChannel& channel, facebook::react::jsinspector_modern::SessionState& sessionState); + public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public void unregisterRuntime(facebook::react::jsinspector_modern::RuntimeTarget& runtime); + public ~InstanceTarget(); +} + +class facebook::react::jsinspector_modern::InstanceTargetDelegate { + public InstanceTargetDelegate() = default; + public InstanceTargetDelegate(const facebook::react::jsinspector_modern::InstanceTargetDelegate&) = delete; + public InstanceTargetDelegate(facebook::react::jsinspector_modern::InstanceTargetDelegate&&) = delete; + public facebook::react::jsinspector_modern::InstanceTargetDelegate& operator=(const facebook::react::jsinspector_modern::InstanceTargetDelegate&) = delete; + public facebook::react::jsinspector_modern::InstanceTargetDelegate& operator=(facebook::react::jsinspector_modern::InstanceTargetDelegate&&) = delete; + public virtual ~InstanceTargetDelegate(); +} + +class facebook::react::jsinspector_modern::InstanceTracingAgent { + public InstanceTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public void setTracedRuntime(facebook::react::jsinspector_modern::RuntimeTarget* runtimeTarget); + public ~InstanceTracingAgent(); +} + +class facebook::react::jsinspector_modern::LoadNetworkResourceDelegate { + public LoadNetworkResourceDelegate() = default; + public LoadNetworkResourceDelegate(const facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&) = delete; + public LoadNetworkResourceDelegate(facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&&) noexcept = delete; + public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& operator=(const facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&) = delete; + public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& operator=(facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&&) noexcept = delete; + public virtual void loadNetworkResource(const facebook::react::jsinspector_modern::LoadNetworkResourceRequest& params, facebook::react::jsinspector_modern::ScopedExecutor executor) = 0; + public virtual ~LoadNetworkResourceDelegate() = default; +} + +class facebook::react::jsinspector_modern::NetworkHandler { + public bool isEnabled() const; + public size_t enableAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel); + public static facebook::react::jsinspector_modern::NetworkHandler& getInstance(); + public std::optional> getResponseBody(const std::string& requestId); + public void disableAgent(size_t agentId); + public void onDataReceived(const std::string& requestId, int dataLength, int encodedDataLength); + public void onLoadingFailed(const std::string& requestId, bool cancelled); + public void onLoadingFinished(const std::string& requestId, int encodedDataLength); + public void onRequestWillBeSent(const std::string& requestId, const facebook::react::jsinspector_modern::cdp::network::Request& request, const std::optional& redirectResponse); + public void onRequestWillBeSentExtraInfo(const std::string& requestId, const facebook::react::jsinspector_modern::Headers& headers); + public void onResponseReceived(const std::string& requestId, const facebook::react::jsinspector_modern::cdp::network::Response& response); + public void recordRequestInitiatorStack(const std::string& requestId, folly::dynamic stackTrace); + public void storeResponseBody(const std::string& requestId, std::string_view body, bool base64Encoded); +} + +class facebook::react::jsinspector_modern::NetworkIOAgent { + public NetworkIOAgent(const facebook::react::jsinspector_modern::NetworkIOAgent&) = delete; + public NetworkIOAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::VoidExecutor executor); + public NetworkIOAgent(facebook::react::jsinspector_modern::NetworkIOAgent&&) = delete; + public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req, facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& delegate); + public facebook::react::jsinspector_modern::NetworkIOAgent& operator=(const facebook::react::jsinspector_modern::NetworkIOAgent&) = delete; + public facebook::react::jsinspector_modern::NetworkIOAgent& operator=(facebook::react::jsinspector_modern::NetworkIOAgent&&) = delete; + public ~NetworkIOAgent(); +} + +class facebook::react::jsinspector_modern::NetworkRequestListener { + public NetworkRequestListener() = default; + public NetworkRequestListener(const facebook::react::jsinspector_modern::NetworkRequestListener&) = delete; + public NetworkRequestListener(facebook::react::jsinspector_modern::NetworkRequestListener&&) noexcept = default; + public facebook::react::jsinspector_modern::NetworkRequestListener& operator=(const facebook::react::jsinspector_modern::NetworkRequestListener&) = delete; + public facebook::react::jsinspector_modern::NetworkRequestListener& operator=(facebook::react::jsinspector_modern::NetworkRequestListener&&) noexcept = default; + public virtual void onCompletion() = 0; + public virtual void onData(std::string_view data) = 0; + public virtual void onError(const std::string& message) = 0; + public virtual void onHeaders(uint32_t httpStatusCode, const facebook::react::jsinspector_modern::Headers& headers) = 0; + public virtual void setCancelFunction(std::function cancelFunction) = 0; + public virtual ~NetworkRequestListener() = default; +} + +class facebook::react::jsinspector_modern::NotImplementedException : public std::exception { + public NotImplementedException(std::string message); + public const char* what() const noexcept override; +} + +class facebook::react::jsinspector_modern::NullRemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { +} + +class facebook::react::jsinspector_modern::PerfMonitorUpdateHandler { + public PerfMonitorUpdateHandler(facebook::react::jsinspector_modern::HostTargetDelegate& delegate); + public void handlePerfIssueAdded(const std::string& message); +} + +class facebook::react::jsinspector_modern::RAIIRemoteConnection { + public RAIIRemoteConnection(std::unique_ptr remote); + public void onMessage(std::string message); + public ~RAIIRemoteConnection(); +} + +class facebook::react::jsinspector_modern::RuntimeAgent { + public RuntimeAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::RuntimeTargetController& targetController, facebook::react::jsinspector_modern::ExecutionContextDescription executionContextDescription, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr delegate); + public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); + public const facebook::react::jsinspector_modern::ExecutionContextDescription& getExecutionContextDescription() const; + public facebook::react::jsinspector_modern::RuntimeAgent::ExportedState getExportedState(); + public void notifyBindingCalled(const std::string& bindingName, const std::string& payload); + public ~RuntimeAgent(); +} + +struct facebook::react::jsinspector_modern::RuntimeAgent::ExportedState { + public std::unique_ptr delegateState; +} + +class facebook::react::jsinspector_modern::RuntimeAgentDelegate { + public virtual bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req) = 0; + public virtual std::unique_ptr getExportedState(); + public virtual ~RuntimeAgentDelegate() = default; +} + +class facebook::react::jsinspector_modern::RuntimeAgentDelegate::ExportedState { + public virtual ~ExportedState() = default; +} + +class facebook::react::jsinspector_modern::RuntimeTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { + public RuntimeTarget(const facebook::react::jsinspector_modern::RuntimeTarget&) = delete; + public RuntimeTarget(facebook::react::jsinspector_modern::RuntimeTarget&&) = delete; + public facebook::react::jsinspector_modern::RuntimeTarget& operator=(const facebook::react::jsinspector_modern::RuntimeTarget&) = delete; + public facebook::react::jsinspector_modern::RuntimeTarget& operator=(facebook::react::jsinspector_modern::RuntimeTarget&&) = delete; + public static std::shared_ptr create(const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::jsinspector_modern::RuntimeTargetDelegate& delegate, facebook::react::RuntimeExecutor jsExecutor, facebook::react::jsinspector_modern::VoidExecutor selfExecutor); + public std::shared_ptr createAgent(const facebook::react::jsinspector_modern::FrontendChannel& channel, facebook::react::jsinspector_modern::SessionState& sessionState); + public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public ~RuntimeTarget(); +} + +class facebook::react::jsinspector_modern::RuntimeTargetController { + public RuntimeTargetController(facebook::react::jsinspector_modern::RuntimeTarget& target); + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile(); + public void disableSamplingProfiler(); + public void emitTracingStateChange(bool isTracing); + public void enableSamplingProfiler(); + public void installBindingHandler(const std::string& bindingName); + public void notifyDomainStateChanged(facebook::react::jsinspector_modern::RuntimeTargetController::Domain domain, bool enabled, const facebook::react::jsinspector_modern::RuntimeAgent& notifyingAgent); +} + +enum facebook::react::jsinspector_modern::RuntimeTargetController::Domain { + Log, + Network, + Runtime, + kMaxValue, +} + +class facebook::react::jsinspector_modern::RuntimeTargetDelegate { + public virtual bool supportsConsole() const = 0; + public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() = 0; + public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) = 0; + public virtual std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel channel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) = 0; + public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip = 0) = 0; + public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) = 0; + public virtual void disableSamplingProfiler() = 0; + public virtual void enableSamplingProfiler() = 0; + public virtual ~RuntimeTargetDelegate() = default; +} + +class facebook::react::jsinspector_modern::RuntimeTracingAgent : public facebook::react::jsinspector_modern::tracing::TargetTracingAgent { + public RuntimeTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state, facebook::react::jsinspector_modern::RuntimeTargetController& targetController); + public ~RuntimeTracingAgent(); +} + +class facebook::react::jsinspector_modern::StackTrace { + public StackTrace() = default; + public StackTrace(const facebook::react::jsinspector_modern::StackTrace&) = delete; + public StackTrace(facebook::react::jsinspector_modern::StackTrace&&) = delete; + public facebook::react::jsinspector_modern::StackTrace& operator=(const facebook::react::jsinspector_modern::StackTrace&) = delete; + public facebook::react::jsinspector_modern::StackTrace& operator=(facebook::react::jsinspector_modern::StackTrace&&) = delete; + public static std::unique_ptr empty(); + public virtual ~StackTrace() = default; +} + +class facebook::react::jsinspector_modern::TracingAgent { + public TracingAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::SessionState& sessionState, facebook::react::jsinspector_modern::HostTargetController& hostTargetController); + public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); + public ~TracingAgent(); +} + +enum facebook::react::jsinspector_modern::ConsoleAPIType { + kAssert, + kClear, + kCount, + kDebug, + kDir, + kDirXML, + kEndGroup, + kError, + kInfo, + kLog, + kStartGroup, + kStartGroupCollapsed, + kTable, + kTimeEnd, + kTrace, + kWarning, +} + +enum facebook::react::jsinspector_modern::HostCommand { + DebuggerResume, + DebuggerStepOver, +} + +struct facebook::react::jsinspector_modern::ConsoleMessage { + public ConsoleMessage(const facebook::react::jsinspector_modern::ConsoleMessage& other) = delete; + public ConsoleMessage(double timestamp, facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args, std::unique_ptr stackTrace = facebook::react::jsinspector_modern::StackTrace::empty()); + public ConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::SimpleConsoleMessage message); + public ConsoleMessage(facebook::react::jsinspector_modern::ConsoleMessage&& other) noexcept = default; + public double timestamp; + public facebook::react::jsinspector_modern::ConsoleAPIType type; + public facebook::react::jsinspector_modern::ConsoleMessage& operator=(const facebook::react::jsinspector_modern::ConsoleMessage& other) = delete; + public facebook::react::jsinspector_modern::ConsoleMessage& operator=(facebook::react::jsinspector_modern::ConsoleMessage&& other) noexcept = default; + public std::unique_ptr stackTrace; + public std::vector args; + public ~ConsoleMessage() = default; +} + +struct facebook::react::jsinspector_modern::ExecutionContextDescription { + public int32_t id; + public std::optional uniqueId; + public std::string name; + public std::string origin; +} + +struct facebook::react::jsinspector_modern::GetResponseBodyResult { + public bool base64Encoded; + public folly::dynamic toDynamic() const; + public std::string body; +} + +struct facebook::react::jsinspector_modern::HostTargetMetadata { + public std::optional appDisplayName; + public std::optional appIdentifier; + public std::optional deviceName; + public std::optional integrationName; + public std::optional platform; + public std::optional reactNativeVersion; +} + +struct facebook::react::jsinspector_modern::IOReadResult { + public bool base64Encoded; + public bool eof; + public folly::dynamic toDynamic() const; + public std::string data; +} + +struct facebook::react::jsinspector_modern::InspectorPageDescription { + public const facebook::react::jsinspector_modern::InspectorTargetCapabilities capabilities; + public const int id; + public const std::string description; + public const std::string vm; +} + +struct facebook::react::jsinspector_modern::InspectorSystemState { + public int registeredHostsCount; +} + +struct facebook::react::jsinspector_modern::InspectorTargetCapabilities { + public bool nativePageReloads; + public bool nativeSourceCodeFetching; +} + +struct facebook::react::jsinspector_modern::LoadNetworkResourceRequest { + public std::string url; +} + +struct facebook::react::jsinspector_modern::NetworkResource { + public bool success; + public folly::dynamic toDynamic() const; + public std::optional headers; + public std::optional netErrorName; + public std::optional stream; + public std::optional httpStatusCode; +} + +struct facebook::react::jsinspector_modern::PerfIssuePayload { + public std::optional description; + public std::optional learnMoreUrl; + public std::optional severity; + public std::string name; +} + +struct facebook::react::jsinspector_modern::ReadStreamParams { + public facebook::react::jsinspector_modern::StreamID handle; + public std::optional offset; + public std::optional size; +} + +struct facebook::react::jsinspector_modern::SessionState { + public bool hasPendingTraceRecording; + public bool isDebuggerDomainEnabled; + public bool isLogDomainEnabled; + public bool isNetworkDomainEnabled; + public bool isReactNativeApplicationDomainEnabled; + public bool isRuntimeDomainEnabled; + public facebook::react::jsinspector_modern::RuntimeAgent::ExportedState lastRuntimeAgentExportedState; + public std::unordered_map subscribedBindings; + public std::vector pendingSimpleConsoleMessages; +} + +struct facebook::react::jsinspector_modern::SimpleConsoleMessage { + public SimpleConsoleMessage(const facebook::react::jsinspector_modern::SimpleConsoleMessage& other) = delete; + public SimpleConsoleMessage(double timestamp, facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args); + public SimpleConsoleMessage(facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args); + public SimpleConsoleMessage(facebook::react::jsinspector_modern::SimpleConsoleMessage&& other) noexcept = default; + public double timestamp; + public facebook::react::jsinspector_modern::ConsoleAPIType type; + public facebook::react::jsinspector_modern::SimpleConsoleMessage& operator=(const facebook::react::jsinspector_modern::SimpleConsoleMessage& other) = delete; + public facebook::react::jsinspector_modern::SimpleConsoleMessage& operator=(facebook::react::jsinspector_modern::SimpleConsoleMessage&& other) noexcept = default; + public std::vector args; + public ~SimpleConsoleMessage() = default; +} + +template +class facebook::react::jsinspector_modern::EnumArray { + public constexpr ValueType& operator[](IndexType i); + public constexpr const ValueType& operator[](IndexType i) const; + public constexpr int size() const; +} + +template +struct facebook::react::jsinspector_modern::UniqueMonostate { + public constexpr bool operator<(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; + public constexpr bool operator<=(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; + public constexpr bool operator==(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; + public constexpr bool operator>(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; + public constexpr bool operator>=(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; +} + +template +class facebook::react::jsinspector_modern::EnableExecutorFromThis : public std::enable_shared_from_this { + public facebook::react::jsinspector_modern::ScopedExecutor executorFromThis(); + public void setExecutor(facebook::react::jsinspector_modern::VoidExecutor executor); + template + public void setExecutor(facebook::react::jsinspector_modern::ScopedExecutor executor); +} + +template +class facebook::react::jsinspector_modern::WeakList { + public bool empty() const; + public size_t size() const; + public void insert(std::weak_ptr ptr); + template + public bool anyOf(Fn&& fn) const; + template + public bool anyOf(Fn&& fn); + template + public void forEach(Fn&& fn) const; + template + public void forEach(Fn&& fn); +} + + +constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::TRACING_TIME_ORIGIN; +constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::kCurrentBufferStartTimeUninitialized; +using facebook::react::jsinspector_modern::tracing::Categories = folly::small_vector; +using facebook::react::jsinspector_modern::tracing::ConsoleTimeStampEntry = std::variant; +using facebook::react::jsinspector_modern::tracing::FrameSequenceId = uint64_t; +using facebook::react::jsinspector_modern::tracing::Headers = std::map; +using facebook::react::jsinspector_modern::tracing::ProcessId = uint64_t; +using facebook::react::jsinspector_modern::tracing::RuntimeProfileId = uint16_t; +using facebook::react::jsinspector_modern::tracing::ThreadId = uint64_t; +int64_t facebook::react::jsinspector_modern::tracing::highResDurationToTracingClockDuration(facebook::react::HighResDuration duration); +std::optional facebook::react::jsinspector_modern::tracing::getTracingCategoryFromString(const std::string& str); +std::optional facebook::react::jsinspector_modern::tracing::getConsoleTimeStampColorFromString(const std::string& str); +std::optional facebook::react::jsinspector_modern::tracing::getConsoleTimeStampDetailFromObject(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& detailValue); +std::set facebook::react::jsinspector_modern::tracing::parseSerializedTracingCategories(const std::string& serializedCategories); +std::string facebook::react::jsinspector_modern::tracing::consoleTimeStampColorToString(facebook::react::jsinspector_modern::tracing::ConsoleTimeStampColor color); +std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const facebook::react::jsinspector_modern::tracing::Categories& categories); +std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const std::set& categories); +std::string facebook::react::jsinspector_modern::tracing::tracingCategoryToString(const facebook::react::jsinspector_modern::tracing::Category& category); +uint64_t facebook::react::jsinspector_modern::tracing::highResTimeStampToTracingClockTimeStamp(facebook::react::HighResTimeStamp timestamp); + +class facebook::react::jsinspector_modern::tracing::HermesRuntimeSamplingProfileSerializer { + public static facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile serializeToTracingSamplingProfile(hermes::sampling_profiler::Profile hermesProfile); +} + +class facebook::react::jsinspector_modern::tracing::HostTracingProfileSerializer { + public static void emitAsDataCollectedChunks(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const std::function& chunkCallback, size_t maxChunkBytes, uint16_t profileTraceEventsChunkSize); + public static void emitFrameTimings(std::vector&& frameTimings, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::HighResTimeStamp recordingStartTimestamp, const std::function& chunkCallback, size_t maxChunkBytes); + public static void emitPerformanceTraceEvents(std::vector&& events, const std::function& chunkCallback, size_t maxChunkBytes); +} + +class facebook::react::jsinspector_modern::tracing::PerformanceTracer { + public bool isTracing() const; + public bool startTracing(); + public bool startTracing(facebook::react::HighResDuration maxDuration); + public static facebook::react::jsinspector_modern::tracing::PerformanceTracer& getInstance(); + public static facebook::react::jsinspector_modern::tracing::TraceEvent constructRuntimeProfileChunkTraceEvent(facebook::react::jsinspector_modern::tracing::RuntimeProfileId profileId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ProcessId threadId, facebook::react::HighResTimeStamp chunkTimestamp, facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk&& traceEventProfileChunk); + public static facebook::react::jsinspector_modern::tracing::TraceEvent constructRuntimeProfileTraceEvent(facebook::react::jsinspector_modern::tracing::RuntimeProfileId profileId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp profileTimestamp); + public std::optional> stopTracing(); + public uint32_t subscribeToTracingStateChanges(facebook::react::jsinspector_modern::tracing::PerformanceTracer::TracingStateCallback callback); + public using TracingStateCallback = std::function; + public void reportEventLoopMicrotasks(facebook::react::HighResTimeStamp start, facebook::react::HighResTimeStamp end); + public void reportEventLoopTask(facebook::react::HighResTimeStamp start, facebook::react::HighResTimeStamp end); + public void reportMark(const std::string& name, facebook::react::HighResTimeStamp start, folly::dynamic&& detail = nullptr); + public void reportMeasure(const std::string& name, facebook::react::HighResTimeStamp start, facebook::react::HighResDuration duration, folly::dynamic&& detail = nullptr, std::optional stackTrace = nullptr); + public void reportResourceFinish(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int encodedDataLength, int decodedBodyLength); + public void reportResourceReceiveResponse(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int statusCode, const facebook::react::jsinspector_modern::tracing::Headers& headers, int encodedDataLength, folly::dynamic timingData); + public void reportResourceReceivedData(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int encodedDataLength); + public void reportResourceSendRequest(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, const std::string& url, const std::string& requestMethod, const facebook::react::jsinspector_modern::tracing::Headers& headers); + public void reportResourceWillSendRequest(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start); + public void reportTimeStamp(const std::string& name, std::optional start = std::nullopt, std::optional end = std::nullopt, std::optional trackName = std::nullopt, std::optional trackGroup = std::nullopt, std::optional color = std::nullopt, std::optional detail = std::nullopt, std::optional stackTrace = std::nullopt); + public void unsubscribeFromTracingStateChanges(uint32_t subscriptionId); +} + +class facebook::react::jsinspector_modern::tracing::ProfileTreeNode { + public ProfileTreeNode(uint32_t id, facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType codeType, facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame callFrame, uint32_t parentId = facebook::react::jsinspector_modern::tracing::ProfileTreeNode::NO_PARENT); + public bool hasParent() const; + public const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& getCallFrame() const; + public facebook::react::jsinspector_modern::tracing::ProfileTreeNode* addChild(uint32_t childId, facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType childCodeType, facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame childCallFrame); + public facebook::react::jsinspector_modern::tracing::ProfileTreeNode* getIfAlreadyExists(facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType childCodeType, const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& childCallFrame); + public facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType getCodeType() const; + public static constexpr uint32_t NO_PARENT; + public uint32_t getId() const; + public uint32_t getParentId() const; +} + +enum facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType { + JavaScript, + Other, +} + +class facebook::react::jsinspector_modern::tracing::RawHermesRuntimeProfile : public facebook::react::jsinspector_modern::tracing::RawRuntimeProfile { + public RawHermesRuntimeProfile(hermes::sampling_profiler::Profile hermesProfile); +} + +class facebook::react::jsinspector_modern::tracing::RawRuntimeProfile { + public virtual ~RawRuntimeProfile() = default; +} + +class facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfileTraceEventSerializer { + public static void serializeAndDispatch(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&& profile, facebook::react::jsinspector_modern::tracing::IdGenerator& profileIdGenerator, facebook::react::HighResTimeStamp tracingStartTime, const std::function& dispatchCallback, uint16_t traceEventChunkSize, uint16_t profileChunkSize = PROFILE_CHUNK_SIZE, uint16_t maxUniqueNodesPerChunk = MAX_UNIQUE_NODES_PER_CHUNK); + public static void serializeAndDispatch(std::vector&& profiles, facebook::react::jsinspector_modern::tracing::IdGenerator& profileIdGenerator, facebook::react::HighResTimeStamp tracingStartTime, const std::function& dispatchCallback, uint16_t traceEventChunkSize, uint16_t profileChunkSize = PROFILE_CHUNK_SIZE, uint16_t maxUniqueNodesPerChunk = MAX_UNIQUE_NODES_PER_CHUNK); +} + +class facebook::react::jsinspector_modern::tracing::TargetTracingAgent { + protected facebook::react::jsinspector_modern::tracing::TraceRecordingState& state_; + public TargetTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public bool isRunningInBackgroundMode(); +} + +class facebook::react::jsinspector_modern::tracing::TraceEventGenerator { + public static facebook::react::jsinspector_modern::tracing::TraceEvent createScreenshotEvent(facebook::react::jsinspector_modern::tracing::FrameSequenceId frameSequenceId, int sourceId, std::vector&& snapshot, facebook::react::HighResTimeStamp expectedDisplayTime, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); + public static facebook::react::jsinspector_modern::tracing::TraceEvent createSetLayerTreeIdEvent(std::string frame, int layerTreeId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp timestamp); + public static std::pair createFrameTimingsEvents(facebook::react::jsinspector_modern::tracing::FrameSequenceId sequenceId, int layerTreeId, facebook::react::HighResTimeStamp beginTimestamp, facebook::react::HighResTimeStamp endTimestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); +} + +class facebook::react::jsinspector_modern::tracing::TraceEventSerializer { + public static folly::dynamic serialize(facebook::react::jsinspector_modern::tracing::TraceEvent&& event); + public static folly::dynamic serializeProfileChunk(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk&& profileChunk); + public static folly::dynamic serializeProfileChunkCPUProfile(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile&& cpuProfile); + public static folly::dynamic serializeProfileChunkCPUProfileNode(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node&& node); + public static folly::dynamic serializeProfileChunkCPUProfileNodeCallFrame(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame&& callFrame); + public static folly::dynamic serializeProfileChunkTimeDeltas(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::TimeDeltas&& deltas); + public static size_t estimateJsonSize(const folly::dynamic& value); +} + +enum facebook::react::jsinspector_modern::tracing::Category { + Frame, + HiddenTimeline, + JavaScriptSampling, + RuntimeExecution, + Screenshot, + Timeline, + UserTiming, +} + +enum facebook::react::jsinspector_modern::tracing::ConsoleTimeStampColor { + Error, + Primary, + PrimaryDark, + PrimaryLight, + Secondary, + SecondaryDark, + SecondaryLight, + Tertiary, + TertiaryDark, + TertiaryLight, + Warning, +} + +enum facebook::react::jsinspector_modern::tracing::EventLoopPhase { + Microtasks, + Task, +} + +enum facebook::react::jsinspector_modern::tracing::Mode { + Background, + CDP, +} + +struct facebook::react::jsinspector_modern::tracing::EventLoopReporter { + public EventLoopReporter(const facebook::react::jsinspector_modern::tracing::EventLoopReporter&) = delete; + public EventLoopReporter(facebook::react::jsinspector_modern::tracing::EventLoopPhase phase); + public EventLoopReporter(facebook::react::jsinspector_modern::tracing::EventLoopReporter&&) = delete; + public facebook::react::jsinspector_modern::tracing::EventLoopReporter& operator=(const facebook::react::jsinspector_modern::tracing::EventLoopReporter&) = delete; + public facebook::react::jsinspector_modern::tracing::EventLoopReporter& operator=(facebook::react::jsinspector_modern::tracing::EventLoopReporter&&) = delete; + public ~EventLoopReporter(); +} + +struct facebook::react::jsinspector_modern::tracing::FrameTimingSequence { + public FrameTimingSequence() = delete; + public FrameTimingSequence(facebook::react::jsinspector_modern::tracing::FrameSequenceId id, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp beginTimestamp, facebook::react::HighResTimeStamp endTimestamp, std::optional> screenshot = std::nullopt); + public facebook::react::HighResTimeStamp beginTimestamp; + public facebook::react::HighResTimeStamp endTimestamp; + public facebook::react::jsinspector_modern::tracing::FrameSequenceId id; + public facebook::react::jsinspector_modern::tracing::ThreadId threadId; + public std::optional> screenshot; +} + +struct facebook::react::jsinspector_modern::tracing::HostTracingProfile { + public facebook::react::HighResTimeStamp startTime; + public facebook::react::jsinspector_modern::tracing::ProcessId processId; + public std::vector frameTimings; + public std::vector instanceTracingProfiles; + public std::vector runtimeSamplingProfiles; +} + +struct facebook::react::jsinspector_modern::tracing::IdGenerator { + public uint32_t getNext(); +} + +struct facebook::react::jsinspector_modern::tracing::InstanceTracingProfile { + public std::vector performanceTraceEvents; +} + +struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile { + public RuntimeSamplingProfile(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&) = delete; + public RuntimeSamplingProfile(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&&) = default; + public RuntimeSamplingProfile(std::string runtimeName, facebook::react::jsinspector_modern::tracing::ProcessId processId, std::vector samples, std::unique_ptr rawRuntimeProfile); + public facebook::react::jsinspector_modern::tracing::ProcessId processId; + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile& operator=(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&) = delete; + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile& operator=(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&&) = default; + public std::string runtimeName; + public std::unique_ptr rawRuntimeProfile; + public std::vector samples; + public ~RuntimeSamplingProfile() = default; +} + +struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample { + public Sample(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&) = delete; + public Sample(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&&) = default; + public Sample(uint64_t timestamp, facebook::react::jsinspector_modern::tracing::ThreadId threadId, std::vector callStack); + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample& operator=(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&) = delete; + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample& operator=(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&&) = default; + public facebook::react::jsinspector_modern::tracing::ThreadId threadId; + public std::vector callStack; + public uint64_t timestamp; + public ~Sample() = default; +} + +struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame { + public bool operator==(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& rhs) const noexcept = default; + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame::Kind kind; + public std::optional scriptURL; + public std::optional columnNumber; + public std::optional lineNumber; + public std::string_view functionName; + public uint32_t scriptId; +} + +enum facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame::Kind { + GarbageCollector, + HostFunction, + JSFunction, + NativeFunction, +} + +struct facebook::react::jsinspector_modern::tracing::TraceEvent { + public char ph; + public facebook::react::HighResTimeStamp ts; + public facebook::react::jsinspector_modern::tracing::Categories cat; + public facebook::react::jsinspector_modern::tracing::ProcessId pid; + public facebook::react::jsinspector_modern::tracing::ThreadId tid; + public folly::dynamic args; + public std::optional s; + public std::optional dur; + public std::optional id; + public std::string name; +} + +struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk { + public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile cpuProfile; + public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::TimeDeltas timeDeltas; + public using TimeDeltas = std::vector; +} + +struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile { + public std::vector nodes; + public std::vector samples; +} + +struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node { + public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame callFrame; + public std::optional parentId; + public uint32_t id; +} + +struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame { + public std::optional url; + public std::optional columnNumber; + public std::optional lineNumber; + public std::string codeType; + public std::string functionName; + public uint32_t scriptId; +} + +struct facebook::react::jsinspector_modern::tracing::TraceRecordingState { + public TraceRecordingState(facebook::react::jsinspector_modern::tracing::Mode tracingMode, std::set enabledCategories, std::optional windowSize = std::nullopt); + public facebook::react::jsinspector_modern::tracing::Mode mode; + public std::optional windowSize; + public std::set enabledCategories; + public std::vector instanceTracingProfiles; + public std::vector runtimeSamplingProfiles; +} + +template +class facebook::react::jsinspector_modern::tracing::TimeWindowedBuffer { + public TimeWindowedBuffer(); + public TimeWindowedBuffer(facebook::react::jsinspector_modern::tracing::TimeWindowedBuffer::TimestampAccessor timestampAccessor, facebook::react::HighResDuration windowSize); + public std::vector pruneExpiredAndExtract(facebook::react::HighResTimeStamp windowRightBoundary = facebook::react::HighResTimeStamp::now()); + public using TimestampAccessor = std::function; + public void clear(); + public void push(T&& element); + public void push(const T& element); +} + +template +class facebook::react::jsinspector_modern::tracing::PerformanceTracerSection { + public PerformanceTracerSection(const char* name, const char* track = nullptr, const char* trackGroup = nullptr, const char* color = nullptr, Args... args) noexcept; + public PerformanceTracerSection(const facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&) = delete; + public PerformanceTracerSection(facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&&) = delete; + public facebook::react::jsinspector_modern::tracing::PerformanceTracerSection& operator=(const facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&) = delete; + public facebook::react::jsinspector_modern::tracing::PerformanceTracerSection& operator=(facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&&) = delete; + public ~PerformanceTracerSection() noexcept; +} + + +using facebook::react::jsinspector_modern::cdp::ParseError = folly::json::parse_error; +using facebook::react::jsinspector_modern::cdp::RequestId = long long; +using facebook::react::jsinspector_modern::cdp::TypeError = folly::TypeError; +facebook::react::jsinspector_modern::cdp::PreparsedRequest facebook::react::jsinspector_modern::cdp::preparse(std::string_view message); +std::string facebook::react::jsinspector_modern::cdp::jsonError(std::optional id, facebook::react::jsinspector_modern::cdp::ErrorCode code, std::optional message = std::nullopt); +std::string facebook::react::jsinspector_modern::cdp::jsonNotification(const std::string& method, std::optional params = std::nullopt); +std::string facebook::react::jsinspector_modern::cdp::jsonRequest(facebook::react::jsinspector_modern::cdp::RequestId id, const std::string& method, std::optional params = std::nullopt); +std::string facebook::react::jsinspector_modern::cdp::jsonResult(facebook::react::jsinspector_modern::cdp::RequestId id, const folly::dynamic& result = folly::dynamic::object()); + +enum facebook::react::jsinspector_modern::cdp::ErrorCode { + InternalError, + InvalidParams, + InvalidRequest, + MethodNotFound, + ParseError, +} + +struct facebook::react::jsinspector_modern::cdp::PreparsedRequest { + public bool operator==(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& rhs) const; + public facebook::react::jsinspector_modern::cdp::RequestId id; + public folly::dynamic params; + public std::string method; + public std::string toJson() const; +} + + +using facebook::react::jsinspector_modern::cdp::network::Headers = std::map; +std::string facebook::react::jsinspector_modern::cdp::network::resourceTypeFromMimeType(const std::string& mimeType); + +struct facebook::react::jsinspector_modern::cdp::network::ConnectTiming { + public double requestTime; +} + +struct facebook::react::jsinspector_modern::cdp::network::DataReceivedParams { + public double timestamp; + public folly::dynamic toDynamic() const; + public int dataLength; + public int encodedDataLength; + public std::string requestId; +} + +struct facebook::react::jsinspector_modern::cdp::network::LoadingFailedParams { + public bool canceled; + public double timestamp; + public folly::dynamic toDynamic() const; + public std::string errorText; + public std::string requestId; + public std::string type; +} + +struct facebook::react::jsinspector_modern::cdp::network::LoadingFinishedParams { + public double timestamp; + public folly::dynamic toDynamic() const; + public int encodedDataLength; + public std::string requestId; +} + +struct facebook::react::jsinspector_modern::cdp::network::Request { + public facebook::react::jsinspector_modern::cdp::network::Headers headers; + public folly::dynamic toDynamic() const; + public std::optional postData; + public std::string method; + public std::string url; +} + +struct facebook::react::jsinspector_modern::cdp::network::RequestWillBeSentExtraInfoParams { + public facebook::react::jsinspector_modern::cdp::network::ConnectTiming connectTiming; + public facebook::react::jsinspector_modern::cdp::network::Headers headers; + public folly::dynamic toDynamic() const; + public std::string requestId; +} + +struct facebook::react::jsinspector_modern::cdp::network::RequestWillBeSentParams { + public bool redirectHasExtraInfo; + public double timestamp; + public double wallTime; + public facebook::react::jsinspector_modern::cdp::network::Request request; + public folly::dynamic initiator; + public folly::dynamic toDynamic() const; + public std::optional redirectResponse; + public std::string documentURL; + public std::string loaderId; + public std::string requestId; +} + +struct facebook::react::jsinspector_modern::cdp::network::Response { + public facebook::react::jsinspector_modern::cdp::network::Headers headers; + public folly::dynamic toDynamic() const; + public int encodedDataLength; + public static facebook::react::jsinspector_modern::cdp::network::Response fromInputParams(const std::string& url, uint16_t status, const facebook::react::jsinspector_modern::cdp::network::Headers& headers, int encodedDataLength); + public std::string mimeType; + public std::string statusText; + public std::string url; + public uint16_t status; +} + +struct facebook::react::jsinspector_modern::cdp::network::ResponseReceivedParams { + public bool hasExtraInfo; + public double timestamp; + public facebook::react::jsinspector_modern::cdp::network::Response response; + public folly::dynamic toDynamic() const; + public std::string loaderId; + public std::string requestId; + public std::string type; +} + + +constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_CONTAINED_BY; +constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_CONTAINS; +constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_DISCONNECTED; +constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_FOLLOWING; +constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_PRECEDING; +bool facebook::react::dom::isConnected(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +facebook::react::dom::DOMBorderWidthRounded facebook::react::dom::getBorderWidth(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +facebook::react::dom::DOMOffset facebook::react::dom::getOffset(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +facebook::react::dom::DOMPoint facebook::react::dom::getScrollPosition(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +facebook::react::dom::DOMRect facebook::react::dom::getBoundingClientRect(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode, bool includeTransform); +facebook::react::dom::DOMRect facebook::react::dom::measureInWindow(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +facebook::react::dom::DOMSizeRounded facebook::react::dom::getInnerSize(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +facebook::react::dom::DOMSizeRounded facebook::react::dom::getScrollSize(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +facebook::react::dom::RNMeasureRect facebook::react::dom::measure(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +std::optional facebook::react::dom::measureLayout(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode& relativeToShadowNode); +std::shared_ptr facebook::react::dom::getElementById(const std::shared_ptr& currentRevision, const std::string& id); +std::shared_ptr facebook::react::dom::getParentNode(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +std::string facebook::react::dom::getTagName(const facebook::react::ShadowNode& shadowNode); +std::string facebook::react::dom::getTextContent(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +std::vector> facebook::react::dom::getChildNodes(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +uint_fast16_t facebook::react::dom::compareDocumentPosition(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode& otherShadowNode); + +struct facebook::react::dom::DOMBorderWidthRounded { + public int bottom; + public int left; + public int right; + public int top; +} + +struct facebook::react::dom::DOMOffset { + public double left; + public double top; + public std::shared_ptr offsetParent; +} + +struct facebook::react::dom::DOMPoint { + public double x; + public double y; +} + +struct facebook::react::dom::DOMRect { + public double height; + public double width; + public double x; + public double y; +} + +struct facebook::react::dom::DOMSizeRounded { + public int height; + public int width; +} + +struct facebook::react::dom::RNMeasureRect { + public double height; + public double pageX; + public double pageY; + public double width; + public double x; + public double y; +} + + +folly::dynamic facebook::react::animationbackend::packAnimatedProps(const facebook::react::AnimatedProps& animatedProps); + + +static constexpr facebook::react::Tag facebook::react::animated::undefinedAnimatedNodeIdentifier; + + +template +constexpr bool facebook::react::bridging::supportsToJs(), std::declval(), nullptr))>>; +template +constexpr bool facebook::react::bridging::supportsToJs(), std::declval(), nullptr))>>; +template +constexpr bool facebook::react::bridging::is_optional_jsi_v; +template +constexpr bool facebook::react::bridging::supportsFromJs(std::declval(), std::declval(), nullptr))>>; +template +constexpr bool facebook::react::bridging::is_jsi_v; +template +constexpr bool facebook::react::bridging::is_optional_jsi_v>>; +template +constexpr bool facebook::react::bridging::is_optional_v; +template +constexpr bool facebook::react::bridging::supportsFromJs(std::declval(), std::declval(), nullptr))>>; +template +constexpr bool facebook::react::bridging::supportsFromJs; +template +constexpr bool facebook::react::bridging::supportsToJs; +template +using facebook::react::bridging::bridging_t = typename facebook::react::bridging::detail::bridging_wrapper::type; +template +using facebook::react::bridging::remove_cvref_t = std::remove_cv_t>; +template +constexpr size_t facebook::react::bridging::getParameterCount(ReturnT(Class::*)(ArgsT...)); +template +JSReturnT facebook::react::bridging::callFromJs(facebook::jsi::Runtime& rt, ReturnT(ClassT::*method)(facebook::jsi::Runtime&, ArgsT...), const std::shared_ptr& jsInvoker, ClassT* instance, JSArgsT &&... args); +template +decltype(facebook::react::Bridging>::fromJs(rt, facebook::react::bridging::convert(rt, std::forward(value)))) facebook::react::bridging::fromJs(facebook::jsi::Runtime& rt, JSArgT&& value, const std::shared_ptr&); +template +decltype(facebook::react::Bridging>::fromJs(rt, facebook::react::bridging::convert(rt, std::forward(value)), jsInvoker)) facebook::react::bridging::fromJs(facebook::jsi::Runtime& rt, JSArgT&& value, const std::shared_ptr& jsInvoker); +template +decltype(static_cast(std::move(facebook::react::bridging::convert(rt, std::forward(value))))) facebook::react::bridging::fromJs(facebook::jsi::Runtime& rt, JSArgT&& value, const std::shared_ptr&); +template +constexpr size_t facebook::react::bridging::getParameterCount(ReturnT(*)(ArgsT...)); +template , int> = 0> +auto facebook::react::bridging::convert(facebook::jsi::Runtime& rt, T&& value); +template ||std::is_scalar_v, int> = 0> +auto facebook::react::bridging::convert(facebook::jsi::Runtime& rt, std::optional value); +template , int> = 0> +auto facebook::react::bridging::convert(facebook::jsi::Runtime&, T&& value); +template +auto facebook::react::bridging::convert(facebook::jsi::Runtime&, facebook::react::bridging::Converter&& converter); +template +decltype(facebook::react::Bridging>::toJs(rt, std::forward(value))) facebook::react::bridging::toJs(facebook::jsi::Runtime& rt, T&& value, const std::shared_ptr& = nullptr); +template +decltype(facebook::react::Bridging>::toJs(rt, std::forward(value), jsInvoker)) facebook::react::bridging::toJs(facebook::jsi::Runtime& rt, T&& value, const std::shared_ptr& jsInvoker); +template +facebook::react::bridging::remove_cvref_t facebook::react::bridging::toJs(facebook::jsi::Runtime& rt, T&& value, const std::shared_ptr& = nullptr); + +template +struct facebook::react::bridging::Converter : public facebook::react::bridging::ConverterBase { +} + +template +struct facebook::react::bridging::ConverterBase { + protected T value_; + protected facebook::jsi::Runtime& rt_; + public ConverterBase(facebook::jsi::Runtime& rt, T&& value); + public operator facebook::react::bridging::ConverterBase::BaseT(); + public using BaseT = facebook::react::bridging::remove_cvref_t; + template && std::is_same_v, int> = 0> + public operator U() = delete; + template && std::is_convertible_v, U>, int> = 0> + public operator U(); +} + +template +struct facebook::react::bridging::is_optional : public std::false_type { +} + +template +struct facebook::react::bridging::Converter> : public facebook::react::bridging::ConverterBase, public facebook::react::bridging::ConverterBase { + public Converter(facebook::jsi::Runtime& rt, std::optional value); + public operator std::optional(); +} + +template +struct facebook::react::bridging::is_optional> : public std::false_type, public std::true_type { +} + +struct facebook::react::bridging::Converter : public facebook::react::bridging::ConverterBase { + public operator facebook::jsi::Array(); + public operator facebook::jsi::Function(); +} + +struct facebook::react::bridging::Converter : public facebook::react::bridging::ConverterBase { + public operator facebook::jsi::Array(); + public operator facebook::jsi::Function(); + public operator facebook::jsi::Object(); + public operator facebook::jsi::String(); +} + + +template +struct facebook::react::bridging::detail::function_wrapper { +} + +template +struct facebook::react::bridging::detail::bridging_wrapper { + public using type = facebook::react::bridging::remove_cvref_t; +} + +template +struct facebook::react::bridging::detail::function_wrapper { + public using type = std::function; +} + +template +struct facebook::react::bridging::detail::function_wrapper { + public using type = std::function; +} + +template +struct facebook::react::bridging::detail::bridging_wrapper::operator())>> : public facebook::react::bridging::detail::function_wrapper::operator())> { + public using type = facebook::react::bridging::remove_cvref_t; +} + + +template +struct facebook::react::array_detail::BridgingStatic { + public static facebook::jsi::Array toJs(facebook::jsi::Runtime& rt, const T& array, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::array_detail::BridgingDynamic { + public static facebook::jsi::Array toJs(facebook::jsi::Runtime& rt, const T& list, const std::shared_ptr& jsInvoker); +} + + +template +struct facebook::react::map_detail::Bridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& map, const std::shared_ptr& jsInvoker); +} + + +typedef void(*facebook::react::ReactMarker::LogTaggedMarker)(const facebook::react::ReactMarker::ReactMarkerId, const char *tag); +typedef void(*facebook::react::ReactMarker::LogTaggedMarkerBridgeless)(const facebook::react::ReactMarker::ReactMarkerId, const char *tag); +void facebook::react::ReactMarker::logMarker(facebook::react::ReactMarker::ReactMarkerId markerId); +void facebook::react::ReactMarker::logMarkerBridgeless(facebook::react::ReactMarker::ReactMarkerId markerId); +void facebook::react::ReactMarker::logMarkerDone(facebook::react::ReactMarker::ReactMarkerId markerId, double markerTime); +void facebook::react::ReactMarker::logTaggedMarker(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag); +void facebook::react::ReactMarker::logTaggedMarkerBridgeless(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag); +facebook::react::ReactMarker::LogTaggedMarker facebook::react::ReactMarker::logTaggedMarkerBridgelessImpl; +facebook::react::ReactMarker::LogTaggedMarker facebook::react::ReactMarker::logTaggedMarkerImpl; +std::shared_mutex facebook::react::ReactMarker::logTaggedMarkerImplMutex; + +class facebook::react::ReactMarker::StartupLogger { + public double getAppStartupEndTime(); + public double getAppStartupStartTime(); + public double getInitReactRuntimeEndTime(); + public double getInitReactRuntimeStartTime(); + public double getRunJSBundleEndTime(); + public double getRunJSBundleStartTime(); + public static facebook::react::ReactMarker::StartupLogger& getInstance(); + public void logStartupEvent(facebook::react::ReactMarker::ReactMarkerId markerId, double markerTime); + public void reset(); +} + +enum facebook::react::ReactMarker::ReactMarkerId { + APP_STARTUP_START, + APP_STARTUP_STOP, + CREATE_REACT_CONTEXT_STOP, + INIT_REACT_RUNTIME_START, + INIT_REACT_RUNTIME_STOP, + JS_BUNDLE_STRING_CONVERT_START, + JS_BUNDLE_STRING_CONVERT_STOP, + NATIVE_MODULE_SETUP_START, + NATIVE_MODULE_SETUP_STOP, + NATIVE_REQUIRE_START, + NATIVE_REQUIRE_STOP, + REACT_INSTANCE_INIT_START, + REACT_INSTANCE_INIT_STOP, + REGISTER_JS_SEGMENT_START, + REGISTER_JS_SEGMENT_STOP, + RUN_JS_BUNDLE_START, + RUN_JS_BUNDLE_STOP, +} + +struct facebook::react::ReactMarker::ReactMarkerEvent { + public const char* tag; + public const facebook::react::ReactMarker::ReactMarkerId markerId; + public double time; +} + + +uint64_t facebook::react::oscompat::getCurrentProcessId(); +uint64_t facebook::react::oscompat::getCurrentThreadId(); + + +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallBatchPreprocessEnd(int batchSize); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallBatchPreprocessStart(); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallDispatch(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionArgConversionEnd(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionArgConversionStart(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionEnd(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionFail(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionStart(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallFail(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallStart(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::disableLogging(); +void facebook::react::BridgeNativeModulePerfLogger::enableLogging(std::unique_ptr&& logger); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateCacheHit(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateConstructEnd(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateConstructStart(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateEnd(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateFail(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateSetUpEnd(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateSetUpStart(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateStart(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleDataCreateEnd(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleDataCreateStart(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningCacheHit(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningEnd(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningFail(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningStart(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingEnd(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingFail(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingStart(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallArgConversionStart(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallExecutionEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallExecutionStart(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallFail(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallReturnConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallReturnConversionStart(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallStart(const char* moduleName, const char* methodName); + + +void facebook::react::LegacyUIManagerConstantsProviderBinding::install(facebook::jsi::Runtime& runtime, const std::string& name, std::function&& provider); +void facebook::react::LegacyUIManagerConstantsProviderBinding::install(facebook::jsi::Runtime& runtime, const std::string& name, std::function&& provider); + + +void facebook::react::TurboModulePerfLogger::asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::asyncMethodCallBatchPreprocessEnd(int batchSize); +void facebook::react::TurboModulePerfLogger::asyncMethodCallBatchPreprocessStart(); +void facebook::react::TurboModulePerfLogger::asyncMethodCallDispatch(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::asyncMethodCallEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::asyncMethodCallExecutionArgConversionEnd(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::TurboModulePerfLogger::asyncMethodCallExecutionArgConversionStart(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::TurboModulePerfLogger::asyncMethodCallExecutionEnd(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::TurboModulePerfLogger::asyncMethodCallExecutionFail(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::TurboModulePerfLogger::asyncMethodCallExecutionStart(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::TurboModulePerfLogger::asyncMethodCallFail(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::asyncMethodCallStart(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::disableLogging(); +void facebook::react::TurboModulePerfLogger::enableLogging(std::unique_ptr&& logger); +void facebook::react::TurboModulePerfLogger::moduleCreateCacheHit(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateConstructEnd(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateConstructStart(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateEnd(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateFail(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateSetUpEnd(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateSetUpStart(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateStart(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleDataCreateEnd(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleDataCreateStart(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleJSRequireBeginningCacheHit(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireBeginningEnd(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireBeginningFail(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireBeginningStart(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireEndingEnd(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireEndingFail(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireEndingStart(const char* moduleName); +void facebook::react::TurboModulePerfLogger::syncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallArgConversionStart(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallExecutionEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallExecutionStart(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallFail(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallReturnConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallReturnConversionStart(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallStart(const char* moduleName, const char* methodName); + + +std::unique_ptr facebook::jsc::makeJSCRuntime(); + + +using facebook::jsi::HostFunctionType = std::function; +using facebook::jsi::RuntimeFactory = std::function()>; +facebook::jsi::Value facebook::jsi::valueFromDynamic(facebook::jsi::Runtime& runtime, const folly::dynamic& dyn); +folly::dynamic facebook::jsi::dynamicFromValue(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value, const std::function& filterObjectKeys = nullptr); +std::vector facebook::jsi::runtimeGenerators(); +template +U* facebook::jsi::castInterface(T* ptr); +template +std::shared_ptr facebook::jsi::dynamicInterfaceCast(T&& ptr); + +class facebook::jsi::Array : public facebook::jsi::Object { + public Array(facebook::jsi::Array&&) = default; + public Array(facebook::jsi::Runtime& runtime, size_t length); + public facebook::jsi::Array& operator=(facebook::jsi::Array&&) = default; + public facebook::jsi::Value getValueAtIndex(facebook::jsi::Runtime& runtime, size_t i) const; + public size_t length(facebook::jsi::Runtime& runtime) const; + public size_t size(facebook::jsi::Runtime& runtime) const; + public static facebook::jsi::Array createWithElements(facebook::jsi::Runtime& runtime, std::initializer_list elements); + template + public void setValueAtIndex(facebook::jsi::Runtime& runtime, size_t i, T&& value) const; + template + public static facebook::jsi::Array createWithElements(facebook::jsi::Runtime& runtime, Args &&... args); +} + +class facebook::jsi::ArrayBuffer : public facebook::jsi::Object { + public ArrayBuffer(facebook::jsi::ArrayBuffer&&) = default; + public ArrayBuffer(facebook::jsi::Runtime& runtime, std::shared_ptr buffer); + public facebook::jsi::ArrayBuffer& operator=(facebook::jsi::ArrayBuffer&&) = default; + public size_t length(facebook::jsi::Runtime& runtime) const; + public size_t size(facebook::jsi::Runtime& runtime) const; + public uint8_t* data(facebook::jsi::Runtime& runtime) const; +} + +class facebook::jsi::BigInt : public facebook::jsi::Pointer { + public BigInt(facebook::jsi::BigInt&& other) = default; + public BigInt(facebook::jsi::Pointer&& other) noexcept; + public BigInt(facebook::jsi::Runtime::PointerValue* ptr); + public bool isInt64(facebook::jsi::Runtime& runtime) const; + public bool isUint64(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::BigInt& operator=(facebook::jsi::BigInt&& other) = default; + public facebook::jsi::String toString(facebook::jsi::Runtime& runtime, int radix = 10) const; + public int64_t asInt64(facebook::jsi::Runtime& runtime) const; + public int64_t getInt64(facebook::jsi::Runtime& runtime) const; + public static bool strictEquals(facebook::jsi::Runtime& runtime, const facebook::jsi::BigInt& a, const facebook::jsi::BigInt& b); + public static facebook::jsi::BigInt fromInt64(facebook::jsi::Runtime& runtime, int64_t value); + public static facebook::jsi::BigInt fromUint64(facebook::jsi::Runtime& runtime, uint64_t value); + public uint64_t asUint64(facebook::jsi::Runtime& runtime) const; + public uint64_t getUint64(facebook::jsi::Runtime& runtime) const; +} + +class facebook::jsi::Buffer { + public virtual const uint8_t* data() const = 0; + public virtual size_t size() const = 0; + public virtual ~Buffer(); +} + +class facebook::jsi::DecoratedHostFunction { + public DecoratedHostFunction(facebook::jsi::Runtime& drt, facebook::jsi::HostFunctionType plainHF); + public facebook::jsi::Runtime& decoratedRuntime(); + public facebook::jsi::Value operator()(facebook::jsi::Runtime&, const facebook::jsi::Value& thisVal, const facebook::jsi::Value* args, size_t count); +} + +class facebook::jsi::DecoratedHostObject : public facebook::jsi::HostObject { + public DecoratedHostObject(facebook::jsi::Runtime& drt, std::shared_ptr plainHO); + public facebook::jsi::Runtime& decoratedRuntime(); + public virtual facebook::jsi::Value get(facebook::jsi::Runtime&, const facebook::jsi::PropNameID& name) override; + public virtual std::vector getPropertyNames(facebook::jsi::Runtime&) override; + public virtual void set(facebook::jsi::Runtime&, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) override; +} + +class facebook::jsi::FileBuffer : public facebook::jsi::Buffer { + public FileBuffer(const std::string& path); + public virtual const uint8_t* data() const override; + public virtual size_t size() const override; + public ~FileBuffer() override; +} + +class facebook::jsi::Function : public facebook::jsi::Object { + public Function(facebook::jsi::Function&&) = default; + public bool isHostFunction(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Function& operator=(facebook::jsi::Function&&) = default; + public facebook::jsi::HostFunctionType& getHostFunction(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Value call(facebook::jsi::Runtime& runtime, const facebook::jsi::Value* args, size_t count) const; + public facebook::jsi::Value call(facebook::jsi::Runtime& runtime, std::initializer_list args) const; + public facebook::jsi::Value callAsConstructor(facebook::jsi::Runtime& runtime, const facebook::jsi::Value* args, size_t count) const; + public facebook::jsi::Value callAsConstructor(facebook::jsi::Runtime& runtime, std::initializer_list args) const; + public facebook::jsi::Value callWithThis(facebook::jsi::Runtime& Runtime, const facebook::jsi::Object& jsThis, const facebook::jsi::Value* args, size_t count) const; + public facebook::jsi::Value callWithThis(facebook::jsi::Runtime& runtime, const facebook::jsi::Object& jsThis, std::initializer_list args) const; + public static facebook::jsi::Function createFromHostFunction(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name, unsigned int paramCount, facebook::jsi::HostFunctionType func); + template + public facebook::jsi::Value call(facebook::jsi::Runtime& runtime, Args &&... args) const; + template + public facebook::jsi::Value callAsConstructor(facebook::jsi::Runtime& runtime, Args &&... args) const; + template + public facebook::jsi::Value callWithThis(facebook::jsi::Runtime& runtime, const facebook::jsi::Object& jsThis, Args &&... args) const; +} + +class facebook::jsi::HostObject { + public virtual facebook::jsi::Value get(facebook::jsi::Runtime&, const facebook::jsi::PropNameID& name); + public virtual std::vector getPropertyNames(facebook::jsi::Runtime& rt); + public virtual void set(facebook::jsi::Runtime&, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value); + public virtual ~HostObject(); +} + +class facebook::jsi::Instrumentation { + public using HeapStatsUpdate = std::tuple; + public virtual std::string flushAndDisableBridgeTrafficTrace() = 0; + public virtual std::string getRecordedGCStats() = 0; + public virtual std::unordered_map getHeapInfo(bool includeExpensive) = 0; + public virtual void collectGarbage(std::string cause) = 0; + public virtual void createSnapshotToFile(const std::string& path, const facebook::jsi::Instrumentation::HeapSnapshotOptions& options = {false}) = 0; + public virtual void createSnapshotToStream(std::ostream& os, const facebook::jsi::Instrumentation::HeapSnapshotOptions& options = {false}) = 0; + public virtual void dumpOpcodeStats(std::ostream& os) const = 0; + public virtual void dumpProfilerSymbolsToFile(const std::string& fileName) const = 0; + public virtual void startHeapSampling(size_t samplingInterval) = 0; + public virtual void startTrackingHeapObjectStackTraces(std::function stats)> fragmentCallback) = 0; + public virtual void stopHeapSampling(std::ostream& os) = 0; + public virtual void stopTrackingHeapObjectStackTraces() = 0; + public virtual void writeBasicBlockProfileTraceToFile(const std::string& fileName) const = 0; + public virtual ~Instrumentation() = default; +} + +struct facebook::jsi::Instrumentation::HeapSnapshotOptions { + public bool captureNumericValue; +} + +class facebook::jsi::JSError : public facebook::jsi::JSIException { + public JSError(const facebook::jsi::JSError&) = default; + public JSError(facebook::jsi::Runtime& r, facebook::jsi::Value&& value); + public JSError(facebook::jsi::Runtime& rt, const char* message); + public JSError(facebook::jsi::Runtime& rt, std::string message); + public JSError(facebook::jsi::Runtime& rt, std::string message, std::string stack); + public JSError(facebook::jsi::Value&& value, std::string message, std::string stack); + public JSError(std::string what, facebook::jsi::Runtime& rt, facebook::jsi::Value&& value); + public const facebook::jsi::Value& value() const; + public const std::string& getMessage() const; + public const std::string& getStack() const; + public virtual ~JSError(); +} + +class facebook::jsi::JSIException : public std::exception { + protected JSIException(); + protected JSIException(std::string what); + protected std::string what_; + public JSIException(const facebook::jsi::JSIException&) = default; + public virtual const char* what() const noexcept override; + public virtual ~JSIException() override; +} + +class facebook::jsi::JSINativeException : public facebook::jsi::JSIException { + public JSINativeException(const facebook::jsi::JSINativeException&) = default; + public JSINativeException(std::string what); + public virtual ~JSINativeException(); +} + +class facebook::jsi::JSITestBase : public testing::TestWithParam { + public JSITestBase(); + public bool checkValue(const facebook::jsi::Value& value, const std::string& jsValue); + public facebook::jsi::Function function(const std::string& code); + public facebook::jsi::Runtime& rt; + public facebook::jsi::RuntimeFactory factory; + public facebook::jsi::Value eval(const char* code); + public std::shared_ptr runtime; +} + +class facebook::jsi::MutableBuffer { + public virtual size_t size() const = 0; + public virtual uint8_t* data() = 0; + public virtual ~MutableBuffer(); +} + +class facebook::jsi::NativeState { + public virtual ~NativeState(); +} + +class facebook::jsi::Object : public facebook::jsi::Pointer { + protected void setPropertyValue(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) const; + protected void setPropertyValue(facebook::jsi::Runtime& runtime, const facebook::jsi::String& name, const facebook::jsi::Value& value) const; + protected void setPropertyValue(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& name, const facebook::jsi::Value& value) const; + public Object(facebook::jsi::Object&& other) = default; + public Object(facebook::jsi::Pointer&& other) noexcept; + public Object(facebook::jsi::Runtime& runtime); + public Object(facebook::jsi::Runtime::PointerValue* ptr); + public bool hasNativeState(facebook::jsi::Runtime& runtime) const; + public bool hasProperty(facebook::jsi::Runtime& runtime, const char* name) const; + public bool hasProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) const; + public bool hasProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::String& name) const; + public bool hasProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& name) const; + public bool instanceOf(facebook::jsi::Runtime& rt, const facebook::jsi::Function& ctor) const; + public bool isArray(facebook::jsi::Runtime& runtime) const; + public bool isArrayBuffer(facebook::jsi::Runtime& runtime) const; + public bool isFunction(facebook::jsi::Runtime& runtime) const; + public bool isHostObject(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Array asArray(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Array asArray(facebook::jsi::Runtime& runtime); + public facebook::jsi::Array getArray(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Array getArray(facebook::jsi::Runtime& runtime); + public facebook::jsi::Array getPropertyNames(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::ArrayBuffer getArrayBuffer(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::ArrayBuffer getArrayBuffer(facebook::jsi::Runtime& runtime); + public facebook::jsi::Function asFunction(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Function asFunction(facebook::jsi::Runtime& runtime); + public facebook::jsi::Function getFunction(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Function getFunction(facebook::jsi::Runtime& runtime); + public facebook::jsi::Function getPropertyAsFunction(facebook::jsi::Runtime& runtime, const char* name) const; + public facebook::jsi::Object getPropertyAsObject(facebook::jsi::Runtime& runtime, const char* name) const; + public facebook::jsi::Object& operator=(facebook::jsi::Object&& other) = default; + public facebook::jsi::Value getProperty(facebook::jsi::Runtime& runtime, const char* name) const; + public facebook::jsi::Value getProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) const; + public facebook::jsi::Value getProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::String& name) const; + public facebook::jsi::Value getProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& name) const; + public facebook::jsi::Value getPrototype(facebook::jsi::Runtime& runtime) const; + public static bool strictEquals(facebook::jsi::Runtime& runtime, const facebook::jsi::Object& a, const facebook::jsi::Object& b); + public static facebook::jsi::Object create(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& prototype); + public static facebook::jsi::Object createFromHostObject(facebook::jsi::Runtime& runtime, std::shared_ptr ho); + public std::shared_ptr getHostObject(facebook::jsi::Runtime& runtime) const; + public void deleteProperty(facebook::jsi::Runtime& runtime, const char* name) const; + public void deleteProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) const; + public void deleteProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::String& name) const; + public void deleteProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& name) const; + public void setExternalMemoryPressure(facebook::jsi::Runtime& runtime, size_t amt) const; + public void setNativeState(facebook::jsi::Runtime& runtime, std::shared_ptr state) const; + public void setPrototype(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& prototype) const; + template + public bool isHostObject(facebook::jsi::Runtime& runtime) const; + template + public std::shared_ptr asHostObject(facebook::jsi::Runtime& runtime) const; + template + public std::shared_ptr getHostObject(facebook::jsi::Runtime& runtime) const; + template + public bool hasNativeState(facebook::jsi::Runtime& runtime) const; + template + public std::shared_ptr getNativeState(facebook::jsi::Runtime& runtime) const; + template + public void setProperty(facebook::jsi::Runtime& runtime, const char* name, T&& value) const; + template + public void setProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name, T&& value) const; + template + public void setProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::String& name, T&& value) const; + template + public void setProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& name, T&& value) const; +} + +class facebook::jsi::Pointer { + protected Pointer(facebook::jsi::Pointer&& other) noexcept; + protected Pointer(facebook::jsi::Runtime::PointerValue* ptr); + protected facebook::jsi::Pointer& operator=(facebook::jsi::Pointer&& other) noexcept; + protected facebook::jsi::Runtime::PointerValue* ptr_; + protected ~Pointer(); +} + +class facebook::jsi::PreparedJavaScript { + protected PreparedJavaScript() = default; + public virtual ~PreparedJavaScript() = 0; +} + +class facebook::jsi::PropNameID : public facebook::jsi::Pointer { + public PropNameID(facebook::jsi::Pointer&& other) noexcept; + public PropNameID(facebook::jsi::PropNameID&& other) = default; + public PropNameID(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& other); + public PropNameID(facebook::jsi::Runtime::PointerValue* ptr); + public facebook::jsi::PropNameID& operator=(facebook::jsi::PropNameID&& other) = default; + public static bool compare(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& a, const facebook::jsi::PropNameID& b); + public static facebook::jsi::PropNameID forAscii(facebook::jsi::Runtime& runtime, const char* str); + public static facebook::jsi::PropNameID forAscii(facebook::jsi::Runtime& runtime, const char* str, size_t length); + public static facebook::jsi::PropNameID forAscii(facebook::jsi::Runtime& runtime, const std::string& str); + public static facebook::jsi::PropNameID forString(facebook::jsi::Runtime& runtime, const facebook::jsi::String& str); + public static facebook::jsi::PropNameID forSymbol(facebook::jsi::Runtime& runtime, const facebook::jsi::Symbol& sym); + public static facebook::jsi::PropNameID forUtf8(facebook::jsi::Runtime& runtime, const std::string& utf8); + public static facebook::jsi::PropNameID forUtf8(facebook::jsi::Runtime& runtime, const uint8_t* utf8, size_t length); + public static facebook::jsi::PropNameID forUtf16(facebook::jsi::Runtime& runtime, const char16_t* utf16, size_t length); + public static facebook::jsi::PropNameID forUtf16(facebook::jsi::Runtime& runtime, const std::u16string& str); + public std::string utf8(facebook::jsi::Runtime& runtime) const; + public std::u16string utf16(facebook::jsi::Runtime& runtime) const; + template + public static std::vector names(facebook::jsi::PropNameID(&&propertyNames)[N]); + template + public void getPropNameIdData(facebook::jsi::Runtime& runtime, CB& cb) const; + template + public static std::vector names(facebook::jsi::Runtime& runtime, Args &&... args); +} + +class facebook::jsi::Runtime : public facebook::jsi::ICast { + protected static const facebook::jsi::Runtime::PointerValue* getPointerValue(const facebook::jsi::Pointer& pointer); + protected static const facebook::jsi::Runtime::PointerValue* getPointerValue(const facebook::jsi::Value& value); + protected static facebook::jsi::Runtime::PointerValue* getPointerValue(facebook::jsi::Pointer& pointer); + protected virtual ScopeState* pushScope(); + protected virtual bool bigintIsInt64(const facebook::jsi::BigInt&) = 0; + protected virtual bool bigintIsUint64(const facebook::jsi::BigInt&) = 0; + protected virtual bool compare(const facebook::jsi::PropNameID&, const facebook::jsi::PropNameID&) = 0; + protected virtual bool hasNativeState(const facebook::jsi::Object&) = 0; + protected virtual bool hasProperty(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name) = 0; + protected virtual bool hasProperty(const facebook::jsi::Object&, const facebook::jsi::String& name) = 0; + protected virtual bool hasProperty(const facebook::jsi::Object&, const facebook::jsi::Value& name); + protected virtual bool instanceOf(const facebook::jsi::Object& o, const facebook::jsi::Function& f) = 0; + protected virtual bool isArray(const facebook::jsi::Object&) const = 0; + protected virtual bool isArrayBuffer(const facebook::jsi::Object&) const = 0; + protected virtual bool isFunction(const facebook::jsi::Object&) const = 0; + protected virtual bool isHostFunction(const facebook::jsi::Function&) const = 0; + protected virtual bool isHostObject(const facebook::jsi::Object&) const = 0; + protected virtual bool strictEquals(const facebook::jsi::BigInt& a, const facebook::jsi::BigInt& b) const = 0; + protected virtual bool strictEquals(const facebook::jsi::Object& a, const facebook::jsi::Object& b) const = 0; + protected virtual bool strictEquals(const facebook::jsi::String& a, const facebook::jsi::String& b) const = 0; + protected virtual bool strictEquals(const facebook::jsi::Symbol& a, const facebook::jsi::Symbol& b) const = 0; + protected virtual const void* getRuntimeDataImpl(const facebook::jsi::UUID& uuid); + protected virtual facebook::jsi::Array createArray(size_t length) = 0; + protected virtual facebook::jsi::Array getPropertyNames(const facebook::jsi::Object&) = 0; + protected virtual facebook::jsi::ArrayBuffer createArrayBuffer(std::shared_ptr buffer) = 0; + protected virtual facebook::jsi::BigInt createBigIntFromInt64(int64_t) = 0; + protected virtual facebook::jsi::BigInt createBigIntFromUint64(uint64_t) = 0; + protected virtual facebook::jsi::Function createFunctionFromHostFunction(const facebook::jsi::PropNameID& name, unsigned int paramCount, facebook::jsi::HostFunctionType func) = 0; + protected virtual facebook::jsi::HostFunctionType& getHostFunction(const facebook::jsi::Function&) = 0; + protected virtual facebook::jsi::Object createObject() = 0; + protected virtual facebook::jsi::Object createObject(std::shared_ptr ho) = 0; + protected virtual facebook::jsi::Object createObjectWithPrototype(const facebook::jsi::Value& prototype); + protected virtual facebook::jsi::PropNameID createPropNameIDFromAscii(const char* str, size_t length) = 0; + protected virtual facebook::jsi::PropNameID createPropNameIDFromString(const facebook::jsi::String& str) = 0; + protected virtual facebook::jsi::PropNameID createPropNameIDFromSymbol(const facebook::jsi::Symbol& sym) = 0; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf8(const uint8_t* utf8, size_t length) = 0; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf16(const char16_t* utf16, size_t length); + protected virtual facebook::jsi::Runtime::PointerValue* cloneBigInt(const facebook::jsi::Runtime::PointerValue* pv) = 0; + protected virtual facebook::jsi::Runtime::PointerValue* cloneObject(const facebook::jsi::Runtime::PointerValue* pv) = 0; + protected virtual facebook::jsi::Runtime::PointerValue* clonePropNameID(const facebook::jsi::Runtime::PointerValue* pv) = 0; + protected virtual facebook::jsi::Runtime::PointerValue* cloneString(const facebook::jsi::Runtime::PointerValue* pv) = 0; + protected virtual facebook::jsi::Runtime::PointerValue* cloneSymbol(const facebook::jsi::Runtime::PointerValue* pv) = 0; + protected virtual facebook::jsi::String bigintToString(const facebook::jsi::BigInt&, int) = 0; + protected virtual facebook::jsi::String createStringFromAscii(const char* str, size_t length) = 0; + protected virtual facebook::jsi::String createStringFromUtf8(const uint8_t* utf8, size_t length) = 0; + protected virtual facebook::jsi::String createStringFromUtf16(const char16_t* utf16, size_t length); + protected virtual facebook::jsi::Value call(const facebook::jsi::Function&, const facebook::jsi::Value& jsThis, const facebook::jsi::Value* args, size_t count) = 0; + protected virtual facebook::jsi::Value callAsConstructor(const facebook::jsi::Function&, const facebook::jsi::Value* args, size_t count) = 0; + protected virtual facebook::jsi::Value createValueFromJsonUtf8(const uint8_t* json, size_t length); + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name) = 0; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object&, const facebook::jsi::String& name) = 0; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object&, const facebook::jsi::Value& name); + protected virtual facebook::jsi::Value getPrototypeOf(const facebook::jsi::Object& object); + protected virtual facebook::jsi::Value getValueAtIndex(const facebook::jsi::Array&, size_t i) = 0; + protected virtual facebook::jsi::Value lockWeakObject(const facebook::jsi::WeakObject&) = 0; + protected virtual facebook::jsi::WeakObject createWeakObject(const facebook::jsi::Object&) = 0; + protected virtual size_t size(const facebook::jsi::Array&) = 0; + protected virtual size_t size(const facebook::jsi::ArrayBuffer&) = 0; + protected virtual std::shared_ptr getHostObject(const facebook::jsi::Object&) = 0; + protected virtual std::shared_ptr getNativeState(const facebook::jsi::Object&) = 0; + protected virtual std::string symbolToString(const facebook::jsi::Symbol&) = 0; + protected virtual std::string utf8(const facebook::jsi::PropNameID&) = 0; + protected virtual std::string utf8(const facebook::jsi::String&) = 0; + protected virtual std::u16string utf16(const facebook::jsi::PropNameID& sym); + protected virtual std::u16string utf16(const facebook::jsi::String& str); + protected virtual uint8_t* data(const facebook::jsi::ArrayBuffer&) = 0; + protected virtual uint64_t truncate(const facebook::jsi::BigInt&) = 0; + protected virtual void deleteProperty(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name); + protected virtual void deleteProperty(const facebook::jsi::Object&, const facebook::jsi::String& name); + protected virtual void deleteProperty(const facebook::jsi::Object&, const facebook::jsi::Value& name); + protected virtual void getPropNameIdData(const facebook::jsi::PropNameID& sym, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb); + protected virtual void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb); + protected virtual void popScope(ScopeState*); + protected virtual void setExternalMemoryPressure(const facebook::jsi::Object& obj, size_t amount) = 0; + protected virtual void setNativeState(const facebook::jsi::Object&, std::shared_ptr state) = 0; + protected virtual void setPropertyValue(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) = 0; + protected virtual void setPropertyValue(const facebook::jsi::Object&, const facebook::jsi::String& name, const facebook::jsi::Value& value) = 0; + protected virtual void setPropertyValue(const facebook::jsi::Object&, const facebook::jsi::Value& name, const facebook::jsi::Value& value); + protected virtual void setPrototypeOf(const facebook::jsi::Object& object, const facebook::jsi::Value& prototype); + protected virtual void setRuntimeDataImpl(const facebook::jsi::UUID& uuid, const void* data, void(*)(const void* data) deleter); + protected virtual void setValueAtIndexImpl(const facebook::jsi::Array&, size_t i, const facebook::jsi::Value& value) = 0; + public std::shared_ptr getRuntimeData(const facebook::jsi::UUID& uuid); + public virtual bool drainMicrotasks(int maxMicrotasksHint = -1) = 0; + public virtual bool isInspectable() = 0; + public virtual facebook::jsi::ICast* castInterface(const facebook::jsi::UUID& interfaceUUID) override; + public virtual facebook::jsi::Instrumentation& instrumentation(); + public virtual facebook::jsi::Object global() = 0; + public virtual facebook::jsi::Value evaluateJavaScript(const std::shared_ptr& buffer, const std::string& sourceURL) = 0; + public virtual facebook::jsi::Value evaluatePreparedJavaScript(const std::shared_ptr& js) = 0; + public virtual std::shared_ptr prepareJavaScript(const std::shared_ptr& buffer, std::string sourceURL) = 0; + public virtual std::string description() = 0; + public virtual void queueMicrotask(const facebook::jsi::Function& callback) = 0; + public virtual ~Runtime(); + public void setRuntimeData(const facebook::jsi::UUID& uuid, const std::shared_ptr& data); + template + protected static T make(facebook::jsi::Runtime::PointerValue* pv); +} + +struct facebook::jsi::Runtime::PointerValue { + protected virtual ~PointerValue() = default; + public virtual void invalidate() noexcept = 0; +} + +class facebook::jsi::Scope { + public Scope(const facebook::jsi::Scope&) = delete; + public Scope(facebook::jsi::Runtime& rt); + public Scope(facebook::jsi::Scope&&) = delete; + public facebook::jsi::Scope& operator=(const facebook::jsi::Scope&) = delete; + public facebook::jsi::Scope& operator=(facebook::jsi::Scope&&) = delete; + public ~Scope(); + template + public static decltype(f()) callInNewScope(facebook::jsi::Runtime& rt, F f); +} + +class facebook::jsi::SourceJavaScriptPreparation : public facebook::jsi::PreparedJavaScript, public facebook::jsi::Buffer { + public SourceJavaScriptPreparation(std::shared_ptr buf, std::string sourceURL); + public const std::string& sourceURL() const; + public virtual const uint8_t* data() const override; + public virtual size_t size() const override; +} + +class facebook::jsi::String : public facebook::jsi::Pointer { + public String(facebook::jsi::Pointer&& other) noexcept; + public String(facebook::jsi::Runtime::PointerValue* ptr); + public String(facebook::jsi::String&& other) = default; + public facebook::jsi::String& operator=(facebook::jsi::String&& other) = default; + public static bool strictEquals(facebook::jsi::Runtime& runtime, const facebook::jsi::String& a, const facebook::jsi::String& b); + public static facebook::jsi::String createFromAscii(facebook::jsi::Runtime& runtime, const char* str); + public static facebook::jsi::String createFromAscii(facebook::jsi::Runtime& runtime, const char* str, size_t length); + public static facebook::jsi::String createFromAscii(facebook::jsi::Runtime& runtime, const std::string& str); + public static facebook::jsi::String createFromUtf8(facebook::jsi::Runtime& runtime, const std::string& utf8); + public static facebook::jsi::String createFromUtf8(facebook::jsi::Runtime& runtime, const uint8_t* utf8, size_t length); + public static facebook::jsi::String createFromUtf16(facebook::jsi::Runtime& runtime, const char16_t* utf16, size_t length); + public static facebook::jsi::String createFromUtf16(facebook::jsi::Runtime& runtime, const std::u16string& utf16); + public std::string utf8(facebook::jsi::Runtime& runtime) const; + public std::u16string utf16(facebook::jsi::Runtime& runtime) const; + template + public void getStringData(facebook::jsi::Runtime& runtime, CB& cb) const; +} + +class facebook::jsi::StringBuffer : public facebook::jsi::Buffer { + public StringBuffer(std::string s); + public virtual const uint8_t* data() const override; + public virtual size_t size() const override; +} + +class facebook::jsi::Symbol : public facebook::jsi::Pointer { + public Symbol(facebook::jsi::Pointer&& other) noexcept; + public Symbol(facebook::jsi::Runtime::PointerValue* ptr); + public Symbol(facebook::jsi::Symbol&& other) = default; + public facebook::jsi::Symbol& operator=(facebook::jsi::Symbol&& other) = default; + public static bool strictEquals(facebook::jsi::Runtime& runtime, const facebook::jsi::Symbol& a, const facebook::jsi::Symbol& b); + public std::string toString(facebook::jsi::Runtime& runtime) const; +} + +class facebook::jsi::ThreadSafeRuntime : public facebook::jsi::Runtime { + public virtual facebook::jsi::Runtime& getUnsafeRuntime() = 0; + public virtual void lock() const = 0; + public virtual void unlock() const = 0; +} + +class facebook::jsi::UUID { + public constexpr UUID(); + public constexpr UUID(const facebook::jsi::UUID&) = default; + public constexpr UUID(uint32_t timeLow, uint16_t timeMid, uint16_t timeHighAndVersion, uint16_t variantAndClockSeq, uint64_t node); + public constexpr bool operator!=(const facebook::jsi::UUID& other) const; + public constexpr bool operator<(const facebook::jsi::UUID& other) const; + public constexpr bool operator==(const facebook::jsi::UUID& other) const; + public constexpr facebook::jsi::UUID& operator=(const facebook::jsi::UUID&) = default; + public constexpr uint16_t getTimeHighAndVersion() const; + public constexpr uint16_t getTimeMid() const; + public constexpr uint16_t getVariantAndClockSeq() const; + public constexpr uint32_t getTimeLow() const; + public constexpr uint64_t getNode() const; + public std::string toString() const; +} + +struct facebook::jsi::UUID::Hash { + public std::size_t operator()(const facebook::jsi::UUID& uuid) const noexcept; +} + +class facebook::jsi::Value { + public Value() noexcept; + public Value(bool b); + public Value(double d); + public Value(facebook::jsi::Runtime& runtime, const facebook::jsi::BigInt& bigint); + public Value(facebook::jsi::Runtime& runtime, const facebook::jsi::Object& obj); + public Value(facebook::jsi::Runtime& runtime, const facebook::jsi::String& str); + public Value(facebook::jsi::Runtime& runtime, const facebook::jsi::Symbol& sym); + public Value(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value); + public Value(facebook::jsi::Value&& other) noexcept; + public Value(int i); + public Value(std::nullptr_t); + public bool asBool() const; + public bool getBool() const; + public bool isBigInt() const; + public bool isBool() const; + public bool isNull() const; + public bool isNumber() const; + public bool isObject() const; + public bool isString() const; + public bool isSymbol() const; + public bool isUndefined() const; + public double asNumber() const; + public double getNumber() const; + public facebook::jsi::BigInt asBigInt(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::BigInt asBigInt(facebook::jsi::Runtime& runtime); + public facebook::jsi::BigInt getBigInt(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::BigInt getBigInt(facebook::jsi::Runtime&); + public facebook::jsi::Object asObject(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Object asObject(facebook::jsi::Runtime& runtime); + public facebook::jsi::Object getObject(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Object getObject(facebook::jsi::Runtime&); + public facebook::jsi::String asString(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::String asString(facebook::jsi::Runtime& runtime); + public facebook::jsi::String getString(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::String getString(facebook::jsi::Runtime&); + public facebook::jsi::String toString(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Symbol asSymbol(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Symbol asSymbol(facebook::jsi::Runtime& runtime); + public facebook::jsi::Symbol getSymbol(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Symbol getSymbol(facebook::jsi::Runtime&); + public facebook::jsi::Value& operator=(facebook::jsi::Value&& other) noexcept; + public static bool strictEquals(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& a, const facebook::jsi::Value& b); + public static facebook::jsi::Value createFromJsonUtf8(facebook::jsi::Runtime& runtime, const uint8_t* json, size_t length); + public static facebook::jsi::Value null(); + public static facebook::jsi::Value undefined(); + public ~Value(); + template + public Value(const char*); + template + public Value(facebook::jsi::Runtime&, const char*); + template ::value || std::is_base_of::value || std::is_base_of::value || std::is_base_of::value>> + public Value(T&& other); +} + +class facebook::jsi::WeakObject : public facebook::jsi::Pointer { + public WeakObject(facebook::jsi::Pointer&& other) noexcept; + public WeakObject(facebook::jsi::Runtime& runtime, const facebook::jsi::Object& o); + public WeakObject(facebook::jsi::Runtime::PointerValue* ptr); + public WeakObject(facebook::jsi::WeakObject&& other) = default; + public facebook::jsi::Value lock(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::WeakObject& operator=(facebook::jsi::WeakObject&& other) = default; +} + +struct facebook::jsi::ICast { + protected ~ICast() = default; + public virtual facebook::jsi::ICast* castInterface(const facebook::jsi::UUID& interfaceUUID) = 0; +} + +template +class facebook::jsi::RuntimeDecorator : public facebook::jsi::Runtime { + protected RuntimeDecorator(Plain& plain); + protected virtual Runtime::ScopeState* pushScope() override; + protected virtual bool bigintIsInt64(const facebook::jsi::BigInt& b) override; + protected virtual bool bigintIsUint64(const facebook::jsi::BigInt& b) override; + protected virtual bool compare(const facebook::jsi::PropNameID& a, const facebook::jsi::PropNameID& b) override; + protected virtual bool hasNativeState(const facebook::jsi::Object& o) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::String& name) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::Value& name) override; + protected virtual bool instanceOf(const facebook::jsi::Object& o, const facebook::jsi::Function& f) override; + protected virtual bool isArray(const facebook::jsi::Object& o) const override; + protected virtual bool isArrayBuffer(const facebook::jsi::Object& o) const override; + protected virtual bool isFunction(const facebook::jsi::Object& o) const override; + protected virtual bool isHostFunction(const facebook::jsi::Function& f) const override; + protected virtual bool isHostObject(const facebook::jsi::Object& o) const override; + protected virtual bool strictEquals(const facebook::jsi::BigInt& a, const facebook::jsi::BigInt& b) const override; + protected virtual bool strictEquals(const facebook::jsi::Object& a, const facebook::jsi::Object& b) const override; + protected virtual bool strictEquals(const facebook::jsi::String& a, const facebook::jsi::String& b) const override; + protected virtual bool strictEquals(const facebook::jsi::Symbol& a, const facebook::jsi::Symbol& b) const override; + protected virtual const void* getRuntimeDataImpl(const facebook::jsi::UUID& uuid) override; + protected virtual facebook::jsi::Array createArray(size_t length) override; + protected virtual facebook::jsi::Array getPropertyNames(const facebook::jsi::Object& o) override; + protected virtual facebook::jsi::ArrayBuffer createArrayBuffer(std::shared_ptr buffer) override; + protected virtual facebook::jsi::BigInt createBigIntFromInt64(int64_t value) override; + protected virtual facebook::jsi::BigInt createBigIntFromUint64(uint64_t value) override; + protected virtual facebook::jsi::Function createFunctionFromHostFunction(const facebook::jsi::PropNameID& name, unsigned int paramCount, facebook::jsi::HostFunctionType func) override; + protected virtual facebook::jsi::HostFunctionType& getHostFunction(const facebook::jsi::Function& f) override; + protected virtual facebook::jsi::Object createObject() override; + protected virtual facebook::jsi::Object createObject(std::shared_ptr ho) override; + protected virtual facebook::jsi::Object createObjectWithPrototype(const facebook::jsi::Value& prototype) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromAscii(const char* str, size_t length) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromString(const facebook::jsi::String& str) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromSymbol(const facebook::jsi::Symbol& sym) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf8(const uint8_t* utf8, size_t length) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf16(const char16_t* utf16, size_t length) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneBigInt(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneObject(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* clonePropNameID(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneString(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneSymbol(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::String bigintToString(const facebook::jsi::BigInt& bigint, int radix) override; + protected virtual facebook::jsi::String createStringFromAscii(const char* str, size_t length) override; + protected virtual facebook::jsi::String createStringFromUtf8(const uint8_t* utf8, size_t length) override; + protected virtual facebook::jsi::String createStringFromUtf16(const char16_t* utf16, size_t length) override; + protected virtual facebook::jsi::Value call(const facebook::jsi::Function& f, const facebook::jsi::Value& jsThis, const facebook::jsi::Value* args, size_t count) override; + protected virtual facebook::jsi::Value callAsConstructor(const facebook::jsi::Function& f, const facebook::jsi::Value* args, size_t count) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::String& name) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::Value& name) override; + protected virtual facebook::jsi::Value getPrototypeOf(const facebook::jsi::Object& object) override; + protected virtual facebook::jsi::Value getValueAtIndex(const facebook::jsi::Array& a, size_t i) override; + protected virtual facebook::jsi::Value lockWeakObject(const facebook::jsi::WeakObject& wo) override; + protected virtual facebook::jsi::WeakObject createWeakObject(const facebook::jsi::Object& o) override; + protected virtual size_t size(const facebook::jsi::Array& a) override; + protected virtual size_t size(const facebook::jsi::ArrayBuffer& ab) override; + protected virtual std::shared_ptr getHostObject(const facebook::jsi::Object& o) override; + protected virtual std::shared_ptr getNativeState(const facebook::jsi::Object& o) override; + protected virtual std::string flushAndDisableBridgeTrafficTrace() override; + protected virtual std::string getRecordedGCStats() override; + protected virtual std::string symbolToString(const facebook::jsi::Symbol& sym) override; + protected virtual std::string utf8(const facebook::jsi::PropNameID& id) override; + protected virtual std::string utf8(const facebook::jsi::String& s) override; + protected virtual std::u16string utf16(const facebook::jsi::PropNameID& sym) override; + protected virtual std::u16string utf16(const facebook::jsi::String& str) override; + protected virtual std::unordered_map getHeapInfo(bool includeExpensive) override; + protected virtual uint8_t* data(const facebook::jsi::ArrayBuffer& ab) override; + protected virtual uint64_t truncate(const facebook::jsi::BigInt& b) override; + protected virtual void collectGarbage(std::string cause) override; + protected virtual void createSnapshotToFile(const std::string& path, const facebook::jsi::Instrumentation::HeapSnapshotOptions& options) override; + protected virtual void createSnapshotToStream(std::ostream& os, const facebook::jsi::Instrumentation::HeapSnapshotOptions& options) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::PropNameID& name) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::String& name) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::Value& name) override; + protected virtual void dumpOpcodeStats(std::ostream& os) const override; + protected virtual void dumpProfilerSymbolsToFile(const std::string& fileName) const override; + protected virtual void setExternalMemoryPressure(const facebook::jsi::Object& obj, size_t amount) override; + protected virtual void setNativeState(const facebook::jsi::Object& o, std::shared_ptr state) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::String& name, const facebook::jsi::Value& value) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::Value& name, const facebook::jsi::Value& value) override; + protected virtual void setPrototypeOf(const facebook::jsi::Object& object, const facebook::jsi::Value& prototype) override; + protected virtual void setRuntimeDataImpl(const facebook::jsi::UUID& uuid, const void* data, void(*)(const void* data) deleter) override; + protected virtual void setValueAtIndexImpl(const facebook::jsi::Array& a, size_t i, const facebook::jsi::Value& value) override; + protected virtual void startHeapSampling(size_t samplingInterval) override; + protected virtual void stopHeapSampling(std::ostream& os) override; + protected virtual void stopTrackingHeapObjectStackTraces() override; + protected virtual void writeBasicBlockProfileTraceToFile(const std::string& fileName) const override; + protected void getPropNameIdData(const facebook::jsi::PropNameID& sym, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) override; + protected void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) override; + protected void popScope(Runtime::ScopeState* ss) override; + protected void startTrackingHeapObjectStackTraces(std::function)> callback) override; + public Plain& plain(); + public const Plain& plain() const; + public virtual bool drainMicrotasks(int maxMicrotasksHint) override; + public virtual bool isInspectable() override; + public virtual facebook::jsi::ICast* castInterface(const facebook::jsi::UUID& interfaceUUID) override; + public virtual facebook::jsi::Instrumentation& instrumentation() override; + public virtual facebook::jsi::Object global() override; + public virtual facebook::jsi::Value evaluateJavaScript(const std::shared_ptr& buffer, const std::string& sourceURL) override; + public virtual facebook::jsi::Value evaluatePreparedJavaScript(const std::shared_ptr& js) override; + public virtual std::shared_ptr prepareJavaScript(const std::shared_ptr& buffer, std::string sourceURL) override; + public virtual std::string description() override; + public virtual void queueMicrotask(const facebook::jsi::Function& callback) override; +} + +template +class facebook::jsi::WithRuntimeDecorator : public facebook::jsi::RuntimeDecorator { + protected virtual Runtime::ScopeState* pushScope() override; + protected virtual bool bigintIsInt64(const facebook::jsi::BigInt& bi) override; + protected virtual bool bigintIsUint64(const facebook::jsi::BigInt& bi) override; + protected virtual bool compare(const facebook::jsi::PropNameID& a, const facebook::jsi::PropNameID& b) override; + protected virtual bool hasNativeState(const facebook::jsi::Object& o) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::String& name) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::Value& name) override; + protected virtual bool instanceOf(const facebook::jsi::Object& o, const facebook::jsi::Function& f) override; + protected virtual bool isArray(const facebook::jsi::Object& o) const override; + protected virtual bool isArrayBuffer(const facebook::jsi::Object& o) const override; + protected virtual bool isFunction(const facebook::jsi::Object& o) const override; + protected virtual bool isHostFunction(const facebook::jsi::Function& f) const override; + protected virtual bool isHostObject(const facebook::jsi::Object& o) const override; + protected virtual bool strictEquals(const facebook::jsi::BigInt& a, const facebook::jsi::BigInt& b) const override; + protected virtual bool strictEquals(const facebook::jsi::Object& a, const facebook::jsi::Object& b) const override; + protected virtual bool strictEquals(const facebook::jsi::String& a, const facebook::jsi::String& b) const override; + protected virtual bool strictEquals(const facebook::jsi::Symbol& a, const facebook::jsi::Symbol& b) const override; + protected virtual const void* getRuntimeDataImpl(const facebook::jsi::UUID& uuid) override; + protected virtual facebook::jsi::Array createArray(size_t length) override; + protected virtual facebook::jsi::Array getPropertyNames(const facebook::jsi::Object& o) override; + protected virtual facebook::jsi::ArrayBuffer createArrayBuffer(std::shared_ptr buffer) override; + protected virtual facebook::jsi::BigInt createBigIntFromInt64(int64_t i) override; + protected virtual facebook::jsi::BigInt createBigIntFromUint64(uint64_t i) override; + protected virtual facebook::jsi::Function createFunctionFromHostFunction(const facebook::jsi::PropNameID& name, unsigned int paramCount, facebook::jsi::HostFunctionType func) override; + protected virtual facebook::jsi::HostFunctionType& getHostFunction(const facebook::jsi::Function& f) override; + protected virtual facebook::jsi::Object createObject() override; + protected virtual facebook::jsi::Object createObject(std::shared_ptr ho) override; + protected virtual facebook::jsi::Object createObjectWithPrototype(const facebook::jsi::Value& prototype) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromAscii(const char* str, size_t length) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromString(const facebook::jsi::String& str) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromSymbol(const facebook::jsi::Symbol& sym) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf8(const uint8_t* utf8, size_t length) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf16(const char16_t* utf16, size_t length) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneBigInt(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneObject(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* clonePropNameID(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneString(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneSymbol(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::String bigintToString(const facebook::jsi::BigInt& bi, int i) override; + protected virtual facebook::jsi::String createStringFromAscii(const char* str, size_t length) override; + protected virtual facebook::jsi::String createStringFromUtf8(const uint8_t* utf8, size_t length) override; + protected virtual facebook::jsi::String createStringFromUtf16(const char16_t* utf16, size_t length) override; + protected virtual facebook::jsi::Value call(const facebook::jsi::Function& f, const facebook::jsi::Value& jsThis, const facebook::jsi::Value* args, size_t count) override; + protected virtual facebook::jsi::Value callAsConstructor(const facebook::jsi::Function& f, const facebook::jsi::Value* args, size_t count) override; + protected virtual facebook::jsi::Value createValueFromJsonUtf8(const uint8_t* json, size_t length) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::String& name) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::Value& name) override; + protected virtual facebook::jsi::Value getPrototypeOf(const facebook::jsi::Object& object) override; + protected virtual facebook::jsi::Value getValueAtIndex(const facebook::jsi::Array& a, size_t i) override; + protected virtual facebook::jsi::Value lockWeakObject(const facebook::jsi::WeakObject& wo) override; + protected virtual facebook::jsi::WeakObject createWeakObject(const facebook::jsi::Object& o) override; + protected virtual size_t size(const facebook::jsi::Array& a) override; + protected virtual size_t size(const facebook::jsi::ArrayBuffer& ab) override; + protected virtual std::shared_ptr getHostObject(const facebook::jsi::Object& o) override; + protected virtual std::shared_ptr getNativeState(const facebook::jsi::Object& o) override; + protected virtual std::string symbolToString(const facebook::jsi::Symbol& sym) override; + protected virtual std::string utf8(const facebook::jsi::PropNameID& id) override; + protected virtual std::string utf8(const facebook::jsi::String& s) override; + protected virtual std::u16string utf16(const facebook::jsi::PropNameID& sym) override; + protected virtual std::u16string utf16(const facebook::jsi::String& str) override; + protected virtual uint8_t* data(const facebook::jsi::ArrayBuffer& ab) override; + protected virtual uint64_t truncate(const facebook::jsi::BigInt& bi) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::PropNameID& name) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::String& name) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::Value& name) override; + protected virtual void setExternalMemoryPressure(const facebook::jsi::Object& obj, size_t amt) override; + protected virtual void setNativeState(const facebook::jsi::Object& o, std::shared_ptr state) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::String& name, const facebook::jsi::Value& value) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::Value& name, const facebook::jsi::Value& value) override; + protected virtual void setPrototypeOf(const facebook::jsi::Object& object, const facebook::jsi::Value& prototype) override; + protected virtual void setRuntimeDataImpl(const facebook::jsi::UUID& uuid, const void* data, void(*)(const void* data) deleter) override; + protected virtual void setValueAtIndexImpl(const facebook::jsi::Array& a, size_t i, const facebook::jsi::Value& value) override; + protected void getPropNameIdData(const facebook::jsi::PropNameID& sym, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) override; + protected void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) override; + protected void popScope(Runtime::ScopeState* ss) override; + public WithRuntimeDecorator(Plain& plain, With& with); + public using RD = facebook::jsi::RuntimeDecorator; + public virtual bool drainMicrotasks(int maxMicrotasksHint) override; + public virtual bool isInspectable() override; + public virtual facebook::jsi::ICast* castInterface(const facebook::jsi::UUID& interfaceUUID) override; + public virtual facebook::jsi::Instrumentation& instrumentation() override; + public virtual facebook::jsi::Object global() override; + public virtual facebook::jsi::Value evaluateJavaScript(const std::shared_ptr& buffer, const std::string& sourceURL) override; + public virtual facebook::jsi::Value evaluatePreparedJavaScript(const std::shared_ptr& js) override; + public virtual std::shared_ptr prepareJavaScript(const std::shared_ptr& buffer, std::string sourceURL) override; + public virtual std::string description() override; + public virtual void queueMicrotask(const facebook::jsi::Function& callback) override; +} + + +facebook::jsi::PropNameID facebook::jsi::detail::toPropNameID(facebook::jsi::Runtime& runtime, const char* name); +facebook::jsi::PropNameID facebook::jsi::detail::toPropNameID(facebook::jsi::Runtime& runtime, const std::string& name); +facebook::jsi::PropNameID&& facebook::jsi::detail::toPropNameID(facebook::jsi::Runtime&, facebook::jsi::PropNameID&& name); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime& runtime, const char* str); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime& runtime, const std::string& str); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime&, bool b); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime&, double d); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime&, float f); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime&, int i); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime&, std::nullptr_t); +facebook::jsi::Value&& facebook::jsi::detail::toValue(facebook::jsi::Runtime&, facebook::jsi::Value&& value); +template +void facebook::jsi::detail::throwOrDie(Args &&... args); +template +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime& runtime, const T& other); + +template +class facebook::jsi::detail::ThreadSafeRuntimeImpl : public facebook::jsi::WithRuntimeDecorator, R, facebook::jsi::ThreadSafeRuntime> { + public virtual R& getUnsafeRuntime() override; + public virtual void lock() const override; + public virtual void unlock() const override; + template + public ThreadSafeRuntimeImpl(Args &&... args); +} + +template +struct facebook::jsi::detail::WithLock { + public L lock; + public WithLock(R& r); + public void after(); + public void before(); +} + +template +struct facebook::jsi::detail::AfterCaller { + public static void after(T&); +} + +template +struct facebook::jsi::detail::BeforeCaller { + public static void before(T&); +} + +template +struct facebook::jsi::detail::AfterCaller { + public static void after(T& t); +} + +template +struct facebook::jsi::detail::BeforeCaller { + public static void before(T& t); +} + +template +struct facebook::jsi::detail::AfterCaller> { + public static void after(std::tuple& tuple); +} + +template +struct facebook::jsi::detail::BeforeCaller> { + public static void before(std::tuple& tuple); +} + + +using facebook::yoga::ExperimentalFeatureSet = std::bitset()>; +using facebook::yoga::GridTrackList = std::vector; +template +concept facebook::yoga::Enumeration = std::is_enum_v; +template +concept facebook::yoga::HasOrdinality = (facebook::yoga::ordinalCount()> 0); +YGLogger facebook::yoga::getDefaultLogger(); +bool facebook::yoga::calculateLayoutInternal(facebook::yoga::Node* node, float availableWidth, float availableHeight, facebook::yoga::Direction ownerDirection, facebook::yoga::SizingMode widthSizingMode, facebook::yoga::SizingMode heightSizingMode, float ownerWidth, float ownerHeight, bool performLayout, facebook::yoga::LayoutPassReason reason, facebook::yoga::LayoutData& layoutMarkerData, uint32_t depth, uint32_t generationCount); +bool facebook::yoga::canUseCachedMeasurement(facebook::yoga::SizingMode widthMode, float availableWidth, facebook::yoga::SizingMode heightMode, float availableHeight, facebook::yoga::SizingMode lastWidthMode, float lastAvailableWidth, facebook::yoga::SizingMode lastHeightMode, float lastAvailableHeight, float lastComputedWidth, float lastComputedHeight, float marginRow, float marginColumn, const facebook::yoga::Config* config); +bool facebook::yoga::configUpdateInvalidatesLayout(const facebook::yoga::Config& oldConfig, const facebook::yoga::Config& newConfig); +bool facebook::yoga::inexactEquals(const facebook::yoga::StyleLength& a, const facebook::yoga::StyleLength& b); +bool facebook::yoga::inexactEquals(const facebook::yoga::StyleSizeLength& a, const facebook::yoga::StyleSizeLength& b); +bool facebook::yoga::inexactEquals(double a, double b); +bool facebook::yoga::inexactEquals(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +bool facebook::yoga::inexactEquals(float a, float b); +bool facebook::yoga::isBaselineLayout(const facebook::yoga::Node* node); +bool facebook::yoga::isColumn(const facebook::yoga::FlexDirection flexDirection); +bool facebook::yoga::isRow(const facebook::yoga::FlexDirection flexDirection); +bool facebook::yoga::layoutAbsoluteDescendants(facebook::yoga::Node* containingNode, facebook::yoga::Node* currentNode, facebook::yoga::SizingMode widthSizingMode, facebook::yoga::Direction currentNodeDirection, facebook::yoga::LayoutData& layoutMarkerData, uint32_t currentDepth, uint32_t generationCount, float currentNodeMainOffsetFromContainingBlock, float currentNodeCrossOffsetFromContainingBlock, float containingNodeAvailableInnerWidth, float containingNodeAvailableInnerHeight); +bool facebook::yoga::needsTrailingPosition(const facebook::yoga::FlexDirection axis); +const char* facebook::yoga::LayoutPassReasonToString(facebook::yoga::LayoutPassReason value); +const char* facebook::yoga::toString(facebook::yoga::Align e); +const char* facebook::yoga::toString(facebook::yoga::BoxSizing e); +const char* facebook::yoga::toString(facebook::yoga::Dimension e); +const char* facebook::yoga::toString(facebook::yoga::Direction e); +const char* facebook::yoga::toString(facebook::yoga::Display e); +const char* facebook::yoga::toString(facebook::yoga::Edge e); +const char* facebook::yoga::toString(facebook::yoga::Errata e); +const char* facebook::yoga::toString(facebook::yoga::ExperimentalFeature e); +const char* facebook::yoga::toString(facebook::yoga::FlexDirection e); +const char* facebook::yoga::toString(facebook::yoga::GridTrackType e); +const char* facebook::yoga::toString(facebook::yoga::Gutter e); +const char* facebook::yoga::toString(facebook::yoga::Justify e); +const char* facebook::yoga::toString(facebook::yoga::LogLevel e); +const char* facebook::yoga::toString(facebook::yoga::MeasureMode e); +const char* facebook::yoga::toString(facebook::yoga::NodeType e); +const char* facebook::yoga::toString(facebook::yoga::Overflow e); +const char* facebook::yoga::toString(facebook::yoga::PositionType e); +const char* facebook::yoga::toString(facebook::yoga::Unit e); +const char* facebook::yoga::toString(facebook::yoga::Wrap e); +const facebook::yoga::Node* facebook::yoga::resolveRef(const YGNodeConstRef ref); +constexpr YGAlign facebook::yoga::unscopedEnum(facebook::yoga::Align scoped); +constexpr YGBoxSizing facebook::yoga::unscopedEnum(facebook::yoga::BoxSizing scoped); +constexpr YGDimension facebook::yoga::unscopedEnum(facebook::yoga::Dimension scoped); +constexpr YGDirection facebook::yoga::unscopedEnum(facebook::yoga::Direction scoped); +constexpr YGDisplay facebook::yoga::unscopedEnum(facebook::yoga::Display scoped); +constexpr YGEdge facebook::yoga::unscopedEnum(facebook::yoga::Edge scoped); +constexpr YGErrata facebook::yoga::unscopedEnum(facebook::yoga::Errata scoped); +constexpr YGExperimentalFeature facebook::yoga::unscopedEnum(facebook::yoga::ExperimentalFeature scoped); +constexpr YGFlexDirection facebook::yoga::unscopedEnum(facebook::yoga::FlexDirection scoped); +constexpr YGGridTrackType facebook::yoga::unscopedEnum(facebook::yoga::GridTrackType scoped); +constexpr YGGutter facebook::yoga::unscopedEnum(facebook::yoga::Gutter scoped); +constexpr YGJustify facebook::yoga::unscopedEnum(facebook::yoga::Justify scoped); +constexpr YGLogLevel facebook::yoga::unscopedEnum(facebook::yoga::LogLevel scoped); +constexpr YGMeasureMode facebook::yoga::unscopedEnum(facebook::yoga::MeasureMode scoped); +constexpr YGNodeType facebook::yoga::unscopedEnum(facebook::yoga::NodeType scoped); +constexpr YGOverflow facebook::yoga::unscopedEnum(facebook::yoga::Overflow scoped); +constexpr YGPositionType facebook::yoga::unscopedEnum(facebook::yoga::PositionType scoped); +constexpr YGUnit facebook::yoga::unscopedEnum(facebook::yoga::Unit scoped); +constexpr YGWrap facebook::yoga::unscopedEnum(facebook::yoga::Wrap scoped); +constexpr auto facebook::yoga::maxOrDefined(std::floating_point auto a, std::floating_point auto b); +constexpr auto facebook::yoga::minOrDefined(std::floating_point auto a, std::floating_point auto b); +constexpr auto facebook::yoga::to_underlying(Enumeration auto e) noexcept; +constexpr bool facebook::yoga::isDefined(std::floating_point auto value); +constexpr bool facebook::yoga::isUndefined(std::floating_point auto value); +constexpr bool facebook::yoga::isinf(auto value); +constexpr facebook::yoga::Align facebook::yoga::fallbackAlignment(facebook::yoga::Align align); +constexpr facebook::yoga::Align facebook::yoga::scopedEnum(YGAlign unscoped); +constexpr facebook::yoga::BoxSizing facebook::yoga::scopedEnum(YGBoxSizing unscoped); +constexpr facebook::yoga::Dimension facebook::yoga::scopedEnum(YGDimension unscoped); +constexpr facebook::yoga::Direction facebook::yoga::scopedEnum(YGDirection unscoped); +constexpr facebook::yoga::Display facebook::yoga::scopedEnum(YGDisplay unscoped); +constexpr facebook::yoga::Edge facebook::yoga::scopedEnum(YGEdge unscoped); +constexpr facebook::yoga::Errata facebook::yoga::scopedEnum(YGErrata unscoped); +constexpr facebook::yoga::ExperimentalFeature facebook::yoga::scopedEnum(YGExperimentalFeature unscoped); +constexpr facebook::yoga::FlexDirection facebook::yoga::scopedEnum(YGFlexDirection unscoped); +constexpr facebook::yoga::FloatOptional facebook::yoga::maxOrDefined(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr facebook::yoga::GridTrackType facebook::yoga::scopedEnum(YGGridTrackType unscoped); +constexpr facebook::yoga::Gutter facebook::yoga::scopedEnum(YGGutter unscoped); +constexpr facebook::yoga::Justify facebook::yoga::fallbackAlignment(facebook::yoga::Justify align); +constexpr facebook::yoga::Justify facebook::yoga::scopedEnum(YGJustify unscoped); +constexpr facebook::yoga::LogLevel facebook::yoga::scopedEnum(YGLogLevel unscoped); +constexpr facebook::yoga::MeasureMode facebook::yoga::scopedEnum(YGMeasureMode unscoped); +constexpr facebook::yoga::NodeType facebook::yoga::scopedEnum(YGNodeType unscoped); +constexpr facebook::yoga::Overflow facebook::yoga::scopedEnum(YGOverflow unscoped); +constexpr facebook::yoga::PositionType facebook::yoga::scopedEnum(YGPositionType unscoped); +constexpr facebook::yoga::Unit facebook::yoga::scopedEnum(YGUnit unscoped); +constexpr facebook::yoga::Wrap facebook::yoga::scopedEnum(YGWrap unscoped); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +facebook::yoga::Align facebook::yoga::resolveChildAlignment(const facebook::yoga::Node* node, const facebook::yoga::Node* child); +facebook::yoga::Config* facebook::yoga::resolveRef(const YGConfigRef ref); +facebook::yoga::Dimension facebook::yoga::dimension(facebook::yoga::FlexDirection flexDirection); +facebook::yoga::FlexDirection facebook::yoga::resolveCrossDirection(const facebook::yoga::FlexDirection flexDirection, const facebook::yoga::Direction direction); +facebook::yoga::FlexDirection facebook::yoga::resolveDirection(const facebook::yoga::FlexDirection flexDirection, const facebook::yoga::Direction direction); +facebook::yoga::FlexLine facebook::yoga::calculateFlexLine(facebook::yoga::Node* node, facebook::yoga::Direction ownerDirection, float ownerWidth, float mainAxisOwnerSize, float availableInnerWidth, float availableInnerMainDim, facebook::yoga::Node::LayoutableChildren::Iterator& iterator, size_t lineCount); +facebook::yoga::FloatOptional facebook::yoga::boundAxisWithinMinAndMax(const facebook::yoga::Node *const node, const facebook::yoga::Direction direction, const facebook::yoga::FlexDirection axis, const facebook::yoga::FloatOptional value, const float axisSize, const float widthSize); +facebook::yoga::Justify facebook::yoga::resolveChildJustification(const facebook::yoga::Node* node, const facebook::yoga::Node* child); +facebook::yoga::MeasureMode facebook::yoga::measureMode(facebook::yoga::SizingMode mode); +facebook::yoga::Node* facebook::yoga::resolveRef(const YGNodeRef ref); +facebook::yoga::PhysicalEdge facebook::yoga::flexEndEdge(facebook::yoga::FlexDirection flexDirection); +facebook::yoga::PhysicalEdge facebook::yoga::flexStartEdge(facebook::yoga::FlexDirection flexDirection); +facebook::yoga::PhysicalEdge facebook::yoga::inlineEndEdge(facebook::yoga::FlexDirection flexDirection, facebook::yoga::Direction direction); +facebook::yoga::PhysicalEdge facebook::yoga::inlineStartEdge(facebook::yoga::FlexDirection flexDirection, facebook::yoga::Direction direction); +facebook::yoga::SizingMode facebook::yoga::sizingMode(facebook::yoga::MeasureMode mode); +float facebook::yoga::boundAxis(const facebook::yoga::Node *const node, const facebook::yoga::FlexDirection axis, const facebook::yoga::Direction direction, const float value, const float axisSize, const float widthSize); +float facebook::yoga::calculateAvailableInnerDimension(const facebook::yoga::Node *const node, const facebook::yoga::Direction direction, const facebook::yoga::Dimension dimension, const float availableDim, float paddingAndBorder, const float ownerDim, const float ownerWidth); +float facebook::yoga::calculateBaseline(const facebook::yoga::Node* node); +float facebook::yoga::getPositionOfOppositeEdge(float position, facebook::yoga::FlexDirection axis, const facebook::yoga::Node *const containingNode, const facebook::yoga::Node *const node); +float facebook::yoga::paddingAndBorderForAxis(const facebook::yoga::Node *const node, const facebook::yoga::FlexDirection axis, const facebook::yoga::Direction direction, const float widthSize); +float facebook::yoga::roundValueToPixelGrid(double value, double pointScaleFactor, bool forceCeil, bool forceFloor); +template +constexpr int32_t facebook::yoga::ordinalCount(); +template +auto facebook::yoga::ordinals(); +template +constexpr int32_t facebook::yoga::bitCount(); +template +bool facebook::yoga::inexactEquals(const std::array& val1, const std::array& val2); +void facebook::yoga::assertFatal(bool condition, const char* message); +void facebook::yoga::assertFatalWithConfig(const facebook::yoga::Config* config, bool condition, const char* message); +void facebook::yoga::assertFatalWithNode(const facebook::yoga::Node* node, bool condition, const char* message); +void facebook::yoga::calculateLayout(facebook::yoga::Node* node, float ownerWidth, float ownerHeight, facebook::yoga::Direction ownerDirection); +void facebook::yoga::cleanupContentsNodesRecursively(facebook::yoga::Node *const node); +void facebook::yoga::constrainMaxSizeForMode(const facebook::yoga::Node* node, facebook::yoga::Direction direction, facebook::yoga::FlexDirection axis, float ownerAxisSize, float ownerWidth, facebook::yoga::SizingMode* mode, float* size); +void facebook::yoga::fatalWithMessage(const char* message); +void facebook::yoga::layoutAbsoluteChild(const facebook::yoga::Node* containingNode, const facebook::yoga::Node* node, facebook::yoga::Node* child, float containingBlockWidth, float containingBlockHeight, facebook::yoga::SizingMode widthMode, facebook::yoga::Direction direction, facebook::yoga::LayoutData& layoutMarkerData, uint32_t depth, uint32_t generationCount); +void facebook::yoga::log(const facebook::yoga::Config* config, facebook::yoga::LogLevel level, const char* format, ...) noexcept; +void facebook::yoga::log(const facebook::yoga::Node* node, facebook::yoga::LogLevel level, const char* format, ...) noexcept; +void facebook::yoga::log(facebook::yoga::LogLevel level, const char* format, ...) noexcept; +void facebook::yoga::roundLayoutResultsToPixelGrid(facebook::yoga::Node* node, double absoluteLeft, double absoluteTop); +void facebook::yoga::setChildTrailingPosition(const facebook::yoga::Node *const node, facebook::yoga::Node *const child, const facebook::yoga::FlexDirection axis); +void facebook::yoga::zeroOutLayoutRecursively(facebook::yoga::Node *const node); +constexpr bool facebook::yoga::operator<(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr bool facebook::yoga::operator<=(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr bool facebook::yoga::operator==(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr bool facebook::yoga::operator==(facebook::yoga::FloatOptional lhs, float rhs); +constexpr bool facebook::yoga::operator==(float lhs, facebook::yoga::FloatOptional rhs); +constexpr bool facebook::yoga::operator>(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr bool facebook::yoga::operator>=(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr facebook::yoga::FloatOptional facebook::yoga::operator+(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); + +class facebook::yoga::Config : public YGConfig { + public Config(YGLogger logger); + public YGNodeRef cloneNode(YGNodeConstRef node, YGNodeConstRef owner, size_t childIndex) const; + public bool hasErrata(facebook::yoga::Errata errata) const; + public bool isExperimentalFeatureEnabled(facebook::yoga::ExperimentalFeature feature) const; + public bool useWebDefaults() const; + public facebook::yoga::Errata getErrata() const; + public facebook::yoga::ExperimentalFeatureSet getEnabledExperiments() const; + public float getPointScaleFactor() const; + public static const facebook::yoga::Config& getDefault(); + public uint32_t getVersion() const noexcept; + public void addErrata(facebook::yoga::Errata errata); + public void log(const facebook::yoga::Node* node, facebook::yoga::LogLevel logLevel, const char* format, va_list args) const; + public void removeErrata(facebook::yoga::Errata errata); + public void setCloneNodeCallback(YGCloneNodeFunc cloneNode); + public void setContext(void* context); + public void setErrata(facebook::yoga::Errata errata); + public void setExperimentalFeatureEnabled(facebook::yoga::ExperimentalFeature feature, bool enabled); + public void setLogger(YGLogger logger); + public void setPointScaleFactor(float pointScaleFactor); + public void setUseWebDefaults(bool useWebDefaults); + public void* getContext() const; +} + +class facebook::yoga::Node : public YGNode { + public Node(); + public Node(const facebook::yoga::Config* config); + public Node(const facebook::yoga::Node& node) = default; + public Node(facebook::yoga::Node&& node) noexcept; + public YGDirtiedFunc getDirtiedFunc() const; + public YGSize measure(float availableWidth, facebook::yoga::MeasureMode widthMode, float availableHeight, facebook::yoga::MeasureMode heightMode); + public bool alwaysFormsContainingBlock() const; + public bool getHasNewLayout() const; + public bool hasBaselineFunc() const noexcept; + public bool hasContentsChildren() const; + public bool hasDefiniteLength(facebook::yoga::Dimension dimension, float ownerSize); + public bool hasErrata(facebook::yoga::Errata errata) const; + public bool hasMeasureFunc() const noexcept; + public bool isDirty() const; + public bool isLayoutDimensionDefined(facebook::yoga::FlexDirection axis); + public bool isNodeFlexible(); + public bool isReferenceBaseline() const; + public bool removeChild(facebook::yoga::Node* child); + public const facebook::yoga::Config* getConfig() const; + public const facebook::yoga::LayoutResults& getLayout() const; + public const facebook::yoga::Style& style() const; + public const std::vector& getChildren() const; + public facebook::yoga::Direction resolveDirection(facebook::yoga::Direction ownerDirection); + public facebook::yoga::FloatOptional getResolvedDimension(facebook::yoga::Direction direction, facebook::yoga::Dimension dimension, float referenceLength, float ownerWidth) const; + public facebook::yoga::FloatOptional resolveFlexBasis(facebook::yoga::Direction direction, facebook::yoga::FlexDirection flexDirection, float referenceLength, float ownerWidth) const; + public facebook::yoga::LayoutResults& getLayout(); + public facebook::yoga::Node& operator=(const facebook::yoga::Node&) = delete; + public facebook::yoga::Node* getChild(size_t index) const; + public facebook::yoga::Node* getOwner() const; + public facebook::yoga::Node::LayoutableChildren getLayoutChildren() const; + public facebook::yoga::NodeType getNodeType() const; + public facebook::yoga::Style& style(); + public facebook::yoga::Style::SizeLength getProcessedDimension(facebook::yoga::Dimension dimension) const; + public facebook::yoga::Style::SizeLength processFlexBasis() const; + public float baseline(float width, float height) const; + public float dimensionWithMargin(facebook::yoga::FlexDirection axis, float widthSize); + public float relativePosition(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float axisSize) const; + public float resolveFlexGrow() const; + public float resolveFlexShrink() const; + public size_t getChildCount() const; + public size_t getLayoutChildCount() const; + public size_t getLineIndex() const; + public using LayoutableChildren = facebook::yoga::LayoutableChildren; + public void clearChildren(); + public void cloneChildrenIfNeeded(); + public void cloneContentsChildrenIfNeeded(); + public void insertChild(facebook::yoga::Node* child, size_t index); + public void markDirtyAndPropagate(); + public void processDimensions(); + public void removeChild(size_t index); + public void replaceChild(facebook::yoga::Node* child, size_t index); + public void replaceChild(facebook::yoga::Node* oldChild, facebook::yoga::Node* newChild); + public void reset(); + public void setAlwaysFormsContainingBlock(bool alwaysFormsContainingBlock); + public void setBaselineFunc(YGBaselineFunc baseLineFunc); + public void setChildren(const std::vector& children); + public void setConfig(facebook::yoga::Config* config); + public void setContext(void* context); + public void setDirtiedFunc(YGDirtiedFunc dirtiedFunc); + public void setDirty(bool isDirty); + public void setHasNewLayout(bool hasNewLayout); + public void setIsReferenceBaseline(bool isReferenceBaseline); + public void setLayout(const facebook::yoga::LayoutResults& layout); + public void setLayoutBorder(float border, facebook::yoga::PhysicalEdge edge); + public void setLayoutComputedFlexBasis(facebook::yoga::FloatOptional computedFlexBasis); + public void setLayoutComputedFlexBasisGeneration(uint32_t computedFlexBasisGeneration); + public void setLayoutDimension(float lengthValue, facebook::yoga::Dimension dimension); + public void setLayoutDirection(facebook::yoga::Direction direction); + public void setLayoutHadOverflow(bool hadOverflow); + public void setLayoutLastOwnerDirection(facebook::yoga::Direction direction); + public void setLayoutMargin(float margin, facebook::yoga::PhysicalEdge edge); + public void setLayoutMeasuredDimension(float measuredDimension, facebook::yoga::Dimension dimension); + public void setLayoutPadding(float padding, facebook::yoga::PhysicalEdge edge); + public void setLayoutPosition(float position, facebook::yoga::PhysicalEdge edge); + public void setLineIndex(size_t lineIndex); + public void setMeasureFunc(YGMeasureFunc measureFunc); + public void setNodeType(facebook::yoga::NodeType nodeType); + public void setOwner(facebook::yoga::Node* owner); + public void setPosition(facebook::yoga::Direction direction, float ownerWidth, float ownerHeight); + public void setStyle(const facebook::yoga::Style& style); + public void* getContext() const; +} + +class facebook::yoga::Style { + public bool flexEndMarginIsAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool flexStartMarginIsAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool horizontalInsetsDefined() const; + public bool inlineEndMarginIsAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool inlineStartMarginIsAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isFlexEndPositionAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isFlexEndPositionDefined(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isFlexStartPositionAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isFlexStartPositionDefined(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isInlineEndPositionAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isInlineEndPositionDefined(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isInlineStartPositionAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isInlineStartPositionDefined(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool operator==(const facebook::yoga::Style& other) const; + public bool verticalInsetsDefined() const; + public const facebook::yoga::GridLine& gridColumnEnd() const; + public const facebook::yoga::GridLine& gridColumnStart() const; + public const facebook::yoga::GridLine& gridRowEnd() const; + public const facebook::yoga::GridLine& gridRowStart() const; + public const facebook::yoga::GridTrackList& gridAutoColumns() const; + public const facebook::yoga::GridTrackList& gridAutoRows() const; + public const facebook::yoga::GridTrackList& gridTemplateColumns() const; + public const facebook::yoga::GridTrackList& gridTemplateRows() const; + public facebook::yoga::Align alignContent() const; + public facebook::yoga::Align alignItems() const; + public facebook::yoga::Align alignSelf() const; + public facebook::yoga::BoxSizing boxSizing() const; + public facebook::yoga::Direction direction() const; + public facebook::yoga::Display display() const; + public facebook::yoga::FlexDirection flexDirection() const; + public facebook::yoga::FloatOptional aspectRatio() const; + public facebook::yoga::FloatOptional flex() const; + public facebook::yoga::FloatOptional flexGrow() const; + public facebook::yoga::FloatOptional flexShrink() const; + public facebook::yoga::FloatOptional resolvedMaxDimension(facebook::yoga::Direction direction, facebook::yoga::Dimension axis, float referenceLength, float ownerWidth) const; + public facebook::yoga::FloatOptional resolvedMinDimension(facebook::yoga::Direction direction, facebook::yoga::Dimension axis, float referenceLength, float ownerWidth) const; + public facebook::yoga::Justify justifyContent() const; + public facebook::yoga::Justify justifyItems() const; + public facebook::yoga::Justify justifySelf() const; + public facebook::yoga::Overflow overflow() const; + public facebook::yoga::PositionType positionType() const; + public facebook::yoga::Style::Length border(facebook::yoga::Edge edge) const; + public facebook::yoga::Style::Length gap(facebook::yoga::Gutter gutter) const; + public facebook::yoga::Style::Length margin(facebook::yoga::Edge edge) const; + public facebook::yoga::Style::Length padding(facebook::yoga::Edge edge) const; + public facebook::yoga::Style::Length position(facebook::yoga::Edge edge) const; + public facebook::yoga::Style::SizeLength dimension(facebook::yoga::Dimension axis) const; + public facebook::yoga::Style::SizeLength flexBasis() const; + public facebook::yoga::Style::SizeLength maxDimension(facebook::yoga::Dimension axis) const; + public facebook::yoga::Style::SizeLength minDimension(facebook::yoga::Dimension axis) const; + public facebook::yoga::Wrap flexWrap() const; + public float computeBorderForAxis(facebook::yoga::FlexDirection axis) const; + public float computeFlexEndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public float computeFlexEndMargin(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexEndPadding(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexEndPaddingAndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexEndPosition(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float axisSize) const; + public float computeFlexStartBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public float computeFlexStartMargin(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexStartPadding(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexStartPaddingAndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexStartPosition(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float axisSize) const; + public float computeGapForAxis(facebook::yoga::FlexDirection axis, float ownerSize) const; + public float computeGapForDimension(facebook::yoga::Dimension dimension, float ownerSize) const; + public float computeInlineEndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public float computeInlineEndMargin(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineEndPadding(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineEndPaddingAndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineEndPosition(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float axisSize) const; + public float computeInlineStartBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public float computeInlineStartMargin(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineStartPadding(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineStartPaddingAndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineStartPosition(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float axisSize) const; + public float computeMarginForAxis(facebook::yoga::FlexDirection axis, float widthSize) const; + public float computePaddingAndBorderForDimension(facebook::yoga::Direction direction, facebook::yoga::Dimension dimension, float widthSize) const; + public static constexpr float DefaultFlexGrow; + public static constexpr float DefaultFlexShrink; + public static constexpr float WebDefaultFlexShrink; + public using Length = facebook::yoga::StyleLength; + public using SizeLength = facebook::yoga::StyleSizeLength; + public void resizeGridAutoColumns(size_t count); + public void resizeGridAutoRows(size_t count); + public void resizeGridTemplateColumns(size_t count); + public void resizeGridTemplateRows(size_t count); + public void setAlignContent(facebook::yoga::Align value); + public void setAlignItems(facebook::yoga::Align value); + public void setAlignSelf(facebook::yoga::Align value); + public void setAspectRatio(facebook::yoga::FloatOptional value); + public void setBorder(facebook::yoga::Edge edge, facebook::yoga::Style::Length value); + public void setBoxSizing(facebook::yoga::BoxSizing value); + public void setDimension(facebook::yoga::Dimension axis, facebook::yoga::Style::SizeLength value); + public void setDirection(facebook::yoga::Direction value); + public void setDisplay(facebook::yoga::Display value); + public void setFlex(facebook::yoga::FloatOptional value); + public void setFlexBasis(facebook::yoga::Style::SizeLength value); + public void setFlexDirection(facebook::yoga::FlexDirection value); + public void setFlexGrow(facebook::yoga::FloatOptional value); + public void setFlexShrink(facebook::yoga::FloatOptional value); + public void setFlexWrap(facebook::yoga::Wrap value); + public void setGap(facebook::yoga::Gutter gutter, facebook::yoga::Style::Length value); + public void setGridAutoColumnAt(size_t index, facebook::yoga::GridTrackSize value); + public void setGridAutoColumns(facebook::yoga::GridTrackList value); + public void setGridAutoRowAt(size_t index, facebook::yoga::GridTrackSize value); + public void setGridAutoRows(facebook::yoga::GridTrackList value); + public void setGridColumnEnd(facebook::yoga::GridLine value); + public void setGridColumnStart(facebook::yoga::GridLine value); + public void setGridRowEnd(facebook::yoga::GridLine value); + public void setGridRowStart(facebook::yoga::GridLine value); + public void setGridTemplateColumnAt(size_t index, facebook::yoga::GridTrackSize value); + public void setGridTemplateColumns(facebook::yoga::GridTrackList value); + public void setGridTemplateRowAt(size_t index, facebook::yoga::GridTrackSize value); + public void setGridTemplateRows(facebook::yoga::GridTrackList value); + public void setJustifyContent(facebook::yoga::Justify value); + public void setJustifyItems(facebook::yoga::Justify value); + public void setJustifySelf(facebook::yoga::Justify value); + public void setMargin(facebook::yoga::Edge edge, facebook::yoga::Style::Length value); + public void setMaxDimension(facebook::yoga::Dimension axis, facebook::yoga::Style::SizeLength value); + public void setMinDimension(facebook::yoga::Dimension axis, facebook::yoga::Style::SizeLength value); + public void setOverflow(facebook::yoga::Overflow value); + public void setPadding(facebook::yoga::Edge edge, facebook::yoga::Style::Length value); + public void setPosition(facebook::yoga::Edge edge, facebook::yoga::Style::Length value); + public void setPositionType(facebook::yoga::PositionType value); +} + +class facebook::yoga::StyleLength { + public constexpr StyleLength() = default; + public constexpr bool inexactEquals(const facebook::yoga::StyleLength& other) const; + public constexpr bool isAuto() const; + public constexpr bool isDefined() const; + public constexpr bool isPercent() const; + public constexpr bool isPoints() const; + public constexpr bool isUndefined() const; + public constexpr bool operator==(const facebook::yoga::StyleLength& rhs) const; + public constexpr facebook::yoga::FloatOptional resolve(float referenceLength); + public constexpr facebook::yoga::FloatOptional value() const; + public constexpr operator YGValue() const; + public static constexpr facebook::yoga::StyleLength ofAuto(); + public static constexpr facebook::yoga::StyleLength percent(float value); + public static constexpr facebook::yoga::StyleLength points(float value); + public static constexpr facebook::yoga::StyleLength undefined(); +} + +class facebook::yoga::StyleSizeLength { + public constexpr StyleSizeLength() = default; + public constexpr bool inexactEquals(const facebook::yoga::StyleSizeLength& other) const; + public constexpr bool isAuto() const; + public constexpr bool isDefined() const; + public constexpr bool isFitContent() const; + public constexpr bool isMaxContent() const; + public constexpr bool isPercent() const; + public constexpr bool isPoints() const; + public constexpr bool isStretch() const; + public constexpr bool isUndefined() const; + public constexpr bool operator==(const facebook::yoga::StyleSizeLength& rhs) const; + public constexpr facebook::yoga::FloatOptional resolve(float referenceLength) const; + public constexpr facebook::yoga::FloatOptional value() const; + public constexpr operator YGValue() const; + public static constexpr facebook::yoga::StyleSizeLength ofAuto(); + public static constexpr facebook::yoga::StyleSizeLength ofFitContent(); + public static constexpr facebook::yoga::StyleSizeLength ofMaxContent(); + public static constexpr facebook::yoga::StyleSizeLength ofStretch(); + public static constexpr facebook::yoga::StyleSizeLength percent(float value); + public static constexpr facebook::yoga::StyleSizeLength points(float value); + public static constexpr facebook::yoga::StyleSizeLength stretch(float fraction); + public static constexpr facebook::yoga::StyleSizeLength undefined(); +} + +class facebook::yoga::StyleValueHandle { + public constexpr bool isAuto() const; + public constexpr bool isDefined() const; + public constexpr bool isUndefined() const; + public static constexpr facebook::yoga::StyleValueHandle ofAuto(); +} + +class facebook::yoga::StyleValuePool { + public facebook::yoga::FloatOptional getNumber(facebook::yoga::StyleValueHandle handle) const; + public facebook::yoga::StyleLength getLength(facebook::yoga::StyleValueHandle handle) const; + public facebook::yoga::StyleSizeLength getSize(facebook::yoga::StyleValueHandle handle) const; + public void store(facebook::yoga::StyleValueHandle& handle, facebook::yoga::FloatOptional number); + public void store(facebook::yoga::StyleValueHandle& handle, facebook::yoga::StyleLength length); + public void store(facebook::yoga::StyleValueHandle& handle, facebook::yoga::StyleSizeLength sizeValue); +} + +enum facebook::yoga::Align : uint8_t { + Auto, + Baseline, + Center, + End, + FlexEnd, + FlexStart, + SpaceAround, + SpaceBetween, + SpaceEvenly, + Start, + Stretch, +} + +enum facebook::yoga::BoxSizing : uint8_t { + BorderBox, + ContentBox, +} + +enum facebook::yoga::Dimension : uint8_t { + Height, + Width, +} + +enum facebook::yoga::Direction : uint8_t { + Inherit, + LTR, + RTL, +} + +enum facebook::yoga::Display : uint8_t { + Contents, + Flex, + Grid, + None, +} + +enum facebook::yoga::Edge : uint8_t { + All, + Bottom, + End, + Horizontal, + Left, + Right, + Start, + Top, + Vertical, +} + +enum facebook::yoga::Errata : uint32_t { + AbsolutePercentAgainstInnerSize, + AbsolutePositionWithoutInsetsExcludesPadding, + All, + Classic, + None, + StretchFlexBasis, +} + +enum facebook::yoga::ExperimentalFeature : uint8_t { + FixFlexBasisFitContent, + WebFlexBasis, +} + +enum facebook::yoga::FlexDirection : uint8_t { + Column, + ColumnReverse, + Row, + RowReverse, +} + +enum facebook::yoga::GridLineType : uint8_t { + Auto, + Integer, + Span, +} + +enum facebook::yoga::GridTrackType : uint8_t { + Auto, + Fr, + Minmax, + Percent, + Points, +} + +enum facebook::yoga::Gutter : uint8_t { + All, + Column, + Row, +} + +enum facebook::yoga::Justify : uint8_t { + Auto, + Center, + End, + FlexEnd, + FlexStart, + SpaceAround, + SpaceBetween, + SpaceEvenly, + Start, + Stretch, +} + +enum facebook::yoga::LayoutPassReason : int { + COUNT, + kAbsLayout, + kAbsMeasureChild, + kFlexLayout, + kFlexMeasure, + kGridLayout, + kInitial, + kMeasureChild, + kMultilineStretch, + kStretch, +} + +enum facebook::yoga::LayoutType : int { + kCachedLayout, + kCachedMeasure, + kLayout, + kMeasure, +} + +enum facebook::yoga::LogLevel : uint8_t { + Debug, + Error, + Fatal, + Info, + Verbose, + Warn, +} + +enum facebook::yoga::MeasureMode : uint8_t { + AtMost, + Exactly, + Undefined, +} + +enum facebook::yoga::NodeType : uint8_t { + Default, + Text, +} + +enum facebook::yoga::Overflow : uint8_t { + Hidden, + Scroll, + Visible, +} + +enum facebook::yoga::PhysicalEdge : uint32_t { + Bottom, + Left, + Right, + Top, +} + +enum facebook::yoga::PositionType : uint8_t { + Absolute, + Relative, + Static, +} + +enum facebook::yoga::SizingMode { + FitContent, + MaxContent, + StretchFit, +} + +enum facebook::yoga::Unit : uint8_t { + Auto, + FitContent, + MaxContent, + Percent, + Point, + Stretch, + Undefined, +} + +enum facebook::yoga::Wrap : uint8_t { + NoWrap, + Wrap, + WrapReverse, +} + +struct facebook::yoga::CachedMeasurement { + public bool operator==(facebook::yoga::CachedMeasurement measurement) const; + public facebook::yoga::SizingMode heightSizingMode; + public facebook::yoga::SizingMode widthSizingMode; + public float availableHeight; + public float availableWidth; + public float computedHeight; + public float computedWidth; +} + +struct facebook::yoga::Event { + public static void reset(); + public static void subscribe(std::function&& subscriber); + public using Subscriber = void(YGNodeConstRef, facebook::yoga::Event::Type, facebook::yoga::Event::Data); + public using Subscribers = std::vector>; + template + public static void publish(YGNodeConstRef node, const facebook::yoga::Event::TypedData& eventData = {}); +} + +class facebook::yoga::Event::Data { + template + public Data(const facebook::yoga::Event::TypedData& data); + template + public const facebook::yoga::Event::TypedData& get() const; +} + +enum facebook::yoga::Event::Type { + LayoutPassEnd, + LayoutPassStart, + MeasureCallbackEnd, + MeasureCallbackStart, + NodeAllocation, + NodeBaselineEnd, + NodeBaselineStart, + NodeDeallocation, + NodeLayout, +} + +template +struct facebook::yoga::Event::TypedData { +} + +struct facebook::yoga::Event::TypedData { + public facebook::yoga::LayoutData* layoutData; +} + +struct facebook::yoga::Event::TypedData { + public YGMeasureMode heightMeasureMode; + public YGMeasureMode widthMeasureMode; + public const facebook::yoga::LayoutPassReason reason; + public float height; + public float measuredHeight; + public float measuredWidth; + public float width; +} + +struct facebook::yoga::Event::TypedData { + public YGConfigConstRef config; +} + +struct facebook::yoga::Event::TypedData { + public YGConfigConstRef config; +} + +struct facebook::yoga::Event::TypedData { + public facebook::yoga::LayoutType layoutType; +} + +struct facebook::yoga::FlexLine { + public const float sizeConsumed; + public const size_t numberOfAutoMargins; + public const std::vector itemsInFlow; + public facebook::yoga::FlexLineRunningLayout layout; +} + +struct facebook::yoga::FlexLineRunningLayout { + public float crossDim; + public float mainDim; + public float remainingFreeSpace; + public float totalFlexGrowFactors; + public float totalFlexShrinkScaledFactors; +} + +struct facebook::yoga::FloatOptional { + public constexpr FloatOptional() = default; + public constexpr FloatOptional(float value); + public constexpr bool isDefined() const; + public constexpr bool isUndefined() const; + public constexpr float unwrap() const; + public constexpr float unwrapOrDefault(float defaultValue) const; +} + +struct facebook::yoga::GridLine { + public bool operator==(const facebook::yoga::GridLine& other) const = default; + public constexpr bool isAuto() const; + public constexpr bool isInteger() const; + public constexpr bool isSpan() const; + public facebook::yoga::GridLineType type; + public int32_t integer; + public static constexpr facebook::yoga::GridLine auto_(); + public static constexpr facebook::yoga::GridLine fromInteger(int32_t value); + public static constexpr facebook::yoga::GridLine span(int32_t value); +} + +struct facebook::yoga::GridTrackSize { + public bool infinitelyGrowable; + public bool operator==(const facebook::yoga::GridTrackSize& other) const = default; + public facebook::yoga::StyleSizeLength maxSizingFunction; + public facebook::yoga::StyleSizeLength minSizingFunction; + public float baseSize; + public float growthLimit; + public static constexpr facebook::yoga::GridTrackSize auto_(); + public static constexpr facebook::yoga::GridTrackSize fr(float fraction); + public static constexpr facebook::yoga::GridTrackSize length(float points); + public static constexpr facebook::yoga::GridTrackSize minmax(facebook::yoga::StyleSizeLength min, facebook::yoga::StyleSizeLength max); + public static constexpr facebook::yoga::GridTrackSize percent(float percentage); +} + +struct facebook::yoga::LayoutData { + public int cachedLayouts; + public int cachedMeasures; + public int layouts; + public int measureCallbacks; + public int measures; + public std::array(facebook::yoga::LayoutPassReason::COUNT)> measureCallbackReasonsCount; + public uint32_t maxMeasureCache; +} + +struct facebook::yoga::LayoutResults { + public bool hadOverflow() const; + public bool operator==(facebook::yoga::LayoutResults layout) const; + public facebook::yoga::CachedMeasurement cachedLayout; + public facebook::yoga::Direction direction() const; + public facebook::yoga::Direction lastOwnerDirection; + public facebook::yoga::FloatOptional computedFlexBasis; + public float border(facebook::yoga::PhysicalEdge physicalEdge) const; + public float dimension(facebook::yoga::Dimension axis) const; + public float margin(facebook::yoga::PhysicalEdge physicalEdge) const; + public float measuredDimension(facebook::yoga::Dimension axis) const; + public float padding(facebook::yoga::PhysicalEdge physicalEdge) const; + public float position(facebook::yoga::PhysicalEdge physicalEdge) const; + public float rawDimension(facebook::yoga::Dimension axis) const; + public static constexpr int32_t MaxCachedMeasurements; + public std::array cachedMeasurements; + public uint32_t computedFlexBasisGeneration; + public uint32_t configVersion; + public uint32_t generationCount; + public uint32_t nextCachedMeasurementsIndex; + public void setBorder(facebook::yoga::PhysicalEdge physicalEdge, float dimension); + public void setDimension(facebook::yoga::Dimension axis, float dimension); + public void setDirection(facebook::yoga::Direction direction); + public void setHadOverflow(bool hadOverflow); + public void setMargin(facebook::yoga::PhysicalEdge physicalEdge, float dimension); + public void setMeasuredDimension(facebook::yoga::Dimension axis, float dimension); + public void setPadding(facebook::yoga::PhysicalEdge physicalEdge, float dimension); + public void setPosition(facebook::yoga::PhysicalEdge physicalEdge, float dimension); + public void setRawDimension(facebook::yoga::Dimension axis, float dimension); +} + +template +class facebook::yoga::SmallValueBuffer { + public SmallValueBuffer() = default; + public SmallValueBuffer(const facebook::yoga::SmallValueBuffer& other); + public SmallValueBuffer(facebook::yoga::SmallValueBuffer&& other) noexcept = default; + public facebook::yoga::SmallValueBuffer& operator=(const facebook::yoga::SmallValueBuffer& other); + public facebook::yoga::SmallValueBuffer& operator=(facebook::yoga::SmallValueBuffer&& other) noexcept = default; + public uint16_t push(uint32_t value); + public uint16_t push(uint64_t value); + public uint16_t replace(uint16_t index, uint32_t value); + public uint16_t replace(uint16_t index, uint64_t value); + public uint32_t get32(uint16_t index) const; + public uint64_t get64(uint16_t index) const; +} + +template +class facebook::yoga::LayoutableChildren { + public LayoutableChildren(const T* node); + public facebook::yoga::LayoutableChildren::Iterator begin() const; + public facebook::yoga::LayoutableChildren::Iterator end() const; +} + +struct facebook::yoga::LayoutableChildren::Iterator { + public Iterator() = default; + public Iterator(const T* node, size_t childIndex); + public T* operator*() const; + public facebook::yoga::LayoutableChildren::Iterator operator++(int); + public facebook::yoga::LayoutableChildren::Iterator& operator++(); + public using difference_type = std::ptrdiff_t; + public using iterator_category = std::input_iterator_tag; + public using pointer = T*; + public using reference = T*; + public using value_type = T*; +} + + +struct std::hash { + public size_t operator()(const facebook::react::AttributedString& attributedString) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::AttributedStringBox& attributedStringBox) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::EventAnimationDriverKey& key) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::LayoutConstraints& constraints) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::LayoutMetrics& layoutMetrics) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::LineMeasureCacheKey& key) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::ParagraphAttributes& attributes) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::Point& point) const noexcept; +} + +struct std::hash { + public size_t operator()(const facebook::react::PreparedTextCacheKey& key) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::Rect& rect) const noexcept; +} + +struct std::hash { + public size_t operator()(const facebook::react::ShadowView& shadowView) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::SharedColor& color) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::Size& size) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::TextAttributes& textAttributes) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::TextMeasureCacheKey& key) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::Transform& transform) const; +} + +template +struct std::hash> { + public size_t operator()(const facebook::react::RectangleCorners& corners) const noexcept; +} + +template +struct std::hash> { + public size_t operator()(const facebook::react::RectangleEdges& edges) const noexcept; +} + +struct std::hash { + public size_t operator()(const facebook::react::AttributedString::Fragment& fragment) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::jsinspector_modern::ConsoleTaskId& id) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::jsinspector_modern::ExecutionContextSelector& selector) const; +} + +template +struct std::hash> { + public size_t operator()(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; +} \ No newline at end of file diff --git a/scripts/cxx-api/api-snapshots/ReactCommonReleaseCxx.api b/scripts/cxx-api/api-snapshots/ReactCommonReleaseCxx.api new file mode 100644 index 00000000000..9b09a9dfc99 --- /dev/null +++ b/scripts/cxx-api/api-snapshots/ReactCommonReleaseCxx.api @@ -0,0 +1,11127 @@ +// @generated by scripts/cxx-api + +struct YGConfig { +} + +struct YGNode { +} + +struct YGSize { + public float height; + public float width; +} + +struct YGValue { + public YGUnit unit; + public float value; +} + +template +class TinyMap { + public TinyMap::Iterator begin(); + public TinyMap::Iterator end(); + public TinyMap::Iterator find(KeyT key); + public using Iterator = TinyMap::Pair*; + public using Pair = std::pair; + public void erase(TinyMap::Iterator iterator); + public void insert(TinyMap::Pair pair); +} + + +bool facebook::xplat::jsArgAsBool(const folly::dynamic& args, size_t n); +double facebook::xplat::jsArgAsDouble(const folly::dynamic& args, size_t n); +int64_t facebook::xplat::jsArgAsInt(const folly::dynamic& args, size_t n); +std::string facebook::xplat::jsArgAsString(const folly::dynamic& args, size_t n); +template +R facebook::xplat::jsArg(const folly::dynamic& arg, R(folly::dynamic::*asFoo)() const &, const T &... desc); +template +R facebook::xplat::jsArg(const folly::dynamic& arg, R(folly::dynamic::*asFoo)() const, const T &... desc); +template +R facebook::xplat::jsArgN(const folly::dynamic& args, size_t n, R(folly::dynamic::*asFoo)() const &); +template +R facebook::xplat::jsArgN(const folly::dynamic& args, size_t n, R(folly::dynamic::*asFoo)() const); +template +facebook::xplat::detail::is_dynamic::type& facebook::xplat::jsArgAsArray(T&& args, size_t n); +template +facebook::xplat::detail::is_dynamic::type& facebook::xplat::jsArgAsDynamic(T&& args, size_t n); +template +facebook::xplat::detail::is_dynamic::type& facebook::xplat::jsArgAsObject(T&& args, size_t n); + +class facebook::xplat::JsArgumentException : public std::logic_error { + public JsArgumentException(const std::string& msg); +} + + +class facebook::xplat::module::CxxModule { + public static constexpr AsyncTagType AsyncTag; + public static constexpr SyncTagType SyncTag; + public std::weak_ptr getInstance(); + public using Callback = std::function)>; + public using Provider = std::function()>; + public virtual std::map getConstants(); + public virtual std::string getName() = 0; + public virtual std::vector getMethods() = 0; + public virtual ~CxxModule() = default; + public void setInstance(std::weak_ptr instance); +} + +struct facebook::xplat::module::CxxModule::Method { + public Method(std::string aname, std::function&& afunc, SyncTagType); + public Method(std::string aname, std::function&& afunc, SyncTagType); + public Method(std::string aname, std::function&& afunc); + public Method(std::string aname, std::function&& afunc); + public Method(std::string aname, std::function&& afunc); + public Method(std::string aname, std::function&& afunc); + public Method(std::string aname, std::function&& afunc, AsyncTagType); + public bool isPromise; + public const char* getType(); + public size_t callbacks; + public std::function syncFunc; + public std::function func; + public std::string name; + template + public Method(std::string aname, T* t, void(T::*method)()); + template + public Method(std::string aname, T* t, void(T::*method)(folly::dynamic)); + template + public Method(std::string aname, T* t, void(T::*method)(folly::dynamic, facebook::xplat::module::CxxModule::Callback)); + template + public Method(std::string aname, T* t, void(T::*method)(folly::dynamic, facebook::xplat::module::CxxModule::Callback, facebook::xplat::module::CxxModule::Callback)); + template + public Method(std::string aname, T* t, void(T::*method)(folly::dynamic, facebook::xplat::module::CxxModule::Callback, facebook::xplat::module::CxxModule::Callback), AsyncTagType); +} + + +std::string facebook::xplat::detail::toStringHelper(); +template +R facebook::xplat::detail::jsArg1(const folly::dynamic& arg, M asFoo, const T &... desc); +template +std::string facebook::xplat::detail::toStringHelper(const T& value, const Rest &... rest); +template +facebook::xplat::detail::is_dynamic::type& facebook::xplat::detail::jsArgAsType(T&& args, size_t n, const char* required, bool(folly::dynamic::*isFoo)() const); +template +std::string facebook::xplat::detail::toStringHelper(const char* value, const Rest &... rest); + +template +struct facebook::xplat::detail::is_dynamic { + public using type = typename std::enable_if::value, T>::type; +} + + +class facebook::hermes::IHermes : public facebook::jsi::ICast { + protected ~IHermes() = default; + public static constexpr facebook::jsi::UUID uuid; + public virtual ICast* getHermesRootAPI() = 0; + public virtual SHRuntime* getSHRuntime() noexcept = 0; + public virtual const hermes::vm::GCExecTrace& getGCExecTrace() const = 0; + public virtual debugger::Debugger& getDebugger() = 0; + public virtual facebook::jsi::Value evaluateJavaScriptWithSourceMap(const std::shared_ptr& buffer, const std::shared_ptr& sourceMapBuf, const std::string& sourceURL) = 0; + public virtual facebook::jsi::Value evaluateSHUnit(SHUnitCreator shUnitCreator) = 0; + public virtual facebook::jsi::Value getObjectForID(uint64_t id) = 0; + public virtual sampling_profiler::Profile dumpSampledTraceToProfile() = 0; + public virtual std::string getIOTrackingInfoJSON() = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::BigInt& s) const = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::Object& o) const = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::PropNameID& pni) const = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::String& s) const = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::Symbol& sym) const = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::Value& val) const = 0; + public virtual void asyncTriggerTimeout() = 0; + public virtual void debugJavaScript(const std::string& src, const std::string& sourceURL, const facebook::hermes::IHermes::DebugFlags& debugFlags) = 0; + public virtual void loadSegment(std::unique_ptr buffer, const facebook::jsi::Value& context) = 0; + public virtual void registerForProfiling() = 0; + public virtual void resetTimezoneCache() = 0; + public virtual void sampledTraceToStreamInDevToolsFormat(std::ostream& stream) = 0; + public virtual void unregisterForProfiling() = 0; + public virtual void unwatchTimeLimit() = 0; + public virtual void watchTimeLimit(uint32_t timeoutInMs) = 0; + public virtual void* getVMRuntimeUnsafe() const = 0; +} + +struct facebook::hermes::IHermes::DebugFlags { +} + +class facebook::hermes::IHermesSHUnit : public facebook::jsi::ICast { + protected ~IHermesSHUnit() = default; + public static constexpr facebook::jsi::UUID uuid; + public virtual SHUnitCreator getSHUnitCreator() const = 0; +} + + +const char facebook::react::AndroidProgressBarComponentName[]; +const char facebook::react::AndroidSwitchComponentName[]; +const char facebook::react::AppleSwitchComponentName[]; +const char facebook::react::ImageComponentName[]; +const char facebook::react::ImageManagerKey[]; +const char facebook::react::InputAccessoryComponentName[]; +const char facebook::react::LegacyViewManagerAndroidInteropComponentName[]; +const char facebook::react::LegacyViewManagerInteropComponentName[]; +const char facebook::react::ModalHostViewComponentName[]; +const char facebook::react::ParagraphComponentName[]; +const char facebook::react::RawTextComponentName[]; +const char facebook::react::RootComponentName[]; +const char facebook::react::RuntimeSchedulerKey[]; +const char facebook::react::SafeAreaViewComponentName[]; +const char facebook::react::ScrollViewComponentName[]; +const char facebook::react::TextComponentName[]; +const char facebook::react::UnimplementedViewComponentName[]; +const char facebook::react::ViewComponentName[]; +const facebook::react::EventTag facebook::react::EMPTY_EVENT_TAG; +constexpr auto facebook::react::kSimpleThreadSafeCacheSizeCap; +constexpr char facebook::react::LayoutConformanceShadowNodeComponentName[]; +constexpr char facebook::react::VirtualViewComponentName[]; +constexpr char* const facebook::react::TextLayoutManagerKey; +constexpr facebook::react::HighResDuration facebook::react::DEFAULT_DURATION_THRESHOLD; +constexpr facebook::react::HighResDuration facebook::react::LONG_TASK_DURATION_THRESHOLD; +constexpr facebook::react::ReactNativeVersionType facebook::react::ReactNativeVersion; +constexpr float facebook::react::kDefaultEpsilon; +constexpr size_t facebook::react::EVENT_BUFFER_SIZE; +constexpr size_t facebook::react::LONG_TASK_BUFFER_SIZE; +constexpr size_t facebook::react::RESOURCE_TIMING_BUFFER_SIZE; +constexpr uint32_t facebook::react::INITIAL_BUCKETS_SIZE; +static const facebook::react::LayoutMetrics facebook::react::EmptyLayoutMetrics; +static const facebook::react::TelemetryTimePoint facebook::react::kTelemetryUndefinedTimePoint; +static const int facebook::react::NO_VIEW_TAG; +static constexpr auto facebook::react::kPropNameLengthHardCap; +static constexpr double facebook::react::SingleFrameIntervalMs; +static constexpr double facebook::react::TicksPerMs; +static constexpr facebook::react::RawPropsValueIndex facebook::react::kRawPropsValueIndexEmpty; +static constexpr std::string_view facebook::react::ExtrapolateTypeClamp; +static constexpr std::string_view facebook::react::ExtrapolateTypeExtend; +static constexpr std::string_view facebook::react::ExtrapolateTypeIdentity; +template +using facebook::react::CSSCompoundDataType = std::variant; +template +using facebook::react::CSSCommaSeparatedList = facebook::react::CSSList; +template +using facebook::react::CSSWhitespaceSeparatedList = facebook::react::CSSList; +template +using facebook::react::CSSMergedDataTypes = typename facebook::react::detail::merge_data_types::type; +template +using facebook::react::CSSVariantWithTypes = typename facebook::react::detail::merge_variant::type; +template +using facebook::react::EventListenerT = std::function; +typedef std::function facebook::react::ValueListenerCallback; +typedef void(*facebook::react::WarnOnUsageLogger)(std::string message); +using facebook::react::ActivePointerRegistry = std::unordered_map; +using facebook::react::AnimationEndCallback = facebook::react::AsyncCallback; +using facebook::react::AnimationTimestamp = std::chrono::duration; +using facebook::react::BackgroundExecutor = std::function&& callback)>; +using facebook::react::BackgroundImage = std::variant; +using facebook::react::BackgroundSize = std::variant; +using facebook::react::BorderColors = facebook::react::RectangleEdges; +using facebook::react::BorderCurves = facebook::react::RectangleCorners; +using facebook::react::BorderRadii = facebook::react::RectangleCorners; +using facebook::react::BorderStyles = facebook::react::RectangleEdges; +using facebook::react::BorderWidths = facebook::react::RectangleEdges; +using facebook::react::CSSBackgroundImage = facebook::react::CSSCompoundDataType; +using facebook::react::CSSBackgroundImageList = facebook::react::CSSCommaSeparatedList; +using facebook::react::CSSFilterFunction = facebook::react::CSSCompoundDataType; +using facebook::react::CSSFilterList = facebook::react::CSSWhitespaceSeparatedList; +using facebook::react::CSSFontVariantList = facebook::react::CSSWhitespaceSeparatedList; +using facebook::react::CSSLengthPercentage = facebook::react::CSSCompoundDataType; +using facebook::react::CSSPreservedToken = facebook::react::CSSToken; +using facebook::react::CSSRadialGradientSize = std::variant; +using facebook::react::CSSShadowList = facebook::react::CSSCommaSeparatedList; +using facebook::react::CSSTransformFunction = facebook::react::CSSCompoundDataType; +using facebook::react::CSSTransformList = facebook::react::CSSWhitespaceSeparatedList; +using facebook::react::CallFunc = std::function; +using facebook::react::Callback = std::function; +using facebook::react::CallbackHandle = facebook::jsi::Object; +using facebook::react::CallbackId = uint64_t; +using facebook::react::CaptureTargetOverrideRegistry = std::unordered_map>; +using facebook::react::CascadedBorderColors = facebook::react::CascadedRectangleEdges; +using facebook::react::CascadedBorderCurves = facebook::react::CascadedRectangleCorners; +using facebook::react::CascadedBorderRadii = facebook::react::CascadedRectangleCorners; +using facebook::react::CascadedBorderStyles = facebook::react::CascadedRectangleEdges; +using facebook::react::CascadedBorderWidths = facebook::react::CascadedRectangleEdges; +using facebook::react::ComponentDescriptorConstructor = facebook::react::ComponentDescriptor::Unique(const facebook::react::ComponentDescriptorParameters& parameters); +using facebook::react::ComponentDescriptorProviderRequest = std::function; +using facebook::react::ComponentHandle = int64_t; +using facebook::react::ComponentName = const char*; +using facebook::react::ComponentRegistryFactory = std::function& contextContainer)>; +using facebook::react::CornerInsets = facebook::react::RectangleCorners; +using facebook::react::DispatchEvent = std::function; +using facebook::react::EdgeInsets = facebook::react::RectangleEdges; +using facebook::react::EndResult = NativeAnimatedTurboModuleEndResult, std::optional>; +using facebook::react::EventEmitterListener = facebook::react::EventListenerT; +using facebook::react::EventEmitterListenerContainer = facebook::react::EventListenerContainerT; +using facebook::react::EventListener = std::function; +using facebook::react::EventPipe = std::function; +using facebook::react::EventPipeConclusion = std::function; +using facebook::react::EventTag = unsigned int; +using facebook::react::GarbageCollectionTrigger = std::function; +using facebook::react::GradientDirection = std::variant; +using facebook::react::HasComponentProviderFunctionType = std::function; +using facebook::react::Headers = std::map; +using facebook::react::HostPlatformTouch = facebook::react::BaseTouch; +using facebook::react::HostPlatformViewEventEmitter = facebook::react::BaseViewEventEmitter; +using facebook::react::ImageSources = std::vector; +using facebook::react::InteractionTypesMap = std::unordered_map; +using facebook::react::IntersectionObserverObserverId = int32_t; +using facebook::react::JSIScopedTimeoutInvoker = std::function& invokee, std::function errorMessageProducer)>; +using facebook::react::LayoutConformanceComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::LegacyViewManagerAndroidInteropShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::LegacyViewManagerInteropShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::LineMeasureCache = facebook::react::SimpleThreadSafeCache; +using facebook::react::LinesMeasurements = std::vector; +using facebook::react::Logger = std::function; +using facebook::react::MeasureInWindowOnSuccessCallback = facebook::react::SyncCallback; +using facebook::react::MeasureLayoutOnSuccessCallback = facebook::react::SyncCallback; +using facebook::react::MeasureOnSuccessCallback = facebook::react::SyncCallback; +using facebook::react::MethodCallResult = std::optional; +using facebook::react::MountingTransactionCallback = std::function; +using facebook::react::MutationObserverId = int32_t; +using facebook::react::NativeIntersectionObserverEntry = NativeIntersectionObserverNativeIntersectionObserverEntry; +using facebook::react::NativeIntersectionObserverIntersectionObserverId = int32_t; +using facebook::react::NativeIntersectionObserverObserveOptions = NativeIntersectionObserverNativeIntersectionObserverObserveOptions>, std::shared_ptr, std::vector, std::optional>, std::optional>; +using facebook::react::NativeMethodCallFunc = std::function; +using facebook::react::NativeMutationObserverObserveOptions = NativeMutationObserverNativeMutationObserverObserveOptions, bool>; +using facebook::react::NativeMutationRecord = NativeMutationObserverNativeMutationRecord, std::vector>; +using facebook::react::NativePartialReloadAndProfileConfig = NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfig, std::optional>; +using facebook::react::NativePerformancePerformanceObserverCallback = facebook::react::AsyncCallback<>; +using facebook::react::NativePerformancePerformanceObserverObserveOptions = NativePerformancePerformanceObserverInit>, std::optional, std::optional, std::optional>; +using facebook::react::NativeReloadAndProfileConfig = NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfig; +using facebook::react::NativeRequestIdleCallbackOptions = NativeIdleCallbacksRequestIdleCallbackOptions>; +using facebook::react::OnMutations = std::function&)>; +using facebook::react::ParagraphProps = HostPlatformParagraphProps; +using facebook::react::PerformanceEntry = std::variant; +using facebook::react::PerformanceEntryInteractionId = uint32_t; +using facebook::react::PerformanceObserverCallback = std::function; +using facebook::react::PerformanceObserverEntryTypeFilter = std::unordered_set; +using facebook::react::PointerHoverTrackerRegistry = std::unordered_map; +using facebook::react::PointerIdentifier = int32_t; +using facebook::react::PromiseSetupFunctionType = std::function)>; +using facebook::react::RawCallback = std::function; +using facebook::react::RawPropsPropNameHash = uint32_t; +using facebook::react::RawPropsPropNameLength = uint16_t; +using facebook::react::RawPropsValueIndex = uint16_t; +using facebook::react::RawTextComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::RectAsTuple = std::tuple; +using facebook::react::RootComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::RuntimeExecutor = std::function&& callback)>; +using facebook::react::RuntimeSchedulerRenderingUpdate = std::function; +using facebook::react::RuntimeSchedulerTaskErrorHandler = std::function; +using facebook::react::ScrollViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::ScrollViewProps = HostPlatformScrollViewProps; +using facebook::react::ShadowTreeCommitTransaction = std::function; +using facebook::react::ShadowViewMutationList = std::vector; +using facebook::react::SharedComponentDescriptor = std::shared_ptr; +using facebook::react::SharedComponentDescriptorRegistry = std::shared_ptr; +using facebook::react::SharedEventEmitter = std::shared_ptr; +using facebook::react::SharedEventPayload = std::shared_ptr; +using facebook::react::SharedEventTarget = std::shared_ptr; +using facebook::react::SharedParagraphAttributes = std::shared_ptr; +using facebook::react::SharedRawTextProps = std::shared_ptr; +using facebook::react::SharedScrollViewProps = std::shared_ptr; +using facebook::react::SharedShadowNodeFamily = std::shared_ptr; +using facebook::react::SharedTextAttributes = std::shared_ptr; +using facebook::react::SharedTouchEventEmitter = std::shared_ptr; +using facebook::react::SharedViewEventEmitter = std::shared_ptr; +using facebook::react::SharedViewProps = std::shared_ptr; +using facebook::react::SnapshotMap = std::unordered_map>; +using facebook::react::StatePipe = std::function; +using facebook::react::SurfaceId = int32_t; +using facebook::react::Tag = int32_t; +using facebook::react::TelemetryClock = std::chrono::steady_clock; +using facebook::react::TelemetryDuration = std::chrono::nanoseconds; +using facebook::react::TelemetryTimePoint = facebook::react::TelemetryClock::time_point; +using facebook::react::TextComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::TextEventEmitter = facebook::react::TouchEventEmitter; +using facebook::react::TextLayoutManagerExtended = facebook::react::detail::TextLayoutManagerExtended; +using facebook::react::TextMeasureCache = facebook::react::SimpleThreadSafeCache; +using facebook::react::TimePointFunction = std::chrono::steady_clock::time_point(*)(); +using facebook::react::TimerHandle = int; +using facebook::react::TimerManagerDelegate = facebook::react::PlatformTimerRegistry; +using facebook::react::Touch = facebook::react::HostPlatformTouch; +using facebook::react::Touches = std::unordered_set; +using facebook::react::TraceSectionUnwrapped = facebook::react::DummyTraceSection; +using facebook::react::TurboModuleProviderFunctionTypeWithRuntime = std::function(facebook::jsi::Runtime& runtime, const std::string& name)>; +using facebook::react::UiTask = std::function; +using facebook::react::UnimplementedViewShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::UserTimingDetailProvider = std::function; +using facebook::react::ValueFactory = std::function; +using facebook::react::ViewEventEmitter = facebook::react::HostPlatformViewEventEmitter; +using facebook::react::ViewNodePairScope = std::deque; +using facebook::react::ViewProps = facebook::react::HostPlatformViewProps; +using facebook::react::VirtualViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::parsePlatformColorFn = facebook::react::SharedColor(*)(const facebook::react::ContextContainer&, int32_t, const facebook::react::RawValue&); +template +concept facebook::react::CacheGeneratorFunction = std::invocable && std::same_as, ValueT>; +template +concept facebook::react::CSSUniqueComponentValueVisitors = CSSSyntaxVisitorReturn&& (CSSComponentValueVisitor && ...) && + ((CSSFunctionVisitor ? 1 : 0) + ... + 0) <= 1&& + ((CSSPreservedTokenVisitor ? 1 : 0) + ... + 0) <= 1&& + ((CSSSimpleBlockVisitor ? 1 : 0) + ... + 0) <= 1; +template +concept facebook::react::CSSFunctionBlockSink = requires(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser) { + { T::consumeFunctionBlock(func, parser) } -> std::convertible_to; +}; +template +concept facebook::react::CSSParserSink = requires(facebook::react::CSSValueParser& parser) { + { T::consume(parser) } -> std::convertible_to; +}; +template +concept facebook::react::CSSPreservedTokenSink = requires(const facebook::react::CSSPreservedToken& token) { + { T::consumePreservedToken(token) } -> std::convertible_to; +}; +template +concept facebook::react::CSSSimpleBlockSink = requires(const facebook::react::CSSSimpleBlock& block, facebook::react::CSSValueParser& parser) { + { T::consumeSimpleBlock(block, parser) } -> std::convertible_to; +}; +template +concept facebook::react::CSSValidDataTypeParser = ((CSSFunctionBlockSink || CSSSimpleBlockSink || CSSPreservedTokenSink) && + !CSSParserSink) || +CSSParserSink; +template +concept facebook::react::CSSComponentValueVisitor = CSSSyntaxVisitorReturn&& + (CSSFunctionVisitor || CSSPreservedTokenVisitor || CSSSimpleBlockVisitor); +template +concept facebook::react::CSSFunctionVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSFunctionBlock func, facebook::react::CSSSyntaxParser& blockParser) { + { visitor(func, blockParser) } -> std::convertible_to; +}; +template +concept facebook::react::CSSPreservedTokenVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSPreservedToken token) { + { visitor(token) } -> std::convertible_to; +}; +template +concept facebook::react::CSSSimpleBlockVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSSimpleBlock block, facebook::react::CSSSyntaxParser& blockParser) { + { visitor(block, blockParser) } -> std::convertible_to; +}; +template +concept facebook::react::CSSDataType = CSSValidDataTypeParser, std::optional> && std::equality_comparable; +template +concept facebook::react::CSSKeywordSet = std::is_enum_v && std::is_same_v, std::underlying_type_t>; +template +concept facebook::react::CSSMaybeCompoundDataType = CSSDataType || CSSValidCompoundDataType; +template +concept facebook::react::CSSSyntaxVisitorReturn = std::is_default_constructible_v && std::equality_comparable; +template +concept facebook::react::CSSValidCompoundDataType = facebook::react::detail::is_variant_of_data_types::value; +template +concept facebook::react::Hashable = !std::is_same_v&& (requires(T a) { + { std::hash{}(a) } -> std::convertible_to; +}); +template +concept facebook::react::RawPropsFilterable = requires(facebook::react::RawProps& rawProps) { + { T::filterRawProps(rawProps) } -> std::same_as; +}; +template +concept facebook::react::TextLayoutManagerWithPreparedTextLayout = requires( + TextLayoutManagerT textLayoutManager, + facebook::react::AttributedString attributedString, + facebook::react::ParagraphAttributes paragraphAttributes, + facebook::react::TextLayoutContext layoutContext, + facebook::react::LayoutConstraints layoutConstraints, + typename TextLayoutManagerT::PreparedTextLayout preparedTextLayout) { + sizeof(typename TextLayoutManagerT::PreparedTextLayout); + { + textLayoutManager.prepareLayout(attributedString, paragraphAttributes, layoutContext, layoutConstraints) + } -> std::same_as; + { + textLayoutManager.measurePreparedLayout(preparedTextLayout, layoutContext, layoutConstraints) + } -> std::same_as; +}; +Float facebook::react::floatFromYogaFloat(float value); +Float facebook::react::floatFromYogaOptionalFloat(facebook::yoga::FloatOptional value); +YGDirection facebook::react::yogaDirectionFromLayoutDirection(facebook::react::LayoutDirection direction); +bool facebook::react::areAttributedStringFragmentsEquivalentDisplayWise(const facebook::react::AttributedString::Fragment& lhs, const facebook::react::AttributedString::Fragment& rhs); +bool facebook::react::areAttributedStringFragmentsEquivalentLayoutWise(const facebook::react::AttributedString::Fragment& lhs, const facebook::react::AttributedString::Fragment& rhs); +bool facebook::react::areAttributedStringsEquivalentDisplayWise(const facebook::react::AttributedString& lhs, const facebook::react::AttributedString& rhs); +bool facebook::react::areAttributedStringsEquivalentLayoutWise(const facebook::react::AttributedString& lhs, const facebook::react::AttributedString& rhs); +bool facebook::react::areTextAttributesEquivalentLayoutWise(const facebook::react::TextAttributes& lhs, const facebook::react::TextAttributes& rhs); +bool facebook::react::hasAccurateCPUTimeNanosForBenchmarks(); +bool facebook::react::isColorMeaningful(const facebook::react::SharedColor& color) noexcept; +bool facebook::react::isHermesBytecodeBundle(const facebook::react::BundleHeader& header); +bool facebook::react::isZero(Float n); +const char* facebook::react::stringForScriptTag(const facebook::react::ScriptTag& tag); +const facebook::react::InteractionTypesMap& facebook::react::getInteractionTypes(); +const std::unordered_set& facebook::react::getDirectManipulationAllowlist(); +constexpr auto facebook::react::to_underlying(auto e) noexcept; +constexpr bool facebook::react::iequals(std::string_view a, std::string_view b); +constexpr char facebook::react::toLower(char c); +constexpr float facebook::react::canonicalize(float value, facebook::react::CSSAngleUnit unit); +constexpr std::optional facebook::react::parseCSSAngleUnit(std::string_view unit); +constexpr std::optional facebook::react::parseCSSLengthUnit(std::string_view unit); +constexpr uint32_t facebook::react::fnv1aLowercase(std::string_view string); +double facebook::react::ceil(double value) noexcept; +double facebook::react::floor(double value) noexcept; +double facebook::react::getCPUTimeNanos(); +double facebook::react::interpolate(double inputValue, double inputMin, double inputMax, double outputMin, double outputMax, std::string_view extrapolateLeft, std::string_view extrapolateRight); +double facebook::react::round(double value) noexcept; +facebook::jsi::Value facebook::react::createPromiseAsJSIValue(facebook::jsi::Runtime& rt, facebook::react::PromiseSetupFunctionType&& func); +facebook::react::AttributedString facebook::react::ensurePlaceholderIfEmpty_DO_NOT_USE(const facebook::react::AttributedString& attributedString); +facebook::react::ColorComponents facebook::react::colorComponentsFromColor(facebook::react::SharedColor color); +facebook::react::ColorSpace facebook::react::getDefaultColorSpace(); +facebook::react::ComponentBuilder facebook::react::simpleComponentBuilder(std::shared_ptr contextContainer = nullptr); +facebook::react::ComponentRegistryFactory facebook::react::getDefaultComponentRegistryFactory(); +facebook::react::DisplayType facebook::react::displayTypeFromYGDisplay(YGDisplay display); +facebook::react::FilterType facebook::react::filterTypeFromVariant(const facebook::react::CSSFilterFunction& filter); +facebook::react::LayoutMetrics facebook::react::layoutMetricsFromYogaNode(facebook::yoga::Node& yogaNode); +facebook::react::ParagraphAttributes facebook::react::convertRawProp(const facebook::react::PropsParserContext& context, const facebook::react::RawProps& rawProps, const facebook::react::ParagraphAttributes& sourceParagraphAttributes, const facebook::react::ParagraphAttributes& defaultParagraphAttributes); +facebook::react::Rect facebook::react::insetBy(const facebook::react::Rect& rect, const facebook::react::EdgeInsets& insets) noexcept; +facebook::react::Rect facebook::react::outsetBy(const facebook::react::Rect& rect, const facebook::react::EdgeInsets& outsets) noexcept; +facebook::react::ScriptTag facebook::react::parseTypeFromHeader(const facebook::react::BundleHeader& header); +facebook::react::ShadowView facebook::react::shadowViewFromShadowNode(const facebook::react::ShadowNode& shadowNode); +facebook::react::ShadowViewMutation::List facebook::react::calculateShadowViewMutations(const facebook::react::ShadowNode& oldRootShadowNode, const facebook::react::ShadowNode& newRootShadowNode); +facebook::react::SharedColor facebook::react::blackColor(); +facebook::react::SharedColor facebook::react::clearColor(); +facebook::react::SharedColor facebook::react::coerceColor(const facebook::react::RawValue& value, const facebook::react::PropsParserContext& context); +facebook::react::SharedColor facebook::react::colorFromComponents(facebook::react::ColorComponents components); +facebook::react::SharedColor facebook::react::colorFromRGBA(uint8_t r, uint8_t g, uint8_t b, uint8_t a); +facebook::react::SharedColor facebook::react::fromCSSColor(const facebook::react::CSSColor& cssColor); +facebook::react::SharedColor facebook::react::whiteColor(); +facebook::react::Size facebook::react::ModalHostViewScreenSize(void); +facebook::react::Size facebook::react::yogaMeassureToSize(int64_t value); +facebook::react::StubViewTree facebook::react::buildStubViewTreeUsingDifferentiator(const facebook::react::ShadowNode& rootShadowNode); +facebook::react::StubViewTree facebook::react::buildStubViewTreeWithoutUsingDifferentiator(const facebook::react::ShadowNode& rootShadowNode); +facebook::react::SurfaceId facebook::react::getNextRootViewTag() noexcept; +facebook::react::TurboModuleMethodValueKind facebook::react::getTurboModuleMethodValueKind(facebook::jsi::Runtime& rt, const facebook::jsi::Value* value); +facebook::react::ValueUnit facebook::react::cssLengthPercentageToValueUnit(const std::variant& value); +facebook::react::ValueUnit facebook::react::toValueUnit(const facebook::react::RawValue& value); +facebook::yoga::FloatOptional facebook::react::convertAspectRatio(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value); +facebook::yoga::FloatOptional facebook::react::yogaOptionalFloatFromFloat(Float value); +float facebook::react::ceil(float value) noexcept; +float facebook::react::floor(float value) noexcept; +float facebook::react::round(float value) noexcept; +float facebook::react::yogaFloatFromFloat(Float value); +folly::dynamic facebook::react::diffDynamicProps(const folly::dynamic& oldProps, const folly::dynamic& newProps); +folly::dynamic facebook::react::mergeDynamicProps(const folly::dynamic& source, const folly::dynamic& patch, facebook::react::NullValueStrategy nullValueStrategy); +folly::dynamic facebook::react::toDynamic(const facebook::react::SubmitBehavior& value); +int facebook::react::toInt(const facebook::react::DisplayType& displayType); +int facebook::react::toInt(const facebook::react::LayoutDirection& layoutDirection); +long double facebook::react::ceil(long double value) noexcept; +long double facebook::react::floor(long double value) noexcept; +long double facebook::react::round(long double value) noexcept; +size_t facebook::react::attributedStringFragmentHashDisplayWise(const facebook::react::AttributedString::Fragment& fragment); +size_t facebook::react::attributedStringFragmentHashLayoutWise(const facebook::react::AttributedString::Fragment& fragment); +size_t facebook::react::attributedStringHashDisplayWise(const facebook::react::AttributedString& attributedString); +size_t facebook::react::attributedStringHashLayoutWise(const facebook::react::AttributedString& attributedString); +size_t facebook::react::textAttributesHashLayoutWise(const facebook::react::TextAttributes& textAttributes); +std::function facebook::react::makeCallback(std::weak_ptr instance, const folly::dynamic& callbackId); +std::optional facebook::react::coerceAmount(const facebook::react::RawValue& value); +std::optional facebook::react::coerceAngle(const facebook::react::RawValue& value); +std::optional facebook::react::coerceLength(const facebook::react::RawValue& value); +std::optional facebook::react::optionalFloatFromYogaValue(const facebook::yoga::Style::Length& length, std::optional base = {}); +std::optional facebook::react::toRadians(const facebook::react::RawValue& value); +std::optional facebook::react::blendModeFromString(std::string_view blendModeName); +std::optional facebook::react::fromCSSShadow(const facebook::react::CSSShadow& cssShadow); +std::optional facebook::react::parseBoxShadowRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value); +std::optional facebook::react::fromCSSFilter(const facebook::react::CSSFilterFunction& cssFilter); +std::optional facebook::react::parseDropShadow(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value); +std::optional facebook::react::parseFilterRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value); +std::optional facebook::react::filterTypeFromString(std::string_view filterName); +std::optional facebook::react::fontVariantFromCSSFontVariant(facebook::react::CSSFontVariant cssVariant); +std::optional facebook::react::isolationFromString(std::string_view isolationSetting); +std::optional facebook::react::fromCSSTransformFunction(const facebook::react::CSSTransformFunction& cssTransform); +std::pair facebook::react::calculateAnimationProgress(uint64_t now, const facebook::react::LayoutAnimation& animation, const facebook::react::AnimationConfig& mutationConfig); +std::string facebook::react::base64Encode(const std::string_view s); +std::string facebook::react::componentNameByReactViewName(std::string viewName); +std::string facebook::react::generateRandomUuidString(); +std::string facebook::react::toString(const facebook::react::AccessibilityRole& accessibilityRole); +std::string facebook::react::toString(const facebook::react::AttributedString::Range& range); +std::string facebook::react::toString(const facebook::react::BlendMode& blendMode); +std::string facebook::react::toString(const facebook::react::DisplayType& displayType); +std::string facebook::react::toString(const facebook::react::DynamicTypeRamp& dynamicTypeRamp); +std::string facebook::react::toString(const facebook::react::EllipsizeMode& ellipsisMode); +std::string facebook::react::toString(const facebook::react::FilterType& filterType); +std::string facebook::react::toString(const facebook::react::FontStyle& fontStyle); +std::string facebook::react::toString(const facebook::react::FontVariant& fontVariant); +std::string facebook::react::toString(const facebook::react::FontWeight& fontWeight); +std::string facebook::react::toString(const facebook::react::HyphenationFrequency& hyphenationFrequency); +std::string facebook::react::toString(const facebook::react::ImageResizeMode& value); +std::string facebook::react::toString(const facebook::react::ImageSource& value); +std::string facebook::react::toString(const facebook::react::ImportantForAccessibility& importantForAccessibility); +std::string facebook::react::toString(const facebook::react::LayoutDirection& layoutDirection); +std::string facebook::react::toString(const facebook::react::LineBreakMode& lineBreakMode); +std::string facebook::react::toString(const facebook::react::LineBreakStrategy& lineBreakStrategy); +std::string facebook::react::toString(const facebook::react::Role& role); +std::string facebook::react::toString(const facebook::react::ScrollViewSnapToAlignment& value); +std::string facebook::react::toString(const facebook::react::SharedColor& value); +std::string facebook::react::toString(const facebook::react::TextAlignment& textAlignment); +std::string facebook::react::toString(const facebook::react::TextAlignmentVertical& textAlignment); +std::string facebook::react::toString(const facebook::react::TextBreakStrategy& textBreakStrategy); +std::string facebook::react::toString(const facebook::react::TextDecorationLineType& textDecorationLineType); +std::string facebook::react::toString(const facebook::react::TextDecorationStyle& textDecorationStyle); +std::string facebook::react::toString(const facebook::react::TextTransform& textTransform); +std::string facebook::react::toString(const facebook::react::WritingDirection& writingDirection); +std::string facebook::react::toString(double doubleValue, char suffix); +std::string facebook::react::toString(facebook::react::AccessibilityLiveRegion accessibilityLiveRegion); +std::string facebook::react::toString(facebook::react::PointerEventsMode value); +std::string_view facebook::react::getInteractionTypeForEvent(std::string_view eventName); +std::unordered_map(std::shared_ptr jsInvoker)>>& facebook::react::globalExportedCxxTurboModuleMap(); +std::vector facebook::react::longestIncreasingSubsequence(const std::vector& values, const std::vector& include); +std::vector facebook::react::parseNormalizedRootMargin(const std::string& marginStr); +std::vector facebook::react::parseMethodCalls(folly::dynamic&& jsonData); +std::vector facebook::react::sliceChildShadowNodeViewPairs(const facebook::react::ShadowViewNodePair& shadowNodePair, facebook::react::ViewNodePairScope& viewNodePairScope, bool allowFlattened, facebook::react::Point layoutOffset, const facebook::react::CullingContext& cullingContext); +template +constexpr std::optional facebook::react::parseCSSKeyword(std::string_view ident); +template +constexpr facebook::react::CSSVariantWithTypes, std::monostate> facebook::react::parseCSSProperty(std::string_view css); +template +Float facebook::react::roundToPixel(Float value, Float scaleFactor); +template +facebook::react::Point facebook::react::roundToPixel(facebook::react::Point value, Float scaleFactor); +template +facebook::react::Rect facebook::react::roundToPixel(facebook::react::Rect value, Float scaleFactor); +template +facebook::react::Size facebook::react::roundToPixel(facebook::react::Size value, Float scaleFactor); +template +std::size_t facebook::react::hash_combine(const T& v, const Args &... args); +template +void facebook::react::hash_combine(std::size_t& seed, const T& v, const Rest &... rest); +template ::type> +facebook::react::MoveWrapper facebook::react::makeMoveWrapper(T&& t); +template +constexpr std::optional facebook::react::parseCSSColorFunction(std::string_view colorFunction, facebook::react::CSSValueParser& parser); +template +constexpr std::optional facebook::react::parseCSSHexColor(std::string_view hexColorValue); +template +constexpr std::optional facebook::react::parseCSSNamedColor(std::string_view name); +template +constexpr uint32_t facebook::react::fnv1a(std::string_view string) noexcept; +template +facebook::react::ComponentDescriptor::Unique facebook::react::concreteComponentDescriptorConstructor(const facebook::react::ComponentDescriptorParameters& parameters); +template +facebook::react::ComponentDescriptorProvider facebook::react::concreteComponentDescriptorProvider(); +template +DestinationTimePointT facebook::react::clockCast(SourceTimePointT timePoint); +template +T facebook::react::convertRawProp(const facebook::react::PropsParserContext& context, const facebook::react::RawProps& rawProps, const char* name, const T& sourceValue, const U& defaultValue, const char* namePrefix = nullptr, const char* nameSuffix = nullptr); +template +T facebook::react::get(const facebook::react::AnimatedPropBase& animatedProp); +template +T facebook::react::get(const std::unique_ptr& animatedProp); +template +bool facebook::react::floatEquality(T a, T b, T epsilon = static_cast(facebook::react::kDefaultEpsilon)); +template +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, T& result); +template +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, T& result, T defaultValue); +template +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, std::optional& result); +template +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, std::vector& result); +template +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, std::vector>& result); +template +std::shared_ptr facebook::react::getManagerByName(std::shared_ptr& contextContainer, const char name[]); +uint8_t facebook::react::alphaFromColor(facebook::react::SharedColor color) noexcept; +uint8_t facebook::react::blueFromColor(facebook::react::SharedColor color) noexcept; +uint8_t facebook::react::greenFromColor(facebook::react::SharedColor color) noexcept; +uint8_t facebook::react::redFromColor(facebook::react::SharedColor color) noexcept; +void facebook::react::bindHasComponentProvider(facebook::jsi::Runtime& runtime, facebook::react::HasComponentProviderFunctionType&& provider); +void facebook::react::bindNativeLogger(facebook::jsi::Runtime& runtime, facebook::react::Logger logger); +void facebook::react::bindNativePerformanceNow(facebook::jsi::Runtime& runtime); +void facebook::react::cloneProp(facebook::react::BaseViewProps& viewProps, const facebook::react::AnimatedPropBase& animatedProp); +void facebook::react::defineReadOnlyGlobal(facebook::jsi::Runtime& runtime, const std::string& propName, facebook::jsi::Value&& value); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, YGValue& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityAction& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityLabelledBy& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityLiveRegion& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityRole& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityState& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityTraits& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AttributedString::Range& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BackfaceVisibility& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BorderCurve& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BorderStyle& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ContentInsetAdjustmentBehavior& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::CornerInsets& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Cursor& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::DynamicTypeRamp& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::EdgeInsets& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::EllipsizeMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontStyle& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontVariant& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontWeight& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::HyphenationFrequency& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ImageResizeMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ImageSource& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ImportantForAccessibility& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::LineBreakStrategy& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::OutlineStyle& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Point& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::PointerEventsMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Role& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewIndicatorStyle& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewKeyboardDismissMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewMaintainVisibleContentPosition& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewSnapToAlignment& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::SharedColor& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Size& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextAlignment& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextBreakStrategy& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextDecorationLineType& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextDecorationStyle& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextTransform& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Transform& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TransformOrigin& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::WritingDirection& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Align& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Direction& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Display& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::FlexDirection& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::FloatOptional& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Justify& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Overflow& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::PositionType& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Style::Length& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Wrap& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::AccessibilityValue& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::BlendMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Isolation& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::LayoutConformance& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::LineBreakMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::SubmitBehavior& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::TextAlignmentVertical& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::ValueUnit& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::yoga::BoxSizing& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::yoga::Style::SizeLength& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::fromRawValueShared(const facebook::react::ContextContainer& contextContainer, int32_t surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result, facebook::react::parsePlatformColorFn parsePlatformColor); +void facebook::react::fromString(const std::string& string, facebook::react::AccessibilityTraits& result); +void facebook::react::g_setNativeAnimatedNowTimestampFunction(facebook::react::TimePointFunction nowFunction); +void facebook::react::parseProcessedBackgroundImage(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::parseProcessedBoxShadow(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::parseProcessedFilter(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::parseProcessedFontVariant(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::FontVariant& result); +void facebook::react::parseProcessedTransform(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Transform& result); +void facebook::react::parseProcessedTransformOrigin(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::TransformOrigin& result); +void facebook::react::parseUnprocessedBackgroundImageList(const facebook::react::PropsParserContext& context, const std::vector& value, std::vector& result); +void facebook::react::parseUnprocessedBackgroundImageString(const std::string& value, std::vector& result); +void facebook::react::parseUnprocessedBoxShadow(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::parseUnprocessedBoxShadowList(const facebook::react::PropsParserContext& context, std::vector&& value, std::vector& result); +void facebook::react::parseUnprocessedBoxShadowString(std::string&& value, std::vector& result); +void facebook::react::parseUnprocessedFilter(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::parseUnprocessedFilterList(const facebook::react::PropsParserContext& context, std::vector&& value, std::vector& result); +void facebook::react::parseUnprocessedFilterString(std::string&& value, std::vector& result); +void facebook::react::parseUnprocessedFontVariant(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontVariant& result); +void facebook::react::parseUnprocessedFontVariantString(const std::string& value, facebook::react::FontVariant& result); +void facebook::react::parseUnprocessedTransform(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Transform& result); +void facebook::react::parseUnprocessedTransformOrigin(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TransformOrigin& result); +void facebook::react::parseUnprocessedTransformOriginString(const std::string& value, facebook::react::TransformOrigin& result); +void facebook::react::parseUnprocessedTransformString(const std::string& value, facebook::react::Transform& result); +void facebook::react::registerCxxModuleToGlobalModuleMap(std::string name, std::function(std::shared_ptr jsInvoker)> moduleProviderFunc); +void facebook::react::serializeTransformAxis(const facebook::react::TransformOperation& operation, const std::string& operationName, float defaultValue, folly::dynamic& resultTranslateArray); +void facebook::react::serializeTransformOperationValue(const std::string& operationName, const facebook::react::ValueUnit& valueUnit, folly::dynamic& resultArray); +void facebook::react::setDefaultColorSpace(facebook::react::ColorSpace newColorSpace); +void facebook::react::setTouchPayloadOnObject(facebook::jsi::Object& object, facebook::jsi::Runtime& runtime, const facebook::react::BaseTouch& touch); +void facebook::react::updateMountedFlag(const std::vector>& oldChildren, const std::vector>& newChildren, facebook::react::ShadowTreeCommitSource commitSource); +void facebook::react::updateProp(const facebook::react::PropName propName, facebook::react::BaseViewProps& viewProps, const facebook::react::PropsSnapshot& snapshot); +void facebook::react::updateTransformProps(const facebook::react::Transform& transform, const facebook::react::TransformOperation& operation, folly::dynamic& resultTranslateArray); +bool facebook::react::operator==(const facebook::react::AttributedStringBox& lhs, const facebook::react::AttributedStringBox& rhs); +bool facebook::react::operator==(const facebook::react::LayoutConstraints& lhs, const facebook::react::LayoutConstraints& rhs); +bool facebook::react::operator==(const facebook::react::LayoutContext& lhs, const facebook::react::LayoutContext& rhs); +bool facebook::react::operator==(const facebook::react::LineMeasureCacheKey& lhs, const facebook::react::LineMeasureCacheKey& rhs); +bool facebook::react::operator==(const facebook::react::PerformanceObserver& lhs, const facebook::react::PerformanceObserver& rhs); +bool facebook::react::operator==(const facebook::react::PreparedTextCacheKey& lhs, const facebook::react::PreparedTextCacheKey& rhs); +bool facebook::react::operator==(const facebook::react::RawPropsKey& lhs, const facebook::react::RawPropsKey& rhs) noexcept; +bool facebook::react::operator==(const facebook::react::Size& rhs, const facebook::react::Size& lhs) noexcept; +bool facebook::react::operator==(const facebook::react::StubView& lhs, const facebook::react::StubView& rhs); +bool facebook::react::operator==(const facebook::react::StubViewTree& lhs, const facebook::react::StubViewTree& rhs); +bool facebook::react::operator==(const facebook::react::TextMeasureCacheKey& lhs, const facebook::react::TextMeasureCacheKey& rhs); +constexpr bool facebook::react::operator==(const facebook::react::AccessibilityState& lhs, const facebook::react::AccessibilityState& rhs); +constexpr bool facebook::react::operator==(const facebook::react::AccessibilityValue& lhs, const facebook::react::AccessibilityValue& rhs); +constexpr enum facebook::react::AccessibilityTraits facebook::react::operator&(const enum facebook::react::AccessibilityTraits lhs, const enum facebook::react::AccessibilityTraits rhs); +constexpr enum facebook::react::AccessibilityTraits facebook::react::operator|(const enum facebook::react::AccessibilityTraits lhs, const enum facebook::react::AccessibilityTraits rhs); +constexpr facebook::react::HighResDuration facebook::react::operator-(const facebook::react::HighResTimeStamp& lhs, const facebook::react::HighResTimeStamp& rhs); +constexpr facebook::react::HighResTimeStamp facebook::react::operator+(const facebook::react::HighResTimeStamp& lhs, const facebook::react::HighResDuration& rhs); +constexpr facebook::react::HighResTimeStamp facebook::react::operator-(const facebook::react::HighResTimeStamp& lhs, const facebook::react::HighResDuration& rhs); +facebook::react::EdgeInsets facebook::react::operator*(const facebook::react::EdgeInsets& edgeInsets, const facebook::react::Transform& transform); +facebook::react::Point facebook::react::operator*(const facebook::react::Point& point, const facebook::react::Transform& transform); +facebook::react::Rect facebook::react::operator*(const facebook::react::Rect& rect, const facebook::react::Transform& transform); +facebook::react::Size facebook::react::operator*(const facebook::react::Size& size, const facebook::react::Transform& transform); +facebook::react::Vector facebook::react::operator*(const facebook::react::Transform& transform, const facebook::react::Vector& vector); +template +facebook::react::RectangleEdges facebook::react::operator+(const facebook::react::RectangleEdges& lhs, const facebook::react::RectangleEdges& rhs) noexcept; +template +facebook::react::RectangleEdges facebook::react::operator-(const facebook::react::RectangleEdges& lhs, const facebook::react::RectangleEdges& rhs) noexcept; + +class facebook::react::AccessibilityProps { + public AccessibilityProps() = default; + public AccessibilityProps(const facebook::react::PropsParserContext& context, const facebook::react::AccessibilityProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool accessibilityElementsHidden; + public bool accessibilityIgnoresInvertColors; + public bool accessibilityRespondsToUserInteraction; + public bool accessibilityShowsLargeContentViewer; + public bool accessibilityViewIsModal; + public bool accessible; + public bool onAccessibilityAction; + public bool onAccessibilityEscape; + public bool onAccessibilityMagicTap; + public bool onAccessibilityTap; + public facebook::react::AccessibilityLabelledBy accessibilityLabelledBy; + public facebook::react::AccessibilityLiveRegion accessibilityLiveRegion; + public facebook::react::AccessibilityTraits accessibilityTraits; + public facebook::react::AccessibilityValue accessibilityValue; + public facebook::react::ImportantForAccessibility importantForAccessibility; + public facebook::react::Role role; + public std::optional accessibilityState; + public std::string accessibilityHint; + public std::string accessibilityLabel; + public std::string accessibilityLanguage; + public std::string accessibilityLargeContentTitle; + public std::string accessibilityRole; + public std::string testId; + public std::vector accessibilityActions; + public std::vector accessibilityOrder; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::AdditionAnimatedNode : public facebook::react::OperatorAnimatedNode { + public AdditionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::AndroidProgressBarComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public AndroidProgressBarComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); + public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; +} + +class facebook::react::AndroidProgressBarMeasurementsManager { + public AndroidProgressBarMeasurementsManager(const std::shared_ptr& contextContainer); + public facebook::react::Size measure(facebook::react::SurfaceId surfaceId, const AndroidProgressBarProps& props, facebook::react::LayoutConstraints layoutConstraints) const; +} + +class facebook::react::AndroidProgressBarShadowNode : public facebook::react::ConcreteViewShadowNode { + public AndroidProgressBarShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public AndroidProgressBarShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; + public void setAndroidProgressBarMeasurementsManager(const std::shared_ptr& measurementsManager); +} + +class facebook::react::AndroidSwitchComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public AndroidSwitchComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); + public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; +} + +class facebook::react::AndroidSwitchMeasurementsManager { + public AndroidSwitchMeasurementsManager(const std::shared_ptr& contextContainer); + public facebook::react::Size measure(facebook::react::SurfaceId surfaceId, facebook::react::LayoutConstraints layoutConstraints) const; +} + +class facebook::react::AndroidSwitchShadowNode : public facebook::react::ConcreteViewShadowNode { + public AndroidSwitchShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public AndroidSwitchShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; + public void setAndroidSwitchMeasurementsManager(const std::shared_ptr& measurementsManager); +} + +class facebook::react::AnimatedModule : public NativeAnimatedModuleCxxSpec, public facebook::react::TurboModuleWithJSIBindings { + public AnimatedModule(std::shared_ptr jsInvoker, std::shared_ptr nodesManagerProvider); + public void addAnimatedEventToView(facebook::jsi::Runtime& rt, facebook::react::Tag viewTag, std::string eventName, facebook::jsi::Object eventMapping); + public void addListener(facebook::jsi::Runtime& rt, const std::string& eventName); + public void connectAnimatedNodeToShadowNodeFamily(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::jsi::Object shadowNode); + public void connectAnimatedNodeToView(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::react::Tag viewTag); + public void connectAnimatedNodes(facebook::jsi::Runtime& rt, facebook::react::Tag parentTag, facebook::react::Tag childTag); + public void createAnimatedNode(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::jsi::Object config); + public void disconnectAnimatedNodeFromView(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::react::Tag viewTag); + public void disconnectAnimatedNodes(facebook::jsi::Runtime& rt, facebook::react::Tag parentTag, facebook::react::Tag childTag); + public void dropAnimatedNode(facebook::jsi::Runtime& rt, facebook::react::Tag tag); + public void extractAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); + public void finishOperationBatch(facebook::jsi::Runtime& rt); + public void flattenAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); + public void getValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::react::AsyncCallback saveValueCallback); + public void queueAndExecuteBatchedOperations(facebook::jsi::Runtime& rt, facebook::jsi::Array operationsAndArgs); + public void removeAnimatedEventFromView(facebook::jsi::Runtime& rt, facebook::react::Tag viewTag, std::string eventName, facebook::react::Tag animatedNodeTag); + public void removeListeners(facebook::jsi::Runtime& rt, int count); + public void restoreDefaultValues(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); + public void setAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, double offset); + public void setAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, double value); + public void startAnimatingNode(facebook::jsi::Runtime& rt, int animationId, facebook::react::Tag nodeTag, facebook::jsi::Object config, facebook::react::AnimationEndCallback endCallback); + public void startListeningToAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag); + public void startOperationBatch(facebook::jsi::Runtime& rt); + public void stopAnimation(facebook::jsi::Runtime& rt, int animationId); + public void stopListeningToAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag); + public void updateAnimatedNodeConfig(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::jsi::Object config); +} + +class facebook::react::AnimatedMountingOverrideDelegate : public facebook::react::MountingOverrideDelegate { + public AnimatedMountingOverrideDelegate(facebook::react::NativeAnimatedNodesManager& animatedManager, const facebook::react::Scheduler& scheduler); + public virtual bool shouldOverridePullTransaction() const override; + public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const override; +} + +class facebook::react::AnimatedNode { + protected facebook::react::AnimatedNode* getChildNode(facebook::react::Tag tag); + protected facebook::react::AnimatedNodeType type_; + protected facebook::react::NativeAnimatedNodesManager* manager_; + protected facebook::react::Tag tag_; + protected std::unordered_set children_; + public AnimatedNode(const facebook::react::AnimatedNode&) = default; + public AnimatedNode(facebook::react::AnimatedNode&&) noexcept = default; + public AnimatedNode(facebook::react::Tag tag, folly::dynamic config, facebook::react::NativeAnimatedNodesManager& manager, facebook::react::AnimatedNodeType type); + public const folly::dynamic& getConfig() const noexcept; + public const std::unordered_set& getChildren() const noexcept; + public facebook::react::AnimatedNode& operator=(const facebook::react::AnimatedNode&) = default; + public facebook::react::AnimatedNode& operator=(facebook::react::AnimatedNode&&) noexcept = default; + public facebook::react::AnimatedNodeType type() const noexcept; + public facebook::react::Tag tag() const noexcept; + public int activeIncomingNodes; + public int bfsColor; + public static constexpr int INITIAL_BFS_COLOR; + public static std::optional getNodeTypeByName(const std::string& nodeTypeName); + public virtual void onAttachToNode(facebook::react::Tag); + public virtual void onDetachedFromNode(facebook::react::Tag); + public virtual void update(); + public virtual ~AnimatedNode() = default; + public void addChild(facebook::react::Tag tag); + public void removeChild(facebook::react::Tag tag); +} + +class facebook::react::AnimatedPropsRegistry { + public std::pair>&, facebook::react::SnapshotMap&> getMap(facebook::react::SurfaceId surfaceId); + public void clear(facebook::react::SurfaceId surfaceId); + public void update(const std::unordered_map& surfaceUpdates); +} + +class facebook::react::AnimationBackend : public facebook::react::UIManagerAnimationBackend { + public AnimationBackend(std::shared_ptr animationChoreographer, std::shared_ptr uiManager); + public using PauseCallback = std::function; + public using ResumeCallback = std::function; + public virtual facebook::react::CallbackId start(const facebook::react::UIManagerAnimationBackend::Callback& callback) override; + public virtual void clearRegistry(facebook::react::SurfaceId surfaceId) override; + public virtual void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) override; + public virtual void registerJSInvoker(std::shared_ptr jsInvoker) override; + public virtual void stop(facebook::react::CallbackId callbackId) override; + public virtual void trigger() override; + public void commitUpdates(facebook::react::SurfaceId surfaceId, facebook::react::SurfaceUpdates& surfaceUpdates); + public void requestAsyncFlushForSurfaces(const std::set& surfaces); + public void synchronouslyUpdateProps(const std::unordered_map& updates); +} + +class facebook::react::AnimationBackendCommitHook : public facebook::react::UIManagerCommitHook { + public AnimationBackendCommitHook(facebook::react::UIManager& uiManager, std::shared_ptr animatedPropsRegistry); + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions& commitOptions) noexcept override; + public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept override; + public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept override; +} + +class facebook::react::AnimationChoreographer { + public virtual void pause() = 0; + public virtual void resume() = 0; + public virtual ~AnimationChoreographer() = default; + public void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) const; + public void setAnimationBackend(std::weak_ptr animationBackend); +} + +class facebook::react::AnimationDriver { + protected bool ignoreCompletedHandlers_; + protected bool isComplete_; + protected bool isStarted_; + protected double startFrameTimeMs_; + protected facebook::react::NativeAnimatedNodesManager* manager_; + protected facebook::react::Tag animatedValueTag_; + protected folly::dynamic config_; + protected int currentIteration_; + protected int id_; + protected int iterations_; + protected std::optional endCallback_; + protected virtual bool update(double, bool); + protected void markNodeUpdated(facebook::react::Tag tag); + public AnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); + public bool getIsComplete() const noexcept; + public facebook::react::Tag getAnimatedValueTag() const noexcept; + public int getId() const noexcept; + public static std::optional getDriverTypeByName(const std::string& driverTypeName); + public virtual void updateConfig(folly::dynamic config); + public virtual ~AnimationDriver() = default; + public void runAnimationStep(double renderingTime); + public void startAnimation(); + public void stopAnimation(bool ignoreCompletedHandlers = false); +} + +class facebook::react::AppRegistryBinding { + public AppRegistryBinding() = delete; + public static void setSurfaceProps(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& initialProps, facebook::react::DisplayMode displayMode); + public static void startSurface(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& initialProps, facebook::react::DisplayMode displayMode); + public static void stopSurface(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId); +} + +class facebook::react::AttributedString : public facebook::react::Sealable, public facebook::react::DebugStringConvertible { + public bool compareTextAttributesWithoutFrame(const facebook::react::AttributedString& rhs) const; + public bool isContentEqual(const facebook::react::AttributedString& rhs) const; + public bool isEmpty() const; + public bool operator==(const facebook::react::AttributedString& rhs) const; + public const facebook::react::AttributedString::Fragments& getFragments() const; + public const facebook::react::TextAttributes& getBaseTextAttributes() const; + public facebook::react::AttributedString::Fragments& getFragments(); + public std::string getString() const; + public using Fragments = std::vector; + public void appendFragment(facebook::react::AttributedString::Fragment&& fragment); + public void prependFragment(facebook::react::AttributedString::Fragment&& fragment); + public void setBaseTextAttributes(const facebook::react::TextAttributes& defaultAttributes); +} + +class facebook::react::AttributedString::Fragment { + public bool isAttachment() const; + public bool isContentEqual(const facebook::react::AttributedString::Fragment& rhs) const; + public bool operator==(const facebook::react::AttributedString::Fragment& rhs) const; + public facebook::react::ShadowView parentShadowView; + public facebook::react::TextAttributes textAttributes; + public static std::string AttachmentCharacter(); + public std::string string; +} + +class facebook::react::AttributedString::Range { + public int length; + public int location; +} + +class facebook::react::AttributedStringBox { + public AttributedStringBox(); + public AttributedStringBox(const facebook::react::AttributedString& value); + public AttributedStringBox(const facebook::react::AttributedStringBox& other) = default; + public AttributedStringBox(facebook::react::AttributedStringBox&& other) noexcept; + public AttributedStringBox(std::shared_ptr opaquePointer); + public const facebook::react::AttributedString& getValue() const; + public facebook::react::AttributedStringBox& operator=(const facebook::react::AttributedStringBox& other) = default; + public facebook::react::AttributedStringBox& operator=(facebook::react::AttributedStringBox&& other) noexcept; + public facebook::react::AttributedStringBox::Mode getMode() const; + public std::shared_ptr getOpaquePointer() const; +} + +enum facebook::react::AttributedStringBox::Mode { + OpaquePointer, + Value, +} + +class facebook::react::BaseParagraphProps : public facebook::react::HostPlatformViewProps, public facebook::react::BaseTextProps { + public BaseParagraphProps() = default; + public BaseParagraphProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseParagraphProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool isSelectable; + public bool onTextLayout; + public facebook::react::ParagraphAttributes paragraphAttributes; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::BaseScrollViewProps : public facebook::react::HostPlatformViewProps { + public BaseScrollViewProps() = default; + public BaseScrollViewProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseScrollViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public Float decelerationRate; + public Float endDraggingSensitivityMultiplier; + public Float maximumZoomScale; + public Float minimumZoomScale; + public Float scrollEventThrottle; + public Float snapToInterval; + public Float zoomScale; + public bool alwaysBounceHorizontal; + public bool alwaysBounceVertical; + public bool automaticallyAdjustContentInsets; + public bool automaticallyAdjustKeyboardInsets; + public bool automaticallyAdjustsScrollIndicatorInsets; + public bool bounces; + public bool bouncesZoom; + public bool canCancelContentTouches; + public bool centerContent; + public bool directionalLockEnabled; + public bool disableIntervalMomentum; + public bool horizontal; + public bool isInvertedVirtualizedList; + public bool pagingEnabled; + public bool persistentScrollbar; + public bool pinchGestureEnabled; + public bool scrollEnabled; + public bool scrollToOverflowEnabled; + public bool scrollsToTop; + public bool showsHorizontalScrollIndicator; + public bool showsVerticalScrollIndicator; + public bool snapToEnd; + public bool snapToStart; + public facebook::react::ContentInsetAdjustmentBehavior contentInsetAdjustmentBehavior; + public facebook::react::EdgeInsets contentInset; + public facebook::react::EdgeInsets scrollIndicatorInsets; + public facebook::react::Point contentOffset; + public facebook::react::ScrollViewIndicatorStyle indicatorStyle; + public facebook::react::ScrollViewKeyboardDismissMode keyboardDismissMode; + public facebook::react::ScrollViewSnapToAlignment snapToAlignment; + public std::optional maintainVisibleContentPosition; + public std::vector snapToOffsets; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::BaseTextInputProps : public facebook::react::HostPlatformViewProps, public facebook::react::BaseTextProps { + public BaseTextInputProps() = default; + public BaseTextInputProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseTextInputProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool autoFocus; + public bool disableKeyboardShortcuts; + public bool editable; + public bool multiline; + public bool readOnly; + public facebook::react::ParagraphAttributes paragraphAttributes; + public facebook::react::SharedColor cursorColor; + public facebook::react::SharedColor placeholderTextColor; + public facebook::react::SharedColor selectionColor; + public facebook::react::SharedColor selectionHandleColor; + public facebook::react::SharedColor underlineColorAndroid; + public facebook::react::SubmitBehavior getNonDefaultSubmitBehavior() const; + public facebook::react::SubmitBehavior submitBehavior; + public facebook::react::TextAttributes getEffectiveTextAttributes(Float fontSizeMultiplier) const; + public int maxLength; + public int mostRecentEventCount; + public std::optional> acceptDragAndDropTypes; + public std::string autoCapitalize; + public std::string defaultValue; + public std::string placeholder; + public std::string text; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::BaseTextProps { + public BaseTextProps() = default; + public BaseTextProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseTextProps& sourceProps, const facebook::react::RawProps& rawProps); + public facebook::react::TextAttributes textAttributes; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::BaseTextShadowNode { + public static void buildAttributedString(const facebook::react::TextAttributes& baseTextAttributes, const facebook::react::ShadowNode& parentNode, facebook::react::AttributedString& outAttributedString, facebook::react::BaseTextShadowNode::Attachments& outAttachments); + public using Attachments = std::vector; +} + +class facebook::react::BaseTextShadowNode::Attachment { + public const facebook::react::ShadowNode* shadowNode; + public size_t fragmentIndex; +} + +class facebook::react::BaseViewEventEmitter : public facebook::react::TouchEventEmitter { + public void onAccessibilityAction(const std::string& name) const; + public void onAccessibilityEscape() const; + public void onAccessibilityMagicTap() const; + public void onAccessibilityTap() const; + public void onBlur() const; + public void onFocus() const; + public void onLayout(const facebook::react::LayoutMetrics& layoutMetrics) const; +} + +class facebook::react::BaseViewProps : public facebook::react::YogaStylableProps, public facebook::react::AccessibilityProps { + public BaseViewProps() = default; + public BaseViewProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseViewProps& sourceProps, const facebook::react::RawProps& rawProps, const std::function& filterObjectKeys = nullptr); + public Float opacity; + public Float outlineOffset; + public Float outlineWidth; + public Float shadowOpacity; + public Float shadowRadius; + public bool collapsable; + public bool collapsableChildren; + public bool getClipsContentToBounds() const; + public bool onLayout; + public bool removeClippedSubviews; + public bool shouldRasterize; + public facebook::react::BackfaceVisibility backfaceVisibility; + public facebook::react::BlendMode mixBlendMode; + public facebook::react::BorderMetrics resolveBorderMetrics(const facebook::react::LayoutMetrics& layoutMetrics) const; + public facebook::react::CascadedBorderColors borderColors; + public facebook::react::CascadedBorderCurves borderCurves; + public facebook::react::CascadedBorderRadii borderRadii; + public facebook::react::CascadedBorderStyles borderStyles; + public facebook::react::CascadedBorderWidths getBorderWidths() const; + public facebook::react::Cursor cursor; + public facebook::react::EdgeInsets hitSlop; + public facebook::react::Isolation isolation; + public facebook::react::OutlineStyle outlineStyle; + public facebook::react::PointerEventsMode pointerEvents; + public facebook::react::SharedColor backgroundColor; + public facebook::react::SharedColor outlineColor; + public facebook::react::SharedColor shadowColor; + public facebook::react::Size shadowOffset; + public facebook::react::Transform resolveTransform(const facebook::react::LayoutMetrics& layoutMetrics) const; + public facebook::react::Transform transform; + public facebook::react::TransformOrigin transformOrigin; + public facebook::react::ViewEvents events; + public static facebook::react::Transform resolveTransform(const facebook::react::Size& frameSize, const facebook::react::Transform& transform, const facebook::react::TransformOrigin& transformOrigin); + public std::optional zIndex; + public std::vector backgroundImage; + public std::vector backgroundPosition; + public std::vector backgroundRepeat; + public std::vector backgroundSize; + public std::vector boxShadow; + public std::vector filter; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::BigStringBuffer : public facebook::jsi::Buffer { + public BigStringBuffer(std::unique_ptr script); + public virtual const uint8_t* data() const override; + public virtual size_t size() const override; +} + +class facebook::react::BindingsInstaller { + public virtual facebook::react::ReactInstance::BindingsInstallFunc getBindingsInstallFunc(); +} + +class facebook::react::BridgelessNativeMethodCallInvoker : public facebook::react::NativeMethodCallInvoker { + public BridgelessNativeMethodCallInvoker(std::shared_ptr messageQueueThread); + public virtual void invokeAsync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) noexcept override; + public virtual void invokeSync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) override; +} + +class facebook::react::BufferedRuntimeExecutor { + public BufferedRuntimeExecutor(facebook::react::RuntimeExecutor runtimeExecutor); + public using Work = std::function; + public void execute(facebook::react::BufferedRuntimeExecutor::Work&& callback); + public void flush(); +} + +struct facebook::react::BufferedRuntimeExecutor::BufferedWork { + public bool operator<(const facebook::react::BufferedRuntimeExecutor::BufferedWork& rhs) const; + public facebook::react::BufferedRuntimeExecutor::Work work_; + public uint64_t index_; +} + +class facebook::react::CSSSyntaxParser { + public constexpr CSSSyntaxParser(const facebook::react::CSSSyntaxParser&) = default; + public constexpr CSSSyntaxParser(facebook::react::CSSSyntaxParser&&) = default; + public constexpr CSSSyntaxParser(std::string_view css); + public constexpr bool consumeDelimiter(facebook::react::CSSDelimiter delimiter); + public constexpr bool isFinished() const; + public constexpr const facebook::react::CSSToken& peek() const; + public constexpr facebook::react::CSSSyntaxParser& operator=(const facebook::react::CSSSyntaxParser&) = default; + public constexpr facebook::react::CSSSyntaxParser& operator=(facebook::react::CSSSyntaxParser&&) = default; + public constexpr void consumeWhitespace(); + template + public constexpr ReturnT consumeComponentValue(const facebook::react::CSSComponentValueVisitor auto &... visitors); + template + public constexpr ReturnT consumeComponentValue(facebook::react::CSSDelimiter delimiter, const facebook::react::CSSComponentValueVisitor auto &... visitors); +} + +class facebook::react::CSSToken { + public constexpr CSSToken(const facebook::react::CSSToken& other) = default; + public constexpr CSSToken(facebook::react::CSSToken&& other) = default; + public constexpr CSSToken(facebook::react::CSSTokenType type); + public constexpr CSSToken(facebook::react::CSSTokenType type, float value); + public constexpr CSSToken(facebook::react::CSSTokenType type, float value, std::string_view unit); + public constexpr CSSToken(facebook::react::CSSTokenType type, std::string_view value); + public constexpr bool operator==(const facebook::react::CSSToken& other) const = default; + public constexpr facebook::react::CSSToken& operator=(const facebook::react::CSSToken& other) = default; + public constexpr facebook::react::CSSToken& operator=(facebook::react::CSSToken&& other) = default; + public constexpr facebook::react::CSSTokenType type() const; + public constexpr float numericValue() const; + public constexpr std::string_view stringValue() const; + public constexpr std::string_view unit() const; +} + +class facebook::react::CSSTokenizer { + public constexpr CSSTokenizer(std::string_view characters); + public constexpr facebook::react::CSSToken next(); +} + +class facebook::react::CSSValueParser { + public constexpr CSSValueParser(const facebook::react::CSSValueParser&) = default; + public constexpr CSSValueParser(facebook::react::CSSSyntaxParser& parser); + public constexpr const facebook::react::CSSSyntaxParser& syntaxParser() const; + public constexpr facebook::react::CSSSyntaxParser& syntaxParser(); + public constexpr facebook::react::CSSValueParser& operator=(const facebook::react::CSSValueParser&) = default; + template + public constexpr facebook::react::CSSVariantWithTypes, std::monostate> parseNextValue(facebook::react::CSSDelimiter delimiter = facebook::react::CSSDelimiter::None); + template + public constexpr facebook::react::CSSVariantWithTypes, std::monostate> peekNextValue(facebook::react::CSSDelimiter delimiter = facebook::react::CSSDelimiter::None); +} + +class facebook::react::CallInvoker { + public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept = 0; + public virtual void invokeAsync(facebook::react::SchedulerPriority, facebook::react::CallFunc&& func) noexcept; + public virtual void invokeAsync(std::function&& func) noexcept; + public virtual void invokeSync(facebook::react::CallFunc&& func) = 0; + public virtual void invokeSync(std::function&& func); + public virtual ~CallInvoker() = default; +} + +class facebook::react::CallbackWrapper : public facebook::react::LongLivedObject { + public facebook::jsi::Function& callback() noexcept; + public facebook::jsi::Runtime& runtime() noexcept; + public facebook::react::CallInvoker& jsInvoker() noexcept; + public static std::weak_ptr createWeak(facebook::jsi::Function&& callback, facebook::jsi::Runtime& runtime, std::shared_ptr jsInvoker); + public std::shared_ptr jsInvokerPtr() noexcept; + public void destroy(); +} + +class facebook::react::CdpMetricsReporter : public facebook::react::PerformanceEntryReporterEventListener { + public CdpMetricsReporter(facebook::react::RuntimeExecutor runtimeExecutor); + public virtual void onEventTimingEntry(const facebook::react::PerformanceEventTiming& entry) override; +} + +class facebook::react::CdpPerfIssuesReporter : public facebook::react::PerformanceEntryReporterEventListener { + public CdpPerfIssuesReporter(facebook::react::RuntimeExecutor runtimeExecutor); + public virtual void onMeasureEntry(const facebook::react::PerformanceMeasure& entry, const std::optional& detailProvider) override; +} + +class facebook::react::ColorAnimatedNode : public facebook::react::AnimatedNode { + public Color getColor(); + public ColorAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::ComponentBuilder { + public ComponentBuilder(const facebook::react::ComponentBuilder& componentBuilder) = default; + public ComponentBuilder(facebook::react::ComponentBuilder&& componentBuilder) noexcept = default; + public ComponentBuilder(facebook::react::ComponentDescriptorRegistry::Shared componentDescriptorRegistry); + public facebook::react::ComponentBuilder& operator=(const facebook::react::ComponentBuilder& other) = default; + public facebook::react::ComponentBuilder& operator=(facebook::react::ComponentBuilder&& other) = default; + template + public std::shared_ptr build(facebook::react::Element element) const; +} + +class facebook::react::ComponentDescriptor { + protected facebook::react::ComponentDescriptor::Flavor flavor_; + protected facebook::react::EventDispatcher::Weak eventDispatcher_; + protected facebook::react::RawPropsParser rawPropsParser_; + protected friend ShadowNode; + protected std::shared_ptr contextContainer_; + protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const = 0; + public ComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public const std::shared_ptr& getContextContainer() const; + public using Flavor = std::shared_ptr; + public using Shared = std::shared_ptr; + public using Unique = std::unique_ptr; + public virtual facebook::react::ComponentHandle getComponentHandle() const = 0; + public virtual facebook::react::ComponentName getComponentName() const = 0; + public virtual facebook::react::Props::Shared cloneProps(const facebook::react::PropsParserContext& context, const facebook::react::Props::Shared& props, facebook::react::RawProps rawProps) const = 0; + public virtual facebook::react::ShadowNodeFamily::Shared createFamily(const facebook::react::ShadowNodeFamilyFragment& fragment) const = 0; + public virtual facebook::react::ShadowNodeTraits getTraits() const = 0; + public virtual facebook::react::State::Shared createInitialState(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family) const = 0; + public virtual facebook::react::State::Shared createState(const facebook::react::ShadowNodeFamily& family, const facebook::react::StateData::Shared& data) const = 0; + public virtual std::shared_ptr cloneShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) const = 0; + public virtual std::shared_ptr createShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family) const = 0; + public virtual void appendChild(const std::shared_ptr& parentShadowNode, const std::shared_ptr& childShadowNode) const = 0; + public virtual ~ComponentDescriptor() = default; +} + +class facebook::react::ComponentDescriptorParameters { + public facebook::react::ComponentDescriptor::Flavor flavor; + public facebook::react::EventDispatcher::Weak eventDispatcher; + public std::shared_ptr contextContainer; +} + +class facebook::react::ComponentDescriptorProvider { + public facebook::react::ComponentDescriptor::Flavor flavor; + public facebook::react::ComponentDescriptorConstructor* constructor; + public facebook::react::ComponentHandle handle; + public facebook::react::ComponentName name; +} + +class facebook::react::ComponentDescriptorProviderRegistry { + public facebook::react::ComponentDescriptorRegistry::Shared createComponentDescriptorRegistry(const facebook::react::ComponentDescriptorParameters& parameters) const; + public void add(const facebook::react::ComponentDescriptorProvider& provider) const; + public void setComponentDescriptorProviderRequest(facebook::react::ComponentDescriptorProviderRequest request) const; +} + +class facebook::react::ComponentDescriptorRegistry { + public ComponentDescriptorRegistry(facebook::react::ComponentDescriptorParameters parameters, const facebook::react::ComponentDescriptorProviderRegistry& providerRegistry, std::shared_ptr contextContainer); + public bool hasComponentDescriptorAt(facebook::react::ComponentHandle componentHandle) const; + public const facebook::react::ComponentDescriptor& at(const std::string& componentName) const; + public const facebook::react::ComponentDescriptor& at(facebook::react::ComponentHandle componentHandle) const; + public const facebook::react::ComponentDescriptor* findComponentDescriptorByHandle_DO_NOT_USE_THIS_IS_BROKEN(facebook::react::ComponentHandle componentHandle) const; + public facebook::react::ComponentDescriptor::Shared getFallbackComponentDescriptor() const; + public using Shared = std::shared_ptr; + public void setFallbackComponentDescriptor(const facebook::react::SharedComponentDescriptor& descriptor); +} + +class facebook::react::ContextContainer { + public void erase(const std::string& key) const; + public void update(const facebook::react::ContextContainer& contextContainer) const; + template + public T at(const std::string& key) const; + template + public std::optional find(const std::string& key) const; + template + public void insert(const std::string& key, const T& instance) const; +} + +class facebook::react::CxxNativeModule : public facebook::react::NativeModule { + public CxxNativeModule(std::weak_ptr instance, std::string name, facebook::xplat::module::CxxModule::Provider provider, std::shared_ptr messageQueueThread); + public static void setShouldWarnOnUse(bool value); + public virtual facebook::react::MethodCallResult callSerializableNativeHook(unsigned int hookId, folly::dynamic&& args) override; + public virtual folly::dynamic getConstants() override; + public virtual std::string getName() override; + public virtual std::string getSyncMethodName(unsigned int methodId) override; + public virtual std::vector getMethods() override; + public virtual void invoke(unsigned int reactMethodId, folly::dynamic&& params, int callId) override; +} + +class facebook::react::DebugStringConvertible { +} + +class facebook::react::DecayAnimationDriver : public facebook::react::AnimationDriver { + protected virtual bool update(double timeDeltaMs, bool restarting) override; + public DecayAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); +} + +class facebook::react::DevToolsRuntimeSettings { + public DevToolsRuntimeSettings(const facebook::react::DevToolsRuntimeSettings&) = delete; + public DevToolsRuntimeSettings(facebook::react::DevToolsRuntimeSettings&&) = delete; + public facebook::react::NativeReloadAndProfileConfig getReloadAndProfileConfig() const; + public static facebook::react::DevToolsRuntimeSettings& getInstance(); + public void operator=(const facebook::react::DevToolsRuntimeSettings&) = delete; + public void operator=(facebook::react::DevToolsRuntimeSettings&&) = delete; + public void setReloadAndProfileConfig(facebook::react::NativePartialReloadAndProfileConfig config); + public ~DevToolsRuntimeSettings() = default; +} + +class facebook::react::DevToolsRuntimeSettingsModule : public NativeReactDevToolsRuntimeSettingsModuleCxxSpec { + public DevToolsRuntimeSettingsModule(std::shared_ptr jsInvoker); + public facebook::react::NativeReloadAndProfileConfig getReloadAndProfileConfig(facebook::jsi::Runtime& rt); + public void setReloadAndProfileConfig(facebook::jsi::Runtime& rt, facebook::react::NativePartialReloadAndProfileConfig config); +} + +class facebook::react::DiffClampAnimatedNode : public facebook::react::ValueAnimatedNode { + public DiffClampAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::DivisionAnimatedNode : public facebook::react::OperatorAnimatedNode { + public DivisionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::ElementFragment { + public facebook::react::ComponentHandle componentHandle; + public facebook::react::ComponentName componentName; + public facebook::react::ElementFragment::FinalizeCallback finalizeCallback; + public facebook::react::ElementFragment::List children; + public facebook::react::ElementFragment::ReferenceCallback referenceCallback; + public facebook::react::ElementFragment::StateCallback stateCallback; + public facebook::react::Props::Shared props; + public facebook::react::SurfaceId surfaceId; + public facebook::react::Tag tag; + public using FinalizeCallback = std::function; + public using List = std::vector; + public using ListOfShared = std::vector; + public using ReferenceCallback = std::function& shadowNode)>; + public using Shared = std::shared_ptr; + public using StateCallback = std::function; +} + +class facebook::react::Error { + public Error(const char* message); + public Error(std::string message); + public const std::string& message() const; +} + +class facebook::react::EventAnimationDriver { + protected const facebook::react::Tag animatedValueTag_; + protected std::vector eventPath_; + public EventAnimationDriver(const std::vector& eventPath, facebook::react::Tag animatedValueTag); + public facebook::react::Tag getAnimatedNodeTag() const; + public std::optional getValueFromPayload(const facebook::react::EventPayload& eventPayload); + public ~EventAnimationDriver() = default; +} + +class facebook::react::EventBeat { + protected facebook::react::EventBeat::BeatCallback beatCallback_; + protected mutable std::atomic isEventBeatRequested_; + protected std::function induceCallback_; + protected std::shared_ptr ownerBox_; + protected void induce() const; + public EventBeat(const facebook::react::EventBeat& other) = delete; + public EventBeat(std::shared_ptr ownerBox, facebook::react::RuntimeScheduler& runtimeScheduler); + public facebook::react::EventBeat& operator=(const facebook::react::EventBeat& other) = delete; + public using BeatCallback = std::function; + public using Factory = std::function(std::shared_ptr ownerBox)>; + public virtual void request() const; + public virtual void requestSynchronous() const; + public virtual ~EventBeat() = default; + public void setBeatCallback(facebook::react::EventBeat::BeatCallback beatCallback); + public void unstable_setInduceCallback(std::function callback); +} + +struct facebook::react::EventBeat::OwnerBox { + public std::weak_ptr owner; +} + +class facebook::react::EventDispatcher { + public EventDispatcher(const facebook::react::EventQueueProcessor& eventProcessor, std::unique_ptr eventBeat, facebook::react::StatePipe statePipe, std::weak_ptr eventLogger); + public using Shared = std::shared_ptr; + public using Weak = std::weak_ptr; + public void addListener(std::shared_ptr listener) const; + public void dispatchEvent(facebook::react::RawEvent&& rawEvent) const; + public void dispatchStateUpdate(facebook::react::StateUpdate&& stateUpdate, facebook::react::EventQueue::UpdateMode updateMode) const; + public void dispatchUniqueEvent(facebook::react::RawEvent&& rawEvent) const; + public void experimental_flushSync() const; + public void removeListener(const std::shared_ptr& listener) const; +} + +class facebook::react::EventEmitter { + public EventEmitter(facebook::react::SharedEventTarget eventTarget, facebook::react::EventDispatcher::Weak eventDispatcher); + public const facebook::react::SharedEventTarget& getEventTarget() const; + public static facebook::react::ValueFactory defaultPayloadFactory(); + public static std::mutex& DispatchMutex(); + public static std::string normalizeEventType(std::string type); + public using Shared = std::shared_ptr; + public virtual ~EventEmitter() = default; + public void dispatchEvent(std::string type, const facebook::react::ValueFactory& payloadFactory = facebook::react::EventEmitter::defaultPayloadFactory(), facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified) const; + public void dispatchEvent(std::string type, const facebook::react::ValueFactory& payloadFactory, facebook::react::RawEvent::Category category, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified) const; + public void dispatchEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::RawEvent::Category category, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchEvent(std::string type, folly::dynamic&& payload, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified) const; + public void dispatchEvent(std::string type, folly::dynamic&& payload, facebook::react::RawEvent::Category category, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, const facebook::react::ValueFactory& payloadFactory = facebook::react::EventEmitter::defaultPayloadFactory()) const; + public void dispatchUniqueEvent(std::string type, const facebook::react::ValueFactory& payloadFactory, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload) const; + public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload) const; + public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void setEnabled(bool enabled); + public void setShadowNodeFamily(std::weak_ptr shadowNodeFamily); + template + public void experimental_flushSync(Lambda syncFunc) const; +} + +class facebook::react::EventListenerContainer { + public bool willDispatchEvent(const facebook::react::RawEvent& event); + public void addListener(std::shared_ptr listener); + public void removeListener(const std::shared_ptr& listener); +} + +class facebook::react::EventLogger { + public virtual facebook::react::EventTag onEventStart(std::string_view name, facebook::react::SharedEventTarget target, std::optional eventStartTimeStamp = std::nullopt) = 0; + public virtual void onEventProcessingEnd(facebook::react::EventTag tag) = 0; + public virtual void onEventProcessingStart(facebook::react::EventTag tag) = 0; + public virtual ~EventLogger() = default; +} + +class facebook::react::EventPerformanceLogger : public facebook::react::EventLogger, public facebook::react::RuntimeSchedulerEventTimingDelegate, public facebook::react::UIManagerMountHook { + public EventPerformanceLogger(std::weak_ptr performanceEntryReporter); + public virtual facebook::react::EventTag onEventStart(std::string_view name, facebook::react::SharedEventTarget target, std::optional eventStartTimeStamp = std::nullopt) override; + public virtual void dispatchPendingEventTimingEntries(facebook::react::HighResTimeStamp taskEndTime, const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) override; + public virtual void onEventProcessingEnd(facebook::react::EventTag tag) override; + public virtual void onEventProcessingStart(facebook::react::EventTag tag) override; + public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp mountTime) noexcept override; +} + +class facebook::react::EventQueue { + protected const std::unique_ptr eventBeat_; + protected facebook::react::EventQueueProcessor eventProcessor_; + protected mutable std::mutex queueMutex_; + protected mutable std::vector eventQueue_; + protected mutable std::vector stateUpdateQueue_; + protected void flushEvents(facebook::jsi::Runtime& runtime) const; + protected void flushStateUpdates() const; + protected void onBeat(facebook::jsi::Runtime& runtime) const; + protected void onEnqueue() const; + public EventQueue(facebook::react::EventQueueProcessor eventProcessor, std::unique_ptr eventBeat); + public void enqueueEvent(facebook::react::RawEvent&& rawEvent) const; + public void enqueueStateUpdate(facebook::react::StateUpdate&& stateUpdate, facebook::react::EventQueue::UpdateMode updateMode = facebook::react::EventQueue::UpdateMode::Asynchronous) const; + public void enqueueUniqueEvent(facebook::react::RawEvent&& rawEvent) const; + public void experimental_flushSync() const; +} + +enum facebook::react::EventQueue::UpdateMode { + Asynchronous, + unstable_Immediate, +} + +class facebook::react::EventQueueProcessor { + public EventQueueProcessor(facebook::react::EventPipe eventPipe, facebook::react::EventPipeConclusion eventPipeConclusion, facebook::react::StatePipe statePipe, std::weak_ptr eventLogger); + public void flushEvents(facebook::jsi::Runtime& runtime, std::vector&& events) const; + public void flushStateUpdates(std::vector&& states) const; +} + +class facebook::react::EventSubscription { + public EventSubscription(const facebook::react::EventSubscription&) = delete; + public EventSubscription(facebook::react::EventSubscription&&) noexcept = default; + public EventSubscription(std::function remove); + public facebook::react::EventSubscription& operator=(const facebook::react::EventSubscription&) = delete; + public facebook::react::EventSubscription& operator=(facebook::react::EventSubscription&&) noexcept = default; + public void remove(); + public ~EventSubscription() = default; +} + +class facebook::react::EventTarget { + public EventTarget(facebook::react::InstanceHandle::Shared instanceHandle, facebook::react::SurfaceId surfaceId); + public facebook::jsi::Value getInstanceHandle(facebook::jsi::Runtime& runtime) const; + public facebook::react::EventTarget::Tag getTag() const; + public facebook::react::SurfaceId getSurfaceId() const; + public using Tag = int32_t; + public void release(facebook::jsi::Runtime& runtime); + public void retain(facebook::jsi::Runtime& runtime); + public void setEnabled(bool enabled); +} + +class facebook::react::ExecutorDelegate { + public virtual facebook::react::MethodCallResult callSerializableNativeHook(facebook::react::JSExecutor& executor, unsigned int moduleId, unsigned int methodId, folly::dynamic&& args) = 0; + public virtual std::shared_ptr getModuleRegistry() = 0; + public virtual void callNativeModules(facebook::react::JSExecutor& executor, folly::dynamic&& calls, bool isEndOfBatch) = 0; + public virtual ~ExecutorDelegate() = default; +} + +class facebook::react::FrameAnimationDriver : public facebook::react::AnimationDriver { + protected virtual bool update(double timeDeltaMs, bool restarting) override; + protected virtual void updateConfig(folly::dynamic config) override; + public FrameAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); +} + +class facebook::react::FuseboxTracer { + public FuseboxTracer(const facebook::react::FuseboxTracer&) = delete; + public bool isTracing(); + public bool startTracing(); + public bool stopTracing(const std::function& resultCallback); + public bool stopTracingAndWriteToFile(const std::string& path); + public static facebook::react::FuseboxTracer& getFuseboxTracer(); + public void addEvent(const std::string_view& name, uint64_t start, uint64_t end, const std::optional& track); +} + +class facebook::react::HermesExecutor : public facebook::react::JSIExecutor { + public HermesExecutor(std::shared_ptr runtime, std::shared_ptr delegate, std::shared_ptr jsQueue, const facebook::react::JSIScopedTimeoutInvoker& timeoutInvoker, facebook::react::JSIExecutor::RuntimeInstaller runtimeInstaller, hermes::HermesRuntime& hermesRuntime); + public virtual facebook::react::jsinspector_modern::RuntimeTargetDelegate& getRuntimeTargetDelegate() override; +} + +class facebook::react::HermesExecutorFactory : public facebook::react::JSExecutorFactory { + public HermesExecutorFactory(facebook::react::JSIExecutor::RuntimeInstaller runtimeInstaller, const facebook::react::JSIScopedTimeoutInvoker& timeoutInvoker = facebook::react::JSIExecutor::defaultTimeoutInvoker, hermes::vm::RuntimeConfig runtimeConfig = defaultRuntimeConfig()); + public virtual std::unique_ptr createJSExecutor(std::shared_ptr delegate, std::shared_ptr jsQueue) override; + public void setDebuggerName(const std::string& debuggerName); + public void setEnableDebugger(bool enableDebugger); +} + +class facebook::react::HermesInstance { + public static std::unique_ptr createJSRuntime(std::shared_ptr crashManager, std::shared_ptr msgQueueThread, bool allocInOldGenBeforeTTI) noexcept; +} + +class facebook::react::HighResDuration { + public constexpr HighResDuration(); + public constexpr bool operator!=(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator!=(const std::chrono::steady_clock::duration& rhs) const; + public constexpr bool operator<(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator<(const std::chrono::steady_clock::duration& rhs) const; + public constexpr bool operator<=(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator<=(const std::chrono::steady_clock::duration& rhs) const; + public constexpr bool operator==(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator==(const std::chrono::steady_clock::duration& rhs) const; + public constexpr bool operator>(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator>(const std::chrono::steady_clock::duration& rhs) const; + public constexpr bool operator>=(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator>=(const std::chrono::steady_clock::duration& rhs) const; + public constexpr double toDOMHighResTimeStamp() const; + public constexpr facebook::react::HighResDuration operator+(const facebook::react::HighResDuration& rhs) const; + public constexpr facebook::react::HighResDuration operator+(const std::chrono::steady_clock::duration& rhs) const; + public constexpr facebook::react::HighResDuration operator-(const facebook::react::HighResDuration& rhs) const; + public constexpr facebook::react::HighResDuration operator-(const std::chrono::steady_clock::duration& rhs) const; + public constexpr facebook::react::HighResDuration& operator+=(const facebook::react::HighResDuration& rhs); + public constexpr facebook::react::HighResDuration& operator+=(const std::chrono::steady_clock::duration& rhs); + public constexpr facebook::react::HighResDuration& operator-=(const facebook::react::HighResDuration& rhs); + public constexpr facebook::react::HighResDuration& operator-=(const std::chrono::steady_clock::duration& rhs); + public constexpr int64_t toNanoseconds() const; + public constexpr operator std::chrono::steady_clock::duration() const; + public static constexpr facebook::react::HighResDuration fromChrono(std::chrono::steady_clock::duration chronoDuration); + public static constexpr facebook::react::HighResDuration fromDOMHighResTimeStamp(double units); + public static constexpr facebook::react::HighResDuration fromMilliseconds(int64_t units); + public static constexpr facebook::react::HighResDuration fromNanoseconds(int64_t units); + public static constexpr facebook::react::HighResDuration zero(); +} + +class facebook::react::HighResTimeStamp { + public HighResTimeStamp() noexcept; + public constexpr bool operator!=(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr bool operator<(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr bool operator<=(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr bool operator==(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr bool operator>(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr bool operator>=(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr double toDOMHighResTimeStamp() const; + public constexpr facebook::react::HighResTimeStamp& operator+=(const facebook::react::HighResDuration& rhs); + public constexpr facebook::react::HighResTimeStamp& operator-=(const facebook::react::HighResDuration& rhs); + public constexpr std::chrono::steady_clock::time_point toChronoSteadyClockTimePoint() const; + public static constexpr facebook::react::HighResTimeStamp fromChronoSteadyClockTimePoint(std::chrono::steady_clock::time_point chronoTimePoint); + public static constexpr facebook::react::HighResTimeStamp fromDOMHighResTimeStamp(double units); + public static constexpr facebook::react::HighResTimeStamp max() noexcept; + public static constexpr facebook::react::HighResTimeStamp min() noexcept; + public static facebook::react::HighResDuration unsafeOriginFromUnixTimeStamp() noexcept; + public static facebook::react::HighResTimeStamp now() noexcept; +} + +class facebook::react::HostPlatformViewProps : public facebook::react::BaseViewProps { + public HostPlatformViewProps() = default; + public HostPlatformViewProps(const facebook::react::PropsParserContext& context, const facebook::react::HostPlatformViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool focusable; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::IAsyncEventEmitter { + public IAsyncEventEmitter() noexcept = default; + public IAsyncEventEmitter(const facebook::react::IAsyncEventEmitter&) = delete; + public IAsyncEventEmitter(facebook::react::IAsyncEventEmitter&&) noexcept = default; + public facebook::react::IAsyncEventEmitter& operator=(const facebook::react::IAsyncEventEmitter&) = delete; + public facebook::react::IAsyncEventEmitter& operator=(facebook::react::IAsyncEventEmitter&&) noexcept = default; + public virtual facebook::jsi::Object get(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker) const = 0; + public virtual ~IAsyncEventEmitter() noexcept = default; +} + +class facebook::react::ImageComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public ImageComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); + public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; +} + +class facebook::react::ImageErrorInfo { + public int responseCode; + public std::string error; + public std::vector> httpResponseHeaders; +} + +class facebook::react::ImageEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onError(const facebook::react::ImageErrorInfo& error) const; + public void onLoad(const facebook::react::ImageSource& source) const; + public void onLoadEnd() const; + public void onLoadStart() const; + public void onPartialLoad() const; + public void onProgress(double progress, int64_t loaded, int64_t total) const; +} + +class facebook::react::ImageLoadError { + public ImageLoadError(std::shared_ptr error); + public std::shared_ptr getError() const; +} + +class facebook::react::ImageManager { + public ImageManager(const std::shared_ptr& contextContainer); + public virtual facebook::react::ImageRequest requestImage(const facebook::react::ImageSource& imageSource, facebook::react::SurfaceId surfaceId, const ImageRequestParams& imageRequestParams = {}, facebook::react::Tag tag = {}) const; + public virtual ~ImageManager(); +} + +class facebook::react::ImageProps : public facebook::react::HostPlatformViewProps { + public Float blurRadius; + public Float fadeDuration; + public Float resizeMultiplier; + public ImageProps() = default; + public ImageProps(const facebook::react::PropsParserContext& context, const facebook::react::ImageProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool progressiveRenderingEnabled; + public bool shouldNotifyLoadEvents; + public facebook::react::EdgeInsets capInsets; + public facebook::react::ImageResizeMode resizeMode; + public facebook::react::ImageSource defaultSource; + public facebook::react::ImageSource loadingIndicatorSource; + public facebook::react::ImageSources sources; + public facebook::react::SharedColor overlayColor; + public facebook::react::SharedColor tintColor; + public std::string internal_analyticTag; + public std::string resizeMethod; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::ImageRequest { + public ImageRequest(const facebook::react::ImageRequest& other) = delete; + public ImageRequest(facebook::react::ImageRequest&& other) noexcept = default; + public ImageRequest(facebook::react::ImageSource imageSource, std::shared_ptr telemetry, facebook::react::SharedFunction<> resumeFunction = {}, facebook::react::SharedFunction<> cancelationFunction = {}); + public const facebook::react::ImageResponseObserverCoordinator& getObserverCoordinator() const; + public const facebook::react::ImageSource& getImageSource() const; + public const std::shared_ptr& getSharedObserverCoordinator() const; + public const std::shared_ptr& getSharedTelemetry() const; + public facebook::react::ImageRequest& operator=(const facebook::react::ImageRequest& other) = delete; + public facebook::react::ImageRequest& operator=(facebook::react::ImageRequest&& other) noexcept = default; + public ~ImageRequest() = default; +} + +class facebook::react::ImageResponse { + public ImageResponse(std::shared_ptr image, std::shared_ptr metadata); + public std::shared_ptr getImage() const; + public std::shared_ptr getMetadata() const; +} + +enum facebook::react::ImageResponse::Status { + Cancelled, + Completed, + Consumed, + Failed, + Loading, +} + +class facebook::react::ImageResponseObserver { + public virtual void didReceiveFailure(const facebook::react::ImageLoadError& error) const = 0; + public virtual void didReceiveImage(const facebook::react::ImageResponse& imageResponse) const = 0; + public virtual void didReceiveProgress(float progress, int64_t loaded, int64_t total) const = 0; + public virtual ~ImageResponseObserver() noexcept = default; +} + +class facebook::react::ImageResponseObserverCoordinator { + public ImageResponseObserverCoordinator(facebook::react::SharedFunction<> resumeFunction, facebook::react::SharedFunction<> cancelationFunction); + public void addObserver(std::shared_ptr observer) const; + public void nativeImageResponseComplete(const facebook::react::ImageResponse& imageResponse) const; + public void nativeImageResponseFailed(const facebook::react::ImageLoadError& loadError) const; + public void nativeImageResponseProgress(float progress, int64_t loaded, int64_t total) const; + public void removeObserver(const std::shared_ptr& observer) const; +} + +class facebook::react::ImageShadowNode : public facebook::react::ConcreteViewShadowNode { + public ImageShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ImageShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ImageState initialStateData(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared&, const facebook::react::ComponentDescriptor& componentDescriptor); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public virtual void layout(facebook::react::LayoutContext layoutContext) override; + public void setImageManager(const std::shared_ptr& imageManager); +} + +class facebook::react::ImageSource { + public Float scale; + public bool operator==(const facebook::react::ImageSource& rhs) const; + public facebook::react::ImageSource::CacheStategy cache; + public facebook::react::ImageSource::Type type; + public facebook::react::Size size; + public std::string body; + public std::string bundle; + public std::string method; + public std::string uri; + public std::vector> headers; +} + +enum facebook::react::ImageSource::CacheStategy { + Default, + ForceCache, + OnlyIfCached, + Reload, +} + +enum facebook::react::ImageSource::Type { + Invalid, + Local, + Remote, +} + +class facebook::react::ImageState { + public ImageState(const facebook::react::ImageSource& imageSource, facebook::react::ImageRequest imageRequest, const ImageRequestParams& imageRequestParams); + public const ImageRequestParams& getImageRequestParams() const; + public const facebook::react::ImageRequest& getImageRequest() const; + public facebook::react::ImageSource getImageSource() const; +} + +class facebook::react::ImageTelemetry { + public ImageTelemetry(const facebook::react::SurfaceId surfaceId); + public facebook::react::SurfaceId getSurfaceId() const; + public facebook::react::TelemetryTimePoint getWillRequestUrlTime() const; +} + +class facebook::react::InputAccessoryComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public InputAccessoryComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; +} + +class facebook::react::InputAccessoryShadowNode : public facebook::react::ConcreteViewShadowNode { + public InputAccessoryShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public InputAccessoryShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); +} + +class facebook::react::InputAccessoryState { + public InputAccessoryState(); + public InputAccessoryState(facebook::react::Size viewportSize_); + public const facebook::react::Size viewportSize; +} + +class facebook::react::Instance { + public bool isBatchActive(); + public bool isInspectable(); + public bool supportsProfiling(); + public const facebook::react::ModuleRegistry& getModuleRegistry() const; + public facebook::react::ModuleRegistry& getModuleRegistry(); + public facebook::react::RuntimeExecutor getRuntimeExecutor(); + public std::shared_ptr getJSCallInvoker(); + public std::shared_ptr getDecoratedNativeMethodCallInvoker(std::shared_ptr nativeMethodCallInvoker); + public void callJSCallback(uint64_t callbackId, folly::dynamic&& params); + public void callJSFunction(std::string&& module, std::string&& method, folly::dynamic&& params); + public void handleMemoryPressure(int pressureLevel); + public void initializeBridge(std::unique_ptr callback, std::shared_ptr jsef, std::shared_ptr jsQueue, std::shared_ptr moduleRegistry, facebook::react::jsinspector_modern::HostTarget* inspectorTarget = nullptr); + public void initializeRuntime(); + public void loadRAMBundle(std::unique_ptr bundleRegistry, std::unique_ptr startupScript, std::string startupScriptSourceURL, bool loadSynchronously); + public void loadRAMBundleFromFile(const std::string& sourcePath, const std::string& sourceURL, bool loadSynchronously); + public void loadRAMBundleFromString(std::unique_ptr script, const std::string& sourceURL); + public void loadScriptFromString(std::unique_ptr string, std::string sourceURL, bool loadSynchronously); + public void registerBundle(uint32_t bundleId, const std::string& bundlePath); + public void setGlobalVariable(std::string propName, std::unique_ptr jsonValue); + public void setSourceURL(std::string sourceURL); + public void unregisterFromInspector(); + public void* getJavaScriptContext(); + public ~Instance() override; +} + +class facebook::react::InstanceHandle { + public InstanceHandle(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& instanceHandle, facebook::react::Tag tag); + public facebook::jsi::Value getInstanceHandle(facebook::jsi::Runtime& runtime) const; + public facebook::react::Tag getTag() const; + public using Shared = std::shared_ptr; +} + +class facebook::react::InterpolationAnimatedNode : public facebook::react::ValueAnimatedNode { + public InterpolationAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void onAttachToNode(facebook::react::Tag animatedNodeTag) override; + public virtual void onDetachedFromNode(facebook::react::Tag animatedNodeTag) override; + public virtual void update() override; +} + +class facebook::react::IntersectionObserver { + public IntersectionObserver(facebook::react::IntersectionObserverObserverId intersectionObserverId, std::optional observationRootShadowNodeFamily, facebook::react::ShadowNodeFamily::Shared targetShadowNodeFamily, std::vector thresholds, std::optional> rootThresholds, std::vector rootMargins); + public facebook::react::IntersectionObserverObserverId getIntersectionObserverId() const; + public facebook::react::ShadowNodeFamily::Shared getTargetShadowNodeFamily() const; + public std::optional updateIntersectionObservation(const facebook::react::RootShadowNode& rootShadowNode, facebook::react::HighResTimeStamp time); + public std::optional updateIntersectionObservationForSurfaceUnmount(facebook::react::HighResTimeStamp time); + public std::vector getThresholds() const; +} + +class facebook::react::IntersectionObserverManager : public facebook::react::UIManagerMountHook, public facebook::react::RuntimeSchedulerIntersectionObserverDelegate { + public IntersectionObserverManager(); + public std::vector takeRecords(); + public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp time) noexcept override; + public virtual void shadowTreeDidUnmount(facebook::react::SurfaceId surfaceId, facebook::react::HighResTimeStamp time) noexcept override; + public virtual void updateIntersectionObservations(const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) override; + public void connect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager, std::function notifyIntersectionObserversCallback); + public void disconnect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager); + public void observe(facebook::react::IntersectionObserverObserverId intersectionObserverId, const std::optional& observationRootShadowNode, const facebook::react::ShadowNodeFamily::Shared& shadowNode, std::vector thresholds, std::optional> rootThresholds, std::optional rootMargin, const facebook::react::UIManager& uiManager); + public void unobserve(facebook::react::IntersectionObserverObserverId intersectionObserverId, const facebook::react::ShadowNodeFamily::Shared& shadowNode); +} + +class facebook::react::IntersectionObserverState { + public bool isIntersecting() const; + public bool operator==(const facebook::react::IntersectionObserverState& other) const; + public static facebook::react::IntersectionObserverState Initial(); + public static facebook::react::IntersectionObserverState Intersecting(Float threshold); + public static facebook::react::IntersectionObserverState Intersecting(Float threshold, Float rootThreshold); + public static facebook::react::IntersectionObserverState NotIntersecting(); +} + +class facebook::react::JSBigBufferString : public facebook::react::JSBigString { + public JSBigBufferString(size_t size); + public char* mutableData(); + public virtual bool isAscii() const override; + public virtual const char* c_str() const override; + public virtual size_t size() const override; + public ~JSBigBufferString() override; +} + +class facebook::react::JSBigFileString : public facebook::react::JSBigString { + public JSBigFileString(int fd, size_t size, off_t offset = 0); + public int fd() const; + public static std::unique_ptr fromPath(const std::string& sourceURL); + public virtual bool isAscii() const override; + public virtual const char* c_str() const override; + public virtual size_t size() const override; + public ~JSBigFileString() override; +} + +class facebook::react::JSBigStdString : public facebook::react::JSBigString { + public JSBigStdString(std::string str, bool isAscii = false); + public virtual bool isAscii() const override; + public virtual const char* c_str() const override; + public virtual size_t size() const override; +} + +class facebook::react::JSBigString : public facebook::jsi::Buffer { + public JSBigString() = default; + public JSBigString(const facebook::react::JSBigString&) = delete; + public JSBigString(facebook::react::JSBigString&&) = delete; + public facebook::react::JSBigString& operator=(const facebook::react::JSBigString&) = delete; + public facebook::react::JSBigString& operator=(facebook::react::JSBigString&&) = delete; + public virtual bool isAscii() const = 0; + public virtual const char* c_str() const = 0; + public virtual const uint8_t* data() const final; + public virtual size_t size() const override = 0; + public ~JSBigString() override = default; +} + +class facebook::react::JSExecutor { + public static std::string getSyntheticBundlePath(uint32_t bundleId, const std::string& bundlePath); + public virtual bool isInspectable(); + public virtual facebook::react::jsinspector_modern::RuntimeTargetDelegate& getRuntimeTargetDelegate(); + public virtual std::string getDescription() = 0; + public virtual void callFunction(const std::string& moduleId, const std::string& methodId, const folly::dynamic& arguments) = 0; + public virtual void destroy(); + public virtual void flush(); + public virtual void handleMemoryPressure(int pressureLevel); + public virtual void initializeRuntime() = 0; + public virtual void invokeCallback(double callbackId, const folly::dynamic& arguments) = 0; + public virtual void loadBundle(std::unique_ptr script, std::string sourceURL) = 0; + public virtual void registerBundle(uint32_t bundleId, const std::string& bundlePath) = 0; + public virtual void setBundleRegistry(std::unique_ptr bundleRegistry) = 0; + public virtual void setGlobalVariable(std::string propName, std::unique_ptr jsonValue) = 0; + public virtual void* getJavaScriptContext(); + public virtual ~JSExecutor() = default; +} + +class facebook::react::JSExecutorFactory { + public virtual std::unique_ptr createJSExecutor(std::shared_ptr delegate, std::shared_ptr jsQueue) = 0; + public virtual ~JSExecutorFactory() = default; +} + +class facebook::react::JSIExecutor : public facebook::react::JSExecutor { + public JSIExecutor(std::shared_ptr runtime, std::shared_ptr delegate, const facebook::react::JSIScopedTimeoutInvoker& timeoutInvoker, facebook::react::JSIExecutor::RuntimeInstaller runtimeInstaller); + public static void defaultTimeoutInvoker(const std::function& invokee, std::function errorMessageProducer); + public using RuntimeInstaller = std::function; + public virtual bool isInspectable() override; + public virtual std::string getDescription() override; + public virtual void callFunction(const std::string& moduleId, const std::string& methodId, const folly::dynamic& arguments) override; + public virtual void flush() override; + public virtual void handleMemoryPressure(int pressureLevel) override; + public virtual void initializeRuntime() override; + public virtual void invokeCallback(double callbackId, const folly::dynamic& arguments) override; + public virtual void loadBundle(std::unique_ptr script, std::string sourceURL) override; + public virtual void registerBundle(uint32_t bundleId, const std::string& bundlePath) override; + public virtual void setBundleRegistry(std::unique_ptr bundleRegistry) override; + public virtual void setGlobalVariable(std::string propName, std::unique_ptr jsonValue) override; + public virtual void* getJavaScriptContext() override; +} + +class facebook::react::JSINativeModules { + public JSINativeModules(std::shared_ptr moduleRegistry); + public facebook::jsi::Value getModule(facebook::jsi::Runtime& rt, const facebook::jsi::PropNameID& name); + public void reset(); +} + +class facebook::react::JSIndexedRAMBundle : public facebook::react::JSModulesUnbundle { + public JSIndexedRAMBundle(const char* sourcePath); + public JSIndexedRAMBundle(std::unique_ptr script); + public static std::function(std::string)> buildFactory(); + public std::unique_ptr getStartupCode(); + public virtual facebook::react::JSModulesUnbundle::Module getModule(uint32_t moduleId) const override; +} + +class facebook::react::JSModulesUnbundle { + public JSModulesUnbundle(); + public virtual facebook::react::JSModulesUnbundle::Module getModule(uint32_t moduleId) const = 0; + public virtual ~JSModulesUnbundle() = default; +} + +class facebook::react::JSModulesUnbundle::ModuleNotFound : public std::out_of_range { + public ModuleNotFound(uint32_t moduleId); +} + +struct facebook::react::JSModulesUnbundle::Module { + public std::string code; + public std::string name; +} + +class facebook::react::JsErrorHandler { + public JsErrorHandler(facebook::react::JsErrorHandler::OnJsError onJsError); + public bool hasHandledFatalError(); + public bool inErrorHandler(); + public bool isRuntimeReady(); + public using OnJsError = std::function; + public void handleError(facebook::jsi::Runtime& runtime, facebook::jsi::JSError& error, bool isFatal, bool logToConsole = true); + public void notifyOfFatalError(); + public void registerErrorListener(const std::function& listener); + public void setRuntimeReady(); + public ~JsErrorHandler(); +} + +struct facebook::react::JsErrorHandler::ProcessedError { + public bool isFatal; + public facebook::jsi::Object extraData; + public int id; + public std::optional componentStack; + public std::optional name; + public std::optional originalMessage; + public std::string message; + public std::vector stack; +} + +struct facebook::react::JsErrorHandler::ProcessedError::StackFrame { + public std::optional column; + public std::optional lineNumber; + public std::optional file; + public std::string methodName; +} + +class facebook::react::LayoutAnimationCallbackWrapper { + public LayoutAnimationCallbackWrapper(); + public LayoutAnimationCallbackWrapper(facebook::jsi::Function&& callback); + public void call(facebook::jsi::Runtime& runtime) const; +} + +class facebook::react::LayoutAnimationDriver : public facebook::react::LayoutAnimationKeyFrameManager { + protected virtual void animationMutationsForFrame(facebook::react::SurfaceId surfaceId, facebook::react::ShadowViewMutation::List& mutationsList, uint64_t now) const override; + public LayoutAnimationDriver(facebook::react::RuntimeExecutor runtimeExecutor, std::shared_ptr& contextContainer, facebook::react::LayoutAnimationStatusDelegate* delegate); +} + +class facebook::react::LayoutAnimationKeyFrameManager : public facebook::react::UIManagerAnimationDelegate, public facebook::react::MountingOverrideDelegate { + protected bool hasComponentDescriptorForShadowView(const facebook::react::ShadowView& shadowView) const; + protected const facebook::react::ComponentDescriptor& getComponentDescriptorForShadowView(const facebook::react::ShadowView& shadowView) const; + protected facebook::react::ShadowView createInterpolatedShadowView(Float progress, const facebook::react::ShadowView& startingView, const facebook::react::ShadowView& finalView) const; + protected facebook::react::SharedComponentDescriptorRegistry componentDescriptorRegistry_; + protected mutable std::mutex currentAnimationMutex_; + protected mutable std::optional currentAnimation_; + protected mutable std::vector inflightAnimations_; + protected virtual void animationMutationsForFrame(facebook::react::SurfaceId surfaceId, facebook::react::ShadowViewMutation::List& mutationsList, uint64_t now) const = 0; + protected void callCallback(const facebook::react::LayoutAnimationCallbackWrapper& callback) const; + protected void queueFinalMutationsForCompletedKeyFrame(const facebook::react::AnimationKeyFrame& keyframe, facebook::react::ShadowViewMutation::List& mutationsList, bool interrupted, const std::string& logPrefix) const; + public LayoutAnimationKeyFrameManager(facebook::react::RuntimeExecutor runtimeExecutor, std::shared_ptr& contextContainer, facebook::react::LayoutAnimationStatusDelegate* delegate); + public virtual bool shouldAnimateFrame() const override; + public virtual bool shouldOverridePullTransaction() const override; + public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const override; + public virtual void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry) override; + public virtual void stopSurface(facebook::react::SurfaceId surfaceId) override; + public virtual void uiManagerDidConfigureNextLayoutAnimation(facebook::jsi::Runtime& runtime, const facebook::react::RawValue& config, const facebook::jsi::Value& successCallbackValue, const facebook::jsi::Value& failureCallbackValue) const override; + public void setClockNow(std::function now); + public void setLayoutAnimationStatusDelegate(facebook::react::LayoutAnimationStatusDelegate* delegate) const; + public void uiManagerDidConfigureNextLayoutAnimation(facebook::react::LayoutAnimation layoutAnimation) const; +} + +class facebook::react::LayoutAnimationStatusDelegate { + public virtual void onAllAnimationsComplete() = 0; + public virtual void onAnimationStarted() = 0; + public virtual ~LayoutAnimationStatusDelegate() = default; +} + +class facebook::react::LayoutConformanceShadowNode : public facebook::react::ConcreteShadowNode { +} + +class facebook::react::LayoutableShadowNode : public facebook::react::ShadowNode { + public LayoutableShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public LayoutableShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public facebook::react::LayoutMetrics getLayoutMetrics() const; + public facebook::react::LayoutMetrics layoutMetrics_; + public facebook::react::LayoutableShadowNode::UnsharedList getLayoutableChildNodes() const; + public static facebook::react::LayoutMetrics computeLayoutMetricsFromRoot(const facebook::react::ShadowNodeFamily& descendantNodeFamily, const facebook::react::LayoutableShadowNode& rootNode, facebook::react::LayoutableShadowNode::LayoutInspectingPolicy policy); + public static facebook::react::LayoutMetrics computeRelativeLayoutMetrics(const facebook::react::ShadowNode::AncestorList& ancestors, facebook::react::LayoutableShadowNode::LayoutInspectingPolicy policy); + public static facebook::react::LayoutMetrics computeRelativeLayoutMetrics(const facebook::react::ShadowNodeFamily& descendantNodeFamily, const facebook::react::LayoutableShadowNode& ancestorNode, facebook::react::LayoutableShadowNode::LayoutInspectingPolicy policy); + public static std::shared_ptr findNodeAtPoint(const std::shared_ptr& node, facebook::react::Point point); + public using UnsharedList = std::vector; + public virtual Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const; + public virtual bool canBeTouchTarget() const; + public virtual bool canChildrenBeTouchTarget() const; + public virtual bool getIsLayoutClean() const = 0; + public virtual facebook::react::Point getContentOriginOffset(bool includeTransform) const; + public virtual facebook::react::Size measure(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public virtual facebook::react::Transform getTransform() const; + public virtual void dirtyLayout() = 0; + public virtual void layout(facebook::react::LayoutContext layoutContext) = 0; + public virtual void layoutTree(facebook::react::LayoutContext layoutContext, facebook::react::LayoutConstraints layoutConstraints) = 0; + public void setLayoutMetrics(facebook::react::LayoutMetrics layoutMetrics); +} + +struct facebook::react::LayoutableShadowNode::LayoutInspectingPolicy { + public bool enableOverflowClipping; + public bool includeTransform; + public bool includeViewportOffset; +} + +class facebook::react::LazyShadowTreeRevisionConsistencyManager : public facebook::react::ShadowTreeRevisionConsistencyManager, public facebook::react::ShadowTreeRevisionProvider { + public LazyShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRegistry& shadowTreeRegistry); + public std::shared_ptr updateCurrentRevision(facebook::react::SurfaceId surfaceId); + public virtual std::shared_ptr getCurrentRevision(facebook::react::SurfaceId surfaceId) override; + public virtual void lockRevisions() override; + public virtual void unlockRevisions() override; +} + +class facebook::react::LeakChecker { + public LeakChecker(facebook::react::RuntimeExecutor runtimeExecutor); + public void stopSurface(facebook::react::SurfaceId surfaceId); + public void uiManagerDidCreateShadowNodeFamily(const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily) const; +} + +class facebook::react::LegacyViewManagerInteropState { + public std::shared_ptr coordinator; +} + +class facebook::react::LegacyViewManagerInteropViewProps : public facebook::react::HostPlatformViewProps { + public LegacyViewManagerInteropViewProps() = default; + public LegacyViewManagerInteropViewProps(const facebook::react::PropsParserContext& context, const facebook::react::LegacyViewManagerInteropViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public const folly::dynamic otherProps; +} + +class facebook::react::LineMeasureCacheKey { + public facebook::react::AttributedString attributedString; + public facebook::react::ParagraphAttributes paragraphAttributes; + public facebook::react::Size size; +} + +class facebook::react::LongLivedObject { + protected LongLivedObject(facebook::jsi::Runtime& runtime); + protected facebook::jsi::Runtime& runtime_; + protected virtual ~LongLivedObject() = default; + public virtual void allowRelease(); +} + +class facebook::react::LongLivedObjectCollection { + public LongLivedObjectCollection() = default; + public LongLivedObjectCollection(const facebook::react::LongLivedObjectCollection&) = delete; + public size_t size() const; + public static facebook::react::LongLivedObjectCollection& get(facebook::jsi::Runtime& runtime); + public void add(std::shared_ptr o); + public void clear(); + public void operator=(const facebook::react::LongLivedObjectCollection&) = delete; + public void remove(const facebook::react::LongLivedObject* o); +} + +class facebook::react::MapBuffer { + public MapBuffer(const facebook::react::MapBuffer& buffer) = delete; + public MapBuffer(facebook::react::MapBuffer&& buffer) = default; + public MapBuffer(std::vector data); + public bool getBool(facebook::react::MapBuffer::Key key) const; + public const uint8_t* data() const; + public double getDouble(facebook::react::MapBuffer::Key key) const; + public facebook::react::MapBuffer getMapBuffer(facebook::react::MapBuffer::Key key) const; + public facebook::react::MapBuffer& operator=(const facebook::react::MapBuffer& other) = delete; + public facebook::react::MapBuffer& operator=(facebook::react::MapBuffer&& other) = default; + public int32_t getInt(facebook::react::MapBuffer::Key key) const; + public int64_t getLong(facebook::react::MapBuffer::Key key) const; + public size_t size() const; + public static constexpr uint16_t HEADER_ALIGNMENT; + public std::string getString(facebook::react::MapBuffer::Key key) const; + public std::vector getMapBufferList(facebook::react::MapBuffer::Key key) const; + public uint16_t count() const; + public using Key = uint16_t; +} + +enum facebook::react::MapBuffer::DataType : uint16_t { + Boolean, + Double, + Int, + Long, + Map, + String, +} + +struct facebook::react::MapBuffer::Bucket { + public Bucket(facebook::react::MapBuffer::Key key, uint16_t type, uint64_t data); + public facebook::react::MapBuffer::Key key; + public uint16_t type; + public uint64_t data; +} + +struct facebook::react::MapBuffer::Header { + public uint16_t alignment; + public uint16_t count; + public uint32_t bufferSize; +} + +class facebook::react::MapBufferBuilder { + public MapBufferBuilder(uint32_t initialSize = facebook::react::INITIAL_BUCKETS_SIZE); + public facebook::react::MapBuffer build(); + public static facebook::react::MapBuffer EMPTY(); + public void putBool(facebook::react::MapBuffer::Key key, bool value); + public void putDouble(facebook::react::MapBuffer::Key key, double value); + public void putInt(facebook::react::MapBuffer::Key key, int32_t value); + public void putLong(facebook::react::MapBuffer::Key key, int64_t value); + public void putMapBuffer(facebook::react::MapBuffer::Key key, const facebook::react::MapBuffer& map); + public void putMapBufferList(facebook::react::MapBuffer::Key key, const std::vector& mapBufferList); + public void putString(facebook::react::MapBuffer::Key key, const std::string& value); +} + +class facebook::react::MergedValueDispatcher { + public MergedValueDispatcher(facebook::react::MergedValueDispatcher::DispatchFunction dispatchFunction, facebook::react::MergedValueDispatcher::MergedValueFunction mergedValueFunction); + public using DispatchFunction = std::function&&)>; + public using MergedValueFunction = std::function&& tagToProps)>; + public void dispatch(const std::unordered_map& value); +} + +class facebook::react::MessageQueueThread { + public virtual void quitSynchronous() = 0; + public virtual void runOnQueue(std::function&&) = 0; + public virtual void runOnQueueSync(std::function&&) = 0; + public virtual ~MessageQueueThread() = default; +} + +class facebook::react::ModalHostViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public ModalHostViewComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; +} + +class facebook::react::ModalHostViewShadowNode : public facebook::react::ConcreteViewShadowNode { + public ModalHostViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ModalHostViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); +} + +class facebook::react::ModalHostViewState { + public ModalHostViewState(); + public ModalHostViewState(facebook::react::Size screenSize_); + public const facebook::react::Size screenSize; + public using Shared = std::shared_ptr; +} + +class facebook::react::ModuleRegistry { + public ModuleRegistry(std::vector> modules, facebook::react::ModuleRegistry::ModuleNotFoundCallback callback = nullptr); + public facebook::react::MethodCallResult callSerializableNativeHook(unsigned int moduleId, unsigned int methodId, folly::dynamic&& params); + public std::optional getConfig(const std::string& name); + public std::string getModuleName(unsigned int moduleId); + public std::string getModuleSyncMethodName(unsigned int moduleId, unsigned int methodId); + public std::vector moduleNames(); + public using ModuleNotFoundCallback = std::function; + public void callNativeMethod(unsigned int moduleId, unsigned int methodId, folly::dynamic&& params, int callId); + public void registerModules(std::vector> modules); +} + +class facebook::react::ModulusAnimatedNode : public facebook::react::ValueAnimatedNode { + public ModulusAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::MountingCoordinator { + public MountingCoordinator(const facebook::react::ShadowTreeRevision& baseRevision); + public bool hasPendingTransactions() const; + public bool waitForTransaction(std::chrono::duration timeout) const; + public const facebook::react::TelemetryController& getTelemetryController() const; + public facebook::react::ShadowTreeRevision getBaseRevision() const; + public facebook::react::SurfaceId getSurfaceId() const; + public std::optional pullTransaction(bool willPerformAsynchronously = false) const; + public void didPerformAsyncTransactions() const; + public void setMountingOverrideDelegate(std::weak_ptr delegate) const; +} + +class facebook::react::MountingOverrideDelegate { + public virtual bool shouldOverridePullTransaction() const = 0; + public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const = 0; + public virtual ~MountingOverrideDelegate() = default; +} + +class facebook::react::MountingTransaction { + public MountingTransaction(const facebook::react::MountingTransaction& mountingTransaction) = default; + public MountingTransaction(facebook::react::MountingTransaction&& mountingTransaction) noexcept = default; + public MountingTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, facebook::react::ShadowViewMutationList&& mutations, facebook::react::TransactionTelemetry telemetry); + public const facebook::react::ShadowViewMutationList& getMutations() const; + public facebook::react::MountingTransaction& operator=(const facebook::react::MountingTransaction& other) = delete; + public facebook::react::MountingTransaction& operator=(facebook::react::MountingTransaction&& other) = default; + public facebook::react::MountingTransaction::Number getNumber() const; + public facebook::react::ShadowViewMutationList getMutations(); + public facebook::react::SurfaceId getSurfaceId() const; + public facebook::react::TransactionTelemetry& getTelemetry() const; + public using Number = int64_t; + public void mergeWith(facebook::react::MountingTransaction&& transaction); +} + +class facebook::react::MultiplicationAnimatedNode : public facebook::react::OperatorAnimatedNode { + public MultiplicationAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::MutationObserver { + public MutationObserver(const facebook::react::MutationObserver&) = delete; + public MutationObserver(facebook::react::MutationObserver&&) = default; + public MutationObserver(facebook::react::MutationObserverId mutationObserverId); + public facebook::react::MutationObserver& operator=(const facebook::react::MutationObserver&) = delete; + public facebook::react::MutationObserver& operator=(facebook::react::MutationObserver&&) = default; + public void observe(std::shared_ptr targetShadowNodeFamily, bool observeSubtree); + public void recordMutations(const facebook::react::RootShadowNode& oldRootShadowNode, const facebook::react::RootShadowNode& newRootShadowNode, std::vector& recordedMutations) const; +} + +class facebook::react::MutationObserverManager : public facebook::react::UIManagerCommitHook { + public MutationObserverManager(); + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTree::CommitOptions& commitOptions) noexcept override; + public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept override; + public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept override; + public void connect(facebook::react::UIManager& uiManager, facebook::react::OnMutations&& onMutations); + public void disconnect(facebook::react::UIManager& uiManager); + public void observe(facebook::react::MutationObserverId mutationObserverId, std::shared_ptr shadowNode, bool observeSubtree, const facebook::react::UIManager& uiManager); + public void unobserveAll(facebook::react::MutationObserverId mutationObserverId); +} + +class facebook::react::NativeAnimatedNodesManager : public std::enable_shared_from_this { + public NativeAnimatedNodesManager(const facebook::react::NativeAnimatedNodesManager&) = delete; + public NativeAnimatedNodesManager(facebook::react::NativeAnimatedNodesManager&&) = delete; + public NativeAnimatedNodesManager(facebook::react::NativeAnimatedNodesManager::DirectManipulationCallback&& directManipulationCallback, facebook::react::NativeAnimatedNodesManager::FabricCommitCallback&& fabricCommitCallback, facebook::react::NativeAnimatedNodesManager::ResolvePlatformColor&& resolvePlatformColor, facebook::react::NativeAnimatedNodesManager::StartOnRenderCallback&& startOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::StopOnRenderCallback&& stopOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::FrameRateListenerCallback&& frameRateListenerCallback = nullptr) noexcept; + public NativeAnimatedNodesManager(std::shared_ptr animationBackend) noexcept; + public bool commitProps(); + public bool hasManagedProps() const noexcept; + public bool isOnRenderThread() const noexcept; + public facebook::react::AnimationMutations onAnimationFrameForBackend(facebook::react::AnimatedPropsBuilder& propsBuilder, facebook::react::AnimationTimestamp timestamp); + public facebook::react::AnimationMutations pullAnimationMutations(facebook::react::AnimationTimestamp timestamp); + public facebook::react::NativeAnimatedNodesManager& operator=(const facebook::react::NativeAnimatedNodesManager&) = delete; + public facebook::react::NativeAnimatedNodesManager& operator=(facebook::react::NativeAnimatedNodesManager&&) = delete; + public folly::dynamic getManagedProps(facebook::react::Tag tag) const noexcept; + public std::optional getValue(facebook::react::Tag tag) noexcept; + public std::shared_ptr getEventEmitterListener() noexcept; + public using DirectManipulationCallback = std::function; + public using FabricCommitCallback = std::function&)>; + public using FrameRateListenerCallback = std::function; + public using ResolvePlatformColor = std::function; + public using StartOnRenderCallback = std::function&&, bool isAsync)>; + public using StopOnRenderCallback = std::function; + public void addAnimatedEventToView(facebook::react::Tag viewTag, const std::string& eventName, const folly::dynamic& eventMapping) noexcept; + public void connectAnimatedNodeToShadowNodeFamily(facebook::react::Tag propsNodeTag, std::shared_ptr family) noexcept; + public void connectAnimatedNodeToView(facebook::react::Tag propsNodeTag, facebook::react::Tag viewTag) noexcept; + public void connectAnimatedNodes(facebook::react::Tag parentTag, facebook::react::Tag childTag) noexcept; + public void createAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config) noexcept; + public void createAnimatedNodeAsync(facebook::react::Tag tag, const folly::dynamic& config) noexcept; + public void disconnectAnimatedNodeFromView(facebook::react::Tag propsNodeTag, facebook::react::Tag viewTag) noexcept; + public void disconnectAnimatedNodes(facebook::react::Tag parentTag, facebook::react::Tag childTag) noexcept; + public void dropAnimatedNode(facebook::react::Tag tag) noexcept; + public void extractAnimatedNodeOffsetOp(facebook::react::Tag tag); + public void flattenAnimatedNodeOffset(facebook::react::Tag tag); + public void insertMutations(std::unordered_map>& updates, facebook::react::AnimationMutations& mutations, facebook::react::AnimatedPropsBuilder& propsBuilder, bool hasLayoutUpdates = false); + public void onManagedPropsRemoved(facebook::react::Tag tag) noexcept; + public void onRender(); + public void removeAnimatedEventFromView(facebook::react::Tag viewTag, const std::string& eventName, facebook::react::Tag animatedValueTag) noexcept; + public void resolvePlatformColor(facebook::react::SurfaceId surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result) const; + public void restoreDefaultValues(facebook::react::Tag tag) noexcept; + public void scheduleOnUI(facebook::react::UiTask&& task); + public void schedulePropsCommit(facebook::react::Tag viewTag, const folly::dynamic& props, bool layoutStyleUpdated, bool forceFabricCommit, facebook::react::ShadowNodeFamily::Weak shadowNodeFamily = {}) noexcept; + public void setAnimatedNodeOffset(facebook::react::Tag tag, double offset); + public void setAnimatedNodeValue(facebook::react::Tag tag, double value); + public void startAnimatingNode(int animationId, facebook::react::Tag animatedNodeTag, folly::dynamic config, std::optional endCallback) noexcept; + public void startListeningToAnimatedNodeValue(facebook::react::Tag tag, facebook::react::ValueListenerCallback&& callback) noexcept; + public void startRenderCallbackIfNeeded(bool isAsync); + public void stopAnimation(int animationId, bool isTrackingAnimation = false) noexcept; + public void stopListeningToAnimatedNodeValue(facebook::react::Tag tag) noexcept; + public void updateNodes(const std::set& finishedAnimationValueNodes = {}) noexcept; + public ~NativeAnimatedNodesManager() noexcept; + template >> + public T* getAnimatedNode(facebook::react::Tag tag) const; +} + +class facebook::react::NativeAnimatedNodesManagerProvider { + public NativeAnimatedNodesManagerProvider(facebook::react::NativeAnimatedNodesManager::StartOnRenderCallback startOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::StopOnRenderCallback stopOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::FrameRateListenerCallback frameRateListenerCallback = nullptr); + public std::shared_ptr getEventEmitterListener(); + public std::shared_ptr getOrCreate(facebook::jsi::Runtime& runtime, std::shared_ptr jsInvoker); + public void addEventEmitterListener(const std::shared_ptr& listener); +} + +class facebook::react::NativeCPUTime : public NativeCPUTimeCxxSpec { + public NativeCPUTime(std::shared_ptr jsInvoker); + public bool hasAccurateCPUTimeNanosForBenchmarks(facebook::jsi::Runtime& runtime); + public double getCPUTimeNanos(facebook::jsi::Runtime& runtime); +} + +class facebook::react::NativeDOM : public NativeDOMCxxSpec { + public NativeDOM(std::shared_ptr jsInvoker); + public bool hasPointerCapture(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, double pointerId); + public bool isConnected(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference); + public double compareDocumentPosition(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference, facebook::jsi::Value otherNativeNodeReference); + public facebook::jsi::Value getElementById(facebook::jsi::Runtime& rt, facebook::react::SurfaceId surfaceId, const std::string& id); + public facebook::jsi::Value getParentNode(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference); + public facebook::jsi::Value linkRootNode(facebook::jsi::Runtime& rt, facebook::react::SurfaceId surfaceId, facebook::jsi::Value instanceHandle); + public std::string getTagName(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); + public std::string getTextContent(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); + public std::tuple getBoundingClientRect(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, bool includeTransform); + public std::tuple getScrollPosition(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); + public std::tuple getOffset(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); + public std::tuple getBorderWidth(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); + public std::tuple getInnerSize(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); + public std::tuple getScrollSize(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); + public std::vector getChildNodes(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference); + public void measure(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, const facebook::react::MeasureOnSuccessCallback& callback); + public void measureInWindow(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, const facebook::react::MeasureInWindowOnSuccessCallback& callback); + public void measureLayout(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, std::shared_ptr relativeToShadowNode, facebook::jsi::Function onFail, const facebook::react::MeasureLayoutOnSuccessCallback& onSuccess); + public void releasePointerCapture(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, double pointerId); + public void setNativeProps(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, facebook::jsi::Value updatePayload); + public void setPointerCapture(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, double pointerId); +} + +class facebook::react::NativeFantomTestSpecificMethods : public NativeFantomTestSpecificMethodsCxxSpec { + public NativeFantomTestSpecificMethods(std::shared_ptr jsInvoker); + public void registerForcedCloneCommitHook(facebook::jsi::Runtime& runtime); + public void setRootNodeSize(facebook::jsi::Runtime& runtime, int surfaceId, float width, float height); + public void takeFunctionAndNoop(facebook::jsi::Runtime& runtime, facebook::jsi::Function callback); +} + +class facebook::react::NativeIdleCallbacks : public NativeIdleCallbacksCxxSpec { + public NativeIdleCallbacks(std::shared_ptr jsInvoker); + public facebook::react::CallbackHandle requestIdleCallback(facebook::jsi::Runtime& runtime, facebook::react::SyncCallback&& callback, std::optional options); + public void cancelIdleCallback(facebook::jsi::Runtime& runtime, facebook::jsi::Object handle); +} + +class facebook::react::NativeIntersectionObserver : public NativeIntersectionObserverCxxSpec { + public NativeIntersectionObserver(std::shared_ptr jsInvoker); + public facebook::jsi::Object observeV2(facebook::jsi::Runtime& runtime, facebook::react::NativeIntersectionObserverObserveOptions options); + public std::vector takeRecords(facebook::jsi::Runtime& runtime); + public void connect(facebook::jsi::Runtime& runtime, facebook::react::AsyncCallback<> notifyIntersectionObserversCallback); + public void disconnect(facebook::jsi::Runtime& runtime); + public void unobserveV2(facebook::jsi::Runtime& runtime, facebook::react::IntersectionObserverObserverId intersectionObserverId, facebook::jsi::Object targetToken); +} + +class facebook::react::NativeMethodCallInvoker { + public virtual void invokeAsync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) noexcept = 0; + public virtual void invokeSync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) = 0; + public virtual ~NativeMethodCallInvoker() = default; +} + +class facebook::react::NativeMicrotasks : public NativeMicrotasksCxxSpec { + public NativeMicrotasks(std::shared_ptr jsInvoker); + public void queueMicrotask(facebook::jsi::Runtime& runtime, facebook::jsi::Function callback); +} + +class facebook::react::NativeModule { + public virtual facebook::react::MethodCallResult callSerializableNativeHook(unsigned int reactMethodId, folly::dynamic&& args) = 0; + public virtual folly::dynamic getConstants() = 0; + public virtual std::string getName() = 0; + public virtual std::string getSyncMethodName(unsigned int methodId) = 0; + public virtual std::vector getMethods() = 0; + public virtual void invoke(unsigned int reactMethodId, folly::dynamic&& params, int callId) = 0; + public virtual ~NativeModule() = default; +} + +class facebook::react::NativeModulePerfLogger { + public virtual void asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName) = 0; + public virtual void asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName) = 0; + public virtual void asyncMethodCallBatchPreprocessEnd(int batchSize) = 0; + public virtual void asyncMethodCallBatchPreprocessStart() = 0; + public virtual void asyncMethodCallDispatch(const char* moduleName, const char* methodName) = 0; + public virtual void asyncMethodCallEnd(const char* moduleName, const char* methodName) = 0; + public virtual void asyncMethodCallExecutionArgConversionEnd(const char* moduleName, const char* methodName, int32_t id) = 0; + public virtual void asyncMethodCallExecutionArgConversionStart(const char* moduleName, const char* methodName, int32_t id) = 0; + public virtual void asyncMethodCallExecutionEnd(const char* moduleName, const char* methodName, int32_t id) = 0; + public virtual void asyncMethodCallExecutionFail(const char* moduleName, const char* methodName, int32_t id) = 0; + public virtual void asyncMethodCallExecutionStart(const char* moduleName, const char* methodName, int32_t id) = 0; + public virtual void asyncMethodCallFail(const char* moduleName, const char* methodName) = 0; + public virtual void asyncMethodCallStart(const char* moduleName, const char* methodName) = 0; + public virtual void moduleCreateCacheHit(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateConstructEnd(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateConstructStart(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateEnd(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateFail(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateSetUpEnd(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateSetUpStart(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateStart(const char* moduleName, int32_t id) = 0; + public virtual void moduleDataCreateEnd(const char* moduleName, int32_t id) = 0; + public virtual void moduleDataCreateStart(const char* moduleName, int32_t id) = 0; + public virtual void moduleJSRequireBeginningCacheHit(const char* moduleName) = 0; + public virtual void moduleJSRequireBeginningEnd(const char* moduleName) = 0; + public virtual void moduleJSRequireBeginningFail(const char* moduleName) = 0; + public virtual void moduleJSRequireBeginningStart(const char* moduleName) = 0; + public virtual void moduleJSRequireEndingEnd(const char* moduleName) = 0; + public virtual void moduleJSRequireEndingFail(const char* moduleName) = 0; + public virtual void moduleJSRequireEndingStart(const char* moduleName) = 0; + public virtual void syncMethodCallArgConversionEnd(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallArgConversionStart(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallEnd(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallExecutionEnd(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallExecutionStart(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallFail(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallReturnConversionEnd(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallReturnConversionStart(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallStart(const char* moduleName, const char* methodName) = 0; + public virtual ~NativeModulePerfLogger() = default; +} + +class facebook::react::NativeMutationObserver : public NativeMutationObserverCxxSpec { + public NativeMutationObserver(std::shared_ptr jsInvoker); + public std::vector takeRecords(facebook::jsi::Runtime& runtime); + public void connect(facebook::jsi::Runtime& runtime, facebook::jsi::Function notifyMutationObservers, facebook::react::SyncCallback getPublicInstanceFromInstanceHandle); + public void disconnect(facebook::jsi::Runtime& runtime); + public void observe(facebook::jsi::Runtime& runtime, const facebook::react::NativeMutationObserverObserveOptions& options); + public void unobserveAll(facebook::jsi::Runtime& runtime, facebook::react::MutationObserverId mutationObserverId); +} + +class facebook::react::NativePerformance : public NativePerformanceCxxSpec { + public NativePerformance(std::shared_ptr jsInvoker); + public double getDroppedEntriesCount(facebook::jsi::Runtime& rt, facebook::jsi::Object observerObj); + public facebook::jsi::Object createObserver(facebook::jsi::Runtime& rt, facebook::react::NativePerformancePerformanceObserverCallback callback); + public facebook::react::HighResDuration timeOrigin(facebook::jsi::Runtime& rt); + public facebook::react::HighResTimeStamp now(facebook::jsi::Runtime& rt); + public std::optional getMarkTime(facebook::jsi::Runtime& rt, const std::string& name); + public std::unordered_map getReactNativeStartupTiming(facebook::jsi::Runtime& rt); + public std::unordered_map getSimpleMemoryInfo(facebook::jsi::Runtime& rt); + public std::vector getEntries(facebook::jsi::Runtime& rt); + public std::vector getEntriesByName(facebook::jsi::Runtime& rt, const std::string& entryName, std::optional entryType = std::nullopt); + public std::vector getEntriesByType(facebook::jsi::Runtime& rt, facebook::react::PerformanceEntryType entryType); + public std::vector takeRecords(facebook::jsi::Runtime& rt, facebook::jsi::Object observerObj, bool sort); + public std::vector getSupportedPerformanceEntryTypes(facebook::jsi::Runtime& rt); + public std::vector> getEventCounts(facebook::jsi::Runtime& rt); + public void clearEventCountsForTesting(facebook::jsi::Runtime& rt); + public void clearMarks(facebook::jsi::Runtime& rt, std::optional entryName = std::nullopt); + public void clearMeasures(facebook::jsi::Runtime& rt, std::optional entryName = std::nullopt); + public void disconnect(facebook::jsi::Runtime& rt, facebook::jsi::Object observer); + public void observe(facebook::jsi::Runtime& rt, facebook::jsi::Object observer, facebook::react::NativePerformancePerformanceObserverObserveOptions options); + public void reportMark(facebook::jsi::Runtime& rt, const std::string& name, facebook::react::HighResTimeStamp time, facebook::jsi::Value entry); + public void reportMeasure(facebook::jsi::Runtime& rt, const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration, facebook::jsi::Value entry); +} + +class facebook::react::NativeReactNativeFeatureFlags : public NativeReactNativeFeatureFlagsCxxSpec { + public NativeReactNativeFeatureFlags(std::shared_ptr jsInvoker); + public bool cdpInteractionMetricsEnabled(facebook::jsi::Runtime& runtime); + public bool commonTestFlag(facebook::jsi::Runtime& runtime); + public bool commonTestFlagWithoutNativeImplementation(facebook::jsi::Runtime& runtime); + public bool cxxNativeAnimatedEnabled(facebook::jsi::Runtime& runtime); + public bool defaultTextToOverflowHidden(facebook::jsi::Runtime& runtime); + public bool disableEarlyViewCommandExecution(facebook::jsi::Runtime& runtime); + public bool disableImageViewPreallocationAndroid(facebook::jsi::Runtime& runtime); + public bool disableMountItemReorderingAndroid(facebook::jsi::Runtime& runtime); + public bool disableSubviewClippingAndroid(facebook::jsi::Runtime& runtime); + public bool disableTextLayoutManagerCacheAndroid(facebook::jsi::Runtime& runtime); + public bool disableViewPreallocationAndroid(facebook::jsi::Runtime& runtime); + public bool enableAccessibilityOrder(facebook::jsi::Runtime& runtime); + public bool enableAccumulatedUpdatesInRawPropsAndroid(facebook::jsi::Runtime& runtime); + public bool enableAndroidAntialiasedBorderRadiusClipping(facebook::jsi::Runtime& runtime); + public bool enableAndroidLinearText(facebook::jsi::Runtime& runtime); + public bool enableAndroidTextMeasurementOptimizations(facebook::jsi::Runtime& runtime); + public bool enableBridgelessArchitecture(facebook::jsi::Runtime& runtime); + public bool enableCppPropsIteratorSetter(facebook::jsi::Runtime& runtime); + public bool enableCustomFocusSearchOnClippedElementsAndroid(facebook::jsi::Runtime& runtime); + public bool enableDestroyShadowTreeRevisionAsync(facebook::jsi::Runtime& runtime); + public bool enableDifferentiatorMutationVectorPreallocation(facebook::jsi::Runtime& runtime); + public bool enableDoubleMeasurementFixAndroid(facebook::jsi::Runtime& runtime); + public bool enableEagerMainQueueModulesOnIOS(facebook::jsi::Runtime& runtime); + public bool enableEagerRootViewAttachment(facebook::jsi::Runtime& runtime); + public bool enableExclusivePropsUpdateAndroid(facebook::jsi::Runtime& runtime); + public bool enableFabricCommitBranching(facebook::jsi::Runtime& runtime); + public bool enableFabricLogs(facebook::jsi::Runtime& runtime); + public bool enableFabricRenderer(facebook::jsi::Runtime& runtime); + public bool enableFontScaleChangesUpdatingLayout(facebook::jsi::Runtime& runtime); + public bool enableIOSTextBaselineOffsetPerLine(facebook::jsi::Runtime& runtime); + public bool enableIOSViewClipToPaddingBox(facebook::jsi::Runtime& runtime); + public bool enableImagePrefetchingAndroid(facebook::jsi::Runtime& runtime); + public bool enableImagePrefetchingJNIBatchingAndroid(facebook::jsi::Runtime& runtime); + public bool enableImagePrefetchingOnUiThreadAndroid(facebook::jsi::Runtime& runtime); + public bool enableImmediateUpdateModeForContentOffsetChanges(facebook::jsi::Runtime& runtime); + public bool enableImperativeFocus(facebook::jsi::Runtime& runtime); + public bool enableInteropViewManagerClassLookUpOptimizationIOS(facebook::jsi::Runtime& runtime); + public bool enableIntersectionObserverByDefault(facebook::jsi::Runtime& runtime); + public bool enableKeyEvents(facebook::jsi::Runtime& runtime); + public bool enableLayoutAnimationsOnAndroid(facebook::jsi::Runtime& runtime); + public bool enableLayoutAnimationsOnIOS(facebook::jsi::Runtime& runtime); + public bool enableMainQueueCoordinatorOnIOS(facebook::jsi::Runtime& runtime); + public bool enableModuleArgumentNSNullConversionIOS(facebook::jsi::Runtime& runtime); + public bool enableMutationObserverByDefault(facebook::jsi::Runtime& runtime); + public bool enableNativeCSSParsing(facebook::jsi::Runtime& runtime); + public bool enableNativeViewPropTransformations(facebook::jsi::Runtime& runtime); + public bool enableNetworkEventReporting(facebook::jsi::Runtime& runtime); + public bool enablePreparedTextLayout(facebook::jsi::Runtime& runtime); + public bool enablePropsUpdateReconciliationAndroid(facebook::jsi::Runtime& runtime); + public bool enableSwiftUIBasedFilters(facebook::jsi::Runtime& runtime); + public bool enableViewCulling(facebook::jsi::Runtime& runtime); + public bool enableViewRecycling(facebook::jsi::Runtime& runtime); + public bool enableViewRecyclingForImage(facebook::jsi::Runtime& runtime); + public bool enableViewRecyclingForScrollView(facebook::jsi::Runtime& runtime); + public bool enableViewRecyclingForText(facebook::jsi::Runtime& runtime); + public bool enableViewRecyclingForView(facebook::jsi::Runtime& runtime); + public bool enableVirtualViewContainerStateExperimental(facebook::jsi::Runtime& runtime); + public bool enableVirtualViewDebugFeatures(facebook::jsi::Runtime& runtime); + public bool fixFindShadowNodeByTagRaceCondition(facebook::jsi::Runtime& runtime); + public bool fixMappingOfEventPrioritiesBetweenFabricAndReact(facebook::jsi::Runtime& runtime); + public bool fixTextClippingAndroid15useBoundsForWidth(facebook::jsi::Runtime& runtime); + public bool fixYogaFlexBasisFitContentInMainAxis(facebook::jsi::Runtime& runtime); + public bool fuseboxAssertSingleHostState(facebook::jsi::Runtime& runtime); + public bool fuseboxEnabledRelease(facebook::jsi::Runtime& runtime); + public bool fuseboxFrameRecordingEnabled(facebook::jsi::Runtime& runtime); + public bool fuseboxNetworkInspectionEnabled(facebook::jsi::Runtime& runtime); + public bool hideOffscreenVirtualViewsOnIOS(facebook::jsi::Runtime& runtime); + public bool overrideBySynchronousMountPropsAtMountingAndroid(facebook::jsi::Runtime& runtime); + public bool perfIssuesEnabled(facebook::jsi::Runtime& runtime); + public bool perfMonitorV2Enabled(facebook::jsi::Runtime& runtime); + public bool preventShadowTreeCommitExhaustion(facebook::jsi::Runtime& runtime); + public bool shouldPressibilityUseW3CPointerEventsForHover(facebook::jsi::Runtime& runtime); + public bool shouldTriggerResponderTransferOnScrollAndroid(facebook::jsi::Runtime& runtime); + public bool skipActivityIdentityAssertionOnHostPause(facebook::jsi::Runtime& runtime); + public bool syncAndroidClipToPaddingWithOverflow(facebook::jsi::Runtime& runtime); + public bool traceTurboModulePromiseRejectionsOnAndroid(facebook::jsi::Runtime& runtime); + public bool updateRuntimeShadowNodeReferencesOnCommit(facebook::jsi::Runtime& runtime); + public bool updateRuntimeShadowNodeReferencesOnCommitThread(facebook::jsi::Runtime& runtime); + public bool useAlwaysAvailableJSErrorHandling(facebook::jsi::Runtime& runtime); + public bool useFabricInterop(facebook::jsi::Runtime& runtime); + public bool useLISAlgorithmInDifferentiator(facebook::jsi::Runtime& runtime); + public bool useNativeViewConfigsInBridgelessMode(facebook::jsi::Runtime& runtime); + public bool useNestedScrollViewAndroid(facebook::jsi::Runtime& runtime); + public bool useSharedAnimatedBackend(facebook::jsi::Runtime& runtime); + public bool useTraitHiddenOnAndroid(facebook::jsi::Runtime& runtime); + public bool useTurboModuleInterop(facebook::jsi::Runtime& runtime); + public bool useTurboModules(facebook::jsi::Runtime& runtime); + public bool useUnorderedMapInDifferentiator(facebook::jsi::Runtime& runtime); + public bool viewTransitionEnabled(facebook::jsi::Runtime& runtime); + public double preparedTextCacheSize(facebook::jsi::Runtime& runtime); + public double viewCullingOutsetRatio(facebook::jsi::Runtime& runtime); + public double virtualViewPrerenderRatio(facebook::jsi::Runtime& runtime); + public static constexpr std::string_view kModuleName; +} + +class facebook::react::NativeToJsBridge { + public NativeToJsBridge(facebook::react::JSExecutorFactory* jsExecutorFactory, std::shared_ptr registry, std::shared_ptr jsQueue, std::shared_ptr callback); + public bool isBatchActive(); + public bool isInspectable(); + public facebook::react::jsinspector_modern::RuntimeTargetDelegate& getInspectorTargetDelegate(); + public std::shared_ptr getDecoratedNativeMethodCallInvoker(std::shared_ptr nativeMethodCallInvoker) const; + public virtual ~NativeToJsBridge(); + public void callFunction(std::string&& module, std::string&& method, folly::dynamic&& arguments); + public void destroy(); + public void handleMemoryPressure(int pressureLevel); + public void initializeRuntime(); + public void invokeCallback(double callbackId, folly::dynamic&& arguments); + public void loadBundle(std::unique_ptr bundleRegistry, std::unique_ptr startupScript, std::string sourceURL); + public void loadBundleSync(std::unique_ptr bundleRegistry, std::unique_ptr startupScript, std::string sourceURL); + public void registerBundle(uint32_t bundleId, const std::string& bundlePath); + public void runOnExecutorQueue(std::function&& task) noexcept; + public void setGlobalVariable(std::string propName, std::unique_ptr jsonValue); + public void* getJavaScriptContext(); +} + +class facebook::react::NetworkReporter { + public bool isDebuggingEnabled() const; + public static facebook::react::NetworkReporter& getInstance(); + public void reportConnectionTiming(const std::string& requestId, const std::optional& headers); + public void reportDataReceived(const std::string& requestId, int dataLength, const std::optional& encodedDataLength); + public void reportRequestFailed(const std::string& requestId, bool cancelled) const; + public void reportRequestStart(const std::string& requestId, const facebook::react::RequestInfo& requestInfo, int encodedDataLength, const std::optional& redirectResponse); + public void reportResponseEnd(const std::string& requestId, int encodedDataLength); + public void reportResponseStart(const std::string& requestId, const facebook::react::ResponseInfo& responseInfo, int encodedDataLength); + public void storeResponseBody(const std::string& requestId, std::string_view body, bool base64Encoded); +} + +class facebook::react::ObjectAnimatedNode : public facebook::react::AnimatedNode { + public ObjectAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public void collectViewUpdates(std::string propKey, folly::dynamic& props); +} + +class facebook::react::OperatorAnimatedNode : public facebook::react::ValueAnimatedNode { + protected std::vector inputNodes_; + public OperatorAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); +} + +class facebook::react::ParagraphAttributes : public facebook::react::DebugStringConvertible { + public Float maximumFontSize; + public Float minimumFontScale; + public Float minimumFontSize; + public bool adjustsFontSizeToFit; + public bool includeFontPadding; + public bool operator==(const facebook::react::ParagraphAttributes& rhs) const; + public facebook::react::EllipsizeMode ellipsizeMode; + public facebook::react::HyphenationFrequency android_hyphenationFrequency; + public facebook::react::TextBreakStrategy textBreakStrategy; + public int maximumNumberOfLines; + public std::optional textAlignVertical; +} + +class facebook::react::ParagraphComponentDescriptor : public facebook::react::BaseParagraphComponentDescriptor { + public ParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); +} + +class facebook::react::ParagraphEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onTextLayout(const facebook::react::LinesMeasurements& linesMeasurements) const; +} + +class facebook::react::ParagraphShadowNode : public facebook::react::ConcreteViewShadowNode, public facebook::react::BaseTextShadowNode { + protected virtual bool shouldNewRevisionDirtyMeasurement(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) const override; + public ParagraphShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ParagraphShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public virtual Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const override; + public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; + public virtual void layout(facebook::react::LayoutContext layoutContext) override; + public void setTextLayoutManager(std::shared_ptr textLayoutManager); +} + +class facebook::react::ParagraphShadowNode::Content { + public facebook::react::AttributedString attributedString; + public facebook::react::BaseTextShadowNode::Attachments attachments; + public facebook::react::ParagraphAttributes paragraphAttributes; +} + +class facebook::react::PerformanceEntryBuffer { + public PerformanceEntryBuffer() = default; + public facebook::react::HighResDuration durationThreshold; + public size_t droppedEntriesCount; + public virtual void add(const facebook::react::PerformanceEntry& entry) = 0; + public virtual void clear() = 0; + public virtual void clear(const std::string& name) = 0; + public virtual void getEntries(std::vector& target) const = 0; + public virtual void getEntries(std::vector& target, const std::string& name) const = 0; + public virtual ~PerformanceEntryBuffer() = default; +} + +class facebook::react::PerformanceEntryCircularBuffer : public facebook::react::PerformanceEntryBuffer { + public PerformanceEntryCircularBuffer(size_t size); + public virtual void add(const facebook::react::PerformanceEntry& entry) override; + public virtual void clear() override; + public virtual void clear(const std::string& name) override; + public virtual void getEntries(std::vector& target) const override; + public virtual void getEntries(std::vector& target, const std::string& name) const override; + public ~PerformanceEntryCircularBuffer() override = default; +} + +class facebook::react::PerformanceEntryKeyedBuffer : public facebook::react::PerformanceEntryBuffer { + public PerformanceEntryKeyedBuffer() = default; + public std::optional find(const std::string& name) const; + public virtual void add(const facebook::react::PerformanceEntry& entry) override; + public virtual void clear() override; + public virtual void clear(const std::string& name) override; + public virtual void getEntries(std::vector& target) const override; + public virtual void getEntries(std::vector& target, const std::string& name) const override; +} + +class facebook::react::PerformanceEntryReporter { + public PerformanceEntryReporter(); + public const std::unordered_map& getEventCounts() const; + public facebook::react::PerformanceObserverRegistry& getObserverRegistry(); + public static std::shared_ptr& getInstance(); + public static std::vector getSupportedEntryTypes(); + public std::optional getMarkTime(const std::string& markName) const; + public std::vector getEntries() const; + public std::vector getEntries(facebook::react::PerformanceEntryType entryType) const; + public std::vector getEntries(facebook::react::PerformanceEntryType entryType, const std::string& entryName) const; + public uint32_t getDroppedEntriesCount(facebook::react::PerformanceEntryType type) const noexcept; + public using UserTimingDetailProvider = std::function; + public void addEventListener(facebook::react::PerformanceEntryReporterEventListener* listener); + public void clearEntries(); + public void clearEntries(facebook::react::PerformanceEntryType entryType); + public void clearEntries(facebook::react::PerformanceEntryType entryType, const std::string& entryName); + public void clearEventCounts(); + public void getEntries(std::vector& dest) const; + public void getEntries(std::vector& dest, facebook::react::PerformanceEntryType entryType) const; + public void getEntries(std::vector& dest, facebook::react::PerformanceEntryType entryType, const std::string& entryName) const; + public void removeEventListener(facebook::react::PerformanceEntryReporterEventListener* listener); + public void reportEvent(const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration, facebook::react::HighResTimeStamp processingStart, facebook::react::HighResTimeStamp processingEnd, facebook::react::HighResTimeStamp taskEndTime, uint32_t interactionId); + public void reportLongTask(facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration); + public void reportMark(const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::PerformanceEntryReporter::UserTimingDetailProvider&& detailProvider = nullptr); + public void reportMeasure(const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration, const std::optional& detailProvider = std::nullopt); + public void reportResourceTiming(const std::string& url, facebook::react::HighResTimeStamp fetchStart, facebook::react::HighResTimeStamp requestStart, std::optional connectStart, std::optional connectEnd, facebook::react::HighResTimeStamp responseStart, facebook::react::HighResTimeStamp responseEnd, int responseStatus, const std::string& contentType, int encodedBodySize, int decodedBodySize); +} + +class facebook::react::PerformanceEntryReporterEventListener { + public virtual void onEventTimingEntry(const facebook::react::PerformanceEventTiming&); + public virtual void onMeasureEntry(const facebook::react::PerformanceMeasure&, const std::optional&); + public virtual ~PerformanceEntryReporterEventListener() = default; +} + +class facebook::react::PerformanceObserver : public std::enable_shared_from_this { + public PerformanceObserver(PrivateUseCreateMethod, facebook::react::PerformanceObserverRegistry& registry, facebook::react::PerformanceObserverCallback&& callback); + public static std::shared_ptr create(facebook::react::PerformanceObserverRegistry& registry, facebook::react::PerformanceObserverCallback&& callback); + public std::vector takeRecords(); + public uint32_t getDroppedEntriesCount() noexcept; + public void disconnect() noexcept; + public void handleEntry(const facebook::react::PerformanceEntry& entry); + public void observe(facebook::react::PerformanceEntryType type, facebook::react::PerformanceObserverObserveSingleOptions options = {}); + public void observe(std::unordered_set types); + public ~PerformanceObserver() = default; +} + +class facebook::react::PerformanceObserverRegistry { + public PerformanceObserverRegistry() = default; + public void addObserver(std::shared_ptr observer); + public void queuePerformanceEntry(const facebook::react::PerformanceEntry& entry); + public void removeObserver(std::shared_ptr observer); +} + +class facebook::react::PlatformTimerRegistry { + public virtual void createRecurringTimer(uint32_t timerID, double delayMS) = 0; + public virtual void createTimer(uint32_t timerID, double delayMS) = 0; + public virtual void deleteTimer(uint32_t timerID) = 0; + public virtual void quit(); + public virtual ~PlatformTimerRegistry() noexcept = default; +} + +class facebook::react::PointerEventsProcessor { + public bool hasPointerCapture(facebook::react::PointerIdentifier pointerId, const facebook::react::ShadowNode* shadowNode); + public static std::shared_ptr getShadowNodeFromEventTarget(facebook::jsi::Runtime& runtime, facebook::react::EventTarget* target); + public void interceptPointerEvent(const std::shared_ptr& target, const std::string& type, facebook::react::ReactEventPriority priority, const facebook::react::PointerEvent& event, const facebook::react::DispatchEvent& eventDispatcher, const facebook::react::UIManager& uiManager); + public void releasePointerCapture(facebook::react::PointerIdentifier pointerId, const facebook::react::ShadowNode* shadowNode); + public void setPointerCapture(facebook::react::PointerIdentifier pointerId, const std::shared_ptr& shadowNode); +} + +class facebook::react::PointerHoverTracker { + public PointerHoverTracker(std::shared_ptr target, const facebook::react::UIManager& uiManager); + public bool areAnyTargetsListeningToEvents(std::initializer_list eventTypes, const facebook::react::UIManager& uiManager) const; + public bool hasSameTarget(const facebook::react::PointerHoverTracker& other) const; + public const facebook::react::ShadowNode* getTarget(const facebook::react::UIManager& uiManager) const; + public std::tuple diffEventPath(const facebook::react::PointerHoverTracker& other, const facebook::react::UIManager& uiManager) const; + public using EventPath = std::vector>; + public using Unique = std::unique_ptr; + public void markAsOld(); +} + +class facebook::react::PreparedTextCacheKey { + public facebook::react::AttributedString attributedString; + public facebook::react::LayoutConstraints layoutConstraints; + public facebook::react::ParagraphAttributes paragraphAttributes; +} + +class facebook::react::Props : public virtual facebook::react::Sealable, public virtual facebook::react::DebugStringConvertible { + protected void initialize(const facebook::react::PropsParserContext& context, const facebook::react::Props& sourceProps, const facebook::react::RawProps& rawProps, const std::function& filterObjectKeys = nullptr); + public Props() = default; + public Props(const facebook::react::Props& other) = delete; + public Props(const facebook::react::PropsParserContext& context, const facebook::react::Props& sourceProps, const facebook::react::RawProps& rawProps, const std::function& filterObjectKeys = nullptr); + public facebook::react::Props& operator=(const facebook::react::Props& other) = delete; + public std::string nativeId; + public using Shared = std::shared_ptr; + public virtual ~Props() = default; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::PropsAnimatedNode : public facebook::react::AnimatedNode { + public PropsAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public facebook::react::SurfaceId connectedRootTag() const; + public facebook::react::Tag connectedViewTag() const; + public folly::dynamic props(); + public virtual void update() override; + public void connectToShadowNodeFamily(facebook::react::ShadowNodeFamily::Weak shadowNodeFamily); + public void connectToView(facebook::react::Tag viewTag); + public void disconnectFromShadowNodeFamily(); + public void disconnectFromView(facebook::react::Tag viewTag); + public void restoreDefaultValues(); + public void update(bool forceFabricCommit); +} + +class facebook::react::RAMBundleRegistry { + public RAMBundleRegistry(facebook::react::RAMBundleRegistry&&) = default; + public RAMBundleRegistry(std::unique_ptr mainBundle, std::function(std::string)> factory = nullptr); + public facebook::react::JSModulesUnbundle::Module getModule(uint32_t bundleId, uint32_t moduleId); + public facebook::react::RAMBundleRegistry& operator=(facebook::react::RAMBundleRegistry&&) = default; + public static constexpr uint32_t MAIN_BUNDLE_ID; + public static std::unique_ptr multipleBundlesRegistry(std::unique_ptr mainBundle, std::function(std::string)> factory); + public static std::unique_ptr singleBundleRegistry(std::unique_ptr mainBundle); + public virtual ~RAMBundleRegistry() = default; + public void registerBundle(uint32_t bundleId, std::string bundlePath); +} + +class facebook::react::RawProps { + public RawProps(); + public RawProps(const facebook::react::RawProps& other) noexcept; + public RawProps(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value) noexcept; + public RawProps(facebook::react::RawProps&& other) noexcept = default; + public RawProps(folly::dynamic dynamic) noexcept; + public bool isEmpty() const noexcept; + public const facebook::react::RawValue* at(const char* name, const char* prefix, const char* suffix) const noexcept; + public facebook::react::RawProps& operator=(const facebook::react::RawProps& other) noexcept = delete; + public facebook::react::RawProps& operator=(facebook::react::RawProps&& other) noexcept = delete; + public folly::dynamic toDynamic(const std::function& filterObjectKeys = nullptr) const; + public operator folly::dynamic() const; + public void parse(const facebook::react::RawPropsParser& parser) noexcept; +} + +enum facebook::react::RawProps::Mode { + Dynamic, + Empty, + JSI, +} + +class facebook::react::RawPropsKey { + public const char* name; + public const char* prefix; + public const char* suffix; + public operator std::string() const noexcept; + public void render(char* buffer, facebook::react::RawPropsPropNameLength* length) const noexcept; +} + +class facebook::react::RawPropsKeyMap { + public facebook::react::RawPropsValueIndex at(const char* name, facebook::react::RawPropsPropNameLength length) noexcept; + public void insert(const facebook::react::RawPropsKey& key, facebook::react::RawPropsValueIndex value) noexcept; + public void reindex() noexcept; +} + +class facebook::react::RawPropsParser { + public RawPropsParser() = default; + public RawPropsParser(bool); + template + public void prepare() noexcept; +} + +class facebook::react::RawTextProps : public facebook::react::Props { + public RawTextProps() = default; + public RawTextProps(const facebook::react::PropsParserContext& context, const facebook::react::RawTextProps& sourceProps, const facebook::react::RawProps& rawProps); + public std::string text; +} + +class facebook::react::RawTextShadowNode : public facebook::react::ConcreteShadowNode { +} + +class facebook::react::RawValue { + public RawValue() noexcept; + public RawValue(const folly::dynamic& dynamic) noexcept; + public RawValue(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value) noexcept; + public RawValue(facebook::jsi::Runtime& runtime, facebook::jsi::Value&& value) noexcept; + public RawValue(facebook::react::RawValue&& other) noexcept; + public RawValue(folly::dynamic&& dynamic) noexcept; + public bool hasValue() const; + public facebook::react::RawValue& operator=(facebook::react::RawValue&& other) noexcept; + public operator folly::dynamic() const; + template + public bool hasType() const; + template + public operator T() const; +} + +class facebook::react::ReactInstance { + public ReactInstance(const facebook::react::ReactInstance&) = delete; + public ReactInstance(facebook::react::ReactInstance&&) = delete; + public ReactInstance(std::unique_ptr runtime, std::shared_ptr jsMessageQueueThread, std::shared_ptr timerManager, facebook::react::JsErrorHandler::OnJsError onJsError, facebook::react::jsinspector_modern::HostTarget* parentInspectorTarget = nullptr); + public facebook::react::ReactInstance& operator=(const facebook::react::ReactInstance&) = delete; + public facebook::react::ReactInstance& operator=(facebook::react::ReactInstance&&) = delete; + public facebook::react::RuntimeExecutor getBufferedRuntimeExecutor() noexcept; + public facebook::react::RuntimeExecutor getUnbufferedRuntimeExecutor() noexcept; + public std::shared_ptr getRuntimeScheduler() noexcept; + public using BindingsInstallFunc = std::function; + public void callFunctionOnModule(const std::string& moduleName, const std::string& methodName, folly::dynamic&& args); + public void handleMemoryPressureJs(int pressureLevel); + public void initializeRuntime(facebook::react::ReactInstance::JSRuntimeFlags options, facebook::react::ReactInstance::BindingsInstallFunc bindingsInstallFunc) noexcept; + public void loadScript(std::unique_ptr script, const std::string& sourceURL, std::function&& beforeLoad = nullptr, std::function&& afterLoad = nullptr); + public void registerSegment(uint32_t segmentId, const std::string& segmentPath); + public void unregisterFromInspector(); + public void* getJavaScriptContext(); + public ~ReactInstance() noexcept override; +} + +struct facebook::react::ReactInstance::JSRuntimeFlags { + public bool isProfiling; + public const std::string runtimeDiagnosticFlags; +} + +class facebook::react::ReactNativeFeatureFlags { + public static bool cdpInteractionMetricsEnabled(); + public static bool commonTestFlag(); + public static bool cxxNativeAnimatedEnabled(); + public static bool defaultTextToOverflowHidden(); + public static bool disableEarlyViewCommandExecution(); + public static bool disableImageViewPreallocationAndroid(); + public static bool disableMountItemReorderingAndroid(); + public static bool disableSubviewClippingAndroid(); + public static bool disableTextLayoutManagerCacheAndroid(); + public static bool disableViewPreallocationAndroid(); + public static bool enableAccessibilityOrder(); + public static bool enableAccumulatedUpdatesInRawPropsAndroid(); + public static bool enableAndroidAntialiasedBorderRadiusClipping(); + public static bool enableAndroidLinearText(); + public static bool enableAndroidTextMeasurementOptimizations(); + public static bool enableBridgelessArchitecture(); + public static bool enableCppPropsIteratorSetter(); + public static bool enableCustomFocusSearchOnClippedElementsAndroid(); + public static bool enableDestroyShadowTreeRevisionAsync(); + public static bool enableDifferentiatorMutationVectorPreallocation(); + public static bool enableDoubleMeasurementFixAndroid(); + public static bool enableEagerMainQueueModulesOnIOS(); + public static bool enableEagerRootViewAttachment(); + public static bool enableExclusivePropsUpdateAndroid(); + public static bool enableFabricCommitBranching(); + public static bool enableFabricLogs(); + public static bool enableFabricRenderer(); + public static bool enableFontScaleChangesUpdatingLayout(); + public static bool enableIOSTextBaselineOffsetPerLine(); + public static bool enableIOSViewClipToPaddingBox(); + public static bool enableImagePrefetchingAndroid(); + public static bool enableImagePrefetchingJNIBatchingAndroid(); + public static bool enableImagePrefetchingOnUiThreadAndroid(); + public static bool enableImmediateUpdateModeForContentOffsetChanges(); + public static bool enableImperativeFocus(); + public static bool enableInteropViewManagerClassLookUpOptimizationIOS(); + public static bool enableIntersectionObserverByDefault(); + public static bool enableKeyEvents(); + public static bool enableLayoutAnimationsOnAndroid(); + public static bool enableLayoutAnimationsOnIOS(); + public static bool enableMainQueueCoordinatorOnIOS(); + public static bool enableModuleArgumentNSNullConversionIOS(); + public static bool enableMutationObserverByDefault(); + public static bool enableNativeCSSParsing(); + public static bool enableNativeViewPropTransformations(); + public static bool enableNetworkEventReporting(); + public static bool enablePreparedTextLayout(); + public static bool enablePropsUpdateReconciliationAndroid(); + public static bool enableSwiftUIBasedFilters(); + public static bool enableViewCulling(); + public static bool enableViewRecycling(); + public static bool enableViewRecyclingForImage(); + public static bool enableViewRecyclingForScrollView(); + public static bool enableViewRecyclingForText(); + public static bool enableViewRecyclingForView(); + public static bool enableVirtualViewContainerStateExperimental(); + public static bool enableVirtualViewDebugFeatures(); + public static bool fixFindShadowNodeByTagRaceCondition(); + public static bool fixMappingOfEventPrioritiesBetweenFabricAndReact(); + public static bool fixTextClippingAndroid15useBoundsForWidth(); + public static bool fixYogaFlexBasisFitContentInMainAxis(); + public static bool fuseboxAssertSingleHostState(); + public static bool fuseboxEnabledRelease(); + public static bool fuseboxFrameRecordingEnabled(); + public static bool fuseboxNetworkInspectionEnabled(); + public static bool hideOffscreenVirtualViewsOnIOS(); + public static bool overrideBySynchronousMountPropsAtMountingAndroid(); + public static bool perfIssuesEnabled(); + public static bool perfMonitorV2Enabled(); + public static bool preventShadowTreeCommitExhaustion(); + public static bool shouldPressibilityUseW3CPointerEventsForHover(); + public static bool shouldTriggerResponderTransferOnScrollAndroid(); + public static bool skipActivityIdentityAssertionOnHostPause(); + public static bool syncAndroidClipToPaddingWithOverflow(); + public static bool traceTurboModulePromiseRejectionsOnAndroid(); + public static bool updateRuntimeShadowNodeReferencesOnCommit(); + public static bool updateRuntimeShadowNodeReferencesOnCommitThread(); + public static bool useAlwaysAvailableJSErrorHandling(); + public static bool useFabricInterop(); + public static bool useLISAlgorithmInDifferentiator(); + public static bool useNativeViewConfigsInBridgelessMode(); + public static bool useNestedScrollViewAndroid(); + public static bool useSharedAnimatedBackend(); + public static bool useTraitHiddenOnAndroid(); + public static bool useTurboModuleInterop(); + public static bool useTurboModules(); + public static bool useUnorderedMapInDifferentiator(); + public static bool viewTransitionEnabled(); + public static double preparedTextCacheSize(); + public static double viewCullingOutsetRatio(); + public static double virtualViewPrerenderRatio(); + public static std::optional dangerouslyForceOverride(std::unique_ptr provider); + public static void dangerouslyReset(); + public static void override(std::unique_ptr provider); +} + +class facebook::react::ReactNativeFeatureFlagsAccessor { + public ReactNativeFeatureFlagsAccessor(); + public bool cdpInteractionMetricsEnabled(); + public bool commonTestFlag(); + public bool cxxNativeAnimatedEnabled(); + public bool defaultTextToOverflowHidden(); + public bool disableEarlyViewCommandExecution(); + public bool disableImageViewPreallocationAndroid(); + public bool disableMountItemReorderingAndroid(); + public bool disableSubviewClippingAndroid(); + public bool disableTextLayoutManagerCacheAndroid(); + public bool disableViewPreallocationAndroid(); + public bool enableAccessibilityOrder(); + public bool enableAccumulatedUpdatesInRawPropsAndroid(); + public bool enableAndroidAntialiasedBorderRadiusClipping(); + public bool enableAndroidLinearText(); + public bool enableAndroidTextMeasurementOptimizations(); + public bool enableBridgelessArchitecture(); + public bool enableCppPropsIteratorSetter(); + public bool enableCustomFocusSearchOnClippedElementsAndroid(); + public bool enableDestroyShadowTreeRevisionAsync(); + public bool enableDifferentiatorMutationVectorPreallocation(); + public bool enableDoubleMeasurementFixAndroid(); + public bool enableEagerMainQueueModulesOnIOS(); + public bool enableEagerRootViewAttachment(); + public bool enableExclusivePropsUpdateAndroid(); + public bool enableFabricCommitBranching(); + public bool enableFabricLogs(); + public bool enableFabricRenderer(); + public bool enableFontScaleChangesUpdatingLayout(); + public bool enableIOSTextBaselineOffsetPerLine(); + public bool enableIOSViewClipToPaddingBox(); + public bool enableImagePrefetchingAndroid(); + public bool enableImagePrefetchingJNIBatchingAndroid(); + public bool enableImagePrefetchingOnUiThreadAndroid(); + public bool enableImmediateUpdateModeForContentOffsetChanges(); + public bool enableImperativeFocus(); + public bool enableInteropViewManagerClassLookUpOptimizationIOS(); + public bool enableIntersectionObserverByDefault(); + public bool enableKeyEvents(); + public bool enableLayoutAnimationsOnAndroid(); + public bool enableLayoutAnimationsOnIOS(); + public bool enableMainQueueCoordinatorOnIOS(); + public bool enableModuleArgumentNSNullConversionIOS(); + public bool enableMutationObserverByDefault(); + public bool enableNativeCSSParsing(); + public bool enableNativeViewPropTransformations(); + public bool enableNetworkEventReporting(); + public bool enablePreparedTextLayout(); + public bool enablePropsUpdateReconciliationAndroid(); + public bool enableSwiftUIBasedFilters(); + public bool enableViewCulling(); + public bool enableViewRecycling(); + public bool enableViewRecyclingForImage(); + public bool enableViewRecyclingForScrollView(); + public bool enableViewRecyclingForText(); + public bool enableViewRecyclingForView(); + public bool enableVirtualViewContainerStateExperimental(); + public bool enableVirtualViewDebugFeatures(); + public bool fixFindShadowNodeByTagRaceCondition(); + public bool fixMappingOfEventPrioritiesBetweenFabricAndReact(); + public bool fixTextClippingAndroid15useBoundsForWidth(); + public bool fixYogaFlexBasisFitContentInMainAxis(); + public bool fuseboxAssertSingleHostState(); + public bool fuseboxEnabledRelease(); + public bool fuseboxFrameRecordingEnabled(); + public bool fuseboxNetworkInspectionEnabled(); + public bool hideOffscreenVirtualViewsOnIOS(); + public bool overrideBySynchronousMountPropsAtMountingAndroid(); + public bool perfIssuesEnabled(); + public bool perfMonitorV2Enabled(); + public bool preventShadowTreeCommitExhaustion(); + public bool shouldPressibilityUseW3CPointerEventsForHover(); + public bool shouldTriggerResponderTransferOnScrollAndroid(); + public bool skipActivityIdentityAssertionOnHostPause(); + public bool syncAndroidClipToPaddingWithOverflow(); + public bool traceTurboModulePromiseRejectionsOnAndroid(); + public bool updateRuntimeShadowNodeReferencesOnCommit(); + public bool updateRuntimeShadowNodeReferencesOnCommitThread(); + public bool useAlwaysAvailableJSErrorHandling(); + public bool useFabricInterop(); + public bool useLISAlgorithmInDifferentiator(); + public bool useNativeViewConfigsInBridgelessMode(); + public bool useNestedScrollViewAndroid(); + public bool useSharedAnimatedBackend(); + public bool useTraitHiddenOnAndroid(); + public bool useTurboModuleInterop(); + public bool useTurboModules(); + public bool useUnorderedMapInDifferentiator(); + public bool viewTransitionEnabled(); + public double preparedTextCacheSize(); + public double viewCullingOutsetRatio(); + public double virtualViewPrerenderRatio(); + public std::optional getAccessedFeatureFlagNames() const; + public void override(std::unique_ptr provider); +} + +class facebook::react::ReactNativeFeatureFlagsDefaults : public facebook::react::ReactNativeFeatureFlagsProvider { + public ReactNativeFeatureFlagsDefaults() = default; + public virtual bool cdpInteractionMetricsEnabled() override; + public virtual bool commonTestFlag() override; + public virtual bool cxxNativeAnimatedEnabled() override; + public virtual bool defaultTextToOverflowHidden() override; + public virtual bool disableEarlyViewCommandExecution() override; + public virtual bool disableImageViewPreallocationAndroid() override; + public virtual bool disableMountItemReorderingAndroid() override; + public virtual bool disableSubviewClippingAndroid() override; + public virtual bool disableTextLayoutManagerCacheAndroid() override; + public virtual bool disableViewPreallocationAndroid() override; + public virtual bool enableAccessibilityOrder() override; + public virtual bool enableAccumulatedUpdatesInRawPropsAndroid() override; + public virtual bool enableAndroidAntialiasedBorderRadiusClipping() override; + public virtual bool enableAndroidLinearText() override; + public virtual bool enableAndroidTextMeasurementOptimizations() override; + public virtual bool enableBridgelessArchitecture() override; + public virtual bool enableCppPropsIteratorSetter() override; + public virtual bool enableCustomFocusSearchOnClippedElementsAndroid() override; + public virtual bool enableDestroyShadowTreeRevisionAsync() override; + public virtual bool enableDifferentiatorMutationVectorPreallocation() override; + public virtual bool enableDoubleMeasurementFixAndroid() override; + public virtual bool enableEagerMainQueueModulesOnIOS() override; + public virtual bool enableEagerRootViewAttachment() override; + public virtual bool enableExclusivePropsUpdateAndroid() override; + public virtual bool enableFabricCommitBranching() override; + public virtual bool enableFabricLogs() override; + public virtual bool enableFabricRenderer() override; + public virtual bool enableFontScaleChangesUpdatingLayout() override; + public virtual bool enableIOSTextBaselineOffsetPerLine() override; + public virtual bool enableIOSViewClipToPaddingBox() override; + public virtual bool enableImagePrefetchingAndroid() override; + public virtual bool enableImagePrefetchingJNIBatchingAndroid() override; + public virtual bool enableImagePrefetchingOnUiThreadAndroid() override; + public virtual bool enableImmediateUpdateModeForContentOffsetChanges() override; + public virtual bool enableImperativeFocus() override; + public virtual bool enableInteropViewManagerClassLookUpOptimizationIOS() override; + public virtual bool enableIntersectionObserverByDefault() override; + public virtual bool enableKeyEvents() override; + public virtual bool enableLayoutAnimationsOnAndroid() override; + public virtual bool enableLayoutAnimationsOnIOS() override; + public virtual bool enableMainQueueCoordinatorOnIOS() override; + public virtual bool enableModuleArgumentNSNullConversionIOS() override; + public virtual bool enableMutationObserverByDefault() override; + public virtual bool enableNativeCSSParsing() override; + public virtual bool enableNativeViewPropTransformations() override; + public virtual bool enableNetworkEventReporting() override; + public virtual bool enablePreparedTextLayout() override; + public virtual bool enablePropsUpdateReconciliationAndroid() override; + public virtual bool enableSwiftUIBasedFilters() override; + public virtual bool enableViewCulling() override; + public virtual bool enableViewRecycling() override; + public virtual bool enableViewRecyclingForImage() override; + public virtual bool enableViewRecyclingForScrollView() override; + public virtual bool enableViewRecyclingForText() override; + public virtual bool enableViewRecyclingForView() override; + public virtual bool enableVirtualViewContainerStateExperimental() override; + public virtual bool enableVirtualViewDebugFeatures() override; + public virtual bool fixFindShadowNodeByTagRaceCondition() override; + public virtual bool fixMappingOfEventPrioritiesBetweenFabricAndReact() override; + public virtual bool fixTextClippingAndroid15useBoundsForWidth() override; + public virtual bool fixYogaFlexBasisFitContentInMainAxis() override; + public virtual bool fuseboxAssertSingleHostState() override; + public virtual bool fuseboxEnabledRelease() override; + public virtual bool fuseboxFrameRecordingEnabled() override; + public virtual bool fuseboxNetworkInspectionEnabled() override; + public virtual bool hideOffscreenVirtualViewsOnIOS() override; + public virtual bool overrideBySynchronousMountPropsAtMountingAndroid() override; + public virtual bool perfIssuesEnabled() override; + public virtual bool perfMonitorV2Enabled() override; + public virtual bool preventShadowTreeCommitExhaustion() override; + public virtual bool shouldPressibilityUseW3CPointerEventsForHover() override; + public virtual bool shouldTriggerResponderTransferOnScrollAndroid() override; + public virtual bool skipActivityIdentityAssertionOnHostPause() override; + public virtual bool syncAndroidClipToPaddingWithOverflow() override; + public virtual bool traceTurboModulePromiseRejectionsOnAndroid() override; + public virtual bool updateRuntimeShadowNodeReferencesOnCommit() override; + public virtual bool updateRuntimeShadowNodeReferencesOnCommitThread() override; + public virtual bool useAlwaysAvailableJSErrorHandling() override; + public virtual bool useFabricInterop() override; + public virtual bool useLISAlgorithmInDifferentiator() override; + public virtual bool useNativeViewConfigsInBridgelessMode() override; + public virtual bool useNestedScrollViewAndroid() override; + public virtual bool useSharedAnimatedBackend() override; + public virtual bool useTraitHiddenOnAndroid() override; + public virtual bool useTurboModuleInterop() override; + public virtual bool useTurboModules() override; + public virtual bool useUnorderedMapInDifferentiator() override; + public virtual bool viewTransitionEnabled() override; + public virtual double preparedTextCacheSize() override; + public virtual double viewCullingOutsetRatio() override; + public virtual double virtualViewPrerenderRatio() override; +} + +class facebook::react::ReactNativeFeatureFlagsDynamicProvider : public facebook::react::ReactNativeFeatureFlagsDefaults { + public ReactNativeFeatureFlagsDynamicProvider(folly::dynamic values); + public virtual bool cdpInteractionMetricsEnabled() override; + public virtual bool commonTestFlag() override; + public virtual bool cxxNativeAnimatedEnabled() override; + public virtual bool defaultTextToOverflowHidden() override; + public virtual bool disableEarlyViewCommandExecution() override; + public virtual bool disableImageViewPreallocationAndroid() override; + public virtual bool disableMountItemReorderingAndroid() override; + public virtual bool disableSubviewClippingAndroid() override; + public virtual bool disableTextLayoutManagerCacheAndroid() override; + public virtual bool disableViewPreallocationAndroid() override; + public virtual bool enableAccessibilityOrder() override; + public virtual bool enableAccumulatedUpdatesInRawPropsAndroid() override; + public virtual bool enableAndroidAntialiasedBorderRadiusClipping() override; + public virtual bool enableAndroidLinearText() override; + public virtual bool enableAndroidTextMeasurementOptimizations() override; + public virtual bool enableBridgelessArchitecture() override; + public virtual bool enableCppPropsIteratorSetter() override; + public virtual bool enableCustomFocusSearchOnClippedElementsAndroid() override; + public virtual bool enableDestroyShadowTreeRevisionAsync() override; + public virtual bool enableDifferentiatorMutationVectorPreallocation() override; + public virtual bool enableDoubleMeasurementFixAndroid() override; + public virtual bool enableEagerMainQueueModulesOnIOS() override; + public virtual bool enableEagerRootViewAttachment() override; + public virtual bool enableExclusivePropsUpdateAndroid() override; + public virtual bool enableFabricCommitBranching() override; + public virtual bool enableFabricLogs() override; + public virtual bool enableFabricRenderer() override; + public virtual bool enableFontScaleChangesUpdatingLayout() override; + public virtual bool enableIOSTextBaselineOffsetPerLine() override; + public virtual bool enableIOSViewClipToPaddingBox() override; + public virtual bool enableImagePrefetchingAndroid() override; + public virtual bool enableImagePrefetchingJNIBatchingAndroid() override; + public virtual bool enableImagePrefetchingOnUiThreadAndroid() override; + public virtual bool enableImmediateUpdateModeForContentOffsetChanges() override; + public virtual bool enableImperativeFocus() override; + public virtual bool enableInteropViewManagerClassLookUpOptimizationIOS() override; + public virtual bool enableIntersectionObserverByDefault() override; + public virtual bool enableKeyEvents() override; + public virtual bool enableLayoutAnimationsOnAndroid() override; + public virtual bool enableLayoutAnimationsOnIOS() override; + public virtual bool enableMainQueueCoordinatorOnIOS() override; + public virtual bool enableModuleArgumentNSNullConversionIOS() override; + public virtual bool enableMutationObserverByDefault() override; + public virtual bool enableNativeCSSParsing() override; + public virtual bool enableNativeViewPropTransformations() override; + public virtual bool enableNetworkEventReporting() override; + public virtual bool enablePreparedTextLayout() override; + public virtual bool enablePropsUpdateReconciliationAndroid() override; + public virtual bool enableSwiftUIBasedFilters() override; + public virtual bool enableViewCulling() override; + public virtual bool enableViewRecycling() override; + public virtual bool enableViewRecyclingForImage() override; + public virtual bool enableViewRecyclingForScrollView() override; + public virtual bool enableViewRecyclingForText() override; + public virtual bool enableViewRecyclingForView() override; + public virtual bool enableVirtualViewContainerStateExperimental() override; + public virtual bool enableVirtualViewDebugFeatures() override; + public virtual bool fixFindShadowNodeByTagRaceCondition() override; + public virtual bool fixMappingOfEventPrioritiesBetweenFabricAndReact() override; + public virtual bool fixTextClippingAndroid15useBoundsForWidth() override; + public virtual bool fixYogaFlexBasisFitContentInMainAxis() override; + public virtual bool fuseboxAssertSingleHostState() override; + public virtual bool fuseboxEnabledRelease() override; + public virtual bool fuseboxFrameRecordingEnabled() override; + public virtual bool fuseboxNetworkInspectionEnabled() override; + public virtual bool hideOffscreenVirtualViewsOnIOS() override; + public virtual bool overrideBySynchronousMountPropsAtMountingAndroid() override; + public virtual bool perfIssuesEnabled() override; + public virtual bool perfMonitorV2Enabled() override; + public virtual bool preventShadowTreeCommitExhaustion() override; + public virtual bool shouldPressibilityUseW3CPointerEventsForHover() override; + public virtual bool shouldTriggerResponderTransferOnScrollAndroid() override; + public virtual bool skipActivityIdentityAssertionOnHostPause() override; + public virtual bool syncAndroidClipToPaddingWithOverflow() override; + public virtual bool traceTurboModulePromiseRejectionsOnAndroid() override; + public virtual bool updateRuntimeShadowNodeReferencesOnCommit() override; + public virtual bool updateRuntimeShadowNodeReferencesOnCommitThread() override; + public virtual bool useAlwaysAvailableJSErrorHandling() override; + public virtual bool useFabricInterop() override; + public virtual bool useLISAlgorithmInDifferentiator() override; + public virtual bool useNativeViewConfigsInBridgelessMode() override; + public virtual bool useNestedScrollViewAndroid() override; + public virtual bool useSharedAnimatedBackend() override; + public virtual bool useTraitHiddenOnAndroid() override; + public virtual bool useTurboModuleInterop() override; + public virtual bool useTurboModules() override; + public virtual bool useUnorderedMapInDifferentiator() override; + public virtual bool viewTransitionEnabled() override; + public virtual double preparedTextCacheSize() override; + public virtual double viewCullingOutsetRatio() override; + public virtual double virtualViewPrerenderRatio() override; +} + +class facebook::react::ReactNativeFeatureFlagsOverridesOSSCanary : public facebook::react::ReactNativeFeatureFlagsOverridesOSSStable { + public ReactNativeFeatureFlagsOverridesOSSCanary() = default; + public virtual bool enableBridgelessArchitecture() override; + public virtual bool enableFabricRenderer() override; + public virtual bool enableIntersectionObserverByDefault() override; + public virtual bool useNativeViewConfigsInBridgelessMode() override; + public virtual bool useTurboModuleInterop() override; + public virtual bool useTurboModules() override; +} + +class facebook::react::ReactNativeFeatureFlagsOverridesOSSExperimental : public facebook::react::ReactNativeFeatureFlagsOverridesOSSCanary { + public ReactNativeFeatureFlagsOverridesOSSExperimental() = default; + public virtual bool enableAccessibilityOrder() override; + public virtual bool enableSwiftUIBasedFilters() override; + public virtual bool fixTextClippingAndroid15useBoundsForWidth() override; + public virtual bool preventShadowTreeCommitExhaustion() override; +} + +class facebook::react::ReactNativeFeatureFlagsOverridesOSSStable : public facebook::react::ReactNativeFeatureFlagsDefaults { + public virtual bool enableBridgelessArchitecture() override; + public virtual bool enableFabricRenderer() override; + public virtual bool useNativeViewConfigsInBridgelessMode() override; + public virtual bool useTurboModules() override; +} + +class facebook::react::ReactNativeFeatureFlagsProvider { + public virtual bool cdpInteractionMetricsEnabled() = 0; + public virtual bool commonTestFlag() = 0; + public virtual bool cxxNativeAnimatedEnabled() = 0; + public virtual bool defaultTextToOverflowHidden() = 0; + public virtual bool disableEarlyViewCommandExecution() = 0; + public virtual bool disableImageViewPreallocationAndroid() = 0; + public virtual bool disableMountItemReorderingAndroid() = 0; + public virtual bool disableSubviewClippingAndroid() = 0; + public virtual bool disableTextLayoutManagerCacheAndroid() = 0; + public virtual bool disableViewPreallocationAndroid() = 0; + public virtual bool enableAccessibilityOrder() = 0; + public virtual bool enableAccumulatedUpdatesInRawPropsAndroid() = 0; + public virtual bool enableAndroidAntialiasedBorderRadiusClipping() = 0; + public virtual bool enableAndroidLinearText() = 0; + public virtual bool enableAndroidTextMeasurementOptimizations() = 0; + public virtual bool enableBridgelessArchitecture() = 0; + public virtual bool enableCppPropsIteratorSetter() = 0; + public virtual bool enableCustomFocusSearchOnClippedElementsAndroid() = 0; + public virtual bool enableDestroyShadowTreeRevisionAsync() = 0; + public virtual bool enableDifferentiatorMutationVectorPreallocation() = 0; + public virtual bool enableDoubleMeasurementFixAndroid() = 0; + public virtual bool enableEagerMainQueueModulesOnIOS() = 0; + public virtual bool enableEagerRootViewAttachment() = 0; + public virtual bool enableExclusivePropsUpdateAndroid() = 0; + public virtual bool enableFabricCommitBranching() = 0; + public virtual bool enableFabricLogs() = 0; + public virtual bool enableFabricRenderer() = 0; + public virtual bool enableFontScaleChangesUpdatingLayout() = 0; + public virtual bool enableIOSTextBaselineOffsetPerLine() = 0; + public virtual bool enableIOSViewClipToPaddingBox() = 0; + public virtual bool enableImagePrefetchingAndroid() = 0; + public virtual bool enableImagePrefetchingJNIBatchingAndroid() = 0; + public virtual bool enableImagePrefetchingOnUiThreadAndroid() = 0; + public virtual bool enableImmediateUpdateModeForContentOffsetChanges() = 0; + public virtual bool enableImperativeFocus() = 0; + public virtual bool enableInteropViewManagerClassLookUpOptimizationIOS() = 0; + public virtual bool enableIntersectionObserverByDefault() = 0; + public virtual bool enableKeyEvents() = 0; + public virtual bool enableLayoutAnimationsOnAndroid() = 0; + public virtual bool enableLayoutAnimationsOnIOS() = 0; + public virtual bool enableMainQueueCoordinatorOnIOS() = 0; + public virtual bool enableModuleArgumentNSNullConversionIOS() = 0; + public virtual bool enableMutationObserverByDefault() = 0; + public virtual bool enableNativeCSSParsing() = 0; + public virtual bool enableNativeViewPropTransformations() = 0; + public virtual bool enableNetworkEventReporting() = 0; + public virtual bool enablePreparedTextLayout() = 0; + public virtual bool enablePropsUpdateReconciliationAndroid() = 0; + public virtual bool enableSwiftUIBasedFilters() = 0; + public virtual bool enableViewCulling() = 0; + public virtual bool enableViewRecycling() = 0; + public virtual bool enableViewRecyclingForImage() = 0; + public virtual bool enableViewRecyclingForScrollView() = 0; + public virtual bool enableViewRecyclingForText() = 0; + public virtual bool enableViewRecyclingForView() = 0; + public virtual bool enableVirtualViewContainerStateExperimental() = 0; + public virtual bool enableVirtualViewDebugFeatures() = 0; + public virtual bool fixFindShadowNodeByTagRaceCondition() = 0; + public virtual bool fixMappingOfEventPrioritiesBetweenFabricAndReact() = 0; + public virtual bool fixTextClippingAndroid15useBoundsForWidth() = 0; + public virtual bool fixYogaFlexBasisFitContentInMainAxis() = 0; + public virtual bool fuseboxAssertSingleHostState() = 0; + public virtual bool fuseboxEnabledRelease() = 0; + public virtual bool fuseboxFrameRecordingEnabled() = 0; + public virtual bool fuseboxNetworkInspectionEnabled() = 0; + public virtual bool hideOffscreenVirtualViewsOnIOS() = 0; + public virtual bool overrideBySynchronousMountPropsAtMountingAndroid() = 0; + public virtual bool perfIssuesEnabled() = 0; + public virtual bool perfMonitorV2Enabled() = 0; + public virtual bool preventShadowTreeCommitExhaustion() = 0; + public virtual bool shouldPressibilityUseW3CPointerEventsForHover() = 0; + public virtual bool shouldTriggerResponderTransferOnScrollAndroid() = 0; + public virtual bool skipActivityIdentityAssertionOnHostPause() = 0; + public virtual bool syncAndroidClipToPaddingWithOverflow() = 0; + public virtual bool traceTurboModulePromiseRejectionsOnAndroid() = 0; + public virtual bool updateRuntimeShadowNodeReferencesOnCommit() = 0; + public virtual bool updateRuntimeShadowNodeReferencesOnCommitThread() = 0; + public virtual bool useAlwaysAvailableJSErrorHandling() = 0; + public virtual bool useFabricInterop() = 0; + public virtual bool useLISAlgorithmInDifferentiator() = 0; + public virtual bool useNativeViewConfigsInBridgelessMode() = 0; + public virtual bool useNestedScrollViewAndroid() = 0; + public virtual bool useSharedAnimatedBackend() = 0; + public virtual bool useTraitHiddenOnAndroid() = 0; + public virtual bool useTurboModuleInterop() = 0; + public virtual bool useTurboModules() = 0; + public virtual bool useUnorderedMapInDifferentiator() = 0; + public virtual bool viewTransitionEnabled() = 0; + public virtual double preparedTextCacheSize() = 0; + public virtual double viewCullingOutsetRatio() = 0; + public virtual double virtualViewPrerenderRatio() = 0; + public virtual ~ReactNativeFeatureFlagsProvider() = default; +} + +class facebook::react::ReactPerfettoLogger { + public static bool isTracing(); + public static void mark(const std::string_view& eventName, facebook::react::HighResTimeStamp startTime, const std::optional& trackName = std::nullopt, const std::optional& trackGroup = std::nullopt); + public static void measure(const std::string_view& eventName, facebook::react::HighResTimeStamp startTime, facebook::react::HighResTimeStamp endTime, const std::optional& trackName = std::nullopt, const std::optional& trackGroup = std::nullopt); +} + +class facebook::react::RootProps : public facebook::react::HostPlatformViewProps { + public RootProps() = default; + public RootProps(const facebook::react::PropsParserContext& context, const facebook::react::RootProps& sourceProps, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext); + public RootProps(const facebook::react::PropsParserContext& context, const facebook::react::RootProps& sourceProps, const facebook::react::RawProps& rawProps); + public facebook::react::LayoutConstraints layoutConstraints; + public facebook::react::LayoutContext layoutContext; +} + +class facebook::react::RootShadowNode : public facebook::react::ConcreteViewShadowNode { + public RootShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public RootShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public bool layoutIfNeeded(std::vector* affectedNodes = {}); + public facebook::react::RootShadowNode::Unshared clone(const facebook::react::PropsParserContext& propsParserContext, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; + public static facebook::react::ShadowNodeTraits BaseTraits(); + public using Shared = std::shared_ptr; + public using Unshared = std::shared_ptr; + public virtual facebook::react::Transform getTransform() const override; + public void setInstanceHandle(facebook::react::InstanceHandle::Shared instanceHandle) const; +} + +class facebook::react::RoundAnimatedNode : public facebook::react::ValueAnimatedNode { + public RoundAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::RunLoopObserver { + protected const facebook::react::RunLoopObserver::Activity activities_; + protected const facebook::react::RunLoopObserver::WeakOwner owner_; + protected mutable const facebook::react::RunLoopObserver::Delegate* delegate_; + protected mutable std::atomic enabled_; + protected virtual void startObserving() const noexcept = 0; + protected virtual void stopObserving() const noexcept = 0; + protected void activityDidChange(facebook::react::RunLoopObserver::Activity activity) const noexcept; + public RunLoopObserver(facebook::react::RunLoopObserver::Activity activities, facebook::react::RunLoopObserver::WeakOwner owner) noexcept; + public facebook::react::RunLoopObserver::WeakOwner getOwner() const noexcept; + public using Factory = std::function(facebook::react::RunLoopObserver::Activity activities, const facebook::react::RunLoopObserver::WeakOwner& owner)>; + public using Owner = std::shared_ptr; + public using WeakOwner = std::weak_ptr; + public virtual bool isOnRunLoopThread() const noexcept = 0; + public virtual ~RunLoopObserver() noexcept = default; + public void disable() const noexcept; + public void enable() const noexcept; + public void setDelegate(const facebook::react::RunLoopObserver::Delegate* delegate) const noexcept; +} + +class facebook::react::RunLoopObserver::Delegate { + public virtual void activityDidChange(const facebook::react::RunLoopObserver::Delegate* delegate, facebook::react::RunLoopObserver::Activity activity) const noexcept = 0; + public virtual ~Delegate() noexcept = default; +} + +enum facebook::react::RunLoopObserver::Activity : int32_t { + AfterWaiting, + BeforeWaiting, + None, +} + +class facebook::react::RuntimeScheduler { + public RuntimeScheduler(const facebook::react::RuntimeScheduler&) = delete; + public RuntimeScheduler(facebook::react::RuntimeExecutor runtimeExecutor, std::function now = facebook::react::HighResTimeStamp::now, facebook::react::RuntimeSchedulerTaskErrorHandler onTaskError = handleTaskErrorDefault); + public RuntimeScheduler(facebook::react::RuntimeScheduler&&) = delete; + public facebook::react::RuntimeScheduler& operator=(const facebook::react::RuntimeScheduler&) = delete; + public facebook::react::RuntimeScheduler& operator=(facebook::react::RuntimeScheduler&&) = delete; + public virtual bool getShouldYield() noexcept override; + public virtual facebook::react::HighResTimeStamp now() const noexcept override; + public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept override; + public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; + public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept override; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept override; + public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) override; + public virtual void cancelTask(facebook::react::Task& task) noexcept override; + public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) override; + public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) override; + public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept override; + public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) override; + public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) override; + public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* reporter) override; + public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* shadowTreeRevisionConsistencyManager) override; +} + +class facebook::react::RuntimeSchedulerBase { + public virtual bool getShouldYield() noexcept = 0; + public virtual facebook::react::HighResTimeStamp now() const noexcept = 0; + public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept = 0; + public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept = 0; + public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept = 0; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept = 0; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept = 0; + public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) = 0; + public virtual void cancelTask(facebook::react::Task& task) noexcept = 0; + public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) = 0; + public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) = 0; + public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept = 0; + public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) = 0; + public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) = 0; + public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* reporter) = 0; + public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* provider) = 0; + public virtual ~RuntimeSchedulerBase() = default; +} + +class facebook::react::RuntimeSchedulerBinding : public facebook::jsi::HostObject { + public RuntimeSchedulerBinding(std::shared_ptr runtimeScheduler); + public static std::shared_ptr createAndInstallIfNeeded(facebook::jsi::Runtime& runtime, const std::shared_ptr& runtimeScheduler); + public static std::shared_ptr getBinding(facebook::jsi::Runtime& runtime); + public std::shared_ptr getRuntimeScheduler() noexcept; + public virtual facebook::jsi::Value get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) override; +} + +class facebook::react::RuntimeSchedulerCallInvoker : public facebook::react::CallInvoker { + public RuntimeSchedulerCallInvoker(std::weak_ptr runtimeScheduler); + public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept override; + public virtual void invokeAsync(facebook::react::SchedulerPriority priority, facebook::react::CallFunc&& func) noexcept override; + public virtual void invokeSync(facebook::react::CallFunc&& func) override; +} + +class facebook::react::RuntimeSchedulerEventTimingDelegate { + public virtual void dispatchPendingEventTimingEntries(facebook::react::HighResTimeStamp taskEndTime, const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) = 0; + public virtual ~RuntimeSchedulerEventTimingDelegate() = default; +} + +class facebook::react::RuntimeSchedulerIntersectionObserverDelegate { + public virtual void updateIntersectionObservations(const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) = 0; + public virtual ~RuntimeSchedulerIntersectionObserverDelegate() = default; +} + +class facebook::react::RuntimeScheduler_Legacy : public facebook::react::RuntimeSchedulerBase { + public RuntimeScheduler_Legacy(const facebook::react::RuntimeScheduler_Legacy&) = delete; + public RuntimeScheduler_Legacy(facebook::react::RuntimeExecutor runtimeExecutor, std::function now, facebook::react::RuntimeSchedulerTaskErrorHandler onTaskError); + public RuntimeScheduler_Legacy(facebook::react::RuntimeScheduler_Legacy&&) = delete; + public facebook::react::RuntimeScheduler_Legacy& operator=(const facebook::react::RuntimeScheduler_Legacy&) = delete; + public facebook::react::RuntimeScheduler_Legacy& operator=(facebook::react::RuntimeScheduler_Legacy&&) = delete; + public virtual bool getShouldYield() noexcept override; + public virtual facebook::react::HighResTimeStamp now() const noexcept override; + public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept override; + public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; + public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept override; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept override; + public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) override; + public virtual void cancelTask(facebook::react::Task& task) noexcept override; + public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) override; + public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) override; + public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept override; + public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) override; + public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) override; + public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* performanceEntryReporter) override; + public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* shadowTreeRevisionConsistencyManager) override; +} + +class facebook::react::RuntimeScheduler_Modern : public facebook::react::RuntimeSchedulerBase { + public RuntimeScheduler_Modern(const facebook::react::RuntimeScheduler_Modern&) = delete; + public RuntimeScheduler_Modern(facebook::react::RuntimeExecutor runtimeExecutor, std::function now, facebook::react::RuntimeSchedulerTaskErrorHandler onTaskError); + public RuntimeScheduler_Modern(facebook::react::RuntimeScheduler_Modern&&) = delete; + public facebook::react::RuntimeScheduler_Modern& operator=(const facebook::react::RuntimeScheduler_Modern&) = delete; + public facebook::react::RuntimeScheduler_Modern& operator=(facebook::react::RuntimeScheduler_Modern&&) = delete; + public virtual bool getShouldYield() noexcept override; + public virtual facebook::react::HighResTimeStamp now() const noexcept override; + public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept override; + public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration customTimeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; + public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration customTimeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept override; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept override; + public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) override; + public virtual void cancelTask(facebook::react::Task& task) noexcept override; + public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) override; + public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) override; + public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept override; + public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) override; + public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) override; + public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* performanceEntryReporter) override; + public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* shadowTreeRevisionConsistencyManager) override; +} + +class facebook::react::SafeAreaViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { +} + +class facebook::react::SafeAreaViewShadowNode : public facebook::react::ConcreteViewShadowNode { +} + +class facebook::react::SafeAreaViewState { + public facebook::react::EdgeInsets padding; +} + +class facebook::react::Scheduler : public facebook::react::UIManagerDelegate { + public Scheduler(const facebook::react::SchedulerToolbox& schedulerToolbox, facebook::react::UIManagerAnimationDelegate* animationDelegate, facebook::react::SchedulerDelegate* delegate); + public const facebook::react::ComponentDescriptor* findComponentDescriptorByHandle_DO_NOT_USE_THIS_IS_BROKEN(facebook::react::ComponentHandle handle) const; + public facebook::react::SchedulerDelegate* getDelegate() const; + public std::shared_ptr getContextContainer() const; + public std::shared_ptr getUIManager() const; + public virtual void uiManagerDidCreateShadowNode(const facebook::react::ShadowNode& shadowNode) override; + public virtual void uiManagerDidDispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) override; + public virtual void uiManagerDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) override; + public virtual void uiManagerDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) override; + public virtual void uiManagerDidPromoteReactRevision(const facebook::react::ShadowTree& shadowTree) override; + public virtual void uiManagerDidSendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType) override; + public virtual void uiManagerDidSetIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) override; + public virtual void uiManagerDidStartSurface(const facebook::react::ShadowTree& shadowTree) override; + public virtual void uiManagerDidUpdateShadowTree(const std::unordered_map& tagToProps) override; + public virtual void uiManagerShouldAddEventListener(std::shared_ptr listener) final; + public virtual void uiManagerShouldRemoveEventListener(const std::shared_ptr& listener) final; + public virtual void uiManagerShouldSetOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback) override; + public virtual void uiManagerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) override; + public void addEventListener(std::shared_ptr listener); + public void animationTick() const; + public void registerSurface(const facebook::react::SurfaceHandler& surfaceHandler) const noexcept; + public void removeEventListener(const std::shared_ptr& listener); + public void reportMount(facebook::react::SurfaceId surfaceId) const; + public void setDelegate(facebook::react::SchedulerDelegate* delegate); + public void unregisterSurface(const facebook::react::SurfaceHandler& surfaceHandler) const noexcept; + public ~Scheduler() override; +} + +class facebook::react::SchedulerDelegate { + public virtual void schedulerDidDispatchCommand(const facebook::react::ShadowView& shadowView, const std::string& commandName, const folly::dynamic& args) = 0; + public virtual void schedulerDidFinishTransaction(const std::shared_ptr& mountingCoordinator) = 0; + public virtual void schedulerDidRequestPreliminaryViewAllocation(const facebook::react::ShadowNode& shadowNode) = 0; + public virtual void schedulerDidSendAccessibilityEvent(const facebook::react::ShadowView& shadowView, const std::string& eventType) = 0; + public virtual void schedulerDidSetIsJSResponder(const facebook::react::ShadowView& shadowView, bool isJSResponder, bool blockNativeResponder) = 0; + public virtual void schedulerDidUpdateShadowTree(const std::unordered_map& tagToProps) = 0; + public virtual void schedulerShouldMergeReactRevision(facebook::react::SurfaceId surfaceId) = 0; + public virtual void schedulerShouldRenderTransactions(const std::shared_ptr& mountingCoordinator) = 0; + public virtual void schedulerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) = 0; + public virtual ~SchedulerDelegate() noexcept = default; +} + +class facebook::react::ScopedShadowTreeRevisionLock { + public ScopedShadowTreeRevisionLock(const facebook::react::ScopedShadowTreeRevisionLock&) = delete; + public ScopedShadowTreeRevisionLock(facebook::react::ScopedShadowTreeRevisionLock&&) = delete; + public ScopedShadowTreeRevisionLock(facebook::react::ShadowTreeRevisionConsistencyManager* consistencyManager) noexcept; + public facebook::react::ScopedShadowTreeRevisionLock& operator=(const facebook::react::ScopedShadowTreeRevisionLock&) = delete; + public facebook::react::ScopedShadowTreeRevisionLock& operator=(facebook::react::ScopedShadowTreeRevisionLock&&) = delete; + public ~ScopedShadowTreeRevisionLock() noexcept; +} + +class facebook::react::ScrollViewEventEmitter : public facebook::react::BaseViewEventEmitter { + public using EndDragMetrics = facebook::react::ScrollEndDragEvent; + public using Metrics = facebook::react::ScrollEvent; + public void onMomentumScrollBegin(const facebook::react::ScrollEvent& scrollEvent) const; + public void onMomentumScrollEnd(const facebook::react::ScrollEvent& scrollEvent) const; + public void onScroll(const facebook::react::ScrollEvent& scrollEvent) const; + public void onScrollBeginDrag(const facebook::react::ScrollEvent& scrollEvent) const; + public void onScrollEndDrag(const facebook::react::ScrollEndDragEvent& scrollEvent) const; + public void onScrollToTop(const facebook::react::ScrollEvent& scrollEvent) const; +} + +class facebook::react::ScrollViewMaintainVisibleContentPosition { + public bool operator==(const facebook::react::ScrollViewMaintainVisibleContentPosition& rhs) const = default; + public int minIndexForVisible; + public std::optional autoscrollToTopThreshold; +} + +class facebook::react::ScrollViewShadowNode : public facebook::react::ConcreteViewShadowNode { + public ScrollViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ScrollViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ScrollViewState initialStateData(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family, const facebook::react::ComponentDescriptor& componentDescriptor); + public virtual facebook::react::Point getContentOriginOffset(bool includeTransform) const override; + public virtual void layout(facebook::react::LayoutContext layoutContext) override; +} + +class facebook::react::ScrollViewState { + public ScrollViewState() = default; + public ScrollViewState(facebook::react::Point contentOffset, facebook::react::Rect contentBoundingRect, int scrollAwayPaddingTop); + public bool disableViewCulling; + public facebook::react::Point contentOffset; + public facebook::react::Rect contentBoundingRect; + public facebook::react::Size getContentSize() const; + public int scrollAwayPaddingTop; +} + +class facebook::react::Sealable { + public bool getSealed() const; + public void ensureUnsealed() const; + public void seal() const; +} + +class facebook::react::SelectableParagraphComponentDescriptor : public facebook::react::BaseParagraphComponentDescriptor { + public SelectableParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); +} + +class facebook::react::SelectableParagraphShadowNode : public facebook::react::ParagraphShadowNode { + public SelectableParagraphShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public SelectableParagraphShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static constexpr facebook::react::ComponentName Name(); + public static facebook::react::ComponentHandle Handle(); +} + +class facebook::react::ShadowNode : public facebook::react::Sealable, public facebook::react::DebugStringConvertible, public facebook::jsi::NativeState { + protected facebook::react::Props::Shared props_; + protected facebook::react::ShadowNodeTraits traits_; + protected facebook::react::State::Shared state_; + protected int orderIndex_; + protected mutable std::weak_ptr runtimeShadowNodeReference_; + protected std::shared_ptr>> children_; + public ShadowNode(const facebook::react::ShadowNode& shadowNode) noexcept = delete; + public ShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ShadowNode(const facebook::react::ShadowNodeFragment& fragment, facebook::react::ShadowNodeFamily::Shared family, facebook::react::ShadowNodeTraits traits); + public bool getHasBeenPromoted() const; + public const facebook::react::ComponentDescriptor& getComponentDescriptor() const; + public const facebook::react::Props::Shared& getProps() const; + public const facebook::react::ShadowNodeFamily& getFamily() const; + public const facebook::react::SharedEventEmitter& getEventEmitter() const; + public const facebook::react::State::Shared& getState() const; + public const std::vector>& getChildren() const; + public facebook::jsi::Value getInstanceHandle(facebook::jsi::Runtime& runtime) const; + public facebook::react::ComponentHandle getComponentHandle() const; + public facebook::react::ComponentName getComponentName() const; + public facebook::react::ShadowNode& operator=(const facebook::react::ShadowNode& other) noexcept = delete; + public facebook::react::ShadowNodeFamily::Shared getFamilyShared() const; + public facebook::react::ShadowNodeTraits getTraits() const; + public facebook::react::State::Shared getMostRecentState() const; + public facebook::react::SurfaceId getSurfaceId() const; + public facebook::react::Tag getTag() const; + public int getOrderIndex() const; + public static bool getUseRuntimeShadowNodeReferenceUpdateOnThread(); + public static bool sameFamily(const facebook::react::ShadowNode& first, const facebook::react::ShadowNode& second); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public static std::shared_ptr>> emptySharedShadowNodeSharedList(); + public static void setUseRuntimeShadowNodeReferenceUpdateOnThread(bool isEnabled); + public std::shared_ptr getContextContainer() const; + public std::shared_ptr clone(const facebook::react::ShadowNodeFragment& fragment) const; + public std::shared_ptr cloneMultiple(const std::unordered_set>& familiesToUpdate, const std::function(const facebook::react::ShadowNode& oldShadowNode, const facebook::react::ShadowNodeFragment& fragment)>& callback) const; + public std::shared_ptr cloneTree(const facebook::react::ShadowNodeFamily& shadowNodeFamily, const std::function(const facebook::react::ShadowNode& oldShadowNode)>& callback) const; + public using AncestorList = std::vector, int>>; + public virtual void appendChild(const std::shared_ptr& child); + public virtual void completeClone(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public virtual void replaceChild(const facebook::react::ShadowNode& oldChild, const std::shared_ptr& newChild, size_t suggestedIndex = std::numeric_limits::max()); + public virtual ~ShadowNode() override = default; + public void sealRecursive() const; + public void setMounted(bool mounted) const; + public void setRuntimeShadowNodeReference(const std::shared_ptr& runtimeShadowNodeReference) const; + public void transferRuntimeShadowNodeReference(const std::shared_ptr& destinationShadowNode, const facebook::react::ShadowNodeFragment& fragment) const; + public void updateRuntimeShadowNodeReference(const std::shared_ptr& destinationShadowNode) const; +} + +class facebook::react::ShadowNodeFamily : public facebook::jsi::NativeState { + public ShadowNodeFamily(const facebook::react::ShadowNodeFamilyFragment& fragment, facebook::react::SharedEventEmitter eventEmitter, facebook::react::EventDispatcher::Weak eventDispatcher, const facebook::react::ComponentDescriptor& componentDescriptor); + public const facebook::react::ComponentDescriptor& getComponentDescriptor() const; + public facebook::jsi::Value getInstanceHandle(facebook::jsi::Runtime& runtime) const; + public facebook::react::ComponentHandle getComponentHandle() const; + public facebook::react::ComponentName getComponentName() const; + public facebook::react::InstanceHandle::Shared getInstanceHandle() const; + public facebook::react::ShadowNodeFamily::AncestorList getAncestors(const facebook::react::ShadowNode& ancestorShadowNode) const; + public facebook::react::SharedEventEmitter getEventEmitter() const; + public facebook::react::SurfaceId getSurfaceId() const; + public facebook::react::Tag getTag() const; + public mutable std::unique_ptr nativeProps_DEPRECATED; + public std::shared_ptr getMostRecentState() const; + public using AncestorList = std::vector, int>>; + public using Shared = std::shared_ptr; + public using Weak = std::weak_ptr; + public void dispatchRawState(facebook::react::StateUpdate&& stateUpdate, facebook::react::EventQueue::UpdateMode updateMode); + public void onUnmountedFamilyDestroyed(std::function callback); + public void setInstanceHandle(facebook::react::InstanceHandle::Shared& instanceHandle); + public void setMostRecentState(const std::shared_ptr& state); + public void setMounted(); + public void setParent(const facebook::react::ShadowNodeFamily::Shared& parent); + public ~ShadowNodeFamily(); +} + +class facebook::react::ShadowNodeTraits { + public bool check(facebook::react::ShadowNodeTraits::Trait traits) const; + public facebook::react::ShadowNodeTraits::Trait get() const; + public void set(facebook::react::ShadowNodeTraits::Trait trait); + public void unset(facebook::react::ShadowNodeTraits::Trait trait); +} + +enum facebook::react::ShadowNodeTraits::Trait : int32_t { + BaselineYogaNode, + ChildrenAreShared, + ChildrenFormStackingContext, + DirtyYogaNode, + ForceFlattenView, + FormsStackingContext, + FormsView, + Hidden, + KeyboardFocusable, + LeafYogaNode, + MeasurableYogaNode, + None, + RootNodeKind, + Unstable_uncullableTrace, + Unstable_uncullableView, + ViewKind, +} + +class facebook::react::ShadowTree { + public ShadowTree(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext, const facebook::react::ShadowTreeDelegate& delegate, const facebook::react::ContextContainer& contextContainer); + public facebook::react::CommitMode getCommitMode() const; + public facebook::react::CommitStatus commit(const facebook::react::ShadowTreeCommitTransaction& transaction, const facebook::react::ShadowTree::CommitOptions& commitOptions) const; + public facebook::react::CommitStatus tryCommit(const facebook::react::ShadowTreeCommitTransaction& transaction, const facebook::react::ShadowTree::CommitOptions& commitOptions) const; + public facebook::react::ShadowTreeRevision getCurrentRevision() const; + public facebook::react::SurfaceId getSurfaceId() const; + public std::optional getCurrentReactRevision() const; + public std::shared_ptr getMountingCoordinator() const; + public using CommitMode = facebook::react::ShadowTreeCommitMode; + public using CommitOptions = facebook::react::ShadowTreeCommitOptions; + public using CommitSource = facebook::react::ShadowTreeCommitSource; + public using CommitStatus = facebook::react::ShadowTreeCommitStatus; + public using Unique = std::unique_ptr; + public void commitEmptyTree() const; + public void mergeReactRevision() const; + public void notifyDelegatesOfUpdates() const; + public void promoteReactRevision() const; + public void setCommitMode(facebook::react::CommitMode commitMode) const; + public ~ShadowTree(); +} + +class facebook::react::ShadowTreeDelegate { + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions& commitOptions) const = 0; + public virtual void shadowTreeDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) const = 0; + public virtual void shadowTreeDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) const = 0; + public virtual void shadowTreeDidPromoteReactRevision(const facebook::react::ShadowTree& shadowTree) const = 0; + public virtual ~ShadowTreeDelegate() noexcept = default; +} + +class facebook::react::ShadowTreeRegistry { + public ShadowTreeRegistry() = default; + public bool visit(facebook::react::SurfaceId surfaceId, const std::function& callback) const; + public std::unique_ptr remove(facebook::react::SurfaceId surfaceId) const; + public void add(std::unique_ptr&& shadowTree) const; + public void enumerate(const std::function& callback) const; + public ~ShadowTreeRegistry(); +} + +class facebook::react::ShadowTreeRevision { + public facebook::react::RootShadowNode::Shared rootShadowNode; + public facebook::react::ShadowTreeRevision::Number number; + public facebook::react::TransactionTelemetry telemetry; + public using Number = int64_t; +} + +class facebook::react::ShadowTreeRevisionConsistencyManager { + public virtual void lockRevisions() = 0; + public virtual void unlockRevisions() = 0; + public virtual ~ShadowTreeRevisionConsistencyManager() = default; +} + +class facebook::react::ShadowTreeRevisionProvider { + public virtual facebook::react::RootShadowNode::Shared getCurrentRevision(facebook::react::SurfaceId surfaceId) = 0; + public virtual ~ShadowTreeRevisionProvider() = default; +} + +class facebook::react::SharedColor { + public Color& operator*(); + public SharedColor(); + public SharedColor(Color color); + public bool operator!=(const facebook::react::SharedColor& otherColor) const; + public bool operator==(const facebook::react::SharedColor& otherColor) const; + public const Color& operator*() const; + public operator bool() const; + public std::string toString() const noexcept; +} + +class facebook::react::SpringAnimationDriver : public facebook::react::AnimationDriver { + protected virtual bool update(double timeDeltaMs, bool restarting) override; + public SpringAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); +} + +class facebook::react::StackTraceParser { + public static std::vector parse(bool isHermes, const std::string& stackString); +} + +class facebook::react::State { + protected State(facebook::react::StateData::Shared data, const facebook::react::State& previousState); + protected State(facebook::react::StateData::Shared data, facebook::react::ShadowNodeFamily::Weak family); + protected const facebook::react::StateData::Shared& getDataPointer() const; + protected facebook::react::ShadowNodeFamily::Weak family_; + protected facebook::react::StateData::Shared data_; + protected mutable bool isObsolete_; + protected size_t revision_; + public facebook::react::State::Shared getMostRecentState() const; + public facebook::react::State::Shared getMostRecentStateIfObsolete() const; + public size_t getRevision() const; + public static constexpr size_t initialRevisionValue; + public using Shared = std::shared_ptr; + public virtual ~State() = default; +} + +class facebook::react::StateUpdate { + public facebook::react::SharedShadowNodeFamily family; + public facebook::react::StateUpdate::Callback callback; + public using Callback = std::function; + public using FailureCallback = std::function; +} + +class facebook::react::StubView { + public StubView() = default; + public StubView(const facebook::react::StubView& stubView) = default; + public facebook::react::ComponentHandle componentHandle; + public facebook::react::ComponentName componentName; + public facebook::react::LayoutMetrics layoutMetrics; + public facebook::react::Props::Shared props; + public facebook::react::ShadowNodeTraits traits; + public facebook::react::SharedEventEmitter eventEmitter; + public facebook::react::State::Shared state; + public facebook::react::SurfaceId surfaceId; + public facebook::react::Tag parentTag; + public facebook::react::Tag tag; + public operator facebook::react::ShadowView() const; + public std::vector children; + public using Shared = std::shared_ptr; + public void update(const facebook::react::ShadowView& shadowView); +} + +class facebook::react::StubViewTree { + public StubViewTree() = default; + public StubViewTree(const facebook::react::ShadowView& shadowView); + public bool hasTag(facebook::react::Tag tag) const; + public const facebook::react::StubView& getRootStubView() const; + public const facebook::react::StubView& getStubView(facebook::react::Tag tag) const; + public size_t size() const; + public std::vector takeMountingLogs(); + public void dispatchCommand(const facebook::react::ShadowView& shadowView, const std::string& commandName, const folly::dynamic& args); + public void mutate(const facebook::react::ShadowViewMutationList& mutations); +} + +class facebook::react::StyleAnimatedNode : public facebook::react::AnimatedNode { + public StyleAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public bool isLayoutStyleUpdated() const noexcept; + public void collectViewUpdates(folly::dynamic& props); +} + +class facebook::react::SubtractionAnimatedNode : public facebook::react::OperatorAnimatedNode { + public SubtractionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::SurfaceHandler { + public SurfaceHandler(const facebook::react::SurfaceHandler& SurfaceHandler) noexcept = delete; + public SurfaceHandler(const std::string& moduleName, facebook::react::SurfaceId surfaceId) noexcept; + public SurfaceHandler(facebook::react::SurfaceHandler&& other) noexcept = delete; + public facebook::react::DisplayMode getDisplayMode() const noexcept; + public facebook::react::LayoutConstraints getLayoutConstraints() const noexcept; + public facebook::react::LayoutContext getLayoutContext() const noexcept; + public facebook::react::Size measure(const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; + public facebook::react::SurfaceHandler& operator=(const facebook::react::SurfaceHandler& other) noexcept = delete; + public facebook::react::SurfaceHandler& operator=(facebook::react::SurfaceHandler&& other) noexcept = delete; + public facebook::react::SurfaceHandler::Status getStatus() const noexcept; + public facebook::react::SurfaceId getSurfaceId() const noexcept; + public folly::dynamic getProps() const noexcept; + public std::shared_ptr getMountingCoordinator() const noexcept; + public std::string getModuleName() const noexcept; + public virtual void setDisplayMode(facebook::react::DisplayMode displayMode) const noexcept; + public virtual ~SurfaceHandler() noexcept; + public void constraintLayout(const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; + public void setContextContainer(std::shared_ptr contextContainer) const noexcept; + public void setProps(const folly::dynamic& props) const noexcept; + public void setSurfaceId(facebook::react::SurfaceId surfaceId) const noexcept; + public void start() const noexcept; + public void stop() const noexcept; +} + +enum facebook::react::SurfaceHandler::Status { + Registered, + Running, + Unregistered, +} + +class facebook::react::SurfaceManager { + public SurfaceManager(const facebook::react::Scheduler& scheduler) noexcept; + public bool isSurfaceRunning(facebook::react::SurfaceId surfaceId) const noexcept; + public facebook::react::Size measureSurface(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const noexcept; + public std::optional getSurfaceProps(facebook::react::SurfaceId surfaceId) const noexcept; + public std::shared_ptr findMountingCoordinator(facebook::react::SurfaceId surfaceId) const noexcept; + public std::unordered_set getRunningSurfaces() const noexcept; + public void constraintSurfaceLayout(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const noexcept; + public void startSurface(facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& props, const facebook::react::LayoutConstraints& layoutConstraints = {}, const facebook::react::LayoutContext& layoutContext = {}) noexcept; + public void stopAllSurfaces() noexcept; + public void stopSurface(facebook::react::SurfaceId surfaceId) noexcept; + public ~SurfaceManager() noexcept; +} + +struct facebook::react::SurfaceManager::SurfaceProps { + public facebook::react::LayoutConstraints layoutConstraints; + public facebook::react::LayoutContext layoutContext; + public facebook::react::SurfaceId surfaceId; + public folly::dynamic props; + public std::string moduleName; +} + +class facebook::react::SurfaceTelemetry { + public facebook::react::TelemetryDuration getCommitTime() const; + public facebook::react::TelemetryDuration getDiffTime() const; + public facebook::react::TelemetryDuration getLayoutTime() const; + public facebook::react::TelemetryDuration getMountTime() const; + public facebook::react::TelemetryDuration getTextMeasureTime() const; + public int getLastRevisionNumber() const; + public int getNumberOfMutations() const; + public int getNumberOfTextMeasurements() const; + public int getNumberOfTransactions() const; + public static constexpr size_t kMaxNumberOfRecordedCommitTelemetries; + public std::vector getRecentTransactionTelemetries() const; + public void incorporate(const facebook::react::TransactionTelemetry& telemetry, int numberOfMutations); +} + +class facebook::react::SwitchComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public SwitchComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); + public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; +} + +class facebook::react::SwitchShadowNode : public facebook::react::ConcreteViewShadowNode { + public SwitchShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public SwitchShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; +} + +class facebook::react::TaskPriorityComparer { + public bool operator()(const std::shared_ptr& lhs, const std::shared_ptr& rhs); +} + +class facebook::react::TelemetryController { + public bool pullTransaction(const facebook::react::MountingTransactionCallback& willMount, const facebook::react::MountingTransactionCallback& doMount, const facebook::react::MountingTransactionCallback& didMount) const; +} + +class facebook::react::TextAttributes : public facebook::react::DebugStringConvertible { + public Float fontSize; + public Float fontSizeMultiplier; + public Float letterSpacing; + public Float lineHeight; + public Float maxFontSizeMultiplier; + public Float opacity; + public Float textShadowRadius; + public bool operator==(const facebook::react::TextAttributes& rhs) const; + public facebook::react::SharedColor backgroundColor; + public facebook::react::SharedColor foregroundColor; + public facebook::react::SharedColor textDecorationColor; + public facebook::react::SharedColor textShadowColor; + public static facebook::react::TextAttributes defaultTextAttributes(); + public std::optional allowFontScaling; + public std::optional isHighlighted; + public std::optional isPressable; + public std::optional accessibilityRole; + public std::optional dynamicTypeRamp; + public std::optional fontStyle; + public std::optional fontVariant; + public std::optional fontWeight; + public std::optional layoutDirection; + public std::optional lineBreakMode; + public std::optional lineBreakStrategy; + public std::optional role; + public std::optional textShadowOffset; + public std::optional alignment; + public std::optional textDecorationLineType; + public std::optional textDecorationStyle; + public std::optional textTransform; + public std::optional baseWritingDirection; + public std::string fontFamily; + public void apply(facebook::react::TextAttributes textAttributes); +} + +class facebook::react::TextInputEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onBlur(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onContentSizeChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onEndEditing(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onFocus(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onKeyPress(const facebook::react::TextInputEventEmitter::KeyPressMetrics& keyPressMetrics) const; + public void onScroll(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onSelectionChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onSubmitEditing(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; +} + +struct facebook::react::TextInputEventEmitter::KeyPressMetrics { + public int eventCount; + public std::string text; +} + +struct facebook::react::TextInputEventEmitter::Metrics { + public Float zoomScale; + public facebook::react::AttributedString::Range selectionRange; + public facebook::react::EdgeInsets contentInset; + public facebook::react::Point contentOffset; + public facebook::react::Size containerSize; + public facebook::react::Size contentSize; + public facebook::react::Size layoutMeasurement; + public facebook::react::Tag target; + public int eventCount; + public std::string text; +} + +class facebook::react::TextInputState { + public TextInputState() = default; + public TextInputState(facebook::react::AttributedStringBox attributedStringBox, facebook::react::AttributedString reactTreeAttributedString, facebook::react::ParagraphAttributes paragraphAttributes, int64_t mostRecentEventCount); + public facebook::react::AttributedString reactTreeAttributedString; + public facebook::react::AttributedStringBox attributedStringBox; + public facebook::react::ParagraphAttributes paragraphAttributes; + public int64_t mostRecentEventCount; +} + +class facebook::react::TextMeasureCacheKey { + public facebook::react::AttributedString attributedString; + public facebook::react::LayoutConstraints layoutConstraints; + public facebook::react::ParagraphAttributes paragraphAttributes; +} + +class facebook::react::TextMeasurement { + public facebook::react::Size size; + public facebook::react::TextMeasurement::Attachments attachments; + public using Attachments = std::vector; +} + +class facebook::react::TextMeasurement::Attachment { + public bool isClipped; + public facebook::react::Rect frame; +} + +class facebook::react::TextProps : public facebook::react::Props, public facebook::react::BaseTextProps { + public TextProps() = default; + public TextProps(const facebook::react::PropsParserContext& context, const facebook::react::TextProps& sourceProps, const facebook::react::RawProps& rawProps); + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::TextShadowNode : public facebook::react::ConcreteShadowNode, public facebook::react::BaseTextShadowNode { + public static facebook::react::ShadowNodeTraits BaseTraits(); +} + +class facebook::react::TimerManager { + public TimerManager(const facebook::react::TimerManager&) = delete; + public TimerManager(facebook::react::TimerManager&&) = delete; + public TimerManager(std::unique_ptr platformTimerRegistry) noexcept; + public facebook::react::TimerManager& operator=(const facebook::react::TimerManager&) = delete; + public facebook::react::TimerManager& operator=(facebook::react::TimerManager&&) = delete; + public void attachGlobals(facebook::jsi::Runtime& runtime); + public void callTimer(facebook::react::TimerHandle handle); + public void quit(); + public void setRuntimeExecutor(facebook::react::RuntimeExecutor runtimeExecutor) noexcept; + public ~TimerManager() noexcept; +} + +class facebook::react::TouchEventEmitter : public facebook::react::EventEmitter { + public TouchEventEmitter(facebook::react::SharedEventTarget eventTarget, facebook::react::EventDispatcher::Weak eventDispatcher); + public void onClick(facebook::react::PointerEvent event) const; + public void onGotPointerCapture(facebook::react::PointerEvent event) const; + public void onLostPointerCapture(facebook::react::PointerEvent event) const; + public void onPointerCancel(facebook::react::PointerEvent event) const; + public void onPointerDown(facebook::react::PointerEvent event) const; + public void onPointerEnter(facebook::react::PointerEvent event) const; + public void onPointerLeave(facebook::react::PointerEvent event) const; + public void onPointerMove(facebook::react::PointerEvent event) const; + public void onPointerOut(facebook::react::PointerEvent event) const; + public void onPointerOver(facebook::react::PointerEvent event) const; + public void onPointerUp(facebook::react::PointerEvent event) const; + public void onTouchCancel(facebook::react::TouchEvent event) const; + public void onTouchEnd(facebook::react::TouchEvent event) const; + public void onTouchMove(facebook::react::TouchEvent event) const; + public void onTouchStart(facebook::react::TouchEvent event) const; +} + +class facebook::react::TrackingAnimatedNode : public facebook::react::AnimatedNode { + public TrackingAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::TransactionTelemetry { + public TransactionTelemetry(); + public TransactionTelemetry(std::function now); + public facebook::react::TelemetryDuration getTextMeasureTime() const; + public facebook::react::TelemetryTimePoint getCommitEndTime() const; + public facebook::react::TelemetryTimePoint getCommitStartTime() const; + public facebook::react::TelemetryTimePoint getDiffEndTime() const; + public facebook::react::TelemetryTimePoint getDiffStartTime() const; + public facebook::react::TelemetryTimePoint getLayoutEndTime() const; + public facebook::react::TelemetryTimePoint getLayoutStartTime() const; + public facebook::react::TelemetryTimePoint getMountEndTime() const; + public facebook::react::TelemetryTimePoint getMountStartTime() const; + public int getAffectedLayoutNodesCount() const; + public int getNumberOfTextMeasurements() const; + public int getRevisionNumber() const; + public static facebook::react::TransactionTelemetry* threadLocalTelemetry(); + public void didCommit(); + public void didDiff(); + public void didLayout(); + public void didLayout(int affectedLayoutNodesCount); + public void didMeasureText(); + public void didMount(); + public void setAsThreadLocal(); + public void setRevisionNumber(int revisionNumber); + public void unsetAsThreadLocal(); + public void willCommit(); + public void willDiff(); + public void willLayout(); + public void willMeasureText(); + public void willMount(); +} + +class facebook::react::TransformAnimatedNode : public facebook::react::AnimatedNode { + public TransformAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public void collectViewUpdates(folly::dynamic& props); +} + +class facebook::react::TurboModule : public facebook::jsi::HostObject { + protected const std::string name_; + protected std::shared_ptr jsInvoker_; + protected std::unordered_map methodMap_; + protected std::unordered_map> eventEmitterMap_; + protected using ArgFactory = std::function& args)>; + protected virtual facebook::jsi::Value create(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& propName); + protected void emitDeviceEvent(const std::string& eventName, facebook::react::TurboModule::ArgFactory&& argFactory = nullptr); + protected void emitDeviceEvent(facebook::jsi::Runtime&, const std::string& eventName, facebook::react::TurboModule::ArgFactory&& argFactory = nullptr); + public TurboModule(std::string name, std::shared_ptr jsInvoker); + public virtual facebook::jsi::Value get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& propName) override; + public virtual std::vector getPropertyNames(facebook::jsi::Runtime& runtime) override; +} + +struct facebook::react::TurboModule::MethodMetadata { + public facebook::jsi::Value(*invoker)(facebook::jsi::Runtime &rt, facebook::react::TurboModule &turboModule, const facebook::jsi::Value *args, size_t count); + public size_t argCount; +} + +class facebook::react::TurboModuleBinding { + public static void install(facebook::jsi::Runtime& runtime, TurboModuleProviderFunctionType&& moduleProvider, TurboModuleProviderFunctionType&& legacyModuleProvider = nullptr, std::shared_ptr longLivedObjectCollection = nullptr); + public static void install(facebook::jsi::Runtime& runtime, facebook::react::TurboModuleProviderFunctionTypeWithRuntime&& moduleProvider, facebook::react::TurboModuleProviderFunctionTypeWithRuntime&& legacyModuleProvider = nullptr, std::shared_ptr longLivedObjectCollection = nullptr); + public ~TurboModuleBinding(); +} + +class facebook::react::TurboModuleWithJSIBindings { + public static void installJSIBindings(const std::shared_ptr& cxxModule, facebook::jsi::Runtime& runtime); + public virtual ~TurboModuleWithJSIBindings() = default; +} + +class facebook::react::UIManager : public facebook::react::ShadowTreeDelegate { + public UIManager(const facebook::react::RuntimeExecutor& runtimeExecutor, std::shared_ptr contextContainer); + public const facebook::react::ShadowTreeRegistry& getShadowTreeRegistry() const; + public facebook::react::LayoutMetrics getRelativeLayoutMetrics(const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode* ancestorShadowNode, facebook::react::LayoutableShadowNode::LayoutInspectingPolicy policy) const; + public facebook::react::ShadowTree::Unique stopSurface(facebook::react::SurfaceId surfaceId) const; + public facebook::react::ShadowTreeRevisionConsistencyManager* getShadowTreeRevisionConsistencyManager(); + public facebook::react::ShadowTreeRevisionProvider* getShadowTreeRevisionProvider(); + public facebook::react::UIManagerDelegate* getDelegate(); + public facebook::react::UIManagerViewTransitionDelegate* getViewTransitionDelegate() const; + public std::shared_ptr getContextContainer() const; + public std::shared_ptr findNodeAtPoint(const std::shared_ptr& shadowNode, facebook::react::Point point) const; + public std::shared_ptr findShadowNodeByTag_DEPRECATED(facebook::react::Tag tag) const; + public std::shared_ptr getNewestCloneOfShadowNode(const facebook::react::ShadowNode& shadowNode) const; + public std::shared_ptr cloneNode(const facebook::react::ShadowNode& shadowNode, const std::shared_ptr>>& children, facebook::react::RawProps rawProps) const; + public std::shared_ptr createNode(facebook::react::Tag tag, const std::string& componentName, facebook::react::SurfaceId surfaceId, facebook::react::RawProps props, facebook::react::InstanceHandle::Shared instanceHandle) const; + public std::weak_ptr unstable_getAnimationBackend(); + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTree::CommitOptions& commitOptions) const override; + public virtual void shadowTreeDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) const override; + public virtual void shadowTreeDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) const override; + public virtual void shadowTreeDidPromoteReactRevision(const facebook::react::ShadowTree& shadowTree) const override; + public void addEventListener(std::shared_ptr listener); + public void animationTick() const; + public void appendChild(const std::shared_ptr& parentShadowNode, const std::shared_ptr& childShadowNode) const; + public void completeSurface(facebook::react::SurfaceId surfaceId, const std::shared_ptr>>& rootChildren, facebook::react::ShadowTree::CommitOptions commitOptions); + public void dispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) const; + public void registerCommitHook(facebook::react::UIManagerCommitHook& commitHook); + public void registerMountHook(facebook::react::UIManagerMountHook& mountHook); + public void removeEventListener(const std::shared_ptr& listener); + public void reportMount(facebook::react::SurfaceId surfaceId) const; + public void sendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType); + public void setAnimationDelegate(facebook::react::UIManagerAnimationDelegate* delegate); + public void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry); + public void setDelegate(facebook::react::UIManagerDelegate* delegate); + public void setIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) const; + public void setNativeAnimatedDelegate(std::weak_ptr delegate); + public void setNativeProps_DEPRECATED(const std::shared_ptr& shadowNode, facebook::react::RawProps rawProps) const; + public void setOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback); + public void setSurfaceProps(facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& props, facebook::react::DisplayMode displayMode) const noexcept; + public void setViewTransitionDelegate(facebook::react::UIManagerViewTransitionDelegate* delegate); + public void startEmptySurface(facebook::react::ShadowTree::Unique&& shadowTree) const noexcept; + public void startSurface(facebook::react::ShadowTree::Unique&& shadowTree, const std::string& moduleName, const folly::dynamic& props, facebook::react::DisplayMode displayMode) const noexcept; + public void stopSurfaceForAnimationDelegate(facebook::react::SurfaceId surfaceId) const; + public void synchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props); + public void unregisterCommitHook(facebook::react::UIManagerCommitHook& commitHook); + public void unregisterMountHook(facebook::react::UIManagerMountHook& mountHook); + public void unstable_setAnimationBackend(std::shared_ptr animationBackend); + public void updateShadowTree(std::unordered_map&& tagToProps); + public void updateState(const facebook::react::StateUpdate& stateUpdate) const; + public void visitBinding(const std::function& callback, facebook::jsi::Runtime& runtime) const; + public ~UIManager() override; +} + +class facebook::react::UIManagerAnimationBackend { + public using Callback = std::function; + public virtual facebook::react::CallbackId start(const facebook::react::UIManagerAnimationBackend::Callback& callback) = 0; + public virtual void clearRegistry(facebook::react::SurfaceId surfaceId) = 0; + public virtual void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) = 0; + public virtual void registerJSInvoker(std::shared_ptr jsInvoker) = 0; + public virtual void stop(facebook::react::CallbackId callbackId) = 0; + public virtual void trigger() = 0; + public virtual ~UIManagerAnimationBackend() = default; +} + +class facebook::react::UIManagerAnimationDelegate { + public virtual bool shouldAnimateFrame() const = 0; + public virtual void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry) = 0; + public virtual void stopSurface(facebook::react::SurfaceId surfaceId) = 0; + public virtual void uiManagerDidConfigureNextLayoutAnimation(facebook::jsi::Runtime& runtime, const facebook::react::RawValue& config, const facebook::jsi::Value& successCallback, const facebook::jsi::Value& failureCallback) const = 0; + public virtual ~UIManagerAnimationDelegate() = default; +} + +class facebook::react::UIManagerBinding : public facebook::jsi::HostObject { + public UIManagerBinding(std::shared_ptr uiManager); + public facebook::react::PointerEventsProcessor& getPointerEventsProcessor(); + public facebook::react::UIManager& getUIManager(); + public static std::shared_ptr getBinding(facebook::jsi::Runtime& runtime); + public static void createAndInstallIfNeeded(facebook::jsi::Runtime& runtime, const std::shared_ptr& uiManager); + public virtual facebook::jsi::Value get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) override; + public void dispatchEvent(facebook::jsi::Runtime& runtime, facebook::react::EventTarget* eventTarget, const std::string& type, facebook::react::ReactEventPriority priority, const facebook::react::EventPayload& payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void invalidate() const; + public ~UIManagerBinding() override; +} + +class facebook::react::UIManagerCommitHook { + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions&) noexcept; + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree&, const facebook::react::RootShadowNode::Shared&, const facebook::react::RootShadowNode::Unshared& newRootShadowNode) noexcept; + public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept = 0; + public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept = 0; + public virtual ~UIManagerCommitHook() noexcept = default; +} + +class facebook::react::UIManagerDelegate { + public using OnSurfaceStartCallback = std::function; + public virtual void uiManagerDidCreateShadowNode(const facebook::react::ShadowNode& shadowNode) = 0; + public virtual void uiManagerDidDispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) = 0; + public virtual void uiManagerDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) = 0; + public virtual void uiManagerDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) = 0; + public virtual void uiManagerDidPromoteReactRevision(const facebook::react::ShadowTree& shadowTree) = 0; + public virtual void uiManagerDidSendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType) = 0; + public virtual void uiManagerDidSetIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) = 0; + public virtual void uiManagerDidStartSurface(const facebook::react::ShadowTree& shadowTree) = 0; + public virtual void uiManagerDidUpdateShadowTree(const std::unordered_map& tagToProps) = 0; + public virtual void uiManagerShouldAddEventListener(std::shared_ptr listener) = 0; + public virtual void uiManagerShouldRemoveEventListener(const std::shared_ptr& listener) = 0; + public virtual void uiManagerShouldSetOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback) = 0; + public virtual void uiManagerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) = 0; + public virtual ~UIManagerDelegate() noexcept = default; +} + +class facebook::react::UIManagerMountHook { + public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp mountTime) noexcept = 0; + public virtual void shadowTreeDidUnmount(facebook::react::SurfaceId, facebook::react::HighResTimeStamp) noexcept; + public virtual ~UIManagerMountHook() noexcept = default; +} + +class facebook::react::UIManagerNativeAnimatedDelegate { + public virtual void runAnimationFrame() = 0; + public virtual ~UIManagerNativeAnimatedDelegate() = default; +} + +class facebook::react::UIManagerNativeAnimatedDelegateImpl : public facebook::react::UIManagerNativeAnimatedDelegate { + public UIManagerNativeAnimatedDelegateImpl(std::weak_ptr manager); + public virtual void runAnimationFrame() override; +} + +class facebook::react::UIManagerViewTransitionDelegate { + public virtual std::optional getViewTransitionInstance(const std::string& name, const std::string& pseudo); + public virtual void applyViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name, const std::string& className); + public virtual void cancelViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name); + public virtual void restoreViewTransitionName(const facebook::react::ShadowNode& shadowNode); + public virtual void startViewTransition(std::function mutationCallback, std::function onReadyCallback, std::function onCompleteCallback); + public virtual void startViewTransitionEnd(); + public virtual ~UIManagerViewTransitionDelegate() = default; +} + +struct facebook::react::UIManagerViewTransitionDelegate::ViewTransitionInstance { + public Float height; + public Float width; + public Float x; + public Float y; + public facebook::react::Tag nativeTag; +} + +class facebook::react::UnimplementedViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public UnimplementedViewComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public virtual facebook::react::ComponentHandle getComponentHandle() const override; + public virtual facebook::react::ComponentName getComponentName() const override; + public virtual facebook::react::Props::Shared cloneProps(const facebook::react::PropsParserContext& context, const facebook::react::Props::Shared& props, facebook::react::RawProps rawProps) const override; +} + +class facebook::react::UnimplementedViewProps : public facebook::react::HostPlatformViewProps { + public facebook::react::ComponentName getComponentName() const; + public void setComponentName(facebook::react::ComponentName componentName); +} + +class facebook::react::UnstableLegacyViewManagerAutomaticComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public UnstableLegacyViewManagerAutomaticComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public UnstableLegacyViewManagerAutomaticComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, std::string legacyComponentName); + public virtual facebook::react::ComponentHandle getComponentHandle() const override; + public virtual facebook::react::ComponentName getComponentName() const override; +} + +class facebook::react::ValueAnimatedNode : public facebook::react::AnimatedNode { + protected bool isColorValue_; + public ValueAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public bool getIsColorValue() const noexcept; + public bool setOffset(double offset) noexcept; + public bool setRawValue(double value) noexcept; + public double getOffset() const noexcept; + public double getRawValue() const noexcept; + public double getValue() const noexcept; + public void extractOffset() noexcept; + public void flattenOffset() noexcept; + public void setValueListener(facebook::react::ValueListenerCallback&& callback) noexcept; +} + +class facebook::react::ValueFactoryEventPayload : public facebook::react::EventPayload { + public ValueFactoryEventPayload(facebook::react::ValueFactory factory); + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; + public virtual facebook::react::EventPayloadType getType() const override; +} + +class facebook::react::ViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public ViewComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); +} + +class facebook::react::ViewShadowNode : public facebook::react::ConcreteViewShadowNode { + public ViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); +} + +class facebook::react::ViewShadowNodeProps : public facebook::react::HostPlatformViewProps { + public ViewShadowNodeProps() = default; + public ViewShadowNodeProps(const facebook::react::PropsParserContext& context, const facebook::react::ViewShadowNodeProps& sourceProps, const facebook::react::RawProps& rawProps); +} + +class facebook::react::ViewTransitionModule : public facebook::react::UIManagerViewTransitionDelegate { + public virtual std::optional getViewTransitionInstance(const std::string& name, const std::string& pseudo) override; + public virtual void applyViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name, const std::string& className) override; + public virtual void cancelViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name) override; + public virtual void restoreViewTransitionName(const facebook::react::ShadowNode& shadowNode) override; + public virtual void startViewTransition(std::function mutationCallback, std::function onReadyCallback, std::function onCompleteCallback) override; + public virtual void startViewTransitionEnd() override; + public void setUIManager(facebook::react::UIManager* uiManager); + public ~ViewTransitionModule() override = default; +} + +struct facebook::react::ViewTransitionModule::AnimationKeyFrameView { + public facebook::react::SurfaceId surfaceId; + public facebook::react::Tag tag; + public facebook::react::ViewTransitionModule::AnimationKeyFrameViewLayoutMetrics layoutMetrics; +} + +struct facebook::react::ViewTransitionModule::AnimationKeyFrameViewLayoutMetrics { + public Float pointScaleFactor; + public facebook::react::Point originFromRoot; + public facebook::react::Size size; +} + +class facebook::react::VirtualViewShadowNode : public facebook::react::ConcreteViewShadowNode { + public VirtualViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public VirtualViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); +} + +class facebook::react::WeakFamilyRegistry { + public facebook::react::WeakFamilyRegistry::WeakFamilies weakFamiliesForSurfaceId(facebook::react::SurfaceId surfaceId) const; + public using WeakFamilies = std::vector; + public void add(const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily) const; + public void removeFamiliesWithSurfaceId(facebook::react::SurfaceId surfaceId) const; +} + +class facebook::react::YogaLayoutableShadowNode : public facebook::react::LayoutableShadowNode { + protected facebook::yoga::Config yogaConfig_; + protected mutable facebook::yoga::Node yogaNode_; + protected virtual bool shouldNewRevisionDirtyMeasurement(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) const; + public YogaLayoutableShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public YogaLayoutableShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public facebook::react::Rect getContentBounds() const; + public using ListOfShared = std::vector; + public using Shared = std::shared_ptr; + public virtual bool getIsLayoutClean() const override; + public virtual void appendChild(const std::shared_ptr& child) override; + public virtual void completeClone(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) override; + public virtual void dirtyLayout() override; + public virtual void layout(facebook::react::LayoutContext layoutContext) override; + public virtual void layoutTree(facebook::react::LayoutContext layoutContext, facebook::react::LayoutConstraints layoutConstraints) override; + public virtual void replaceChild(const facebook::react::ShadowNode& oldChild, const std::shared_ptr& newChild, size_t suggestedIndex = SIZE_MAX) override; + public void enableMeasurement(); + public void setPadding(facebook::react::RectangleEdges padding) const; + public void setPositionType(YGPositionType positionType) const; + public void setSize(facebook::react::Size size) const; + public void updateYogaChildren(); + public void updateYogaProps(); +} + +class facebook::react::YogaStylableProps : public facebook::react::Props { + public YogaStylableProps() = default; + public YogaStylableProps(const facebook::react::PropsParserContext& context, const facebook::react::YogaStylableProps& sourceProps, const facebook::react::RawProps& rawProps, const std::function& filterObjectKeys = nullptr); + public facebook::yoga::Style yogaStyle; + public facebook::yoga::Style::Length insetBlockEnd; + public facebook::yoga::Style::Length insetBlockStart; + public facebook::yoga::Style::Length insetInlineEnd; + public facebook::yoga::Style::Length insetInlineStart; + public facebook::yoga::Style::Length marginBlock; + public facebook::yoga::Style::Length marginBlockEnd; + public facebook::yoga::Style::Length marginBlockStart; + public facebook::yoga::Style::Length marginInline; + public facebook::yoga::Style::Length marginInlineEnd; + public facebook::yoga::Style::Length marginInlineStart; + public facebook::yoga::Style::Length paddingBlock; + public facebook::yoga::Style::Length paddingBlockEnd; + public facebook::yoga::Style::Length paddingBlockStart; + public facebook::yoga::Style::Length paddingInline; + public facebook::yoga::Style::Length paddingInlineEnd; + public facebook::yoga::Style::Length paddingInlineStart; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +enum facebook::react::AccessibilityLiveRegion : uint8_t { + Assertive, + None, + Polite, +} + +enum facebook::react::AccessibilityRole : uint8_t { + Adjustable, + Alert, + Button, + Checkbox, + Combobox, + Drawerlayout, + Dropdownlist, + Grid, + Header, + Horizontalscrollview, + Iconmenu, + Image, + Imagebutton, + Keyboardkey, + Link, + List, + Menu, + Menubar, + Menuitem, + None, + Pager, + Progressbar, + Radio, + Radiogroup, + Scrollbar, + Scrollview, + Search, + Slidingdrawer, + Spinbutton, + Summary, + Switch, + Tab, + Tabbar, + Tablist, + Text, + Timer, + Togglebutton, + Toolbar, + Viewgroup, + Webview, +} + +enum facebook::react::AccessibilityTraits : uint32_t { + Adjustable, + AllowsDirectInteraction, + Button, + CausesPageTurn, + Header, + Image, + KeyboardKey, + Link, + None, + NotEnabled, + PlaysSound, + SearchField, + Selected, + StartsMediaSession, + StaticText, + SummaryElement, + Switch, + TabBar, + UpdatesFrequently, +} + +enum facebook::react::AnimatedNodeType { + Addition, + Color, + Diffclamp, + Division, + Interpolation, + Modulus, + Multiplication, + Object, + Props, + Round, + Style, + Subtraction, + Tracking, + Transform, + Value, +} + +enum facebook::react::AnimationConfigurationType { + Create, + Delete, + Update, +} + +enum facebook::react::AnimationDriverType { + Decay, + Frames, + Spring, +} + +enum facebook::react::AnimationProperty { + NotApplicable, + Opacity, + ScaleX, + ScaleXY, + ScaleY, +} + +enum facebook::react::AnimationType { + EaseIn, + EaseInEaseOut, + EaseOut, + Keyboard, + Linear, + None, + Spring, +} + +enum facebook::react::BackfaceVisibility : uint8_t { + Auto, + Hidden, + Visible, +} + +enum facebook::react::BackgroundRepeatStyle { + NoRepeat, + Repeat, + Round, + Space, +} + +enum facebook::react::BackgroundSizeKeyword { + Contain, + Cover, +} + +enum facebook::react::BlendMode { + Color, + ColorBurn, + ColorDodge, + Darken, + Difference, + Exclusion, + HardLight, + Hue, + Lighten, + Luminosity, + Multiply, + Normal, + Overlay, + Saturation, + Screen, + SoftLight, +} + +enum facebook::react::BorderCurve : uint8_t { + Circular, + Continuous, +} + +enum facebook::react::BorderStyle : uint8_t { + Dashed, + Dotted, + Solid, +} + +enum facebook::react::CSSAngleUnit : uint8_t { + Deg, + Grad, + Rad, + Turn, +} + +enum facebook::react::CSSDelimiter { + Comma, + CommaOrWhitespace, + None, + OptionalWhitespace, + Solidus, + SolidusOrWhitespace, + Whitespace, +} + +enum facebook::react::CSSFontVariant : std::underlying_type_t { + CommonLigatures, + Contextual, + DiscretionaryLigatures, + HistoricalLigatures, + LiningNums, + NoCommonLigatures, + NoContextual, + NoDiscretionaryLigatures, + NoHistoricalLigatures, + OldstyleNums, + ProportionalNums, + SmallCaps, + StylisticEight, + StylisticEighteen, + StylisticEleven, + StylisticFifteen, + StylisticFive, + StylisticFour, + StylisticFourteen, + StylisticNine, + StylisticNineteen, + StylisticOne, + StylisticSeven, + StylisticSeventeen, + StylisticSix, + StylisticSixteen, + StylisticTen, + StylisticThirteen, + StylisticThree, + StylisticTwelve, + StylisticTwenty, + StylisticTwo, + TabularNums, +} + +enum facebook::react::CSSGradientAtKeyword : std::underlying_type_t { + At, +} + +enum facebook::react::CSSGradientDirectionKeyword : std::underlying_type_t { + Bottom, + Left, + Right, + Top, +} + +enum facebook::react::CSSGradientPositionKeyword : std::underlying_type_t { + Bottom, + Center, + Left, + Right, + Top, +} + +enum facebook::react::CSSGradientToKeyword : std::underlying_type_t { + To, +} + +enum facebook::react::CSSInsetShadowKeyword : std::underlying_type_t { + Inset, +} + +enum facebook::react::CSSKeyword : uint8_t { + Absolute, + At, + Auto, + Baseline, + Block, + Bottom, + Center, + Clip, + Column, + ColumnReverse, + CommonLigatures, + Content, + Contents, + Contextual, + Dashed, + DiscretionaryLigatures, + Dotted, + Double, + End, + Fixed, + Flex, + FlexEnd, + FlexStart, + Grid, + Groove, + Hidden, + HistoricalLigatures, + Inherit, + Initial, + Inline, + InlineBlock, + InlineFlex, + InlineGrid, + Inset, + Left, + LiningNums, + Ltr, + MaxContent, + Medium, + MinContent, + NoCommonLigatures, + NoContextual, + NoDiscretionaryLigatures, + NoHistoricalLigatures, + NoWrap, + None, + Normal, + OldstyleNums, + Outset, + ProportionalNums, + Relative, + Ridge, + Right, + Row, + RowReverse, + Rtl, + Scroll, + SmallCaps, + Solid, + SpaceAround, + SpaceBetween, + SpaceEvenly, + Start, + Static, + Sticky, + Stretch, + StylisticEight, + StylisticEighteen, + StylisticEleven, + StylisticFifteen, + StylisticFive, + StylisticFour, + StylisticFourteen, + StylisticNine, + StylisticNineteen, + StylisticOne, + StylisticSeven, + StylisticSeventeen, + StylisticSix, + StylisticSixteen, + StylisticTen, + StylisticThirteen, + StylisticThree, + StylisticTwelve, + StylisticTwenty, + StylisticTwo, + TabularNums, + Thick, + Thin, + To, + Top, + Unset, + Visible, + Wrap, + WrapReverse, +} + +enum facebook::react::CSSLengthUnit : uint8_t { + Cap, + Ch, + Cm, + Dvb, + Dvh, + Dvi, + Dvmax, + Dvmin, + Dvw, + Em, + Ex, + Ic, + In, + Lh, + Lvb, + Lvh, + Lvi, + Lvmax, + Lvmin, + Lvw, + Mm, + Pc, + Pt, + Px, + Q, + Rcap, + Rch, + Rem, + Rex, + Ric, + Rlh, + Svb, + Svh, + Svi, + Svmax, + Svmin, + Svw, + Vb, + Vh, + Vi, + Vmax, + Vmin, + Vw, +} + +enum facebook::react::CSSLinearGradientDirectionKeyword : uint8_t { + ToBottomLeft, + ToBottomRight, + ToTopLeft, + ToTopRight, +} + +enum facebook::react::CSSRadialGradientShape : uint8_t { + Circle, + Ellipse, +} + +enum facebook::react::CSSRadialGradientSizeKeyword : uint8_t { + ClosestCorner, + ClosestSide, + FarthestCorner, + FarthestSide, +} + +enum facebook::react::CSSTokenType { + CloseCurly, + CloseParen, + CloseSquare, + Comma, + Delim, + Dimension, + EndOfFile, + Function, + Hash, + Ident, + Number, + OpenCurly, + OpenParen, + OpenSquare, + Percentage, + WhiteSpace, +} + +enum facebook::react::CSSTransformOriginKeyword : std::underlying_type_t { + Bottom, + Center, + Left, + Right, + Top, +} + +enum facebook::react::CSSWideKeyword : std::underlying_type_t { + Inherit, + Initial, + Unset, +} + +enum facebook::react::ColorSpace { + DisplayP3, + sRGB, +} + +enum facebook::react::ContentInsetAdjustmentBehavior { + Always, + Automatic, + Never, + ScrollableAxes, +} + +enum facebook::react::Cursor : uint8_t { + Alias, + AllScroll, + Auto, + Cell, + ColResize, + ContextMenu, + Copy, + Crosshair, + Default, + EResize, + EWResize, + Grab, + Grabbing, + Help, + Move, + NEResize, + NESWResize, + NResize, + NSResize, + NWResize, + NWSEResize, + NoDrop, + None, + NotAllowed, + Pointer, + Progress, + RowResize, + SEResize, + SResize, + SWResize, + Text, + Url, + WResize, + Wait, + ZoomIn, + ZoomOut, +} + +enum facebook::react::DisplayMode { + Hidden, + Suspended, + Visible, +} + +enum facebook::react::DisplayType { + Contents, + Flex, + Grid, + None, +} + +enum facebook::react::DynamicTypeRamp { + Body, + Callout, + Caption1, + Caption2, + Footnote, + Headline, + LargeTitle, + Subheadline, + Title1, + Title2, + Title3, +} + +enum facebook::react::EllipsizeMode { + Clip, + Head, + Middle, + Tail, +} + +enum facebook::react::EventPayloadType { + PointerEvent, + ScrollEvent, + ValueFactory, +} + +enum facebook::react::FilterType { + Blur, + Brightness, + Contrast, + DropShadow, + Grayscale, + HueRotate, + Invert, + Opacity, + Saturate, + Sepia, +} + +enum facebook::react::FontStyle { + Italic, + Normal, + Oblique, +} + +enum facebook::react::FontVariant : int { + Default, + LiningNums, + OldstyleNums, + ProportionalNums, + SmallCaps, + StylisticEight, + StylisticEighteen, + StylisticEleven, + StylisticFifteen, + StylisticFive, + StylisticFour, + StylisticFourteen, + StylisticNine, + StylisticNineteen, + StylisticOne, + StylisticSeven, + StylisticSeventeen, + StylisticSix, + StylisticSixteen, + StylisticTen, + StylisticThirteen, + StylisticThree, + StylisticTwelve, + StylisticTwenty, + StylisticTwo, + TabularNums, +} + +enum facebook::react::FontWeight : int { + Black, + Bold, + Demibold, + Heavy, + Light, + Medium, + Regular, + Semibold, + Thin, + UltraLight, + Weight100, + Weight200, + Weight300, + Weight400, + Weight500, + Weight600, + Weight700, + Weight800, + Weight900, +} + +enum facebook::react::GradientDirectionType { + Angle, + Keyword, +} + +enum facebook::react::GradientKeyword : uint8_t { + ToBottomLeft, + ToBottomRight, + ToTopLeft, + ToTopRight, +} + +enum facebook::react::HyphenationFrequency { + Full, + None, + Normal, +} + +enum facebook::react::ImageResizeMode : int8_t { + Center, + Contain, + Cover, + None, + Repeat, + Stretch, +} + +enum facebook::react::ImportantForAccessibility : uint8_t { + Auto, + No, + NoHideDescendants, + Yes, +} + +enum facebook::react::Isolation { + Auto, + Isolate, +} + +enum facebook::react::LayoutConformance : uint8_t { + Compatibility, + Strict, +} + +enum facebook::react::LayoutDirection { + LeftToRight, + RightToLeft, + Undefined, +} + +enum facebook::react::LineBreakMode { + Char, + Clip, + Head, + Middle, + Tail, + Word, +} + +enum facebook::react::LineBreakStrategy { + HangulWordPriority, + None, + PushOut, + Standard, +} + +enum facebook::react::NullValueStrategy { + Ignore, + Override, +} + +enum facebook::react::OutlineStyle : uint8_t { + Dashed, + Dotted, + Solid, +} + +enum facebook::react::PerformanceEntryType { + EVENT, + LONGTASK, + MARK, + MEASURE, + RESOURCE, + _NEXT, +} + +enum facebook::react::PointerEventsMode : uint8_t { + Auto, + BoxNone, + BoxOnly, + None, +} + +enum facebook::react::PositionType { + Absolute, + Relative, + Static, +} + +enum facebook::react::PropName { + ALIGN_CONTENT, + ALIGN_ITEMS, + ALIGN_SELF, + ASPECT_RATIO, + BACKFACE_VISIBILITY, + BACKGROUND_COLOR, + BORDER_COLOR, + BORDER_CURVES, + BORDER_RADII, + BORDER_STYLES, + BORDER_WIDTH, + BOX_SHADOW, + BOX_SIZING, + COLUMN_GAP, + CURSOR, + DIRECTION, + DISPLAY, + FILTER, + FLEX, + FLEX_BASIS, + FLEX_DIRECTION, + FLEX_GROW, + FLEX_SHRINK, + FLEX_WRAP, + HEIGHT, + ISOLATION, + JUSTIFY_CONTENT, + MARGIN, + MAX_HEIGHT, + MAX_WIDTH, + MIN_HEIGHT, + MIN_WIDTH, + MIX_BLEND_MODE, + OPACITY, + OUTLINE_COLOR, + OUTLINE_OFFSET, + OUTLINE_STYLE, + OUTLINE_WIDTH, + PADDING, + POINTER_EVENTS, + POSITION, + POSITION_TYPE, + ROW_GAP, + SHADOW_COLOR, + SHADOW_OFFSET, + SHADOW_OPACITY, + SHADOW_RADIUS, + STYLE_OVERFLOW, + TRANSFORM, + TRANSFORM_ORIGIN, + WIDTH, + Z_INDEX, +} + +enum facebook::react::RadialGradientShape { + Circle, + Ellipse, +} + +enum facebook::react::ReactEventPriority { + Continuous, + Default, + Discrete, + Idle, +} + +enum facebook::react::Role : uint8_t { + Alert, + Alertdialog, + Application, + Article, + Banner, + Button, + Cell, + Checkbox, + Columnheader, + Combobox, + Complementary, + Contentinfo, + Definition, + Dialog, + Directory, + Document, + Feed, + Figure, + Form, + Grid, + Group, + Heading, + Img, + Link, + List, + Listitem, + Log, + Main, + Marquee, + Math, + Menu, + Menubar, + Menuitem, + Meter, + Navigation, + None, + Note, + Option, + Presentation, + Progressbar, + Radio, + Radiogroup, + Region, + Row, + Rowgroup, + Rowheader, + Scrollbar, + Searchbox, + Separator, + Slider, + Spinbutton, + Status, + Summary, + Switch, + Tab, + Table, + Tablist, + Tabpanel, + Term, + Timer, + Toolbar, + Tooltip, + Tree, + Treegrid, + Treeitem, +} + +enum facebook::react::SchedulerPriority : int { + IdlePriority, + ImmediatePriority, + LowPriority, + NormalPriority, + UserBlockingPriority, +} + +enum facebook::react::ScriptTag { + RAMBundle, + String, +} + +enum facebook::react::ScrollViewIndicatorStyle { + Black, + Default, + White, +} + +enum facebook::react::ScrollViewKeyboardDismissMode { + Interactive, + None, + OnDrag, +} + +enum facebook::react::ScrollViewSnapToAlignment { + Center, + End, + Start, +} + +enum facebook::react::ShadowTreeCommitMode { + Normal, + Suspended, +} + +enum facebook::react::ShadowTreeCommitSource { + AnimationEndSync, + React, + ReactRevisionMerge, + Unknown, +} + +enum facebook::react::ShadowTreeCommitStatus { + Cancelled, + Failed, + Succeeded, +} + +enum facebook::react::SubmitBehavior { + BlurAndSubmit, + Default, + Newline, + Submit, +} + +enum facebook::react::TextAlignment { + Center, + Justified, + Left, + Natural, + Right, +} + +enum facebook::react::TextAlignmentVertical { + Auto, + Bottom, + Center, + Top, +} + +enum facebook::react::TextBreakStrategy { + Balanced, + HighQuality, + Simple, +} + +enum facebook::react::TextDecorationLineType { + None, + Strikethrough, + Underline, + UnderlineStrikethrough, +} + +enum facebook::react::TextDecorationStyle { + Dashed, + Dotted, + Double, + Solid, +} + +enum facebook::react::TextTransform { + Capitalize, + Lowercase, + None, + Unset, + Uppercase, +} + +enum facebook::react::TimerSource { + RequestAnimationFrame, + SetInterval, + SetTimeout, + Unknown, +} + +enum facebook::react::TransformOperationType : uint8_t { + Arbitrary, + Identity, + Perspective, + Rotate, + Scale, + Skew, + Translate, +} + +enum facebook::react::TurboModuleMethodValueKind { + ArrayKind, + BooleanKind, + FunctionKind, + NumberKind, + ObjectKind, + PromiseKind, + StringKind, + VoidKind, +} + +enum facebook::react::UnitType { + Percent, + Point, + Undefined, +} + +enum facebook::react::WritingDirection { + LeftToRight, + Natural, + RightToLeft, +} + +struct facebook::react::AbstractPerformanceEntry { + public facebook::react::HighResDuration duration; + public facebook::react::HighResTimeStamp startTime; + public std::string name; +} + +struct facebook::react::AccessibilityAction { + public std::optional label; + public std::string name; +} + +struct facebook::react::AccessibilityLabelledBy { + public std::vector value; +} + +struct facebook::react::AccessibilityState { + public bool busy; + public bool disabled; + public bool selected; + public facebook::react::AccessibilityState::CheckedState checked; + public std::optional expanded; +} + +enum facebook::react::AccessibilityState::CheckedState { + Checked, + Mixed, + None, + Unchecked, +} + +struct facebook::react::AccessibilityValue { + public std::optional max; + public std::optional min; + public std::optional now; + public std::optional text; +} + +struct facebook::react::ActivePointer { + public bool shouldLeaveWhenReleased; + public facebook::react::PointerEvent event; +} + +struct facebook::react::AnimatedPropBase { + public AnimatedPropBase(facebook::react::PropName propName); + public facebook::react::PropName propName; + public virtual ~AnimatedPropBase() = default; +} + +struct facebook::react::AnimatedProps { + public std::unique_ptr rawProps; + public std::vector> props; +} + +struct facebook::react::AnimatedPropsBuilder { + public facebook::react::AnimatedProps get(); + public std::unique_ptr rawProps; + public std::vector> props; + public void setAlignContent(facebook::yoga::Align value); + public void setAlignItems(facebook::yoga::Align value); + public void setAlignSelf(facebook::yoga::Align value); + public void setAspectRatio(facebook::yoga::FloatOptional value); + public void setBackfaceVisibility(facebook::react::BackfaceVisibility value); + public void setBackgroundColor(facebook::react::SharedColor value); + public void setBorderColor(facebook::react::CascadedBorderColors& value); + public void setBorderCurves(facebook::react::CascadedBorderCurves& value); + public void setBorderRadii(facebook::react::CascadedBorderRadii& value); + public void setBorderStyles(facebook::react::CascadedBorderStyles& value); + public void setBorderWidth(facebook::react::CascadedRectangleEdges& value); + public void setBoxShadow(const std::vector& value); + public void setBoxSizing(facebook::yoga::BoxSizing value); + public void setColumnGap(facebook::yoga::Style::Length value); + public void setCursor(facebook::react::Cursor value); + public void setDirection(facebook::yoga::Direction value); + public void setDisplay(facebook::yoga::Display value); + public void setFilter(const std::vector& value); + public void setFlex(facebook::yoga::FloatOptional value); + public void setFlexBasis(facebook::yoga::Style::SizeLength value); + public void setFlexDirection(facebook::yoga::FlexDirection value); + public void setFlexGrow(facebook::yoga::FloatOptional value); + public void setFlexShrink(facebook::yoga::FloatOptional value); + public void setFlexWrap(facebook::yoga::Wrap value); + public void setHeight(facebook::yoga::Style::SizeLength value); + public void setIsolation(facebook::react::Isolation value); + public void setJustifyContent(facebook::yoga::Justify value); + public void setMargin(facebook::react::CascadedRectangleEdges& value); + public void setMaxHeight(facebook::yoga::Style::SizeLength value); + public void setMaxWidth(facebook::yoga::Style::SizeLength value); + public void setMinHeight(facebook::yoga::Style::SizeLength value); + public void setMinWidth(facebook::yoga::Style::SizeLength value); + public void setMixBlendMode(facebook::react::BlendMode value); + public void setOpacity(Float value); + public void setOutlineColor(facebook::react::SharedColor value); + public void setOutlineOffset(Float value); + public void setOutlineStyle(facebook::react::OutlineStyle value); + public void setOutlineWidth(Float value); + public void setOverflow(facebook::yoga::Overflow value); + public void setPadding(facebook::react::CascadedRectangleEdges& value); + public void setPointerEvents(facebook::react::PointerEventsMode value); + public void setPosition(facebook::react::CascadedRectangleEdges& value); + public void setPositionType(facebook::yoga::PositionType value); + public void setRowGap(facebook::yoga::Style::Length value); + public void setShadowColor(facebook::react::SharedColor value); + public void setShadowOffset(facebook::react::Size value); + public void setShadowOpacity(Float value); + public void setShadowRadius(Float value); + public void setTransform(const facebook::react::Transform& t); + public void setTransformOrigin(const facebook::react::TransformOrigin& value); + public void setWidth(facebook::yoga::Style::SizeLength value); + public void setZIndex(std::optional value); + public void storeDynamic(folly::dynamic& d); + public void storeJSI(facebook::jsi::Runtime& runtime, facebook::jsi::Value& value); +} + +struct facebook::react::AnimationConfig { + public Float initialVelocity; + public Float springDamping; + public double delay; + public double duration; + public facebook::react::AnimationProperty animationProperty; + public facebook::react::AnimationType animationType; +} + +struct facebook::react::AnimationKeyFrame { + public bool generateFinalSyntheticMutations; + public bool invalidated; + public double initialProgress; + public facebook::react::AnimationConfigurationType type; + public facebook::react::ShadowView viewEnd; + public facebook::react::ShadowView viewPrev; + public facebook::react::ShadowView viewStart; + public facebook::react::Tag parentTag; + public facebook::react::Tag tag; + public std::vector finalMutationsForKeyFrame; +} + +struct facebook::react::AnimationMutation { + public bool hasLayoutUpdates; + public facebook::react::AnimatedProps props; + public facebook::react::Tag tag; + public std::shared_ptr family; +} + +struct facebook::react::AnimationMutations { + public std::set asyncFlushSurfaces; + public std::vector batch; +} + +struct facebook::react::BackgroundPosition { + public BackgroundPosition(); + public bool operator==(const facebook::react::BackgroundPosition& other) const = default; + public std::optional bottom; + public std::optional left; + public std::optional right; + public std::optional top; +} + +struct facebook::react::BackgroundRepeat { + public BackgroundRepeat(); + public bool operator==(const facebook::react::BackgroundRepeat& other) const = default; + public facebook::react::BackgroundRepeatStyle x; + public facebook::react::BackgroundRepeatStyle y; +} + +struct facebook::react::BackgroundSizeLengthPercentage { + public BackgroundSizeLengthPercentage(); + public bool isXAuto() const; + public bool isYAuto() const; + public bool operator==(const facebook::react::BackgroundSizeLengthPercentage& other) const = default; + public std::variant x; + public std::variant y; +} + +struct facebook::react::BaseTouch { + public Float force; + public Float timestamp; + public facebook::react::HighResTimeStamp timeStamp; + public facebook::react::Point offsetPoint; + public facebook::react::Point pagePoint; + public facebook::react::Point screenPoint; + public facebook::react::Tag target; + public int identifier; +} + +struct facebook::react::BaseTouch::Comparator { + public bool operator()(const facebook::react::BaseTouch& lhs, const facebook::react::BaseTouch& rhs) const; +} + +struct facebook::react::BaseTouch::Hasher { + public size_t operator()(const facebook::react::BaseTouch& touch) const; +} + +struct facebook::react::BorderMetrics { + public bool operator==(const facebook::react::BorderMetrics& rhs) const = default; + public facebook::react::BorderColors borderColors; + public facebook::react::BorderCurves borderCurves; + public facebook::react::BorderRadii borderRadii; + public facebook::react::BorderStyles borderStyles; + public facebook::react::BorderWidths borderWidths; +} + +struct facebook::react::BoxShadow { + public Float blurRadius; + public Float offsetX; + public Float offsetY; + public Float spreadDistance; + public bool inset; + public bool operator==(const facebook::react::BoxShadow& other) const = default; + public facebook::react::SharedColor color; +} + +struct facebook::react::Bridging { + public static bool fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); + public static bool toJs(facebook::jsi::Runtime&, bool value); +} + +struct facebook::react::Bridging : public facebook::react::Bridging { +} + +struct facebook::react::Bridging { + public static double fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); + public static double toJs(facebook::jsi::Runtime&, double value); +} + +struct facebook::react::Bridging { + public static float fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); + public static float toJs(facebook::jsi::Runtime&, float value); +} + +struct facebook::react::Bridging { + public static int32_t fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); + public static int32_t toJs(facebook::jsi::Runtime&, int32_t value); +} + +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime&, uint32_t value); + public static uint32_t fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); +} + +struct facebook::react::Bridging { + public static void fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value&); +} + +struct facebook::react::BufferEvent { + public std::string name; + public std::string track; + public uint64_t end; + public uint64_t start; +} + +struct facebook::react::BundleHeader { + public BundleHeader(); + public facebook::react::Magic32 magic32; + public uint32_t version; + public uint64_t magic64; +} + +struct facebook::react::CSSAngle { + public constexpr bool operator==(const facebook::react::CSSAngle& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSBlurFilter { + public constexpr bool operator==(const facebook::react::CSSBlurFilter& rhs) const = default; + public facebook::react::CSSLength amount; +} + +struct facebook::react::CSSBrightnessFilter { + public constexpr bool operator==(const facebook::react::CSSBrightnessFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSColor { + public constexpr bool operator==(const facebook::react::CSSColor& rhs) const = default; + public static constexpr facebook::react::CSSColor black(); + public uint8_t a; + public uint8_t b; + public uint8_t g; + public uint8_t r; +} + +struct facebook::react::CSSColorHint { + public bool operator==(const facebook::react::CSSColorHint& rhs) const = default; + public std::variant position; +} + +struct facebook::react::CSSColorStop { + public bool operator==(const facebook::react::CSSColorStop& rhs) const; + public facebook::react::CSSColor color; + public std::optional> endPosition; + public std::optional> startPosition; +} + +struct facebook::react::CSSContrastFilter { + public constexpr bool operator==(const facebook::react::CSSContrastFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSDropShadowFilter { + public constexpr bool operator==(const facebook::react::CSSDropShadowFilter& rhs) const = default; + public facebook::react::CSSColor color; + public facebook::react::CSSLength offsetX; + public facebook::react::CSSLength offsetY; + public facebook::react::CSSLength standardDeviation; +} + +struct facebook::react::CSSFunctionBlock { + public std::string_view name; +} + +struct facebook::react::CSSGrayscaleFilter { + public constexpr bool operator==(const facebook::react::CSSGrayscaleFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSHueRotateFilter { + public constexpr bool operator==(const facebook::react::CSSHueRotateFilter& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSInvertFilter { + public constexpr bool operator==(const facebook::react::CSSInvertFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSLength { + public constexpr bool operator==(const facebook::react::CSSLength& rhs) const = default; + public facebook::react::CSSLengthUnit unit; + public float value; +} + +struct facebook::react::CSSLinearGradientDirection { + public bool operator==(const facebook::react::CSSLinearGradientDirection& rhs) const = default; + public std::variant value; +} + +struct facebook::react::CSSLinearGradientFunction { + public bool operator==(const facebook::react::CSSLinearGradientFunction& rhs) const = default; + public static std::pair>, int> parseGradientColorStopsAndHints(facebook::react::CSSValueParser& parser); + public std::optional direction; + public std::vector> items; +} + +struct facebook::react::CSSMatrix { + public constexpr bool operator==(const facebook::react::CSSMatrix& rhs) const = default; + public std::array values; +} + +struct facebook::react::CSSNumber { + public constexpr bool operator==(const facebook::react::CSSNumber& rhs) const = default; + public float value; +} + +struct facebook::react::CSSOpacityFilter { + public constexpr bool operator==(const facebook::react::CSSOpacityFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSPercentage { + public constexpr bool operator==(const facebook::react::CSSPercentage& rhs) const = default; + public float value; +} + +struct facebook::react::CSSPerspective { + public constexpr bool operator==(const facebook::react::CSSPerspective& rhs) const = default; + public facebook::react::CSSLength length; +} + +struct facebook::react::CSSRadialGradientExplicitSize { + public bool operator==(const facebook::react::CSSRadialGradientExplicitSize& rhs) const = default; + public std::variant sizeX; + public std::variant sizeY; +} + +struct facebook::react::CSSRadialGradientFunction { + public bool operator==(const facebook::react::CSSRadialGradientFunction& rhs) const = default; + public std::optional position; + public std::optional shape; + public std::optional size; + public std::vector> items; +} + +struct facebook::react::CSSRadialGradientPosition { + public bool operator==(const facebook::react::CSSRadialGradientPosition& rhs) const = default; + public std::optional> bottom; + public std::optional> left; + public std::optional> right; + public std::optional> top; +} + +struct facebook::react::CSSRatio { + public constexpr bool isDegenerate() const; + public constexpr bool operator==(const facebook::react::CSSRatio& rhs) const = default; + public float denominator; + public float numerator; +} + +struct facebook::react::CSSRotate { + public constexpr bool operator==(const facebook::react::CSSRotate& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSRotateX { + public constexpr bool operator==(const facebook::react::CSSRotateX& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSRotateY { + public constexpr bool operator==(const facebook::react::CSSRotateY& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSRotateZ { + public constexpr bool operator==(const facebook::react::CSSRotateZ& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSSaturateFilter { + public constexpr bool operator==(const facebook::react::CSSSaturateFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSScale { + public constexpr bool operator==(const facebook::react::CSSScale& rhs) const = default; + public float x; + public float y; +} + +struct facebook::react::CSSScaleX { + public constexpr bool operator==(const facebook::react::CSSScaleX& rhs) const = default; + public float value; +} + +struct facebook::react::CSSScaleY { + public constexpr bool operator==(const facebook::react::CSSScaleY& rhs) const = default; + public float value; +} + +struct facebook::react::CSSSepiaFilter { + public constexpr bool operator==(const facebook::react::CSSSepiaFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSShadow { + public bool inset; + public constexpr bool operator==(const facebook::react::CSSShadow& rhs) const = default; + public facebook::react::CSSColor color; + public facebook::react::CSSLength blurRadius; + public facebook::react::CSSLength offsetX; + public facebook::react::CSSLength offsetY; + public facebook::react::CSSLength spreadDistance; +} + +struct facebook::react::CSSSimpleBlock { + public facebook::react::CSSTokenType openBracketType; +} + +struct facebook::react::CSSSkewX { + public constexpr bool operator==(const facebook::react::CSSSkewX& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSSkewY { + public constexpr bool operator==(const facebook::react::CSSSkewY& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSTransformOrigin { + public constexpr bool operator==(const facebook::react::CSSTransformOrigin& rhs) const = default; + public facebook::react::CSSLength z; + public std::variant x; + public std::variant y; +} + +struct facebook::react::CSSTranslate3D { + public constexpr bool operator==(const facebook::react::CSSTranslate3D& rhs) const = default; + public facebook::react::CSSLength z; + public std::variant x; + public std::variant y; +} + +struct facebook::react::CSSTranslate { + public constexpr bool operator==(const facebook::react::CSSTranslate& rhs) const = default; + public std::variant x; + public std::variant y; +} + +struct facebook::react::CSSTranslateX { + public constexpr bool operator==(const facebook::react::CSSTranslateX& rhs) const = default; + public std::variant value; +} + +struct facebook::react::CSSTranslateY { + public constexpr bool operator==(const facebook::react::CSSTranslateY& rhs) const = default; + public std::variant value; +} + +struct facebook::react::CSSZero { + public constexpr bool operator==(const facebook::react::CSSZero& rhs) const = default; +} + +struct facebook::react::CallbackWithId { + public facebook::react::Callback callback; + public facebook::react::CallbackId callbackId; +} + +struct facebook::react::ColorComponents { + public facebook::react::ColorSpace colorSpace; + public float alpha; + public float blue; + public float green; + public float red; +} + +struct facebook::react::ColorStop { + public bool operator==(const facebook::react::ColorStop& other) const = default; + public facebook::react::SharedColor color; + public facebook::react::ValueUnit position; +} + +struct facebook::react::CornerRadii { + public bool operator==(const facebook::react::CornerRadii& other) const = default; + public float horizontal; + public float vertical; +} + +struct facebook::react::CullingContext { + public bool operator==(const facebook::react::CullingContext& rhs) const = default; + public bool shouldConsiderCulling() const; + public facebook::react::CullingContext adjustCullingContextIfNeeded(const facebook::react::ShadowViewNodePair& pair) const; + public facebook::react::Rect frame; + public facebook::react::Transform transform; +} + +struct facebook::react::DebugStringConvertibleOptions { +} + +struct facebook::react::DefaultTurboModules { + public static std::shared_ptr getTurboModule(const std::string& name, const std::shared_ptr& jsInvoker); +} + +struct facebook::react::DropShadowParams { + public Float offsetX; + public Float offsetY; + public Float standardDeviation; + public bool operator==(const facebook::react::DropShadowParams& other) const = default; + public facebook::react::SharedColor color; +} + +struct facebook::react::DummyTraceSection { + template + public DummyTraceSection(const char* name, ConvertsToStringPiece &&... args); +} + +struct facebook::react::DynamicEventPayload : public facebook::react::EventPayload { + protected folly::dynamic payload_; + public DynamicEventPayload(folly::dynamic&& payload); + public static facebook::react::SharedEventPayload create(folly::dynamic&& payload); + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; + public virtual facebook::react::EventPayloadType getType() const override; + public virtual std::optional extractValue(const std::vector&) const override; +} + +struct facebook::react::DynamicPointerEvent : public facebook::react::DynamicEventPayload { + public DynamicPointerEvent(folly::dynamic&& payload); + public const std::optional>& getHitPathForEventListener() const; +} + +struct facebook::react::EventAnimationDriverKey { + public bool operator==(const facebook::react::EventAnimationDriverKey& rhs) const noexcept; + public facebook::react::Tag viewTag; + public std::string eventName; +} + +struct facebook::react::EventPayload { + public EventPayload() = default; + public EventPayload(const facebook::react::EventPayload&) = default; + public EventPayload(facebook::react::EventPayload&&) = default; + public facebook::react::EventPayload& operator=(const facebook::react::EventPayload&) = default; + public facebook::react::EventPayload& operator=(facebook::react::EventPayload&&) = default; + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const = 0; + public virtual facebook::react::EventPayloadType getType() const = 0; + public virtual std::optional extractValue(const std::vector&) const; + public virtual ~EventPayload() = default; +} + +struct facebook::react::FantomForcedCloneCommitHook : public facebook::react::UIManagerCommitHook { + public facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const std::shared_ptr& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode) noexcept override; + public virtual void commitHookWasRegistered(const facebook::react::UIManager&) noexcept override; + public virtual void commitHookWasUnregistered(const facebook::react::UIManager&) noexcept override; +} + +struct facebook::react::FilterFunction { + public bool operator==(const facebook::react::FilterFunction& other) const = default; + public facebook::react::FilterType type; + public std::variant parameters; +} + +struct facebook::react::InspectorData { + public folly::dynamic props; + public int columnNumber; + public int lineNumber; + public int selectedIndex; + public std::string fileName; + public std::vector hierarchy; +} + +struct facebook::react::InstanceCallback { + public virtual void decrementPendingJSCalls(); + public virtual void incrementPendingJSCalls(); + public virtual void onBatchComplete(); + public virtual ~InstanceCallback() = default; +} + +struct facebook::react::IntersectionObserverEntry { + public bool isIntersectingAboveThresholds; + public bool sameShadowNodeFamily(const facebook::react::ShadowNodeFamily& otherShadowNodeFamily) const; + public facebook::react::HighResTimeStamp time; + public facebook::react::IntersectionObserverObserverId intersectionObserverId; + public facebook::react::Rect intersectionRect; + public facebook::react::Rect rootRect; + public facebook::react::Rect targetRect; + public facebook::react::ShadowNodeFamily::Shared shadowNodeFamily; +} + +struct facebook::react::LayoutAnimation { + public bool completed; + public facebook::react::LayoutAnimationCallbackWrapper failureCallback; + public facebook::react::LayoutAnimationCallbackWrapper successCallback; + public facebook::react::LayoutAnimationConfig layoutAnimationConfig; + public facebook::react::SurfaceId surfaceId; + public std::vector keyFrames; + public uint64_t startTime; +} + +struct facebook::react::LayoutAnimationConfig { + public double duration; + public facebook::react::AnimationConfig createConfig; + public facebook::react::AnimationConfig deleteConfig; + public facebook::react::AnimationConfig updateConfig; +} + +struct facebook::react::LayoutConformanceProps : public facebook::react::YogaStylableProps { + public LayoutConformanceProps() = default; + public LayoutConformanceProps(const facebook::react::PropsParserContext& context, const facebook::react::LayoutConformanceProps& sourceProps, const facebook::react::RawProps& rawProps); + public facebook::react::LayoutConformance mode; +} + +struct facebook::react::LayoutConstraints { + public facebook::react::LayoutDirection layoutDirection; + public facebook::react::Size clamp(const facebook::react::Size& size) const; + public facebook::react::Size maximumSize; + public facebook::react::Size minimumSize; +} + +struct facebook::react::LayoutContext { + public Float fontSizeMultiplier; + public Float pointScaleFactor; + public bool swapLeftAndRightInRTL; + public facebook::react::Point viewportOffset; + public std::vector* affectedNodes; +} + +struct facebook::react::LayoutMetrics { + public Float pointScaleFactor; + public bool operator==(const facebook::react::LayoutMetrics& rhs) const = default; + public bool wasLeftAndRightSwapped; + public facebook::react::DisplayType displayType; + public facebook::react::EdgeInsets borderWidth; + public facebook::react::EdgeInsets contentInsets; + public facebook::react::EdgeInsets overflowInset; + public facebook::react::LayoutDirection layoutDirection; + public facebook::react::PositionType positionType; + public facebook::react::Rect frame; + public facebook::react::Rect getContentFrame() const; + public facebook::react::Rect getOverflowInsetFrame() const; + public facebook::react::Rect getPaddingFrame() const; +} + +struct facebook::react::LineMeasurement { + public Float ascender; + public Float capHeight; + public Float descender; + public Float xHeight; + public LineMeasurement(const folly::dynamic& data); + public LineMeasurement(std::string text, facebook::react::Rect frame, Float descender, Float capHeight, Float ascender, Float xHeight); + public bool operator==(const facebook::react::LineMeasurement& rhs) const; + public facebook::react::Rect frame; + public static Float baseline(const std::vector& lines); + public std::string text; +} + +struct facebook::react::LinearGradient { + public bool operator==(const facebook::react::LinearGradient& other) const = default; + public facebook::react::GradientDirection direction; + public std::vector colorStops; +} + +struct facebook::react::Magic32 { + public uint32_t reserved_; + public uint32_t value; +} + +struct facebook::react::MarginValue { + public Float value; + public bool isPercentage; +} + +struct facebook::react::MeasuredPreparedTextLayout { + public facebook::react::LayoutConstraints layoutConstraints; + public facebook::react::TextMeasurement measurement; + public facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout preparedTextLayout; +} + +struct facebook::react::MethodCall { + public MethodCall(int mod, int meth, folly::dynamic&& args, int cid); + public folly::dynamic arguments; + public int callId; + public int methodId; + public int moduleId; +} + +struct facebook::react::MethodDescriptor { + public MethodDescriptor(std::string n, std::string t); + public std::string name; + public std::string type; +} + +struct facebook::react::ModuleConfig { + public folly::dynamic config; + public size_t index; +} + +struct facebook::react::MutationRecord { + public facebook::react::MutationObserverId mutationObserverId; + public std::shared_ptr targetShadowNode; + public std::vector> addedShadowNodes; + public std::vector> removedShadowNodes; +} + +struct facebook::react::NativePerformanceEntry { + public facebook::react::HighResDuration duration; + public facebook::react::HighResTimeStamp startTime; + public facebook::react::PerformanceEntryType entryType; + public std::optional connectEnd; + public std::optional connectStart; + public std::optional fetchStart; + public std::optional processingEnd; + public std::optional processingStart; + public std::optional requestStart; + public std::optional responseEnd; + public std::optional responseStart; + public std::optional interactionId; + public std::optional decodedBodySize; + public std::optional encodedBodySize; + public std::optional responseStatus; + public std::optional contentType; + public std::string name; +} + +struct facebook::react::PerformanceEntrySorter { + public bool operator()(const facebook::react::PerformanceEntry& lhs, const facebook::react::PerformanceEntry& rhs); +} + +struct facebook::react::PerformanceEventTiming : public facebook::react::AbstractPerformanceEntry { + public facebook::react::HighResTimeStamp processingEnd; + public facebook::react::HighResTimeStamp processingStart; + public facebook::react::HighResTimeStamp taskEndTime; + public facebook::react::PerformanceEntryInteractionId interactionId; + public static constexpr facebook::react::PerformanceEntryType entryType; +} + +struct facebook::react::PerformanceLongTaskTiming : public facebook::react::AbstractPerformanceEntry { + public static constexpr facebook::react::PerformanceEntryType entryType; +} + +struct facebook::react::PerformanceMark : public facebook::react::AbstractPerformanceEntry { + public static constexpr facebook::react::PerformanceEntryType entryType; +} + +struct facebook::react::PerformanceMeasure : public facebook::react::AbstractPerformanceEntry { + public static constexpr facebook::react::PerformanceEntryType entryType; +} + +struct facebook::react::PerformanceObserverObserveMultipleOptions { + public facebook::react::HighResDuration durationThreshold; +} + +struct facebook::react::PerformanceObserverObserveSingleOptions { + public bool buffered; + public facebook::react::HighResDuration durationThreshold; +} + +struct facebook::react::PerformanceResourceTiming : public facebook::react::AbstractPerformanceEntry { + public facebook::react::HighResTimeStamp fetchStart; + public facebook::react::HighResTimeStamp requestStart; + public int decodedBodySize; + public int encodedBodySize; + public int responseStatus; + public static constexpr facebook::react::PerformanceEntryType entryType; + public std::optional connectEnd; + public std::optional connectStart; + public std::optional responseEnd; + public std::optional responseStart; + public std::string contentType; +} + +struct facebook::react::Point { + public Float x; + public Float y; + public bool operator==(const facebook::react::Point& rhs) const = default; + public facebook::react::Point operator+(const facebook::react::Point& rhs) const noexcept; + public facebook::react::Point operator-() const noexcept; + public facebook::react::Point operator-(const facebook::react::Point& rhs) const noexcept; + public facebook::react::Point& operator*=(const facebook::react::Point& point) noexcept; + public facebook::react::Point& operator+=(const facebook::react::Point& point) noexcept; + public facebook::react::Point& operator-=(const facebook::react::Point& point) noexcept; +} + +struct facebook::react::PointerEvent : public facebook::react::EventPayload { + public Float height; + public Float pressure; + public Float tangentialPressure; + public Float width; + public bool altKey; + public bool ctrlKey; + public bool isPrimary; + public bool metaKey; + public bool shiftKey; + public facebook::react::HighResTimeStamp timeStamp; + public facebook::react::Point clientPoint; + public facebook::react::Point offsetPoint; + public facebook::react::Point screenPoint; + public int button; + public int buttons; + public int detail; + public int pointerId; + public int tiltX; + public int tiltY; + public int twist; + public std::string pointerType; + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; + public virtual facebook::react::EventPayloadType getType() const override; +} + +struct facebook::react::PointerEventTarget { + public facebook::react::PointerEvent event; + public std::shared_ptr target; +} + +struct facebook::react::ProcessedColorStop { + public bool operator==(const facebook::react::ProcessedColorStop& other) const = default; + public facebook::react::SharedColor color; + public std::optional position; +} + +struct facebook::react::Promise : public facebook::react::LongLivedObject { + public Promise(facebook::jsi::Runtime& rt, facebook::jsi::Function resolve, facebook::jsi::Function reject); + public facebook::jsi::Function reject_; + public facebook::jsi::Function resolve_; + public void reject(const std::string& message); + public void resolve(const facebook::jsi::Value& result); +} + +struct facebook::react::PropsParserContext { + public PropsParserContext(const facebook::react::PropsParserContext&) = delete; + public PropsParserContext(const facebook::react::SurfaceId surfaceId, const facebook::react::ContextContainer& contextContainer); + public const facebook::react::ContextContainer& contextContainer; + public const facebook::react::SurfaceId surfaceId; + public facebook::react::PropsParserContext& operator=(const facebook::react::PropsParserContext&) = delete; +} + +struct facebook::react::PropsSnapshot { + public facebook::react::BaseViewProps props; + public std::unique_ptr rawProps; + public std::unordered_set propNames; +} + +struct facebook::react::RadialGradient { + public bool operator==(const facebook::react::RadialGradient& other) const = default; + public facebook::react::RadialGradientPosition position; + public facebook::react::RadialGradientShape shape; + public facebook::react::RadialGradientSize size; + public std::vector colorStops; +} + +struct facebook::react::RadialGradientPosition { + public bool operator==(const facebook::react::RadialGradientPosition& other) const = default; + public std::optional bottom; + public std::optional left; + public std::optional right; + public std::optional top; +} + +struct facebook::react::RadialGradientSize { + public bool operator==(const facebook::react::RadialGradientSize& other) const = default; + public std::variant value; +} + +enum facebook::react::RadialGradientSize::SizeKeyword { + ClosestCorner, + ClosestSide, + FarthestCorner, + FarthestSide, +} + +struct facebook::react::RadialGradientSize::Dimensions { + public bool operator==(const facebook::react::RadialGradientSize::Dimensions& other) const = default; + public facebook::react::ValueUnit x; + public facebook::react::ValueUnit y; +} + +struct facebook::react::RawEvent { + public RawEvent(std::string type, facebook::react::SharedEventPayload eventPayload, facebook::react::SharedEventTarget eventTarget, std::weak_ptr shadowNodeFamily, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified, bool isUnique = false, facebook::react::HighResTimeStamp eventStartTimeStamp = facebook::react::HighResTimeStamp::now()); + public bool isUnique; + public facebook::react::EventTag loggingTag; + public facebook::react::HighResTimeStamp eventStartTimeStamp; + public facebook::react::RawEvent::Category category; + public facebook::react::SharedEventPayload eventPayload; + public facebook::react::SharedEventTarget eventTarget; + public std::string type; + public std::weak_ptr shadowNodeFamily; +} + +enum facebook::react::RawEvent::Category { + Continuous, + ContinuousEnd, + ContinuousStart, + Discrete, + Idle, + Unspecified, +} + +struct facebook::react::ReactNativeVersionType { + public int32_t Major; + public int32_t Minor; + public int32_t Patch; + public std::string_view Prerelease; +} + +struct facebook::react::RecoverableError : public std::exception { + public RecoverableError(const std::string& what_); + public virtual const char* what() const noexcept override; + template + public static void runRethrowingAsRecoverable(std::function act); +} + +struct facebook::react::Rect { + public Float getMaxX() const noexcept; + public Float getMaxY() const noexcept; + public Float getMidX() const noexcept; + public Float getMidY() const noexcept; + public Float getMinX() const noexcept; + public Float getMinY() const noexcept; + public bool containsPoint(facebook::react::Point point) noexcept; + public bool operator==(const facebook::react::Rect& rhs) const noexcept = default; + public facebook::react::Point getCenter() const noexcept; + public facebook::react::Point origin; + public facebook::react::Size size; + public static facebook::react::Rect boundingRect(const facebook::react::Point& a, const facebook::react::Point& b, const facebook::react::Point& c, const facebook::react::Point& d) noexcept; + public static facebook::react::Rect intersect(const facebook::react::Rect& rect1, const facebook::react::Rect& rect2); + public void unionInPlace(const facebook::react::Rect& rect) noexcept; +} + +struct facebook::react::RequestInfo { + public std::optional headers; + public std::optional httpBody; + public std::string httpMethod; + public std::string url; +} + +struct facebook::react::ResourceTimingData { + public facebook::react::HighResTimeStamp fetchStart; + public facebook::react::HighResTimeStamp requestStart; + public int decodedBodySize; + public int encodedBodySize; + public int responseStatus; + public std::optional connectEnd; + public std::optional connectStart; + public std::optional responseStart; + public std::string contentType; + public std::string url; +} + +struct facebook::react::ResponseInfo { + public std::optional headers; + public std::string url; + public uint16_t statusCode; +} + +struct facebook::react::SchedulerToolbox { + public facebook::react::ComponentRegistryFactory componentRegistryFactory; + public facebook::react::EventBeat::Factory eventBeatFactory; + public facebook::react::RuntimeExecutor runtimeExecutor; + public std::optional bridgelessBindingsExecutor; + public std::shared_ptr contextContainer; + public std::shared_ptr animationChoreographer; + public std::vector> commitHooks; +} + +struct facebook::react::ScrollEndDragEvent : public facebook::react::ScrollEvent { + public ScrollEndDragEvent() = default; + public ScrollEndDragEvent(const facebook::react::ScrollEvent& scrollEvent); + public facebook::react::Point targetContentOffset; + public facebook::react::Point velocity; + public folly::dynamic asDynamic() const; + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; +} + +struct facebook::react::ScrollEvent : public facebook::react::EventPayload { + public Float timestamp; + public Float zoomScale; + public ScrollEvent() = default; + public facebook::react::EdgeInsets contentInset; + public facebook::react::Point contentOffset; + public facebook::react::Size containerSize; + public facebook::react::Size contentSize; + public folly::dynamic asDynamic() const; + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; + public virtual facebook::react::EventPayloadType getType() const override; + public virtual std::optional extractValue(const std::vector&) const override; +} + +struct facebook::react::ShadowNodeFamilyFragment { + public const facebook::react::SurfaceId surfaceId; + public const facebook::react::Tag tag; + public const std::shared_ptr instanceHandle; +} + +struct facebook::react::ShadowNodeFragment { + public const bool runtimeShadowNodeReference; + public const facebook::react::Props::Shared& props; + public const facebook::react::State::Shared& state; + public const std::shared_ptr>>& children; + public static const facebook::react::Props::Shared& propsPlaceholder(); + public static const facebook::react::State::Shared& statePlaceholder(); + public static const std::shared_ptr>>& childrenPlaceholder(); +} + +struct facebook::react::ShadowNodeListWrapper : public facebook::jsi::NativeState { + public ShadowNodeListWrapper(std::shared_ptr>> shadowNodeList); + public std::shared_ptr>> shadowNodeList; + public ~ShadowNodeListWrapper() override; +} + +struct facebook::react::ShadowNodeWrapper : public facebook::jsi::NativeState { + public ShadowNodeWrapper(std::shared_ptr shadowNode); + public std::shared_ptr shadowNode; + public ~ShadowNodeWrapper() override; +} + +struct facebook::react::ShadowTreeCommitOptions { + public bool enableStateReconciliation; + public bool mountSynchronously; + public facebook::react::ShadowTreeCommitSource source; +} + +struct facebook::react::ShadowView { + public ShadowView() = default; + public ShadowView(const facebook::react::ShadowNode& shadowNode); + public ShadowView(const facebook::react::ShadowView& shadowView) = default; + public ShadowView(facebook::react::ShadowView&& shadowView) noexcept = default; + public bool operator==(const facebook::react::ShadowView& rhs) const; + public facebook::react::ComponentHandle componentHandle; + public facebook::react::ComponentName componentName; + public facebook::react::EventEmitter::Shared eventEmitter; + public facebook::react::LayoutMetrics layoutMetrics; + public facebook::react::Props::Shared props; + public facebook::react::ShadowNodeTraits traits; + public facebook::react::ShadowView& operator=(const facebook::react::ShadowView& other) = default; + public facebook::react::ShadowView& operator=(facebook::react::ShadowView&& other) = default; + public facebook::react::State::Shared state; + public facebook::react::SurfaceId surfaceId; + public facebook::react::Tag tag; +} + +struct facebook::react::ShadowViewMutation { + public ShadowViewMutation() = delete; + public bool mutatedViewIsVirtual() const; + public facebook::react::ShadowView newChildShadowView; + public facebook::react::ShadowView oldChildShadowView; + public facebook::react::ShadowViewMutation::Type type; + public facebook::react::Tag parentTag; + public int index; + public static facebook::react::ShadowViewMutation CreateMutation(facebook::react::ShadowView shadowView); + public static facebook::react::ShadowViewMutation DeleteMutation(facebook::react::ShadowView shadowView); + public static facebook::react::ShadowViewMutation InsertMutation(const facebook::react::ShadowView& parentShadowView, facebook::react::ShadowView childShadowView, int index); + public static facebook::react::ShadowViewMutation InsertMutation(facebook::react::Tag parentTag, facebook::react::ShadowView childShadowView, int index); + public static facebook::react::ShadowViewMutation RemoveMutation(const facebook::react::ShadowView& parentShadowView, facebook::react::ShadowView childShadowView, int index); + public static facebook::react::ShadowViewMutation RemoveMutation(facebook::react::Tag parentTag, facebook::react::ShadowView childShadowView, int index); + public static facebook::react::ShadowViewMutation UpdateMutation(facebook::react::ShadowView oldChildShadowView, facebook::react::ShadowView newChildShadowView, const facebook::react::ShadowView& parentShadowView); + public static facebook::react::ShadowViewMutation UpdateMutation(facebook::react::ShadowView oldChildShadowView, facebook::react::ShadowView newChildShadowView, facebook::react::Tag parentTag); + public using List = std::vector; +} + +enum facebook::react::ShadowViewMutation::Type : std::uint8_t { + Create, + Delete, + Insert, + Remove, + Update, +} + +struct facebook::react::ShadowViewNodePair { + public bool flattened; + public bool inOtherTree() const; + public bool isConcreteView; + public bool operator==(const facebook::react::ShadowViewNodePair& rhs) const; + public const facebook::react::ShadowNode* shadowNode; + public facebook::react::Point contextOrigin; + public facebook::react::ShadowView shadowView; + public mutable const facebook::react::ShadowViewNodePair* otherTreePair; + public size_t mountIndex; +} + +struct facebook::react::Size { + public Float height; + public Float width; + public facebook::react::Size& operator*=(const facebook::react::Point& point) noexcept; + public facebook::react::Size& operator+=(const facebook::react::Point& point) noexcept; +} + +struct facebook::react::StateData { + public using Shared = std::shared_ptr; +} + +struct facebook::react::SurfaceContext { + public std::unordered_map> map; + public std::unordered_map> pendingMap; + public std::unordered_set> families; + public std::unordered_set> pendingFamilies; +} + +struct facebook::react::SurfaceUpdates { + public bool hasLayoutUpdates; + public std::unordered_map propsMap; + public std::unordered_set> families; +} + +struct facebook::react::SystraceSection : public facebook::react::DummyTraceSection { + template + public SystraceSection(const char* name, ConvertsToStringPiece &&... args); +} + +struct facebook::react::Task : public facebook::jsi::NativeState { + public Task(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback, facebook::react::HighResTimeStamp expirationTime); + public Task(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback, facebook::react::HighResTimeStamp expirationTime); +} + +struct facebook::react::TextLayoutContext { + public Float pointScaleFactor; + public bool operator==(const facebook::react::TextLayoutContext& rhs) const = default; + public facebook::react::SurfaceId surfaceId; +} + +struct facebook::react::TimerCallback { + public TimerCallback(facebook::jsi::Function callback, std::vector args, bool repeat, facebook::react::TimerSource source = facebook::react::TimerSource::Unknown); + public bool repeat; + public const std::vector args_; + public facebook::jsi::Function callback_; + public facebook::react::TimerSource source; + public void invoke(facebook::jsi::Runtime& runtime); +} + +struct facebook::react::TouchEvent { + public facebook::react::Touches changedTouches; + public facebook::react::Touches targetTouches; + public facebook::react::Touches touches; +} + +struct facebook::react::Transform { + public Float& at(int i, int j) noexcept; + public bool operator==(const facebook::react::Transform& rhs) const noexcept; + public const Float& at(int i, int j) const noexcept; + public facebook::react::Rect applyWithCenter(const facebook::react::Rect& rect, const facebook::react::Point& center) const; + public facebook::react::Transform operator*(const facebook::react::Transform& rhs) const; + public operator folly::dynamic() const; + public static bool isHorizontalInversion(const facebook::react::Transform& transform) noexcept; + public static bool isVerticalInversion(const facebook::react::Transform& transform) noexcept; + public static facebook::react::Transform FromTransformOperation(facebook::react::TransformOperation transformOperation, const facebook::react::Size& size, const facebook::react::Transform& transform = facebook::react::Transform::Identity()); + public static facebook::react::Transform HorizontalInversion() noexcept; + public static facebook::react::Transform Identity() noexcept; + public static facebook::react::Transform Interpolate(Float animationProgress, const facebook::react::Transform& lhs, const facebook::react::Transform& rhs, const facebook::react::Size& size); + public static facebook::react::Transform Perspective(Float perspective) noexcept; + public static facebook::react::Transform Rotate(Float angleX, Float angleY, Float angleZ) noexcept; + public static facebook::react::Transform RotateX(Float radians) noexcept; + public static facebook::react::Transform RotateY(Float radians) noexcept; + public static facebook::react::Transform RotateZ(Float radians) noexcept; + public static facebook::react::Transform Scale(Float factorX, Float factorY, Float factorZ) noexcept; + public static facebook::react::Transform Skew(Float x, Float y) noexcept; + public static facebook::react::Transform Translate(Float x, Float y, Float z) noexcept; + public static facebook::react::Transform VerticalInversion() noexcept; + public static facebook::react::TransformOperation DefaultTransformOperation(facebook::react::TransformOperationType type); + public std::array matrix; + public std::vector operations; +} + +struct facebook::react::TransformConfig { + public double value; + public facebook::react::Tag nodeTag; + public std::string property; +} + +struct facebook::react::TransformOperation { + public bool operator==(const facebook::react::TransformOperation& other) const = default; + public facebook::react::TransformOperationType type; + public facebook::react::ValueUnit x; + public facebook::react::ValueUnit y; + public facebook::react::ValueUnit z; +} + +struct facebook::react::TransformOrigin { + public bool isSet() const; + public bool operator==(const facebook::react::TransformOrigin& other) const = default; + public float z; + public std::array xy; +} + +struct facebook::react::ValueUnit { + public constexpr ValueUnit() = default; + public constexpr ValueUnit(float v, facebook::react::UnitType u); + public constexpr bool operator==(const facebook::react::ValueUnit& other) const = default; + public constexpr float resolve(float referenceLength) const; + public constexpr operator bool() const; + public facebook::react::UnitType unit; + public float value; +} + +struct facebook::react::Vector { + public Float w; + public Float x; + public Float y; + public Float z; +} + +struct facebook::react::ViewEvents { + public constexpr bool operator[](const facebook::react::ViewEvents::Offset offset) const; + public std::bitset<64> bits; + public std::bitset<64>::reference operator[](const facebook::react::ViewEvents::Offset offset); +} + +enum facebook::react::ViewEvents::Offset : std::size_t { + Click, + ClickCapture, + GotPointerCapture, + LostPointerCapture, + MoveShouldSetResponder, + MoveShouldSetResponderCapture, + PointerDown, + PointerDownCapture, + PointerEnter, + PointerEnterCapture, + PointerLeave, + PointerLeaveCapture, + PointerMove, + PointerMoveCapture, + PointerOut, + PointerOutCapture, + PointerOver, + PointerOverCapture, + PointerUp, + PointerUpCapture, + ResponderEnd, + ResponderGrant, + ResponderMove, + ResponderReject, + ResponderRelease, + ResponderStart, + ResponderTerminate, + ResponderTerminationRequest, + ShouldBlockNativeResponder, + StartShouldSetResponder, + StartShouldSetResponderCapture, + TouchCancel, + TouchEnd, + TouchMove, + TouchStart, +} + +template +struct facebook::react::CSSList : public std::vector { +} + +template +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +template +struct facebook::react::CSSList { +} + +template ... VisitorsT> +struct facebook::react::CSSComponentValueVisitorDispatcher { + public constexpr ReturnT consumeComponentValue(facebook::react::CSSDelimiter delimiter, const VisitorsT &... visitors); + public constexpr std::optional visitFunction(); + public constexpr std::optional visitFunction(const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); + public constexpr std::optional visitPreservedToken(); + public constexpr std::optional visitPreservedToken(const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); + public constexpr std::optional visitSimpleBlock(facebook::react::CSSTokenType endToken); + public constexpr std::optional visitSimpleBlock(facebook::react::CSSTokenType endToken, const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); + public facebook::react::CSSSyntaxParser& parser; +} + +template +struct facebook::react::CSSList : public std::vector { +} + +template +class facebook::react::CircularBuffer { + public CircularBuffer(size_t maxSize); + public T& operator[](size_t idx); + public bool add(const T& el); + public size_t size() const; + public std::vector getEntries() const; + public std::vector getEntries(std::function predicate) const; + public void clear(); + public void clear(std::function predicate); + public void getEntries(std::vector& res) const; + public void getEntries(std::vector& res, std::function predicate) const; +} + +template +class facebook::react::MoveWrapper { + public MoveWrapper() = default; + public MoveWrapper(T&& t); + public MoveWrapper(const facebook::react::MoveWrapper& other); + public MoveWrapper(facebook::react::MoveWrapper&& other) noexcept; + public T& operator*(); + public T&& move(); + public T* operator->(); + public const T& operator*() const; + public const T* operator->() const; + public facebook::react::MoveWrapper& operator=(const facebook::react::MoveWrapper&) = delete; + public facebook::react::MoveWrapper& operator=(facebook::react::MoveWrapper&&) = delete; +} + +template +class facebook::react::ConcreteViewShadowNode : public facebook::react::ConcreteShadowNode { + public ConcreteViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ConcreteViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public using BaseShadowNode = facebook::react::ConcreteShadowNode; + public using ConcreteViewProps = ViewPropsT; + public virtual bool canBeTouchTarget() const override; + public virtual bool canChildrenBeTouchTarget() const override; + public virtual facebook::react::Transform getTransform() const override; +} + +template +class facebook::react::BaseTextInputShadowNode : public facebook::react::ConcreteViewShadowNode, public facebook::react::BaseTextShadowNode { + protected facebook::react::LayoutConstraints getTextConstraints(const facebook::react::LayoutConstraints& layoutConstraints) const; + protected std::shared_ptr textLayoutManager_; + protected virtual Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const override; + protected virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; + protected virtual void layout(facebook::react::LayoutContext layoutContext) override; + public BaseTextInputShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public BaseTextInputShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public using BaseShadowNode = facebook::react::ConcreteViewShadowNode; + public void setTextLayoutManager(std::shared_ptr textLayoutManager); +} + +template +class facebook::react::UnstableLegacyViewManagerInteropComponentDescriptor : public facebook::react::ConcreteComponentDescriptor> { + public UnstableLegacyViewManagerInteropComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); +} + +template +class facebook::react::ConcreteShadowNode : public BaseShadowNodeT { + protected facebook::react::Props::Shared props_; + protected facebook::react::State::Shared state_; + public const facebook::react::ConcreteShadowNode::ConcreteEventEmitter& getConcreteEventEmitter() const; + public const facebook::react::ConcreteShadowNode::ConcreteProps& getConcreteProps() const; + public const facebook::react::ConcreteShadowNode::ConcreteStateData& getStateData() const; + public const std::shared_ptr& getConcreteSharedProps() const; + public static const facebook::react::ConcreteShadowNode::SharedConcreteProps& defaultSharedProps(); + public static facebook::react::ComponentHandle Handle(); + public static facebook::react::ComponentName Name(); + public static facebook::react::ConcreteShadowNode::ConcreteStateData initialStateData(const facebook::react::Props::Shared&, const facebook::react::ShadowNodeFamily::Shared&, const facebook::react::ComponentDescriptor&); + public static facebook::react::ConcreteShadowNode::UnsharedConcreteProps Props(const facebook::react::PropsParserContext& context, const facebook::react::RawProps& rawProps, const facebook::react::Props::Shared& baseProps = nullptr); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public using ConcreteEventEmitter = EventEmitterT; + public using ConcreteProps = PropsT; + public using ConcreteState = facebook::react::ConcreteState; + public using ConcreteStateData = StateDataT; + public using SharedConcreteEventEmitter = std::shared_ptr; + public using SharedConcreteProps = std::shared_ptr; + public using SharedConcreteShadowNode = std::shared_ptr; + public using UnsharedConcreteProps = std::shared_ptr; + public void setStateData(facebook::react::ConcreteShadowNode::ConcreteStateData&& data); +} + +template +struct facebook::react::Bridging : public facebook::react::Bridging { +} + +template +struct facebook::react::TemplateStringLiteral { + public constexpr TemplateStringLiteral(const char(&str)[N]); + public constexpr operator std::string_view() const; + public std::array value; +} + +template +struct facebook::react::CSSDataTypeParser { +} + +template +class facebook::react::ConcreteState : public facebook::react::State { + public ConcreteState(facebook::react::ConcreteState::SharedData data, const facebook::react::State& previousState); + public ConcreteState(facebook::react::ConcreteState::SharedData data, facebook::react::ShadowNodeFamily::Weak family); + public const facebook::react::ConcreteState::Data& getData() const; + public using Data = DataT; + public using Shared = std::shared_ptr; + public using SharedData = std::shared_ptr; + public void updateState(facebook::react::ConcreteState::Data&& newData, facebook::react::EventQueue::UpdateMode updateMode = facebook::react::EventQueue::UpdateMode::Asynchronous) const; + public void updateState(std::function callback, facebook::react::EventQueue::UpdateMode updateMode = facebook::react::EventQueue::UpdateMode::Asynchronous) const; + public ~ConcreteState() override = default; +} + +template +class facebook::react::SyncCallback { +} + +template +class facebook::react::SimpleThreadSafeCache { + public SimpleThreadSafeCache(); + public SimpleThreadSafeCache(unsigned long size); + public ValueT get(const KeyT& key, facebook::react::CacheGeneratorFunction auto generator) const; + public std::optional get(const KeyT& key) const; + public std::pair getWithKey(const KeyT& key, facebook::react::CacheGeneratorFunction auto generator) const; +} + +template +class facebook::react::DiffMap { + public DiffMap(); + public DiffMap(size_t sizeHint); + public facebook::react::DiffMap::Iterator begin(); + public facebook::react::DiffMap::Iterator end(); + public facebook::react::DiffMap::Iterator find(KeyT key); + public using Pair = std::pair; + public void erase(facebook::react::DiffMap::Iterator it); + public void insert(facebook::react::DiffMap::Pair pair); +} + +class facebook::react::DiffMap::Iterator { + public bool operator!=(const facebook::react::DiffMap::Iterator& other) const; + public bool operator==(const facebook::react::DiffMap::Iterator& other) const; + public const facebook::react::DiffMap::Pair& operator*() const; + public const facebook::react::DiffMap::Pair* operator->() const; + public facebook::react::DiffMap::Iterator& operator++(); +} + +template +class facebook::react::OnScopeExit { + public OnScopeExit(const Lambda&& lambda) noexcept; + public OnScopeExit(const facebook::react::OnScopeExit&) = delete; + public OnScopeExit(facebook::react::OnScopeExit&&) = delete; + public facebook::react::OnScopeExit& operator=(const facebook::react::OnScopeExit&) = delete; + public facebook::react::OnScopeExit& operator=(facebook::react::OnScopeExit&&) = delete; + public ~OnScopeExit() noexcept; +} + +template +class facebook::react::SyncCallback { + public R call(Args... args) const; + public R operator()(Args... args) const; + public SyncCallback(const facebook::react::SyncCallback&) = delete; + public SyncCallback(facebook::jsi::Runtime& rt, facebook::jsi::Function function, std::shared_ptr jsInvoker); + public SyncCallback(facebook::react::SyncCallback&& other) noexcept; + public facebook::react::SyncCallback& operator=(const facebook::react::SyncCallback&) = delete; + public facebook::react::SyncCallback& operator=(facebook::react::SyncCallback&& other) noexcept; + public ~SyncCallback(); +} + +template +struct facebook::react::Bridging : public facebook::react::Bridging> { +} + +template +struct facebook::react::Bridging : public facebook::react::Bridging> { +} + +template +class facebook::react::BaseParagraphComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; + public BaseParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); + public virtual facebook::react::ComponentName getComponentName() const override; +} + +template +class facebook::react::ConcreteComponentDescriptor : public facebook::react::ComponentDescriptor { + protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; + public ConcreteComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public using ConcreteEventEmitter = typename ShadowNodeT::ConcreteEventEmitter; + public using ConcreteProps = typename ShadowNodeT::ConcreteProps; + public using ConcreteShadowNode = ShadowNodeT; + public using ConcreteState = typename ShadowNodeT::ConcreteState; + public using ConcreteStateData = typename ShadowNodeT::ConcreteState::Data; + public using SharedConcreteEventEmitter = typename ShadowNodeT::SharedConcreteEventEmitter; + public using SharedConcreteProps = typename ShadowNodeT::SharedConcreteProps; + public virtual facebook::react::ComponentHandle getComponentHandle() const override; + public virtual facebook::react::ComponentName getComponentName() const override; + public virtual facebook::react::Props::Shared cloneProps(const facebook::react::PropsParserContext& context, const facebook::react::Props::Shared& props, facebook::react::RawProps rawProps) const override; + public virtual facebook::react::ShadowNodeFamily::Shared createFamily(const facebook::react::ShadowNodeFamilyFragment& fragment) const override; + public virtual facebook::react::ShadowNodeTraits getTraits() const override; + public virtual facebook::react::State::Shared createInitialState(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family) const override; + public virtual facebook::react::State::Shared createState(const facebook::react::ShadowNodeFamily& family, const facebook::react::StateData::Shared& data) const override; + public virtual std::shared_ptr cloneShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) const override; + public virtual std::shared_ptr createShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family) const override; + public virtual void appendChild(const std::shared_ptr& parentShadowNode, const std::shared_ptr& childShadowNode) const override; +} + +template +class facebook::react::Element { + public Element(); + public facebook::react::Element& children(std::vector children); + public facebook::react::Element& finalize(std::function finalizeCallback); + public facebook::react::Element& props(facebook::react::Element::SharedConcreteProps props); + public facebook::react::Element& props(std::function callback); + public facebook::react::Element& reference(facebook::react::Element::ConcreteUnsharedShadowNode& outShadowNode); + public facebook::react::Element& reference(std::function callback); + public facebook::react::Element& stateData(std::function callback); + public facebook::react::Element& surfaceId(facebook::react::SurfaceId surfaceId); + public facebook::react::Element& tag(facebook::react::Tag tag); + public operator facebook::react::ElementFragment(); + public using ConcreteProps = typename ShadowNodeT::ConcreteProps; + public using ConcreteReferenceCallback = std::function& shadowNode)>; + public using ConcreteShadowNode = ShadowNodeT; + public using ConcreteState = typename ShadowNodeT::ConcreteState; + public using ConcreteStateData = typename ShadowNodeT::ConcreteStateData; + public using ConcreteUnsharedShadowNode = std::shared_ptr; + public using SharedConcreteProps = std::shared_ptr; + public using SharedConcreteState = std::shared_ptr; +} + +template +struct facebook::react::Bridging { +} + +template +struct facebook::react::AnimatedProp : public facebook::react::AnimatedPropBase { + public AnimatedProp() = default; + public AnimatedProp(facebook::react::PropName propName, const T& value); + public T value; +} + +template +struct facebook::react::CascadedRectangleCorners { + public bool operator==(const facebook::react::CascadedRectangleCorners& rhs) const = default; + public facebook::react::CascadedRectangleCorners::Counterpart resolve(bool isRTL, T defaults) const; + public facebook::react::CascadedRectangleCorners::OptionalT all; + public facebook::react::CascadedRectangleCorners::OptionalT bottomEnd; + public facebook::react::CascadedRectangleCorners::OptionalT bottomLeft; + public facebook::react::CascadedRectangleCorners::OptionalT bottomRight; + public facebook::react::CascadedRectangleCorners::OptionalT bottomStart; + public facebook::react::CascadedRectangleCorners::OptionalT endEnd; + public facebook::react::CascadedRectangleCorners::OptionalT endStart; + public facebook::react::CascadedRectangleCorners::OptionalT startEnd; + public facebook::react::CascadedRectangleCorners::OptionalT startStart; + public facebook::react::CascadedRectangleCorners::OptionalT topEnd; + public facebook::react::CascadedRectangleCorners::OptionalT topLeft; + public facebook::react::CascadedRectangleCorners::OptionalT topRight; + public facebook::react::CascadedRectangleCorners::OptionalT topStart; + public using Counterpart = facebook::react::RectangleCorners; + public using OptionalT = std::optional; +} + +template +struct facebook::react::CascadedRectangleEdges { + public bool operator==(const facebook::react::CascadedRectangleEdges& rhs) const = default; + public facebook::react::CascadedRectangleEdges::Counterpart resolve(bool isRTL, T defaults) const; + public facebook::react::CascadedRectangleEdges::OptionalT all; + public facebook::react::CascadedRectangleEdges::OptionalT block; + public facebook::react::CascadedRectangleEdges::OptionalT blockEnd; + public facebook::react::CascadedRectangleEdges::OptionalT blockStart; + public facebook::react::CascadedRectangleEdges::OptionalT bottom; + public facebook::react::CascadedRectangleEdges::OptionalT end; + public facebook::react::CascadedRectangleEdges::OptionalT horizontal; + public facebook::react::CascadedRectangleEdges::OptionalT left; + public facebook::react::CascadedRectangleEdges::OptionalT right; + public facebook::react::CascadedRectangleEdges::OptionalT start; + public facebook::react::CascadedRectangleEdges::OptionalT top; + public facebook::react::CascadedRectangleEdges::OptionalT vertical; + public using Counterpart = facebook::react::RectangleEdges; + public using OptionalT = std::optional; +} + +template +struct facebook::react::RectangleCorners { + public T bottomLeft; + public T bottomRight; + public T topLeft; + public T topRight; + public bool isUniform() const noexcept; + public bool operator==(const facebook::react::RectangleCorners& rhs) const noexcept = default; +} + +template +struct facebook::react::RectangleEdges { + public T bottom; + public T left; + public T right; + public T top; + public bool isUniform() const noexcept; + public bool operator==(const facebook::react::RectangleEdges& rhs) const noexcept = default; + public static const facebook::react::RectangleEdges ZERO; +} + +template +class facebook::react::AsyncCallback { + public AsyncCallback(facebook::jsi::Runtime& runtime, facebook::jsi::Function function, std::shared_ptr jsInvoker); + public void call(Args... args) const noexcept; + public void call(std::function&& callImpl) const noexcept; + public void callWithPriority(facebook::react::SchedulerPriority priority, Args... args) const noexcept; + public void callWithPriority(facebook::react::SchedulerPriority priority, std::function&& callImpl) const noexcept; + public void operator()(Args... args) const noexcept; +} + +template +class facebook::react::AsyncEventEmitter : public facebook::react::IAsyncEventEmitter { + public AsyncEventEmitter(); + public AsyncEventEmitter(const facebook::react::AsyncEventEmitter&) = delete; + public AsyncEventEmitter(facebook::react::AsyncEventEmitter&&) noexcept = default; + public facebook::react::AsyncEventEmitter& operator=(const facebook::react::AsyncEventEmitter&) = delete; + public facebook::react::AsyncEventEmitter& operator=(facebook::react::AsyncEventEmitter&&) noexcept = default; + public virtual facebook::jsi::Object get(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker) const override; + public void emit(Args... value); + public void emit(std::function&& converter); + public ~AsyncEventEmitter() override = default; +} + +template +class facebook::react::SharedFunction { + public SharedFunction(const facebook::react::SharedFunction& other) = default; + public SharedFunction(facebook::react::SharedFunction&& other) noexcept = default; + public SharedFunction(std::function&& function = nullptr); + public facebook::react::SharedFunction& operator=(const facebook::react::SharedFunction& other) = default; + public facebook::react::SharedFunction& operator=(facebook::react::SharedFunction&& other) noexcept = default; + public void assign(std::function function) const; + public void operator()(ArgumentT... args) const; +} + +template +class facebook::react::AsyncPromise { + public AsyncPromise(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker); + public facebook::jsi::Object get(facebook::jsi::Runtime& rt) const; + public void reject(facebook::react::Error error); + public void resolve(T... value); +} + +template +class facebook::react::EventListenerContainerT { + public bool willDispatchEvent(TArgs... args); + public void addListener(std::shared_ptr> listener); + public void removeListener(const std::shared_ptr>& listener); +} + +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const folly::dynamic& value); + public static folly::dynamic fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); +} + +struct facebook::react::Bridging { + public static std::nullptr_t fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); + public static std::nullptr_t toJs(facebook::jsi::Runtime&, std::nullptr_t); +} + +struct facebook::react::Bridging { + public static facebook::jsi::String toJs(facebook::jsi::Runtime& rt, const std::string& value); + public static std::string fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::String& value); +} + +struct facebook::react::Bridging { + public static facebook::jsi::String toJs(facebook::jsi::Runtime& rt, std::string_view value); +} + +template +struct facebook::react::Bridging> { + public static constexpr size_t kArgumentCount; + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, facebook::react::Bridging>::Func fn, const std::shared_ptr& jsInvoker); + public using Func = std::function; + public using IndexSequence = std::index_sequence_for; +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, 2> { + public static std::pair fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, N> { + public static std::array fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::optional& value, const std::shared_ptr& jsInvoker); + public static std::optional fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value, const std::shared_ptr& jsInvoker); + template + public static std::optional fromJs(facebook::jsi::Runtime& rt, const std::optional& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { + public static std::set fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::unique_ptr& ptr, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { + public static std::vector fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::weak_ptr& weakPtr, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, sizeof...(Types)> { +} + +struct facebook::react::Bridging { + public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); + public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Value&& value); + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, std::string message); +} + +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::WeakObject& value); + public static facebook::jsi::WeakObject fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); +} + +struct facebook::react::Bridging : public NativeAnimatedTurboModuleEndResultBridging { +} + +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const facebook::react::Error& error); +} + +struct facebook::react::Bridging { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::EventSubscription& eventSubscription, const std::shared_ptr& jsInvoker); + public static facebook::react::EventSubscription fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); +} + +struct facebook::react::Bridging { + public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResDuration& value); + public static facebook::react::HighResDuration fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); +} + +struct facebook::react::Bridging { + public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResTimeStamp& value); + public static facebook::react::HighResTimeStamp fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); +} + +struct facebook::react::Bridging : public NativeIntersectionObserverNativeIntersectionObserverEntryBridging { +} + +struct facebook::react::Bridging : public NativeIntersectionObserverNativeIntersectionObserverObserveOptionsBridging { +} + +struct facebook::react::Bridging : public NativeMutationObserverNativeMutationObserverObserveOptionsBridging { +} + +struct facebook::react::Bridging : public NativeMutationObserverNativeMutationRecordBridging { +} + +struct facebook::react::Bridging : public NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfigBridging { +} + +struct facebook::react::Bridging : public NativePerformanceRawPerformanceEntryBridging { +} + +struct facebook::react::Bridging : public NativePerformancePerformanceObserverInitBridging { +} + +struct facebook::react::Bridging : public NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfigBridging { +} + +struct facebook::react::Bridging : public NativeIdleCallbacksRequestIdleCallbackOptionsBridging { +} + +struct facebook::react::Bridging { + public static facebook::react::PerformanceEntryType fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); + public static int toJs(facebook::jsi::Runtime&, const facebook::react::PerformanceEntryType& value); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static std::optional consume(facebook::react::CSSValueParser& syntaxParser); +} + +struct facebook::react::CSSDataTypeParser { + public static std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSNumberPercentTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSNumberPercentTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSVariantComponentTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSVariantComponentTransformParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +template +struct facebook::react::CSSDataTypeParser> { + public static std::optional> consume(facebook::react::CSSValueParser& parser); +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::SyncCallback& value); + public static facebook::react::SyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncCallback& value); + public static facebook::react::AsyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncEventEmitter& eventEmitter, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { +} + +template +struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncPromise& promise); +} + +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::shared_ptr& value); + public static std::shared_ptr fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& jsiValue); +} + +template +struct facebook::react::Bridging, std::enable_if_t, std::function>>> : public facebook::react::Bridging> { +} + +template +struct facebook::react::Bridging, std::enable_if_t>> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::shared_ptr& ptr, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging, std::enable_if_t>> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, std::shared_ptr value); + public static std::shared_ptr fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); +} + + +bool facebook::react::HostPlatformViewTraitsInitializer::formsStackingContext(const facebook::react::ViewProps& props); +bool facebook::react::HostPlatformViewTraitsInitializer::formsView(const facebook::react::ViewProps& props); +bool facebook::react::HostPlatformViewTraitsInitializer::isKeyboardFocusable(const facebook::react::ViewProps&); + + +constexpr bool facebook::react::detail::isHexDigit(char c); +constexpr bool facebook::react::detail::isValidHexColor(std::string_view hex); +constexpr float facebook::react::detail::hueToRgb(float p, float q, float t); +constexpr std::optional facebook::react::detail::normalizeNumberComponent(const std::variant& component); +constexpr uint8_t facebook::react::detail::clamp255Component(float f); +constexpr uint8_t facebook::react::detail::clampAlpha(std::optional alpha); +constexpr uint8_t facebook::react::detail::hexToNumeric(std::string_view hex, facebook::react::detail::HexColorType hexType); +float facebook::react::detail::normalizeHue(float hue); +std::optional facebook::react::detail::normalizeHueComponent(const std::variant& component); +std::tuple facebook::react::detail::hslToRgb(float h, float s, float l); +std::tuple facebook::react::detail::hwbToRgb(float h, float w, float b); +template +constexpr bool facebook::react::detail::isLegacyColorFunction(facebook::react::CSSValueParser& parser); +template +constexpr std::optional facebook::react::detail::parseLegacyRgbFunction(facebook::react::CSSValueParser& parser); +template +constexpr std::optional facebook::react::detail::parseModernRgbFunction(facebook::react::CSSValueParser& parser); +template +constexpr std::optional facebook::react::detail::parseRgbFunction(facebook::react::CSSValueParser& parser); +template +std::optional facebook::react::detail::parseHslFunction(facebook::react::CSSValueParser& parser); +template +std::optional facebook::react::detail::parseHwbFunction(facebook::react::CSSValueParser& parser); +template +std::optional facebook::react::detail::parseLegacyHslFunction(facebook::react::CSSValueParser& parser); +template +std::optional facebook::react::detail::parseModernHslFunction(facebook::react::CSSValueParser& parser); +template +constexpr std::optional facebook::react::detail::normalizeComponent(const std::variant& component, float baseValue); + +enum facebook::react::detail::HexColorType { + Long, + Short, +} + +template +struct facebook::react::detail::merge_data_types { + public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; +} + +template +struct facebook::react::detail::merge_data_types { + public using type = std::variant; +} + +template +struct facebook::react::detail::merge_data_types { +} + +template +struct facebook::react::detail::PreparedTextLayoutT { + public using type = typename T::PreparedTextLayout; +} + +template +struct facebook::react::detail::CSSVariantComponentTransformParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +template +struct facebook::react::detail::CSSAngleTransformParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +template +struct facebook::react::detail::CSSFilterSimpleAmountParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +template +struct facebook::react::detail::CSSNumberPercentTransformParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +template +struct facebook::react::detail::PreparedTextLayoutT { + public using type = std::nullptr_t; +} + +template +struct facebook::react::detail::is_variant_of_data_types : public std::false_type { +} + +template +class facebook::react::detail::TextLayoutManagerExtended { + public TextLayoutManagerExtended(const TextLayoutManagerT& textLayoutManager); + public facebook::react::LinesMeasurements measureLines(const facebook::react::AttributedStringBox& attributedStringBox, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::Size& size); + public facebook::react::TextMeasurement measurePreparedLayout(const facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout& layout, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout prepareLayout(const facebook::react::AttributedString& attributedString, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public static constexpr bool supportsLineMeasurement(); + public static constexpr bool supportsPreparedTextLayout(); + public using PreparedTextLayout = typename facebook::react::detail::PreparedTextLayoutT::type; +} + +template +struct facebook::react::detail::merge_variant { +} + +template +struct facebook::react::detail::merge_data_types, RestT...> { + public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; +} + +template +struct facebook::react::detail::merge_data_types, AlllowedType2T, RestT...> { + public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; +} + +template +struct facebook::react::detail::merge_variant, RestT...> { + public using type = std::variant; +} + +template +struct facebook::react::detail::merge_data_types> { + public using type = std::variant; +} + +template +struct facebook::react::detail::is_variant_of_data_types> : public std::false_type, public std::true_type { +} + +template +struct facebook::react::detail::merge_data_types, std::variant, RestT...> { + public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; +} + + +constexpr std::string_view facebook::react::detail::css::keywords::Absolute; +constexpr std::string_view facebook::react::detail::css::keywords::At; +constexpr std::string_view facebook::react::detail::css::keywords::Auto; +constexpr std::string_view facebook::react::detail::css::keywords::Baseline; +constexpr std::string_view facebook::react::detail::css::keywords::Block; +constexpr std::string_view facebook::react::detail::css::keywords::Bottom; +constexpr std::string_view facebook::react::detail::css::keywords::Center; +constexpr std::string_view facebook::react::detail::css::keywords::Clip; +constexpr std::string_view facebook::react::detail::css::keywords::Column; +constexpr std::string_view facebook::react::detail::css::keywords::ColumnReverse; +constexpr std::string_view facebook::react::detail::css::keywords::CommonLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::Content; +constexpr std::string_view facebook::react::detail::css::keywords::Contents; +constexpr std::string_view facebook::react::detail::css::keywords::Contextual; +constexpr std::string_view facebook::react::detail::css::keywords::Dashed; +constexpr std::string_view facebook::react::detail::css::keywords::DiscretionaryLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::Dotted; +constexpr std::string_view facebook::react::detail::css::keywords::Double; +constexpr std::string_view facebook::react::detail::css::keywords::End; +constexpr std::string_view facebook::react::detail::css::keywords::Fixed; +constexpr std::string_view facebook::react::detail::css::keywords::Flex; +constexpr std::string_view facebook::react::detail::css::keywords::FlexEnd; +constexpr std::string_view facebook::react::detail::css::keywords::FlexStart; +constexpr std::string_view facebook::react::detail::css::keywords::Grid; +constexpr std::string_view facebook::react::detail::css::keywords::Groove; +constexpr std::string_view facebook::react::detail::css::keywords::Hidden; +constexpr std::string_view facebook::react::detail::css::keywords::HistoricalLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::Inherit; +constexpr std::string_view facebook::react::detail::css::keywords::Initial; +constexpr std::string_view facebook::react::detail::css::keywords::Inline; +constexpr std::string_view facebook::react::detail::css::keywords::InlineBlock; +constexpr std::string_view facebook::react::detail::css::keywords::InlineFlex; +constexpr std::string_view facebook::react::detail::css::keywords::InlineGrid; +constexpr std::string_view facebook::react::detail::css::keywords::Inset; +constexpr std::string_view facebook::react::detail::css::keywords::Left; +constexpr std::string_view facebook::react::detail::css::keywords::LiningNums; +constexpr std::string_view facebook::react::detail::css::keywords::Ltr; +constexpr std::string_view facebook::react::detail::css::keywords::MaxContent; +constexpr std::string_view facebook::react::detail::css::keywords::Medium; +constexpr std::string_view facebook::react::detail::css::keywords::MinContent; +constexpr std::string_view facebook::react::detail::css::keywords::NoCommonLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::NoContextual; +constexpr std::string_view facebook::react::detail::css::keywords::NoDiscretionaryLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::NoHistoricalLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::NoWrap; +constexpr std::string_view facebook::react::detail::css::keywords::None; +constexpr std::string_view facebook::react::detail::css::keywords::Normal; +constexpr std::string_view facebook::react::detail::css::keywords::OldstyleNums; +constexpr std::string_view facebook::react::detail::css::keywords::Outset; +constexpr std::string_view facebook::react::detail::css::keywords::ProportionalNums; +constexpr std::string_view facebook::react::detail::css::keywords::Relative; +constexpr std::string_view facebook::react::detail::css::keywords::Ridge; +constexpr std::string_view facebook::react::detail::css::keywords::Right; +constexpr std::string_view facebook::react::detail::css::keywords::Row; +constexpr std::string_view facebook::react::detail::css::keywords::RowReverse; +constexpr std::string_view facebook::react::detail::css::keywords::Rtl; +constexpr std::string_view facebook::react::detail::css::keywords::Scroll; +constexpr std::string_view facebook::react::detail::css::keywords::SmallCaps; +constexpr std::string_view facebook::react::detail::css::keywords::Solid; +constexpr std::string_view facebook::react::detail::css::keywords::SpaceAround; +constexpr std::string_view facebook::react::detail::css::keywords::SpaceBetween; +constexpr std::string_view facebook::react::detail::css::keywords::SpaceEvenly; +constexpr std::string_view facebook::react::detail::css::keywords::Start; +constexpr std::string_view facebook::react::detail::css::keywords::Static; +constexpr std::string_view facebook::react::detail::css::keywords::Sticky; +constexpr std::string_view facebook::react::detail::css::keywords::Stretch; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticEight; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticEighteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticEleven; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticFifteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticFive; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticFour; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticFourteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticNine; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticNineteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticOne; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticSeven; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticSeventeen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticSix; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticSixteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticTen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticThirteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticThree; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwelve; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwenty; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwo; +constexpr std::string_view facebook::react::detail::css::keywords::TabularNums; +constexpr std::string_view facebook::react::detail::css::keywords::Thick; +constexpr std::string_view facebook::react::detail::css::keywords::Thin; +constexpr std::string_view facebook::react::detail::css::keywords::To; +constexpr std::string_view facebook::react::detail::css::keywords::Top; +constexpr std::string_view facebook::react::detail::css::keywords::Unset; +constexpr std::string_view facebook::react::detail::css::keywords::Visible; +constexpr std::string_view facebook::react::detail::css::keywords::Wrap; +constexpr std::string_view facebook::react::detail::css::keywords::WrapReverse; +template +concept facebook::react::detail::css::keywords::hasAbsolute = (CSSKeywordSet && requires() { T::Absolute; }); +template +concept facebook::react::detail::css::keywords::hasAt = (CSSKeywordSet && requires() { T::At; }); +template +concept facebook::react::detail::css::keywords::hasAuto = (CSSKeywordSet && requires() { T::Auto; }); +template +concept facebook::react::detail::css::keywords::hasBaseline = (CSSKeywordSet && requires() { T::Baseline; }); +template +concept facebook::react::detail::css::keywords::hasBlock = (CSSKeywordSet && requires() { T::Block; }); +template +concept facebook::react::detail::css::keywords::hasBottom = (CSSKeywordSet && requires() { T::Bottom; }); +template +concept facebook::react::detail::css::keywords::hasCenter = (CSSKeywordSet && requires() { T::Center; }); +template +concept facebook::react::detail::css::keywords::hasClip = (CSSKeywordSet && requires() { T::Clip; }); +template +concept facebook::react::detail::css::keywords::hasColumn = (CSSKeywordSet && requires() { T::Column; }); +template +concept facebook::react::detail::css::keywords::hasColumnReverse = (CSSKeywordSet && requires() { T::ColumnReverse; }); +template +concept facebook::react::detail::css::keywords::hasCommonLigatures = (CSSKeywordSet && requires() { T::CommonLigatures; }); +template +concept facebook::react::detail::css::keywords::hasContent = (CSSKeywordSet && requires() { T::Content; }); +template +concept facebook::react::detail::css::keywords::hasContents = (CSSKeywordSet && requires() { T::Contents; }); +template +concept facebook::react::detail::css::keywords::hasContextual = (CSSKeywordSet && requires() { T::Contextual; }); +template +concept facebook::react::detail::css::keywords::hasDashed = (CSSKeywordSet && requires() { T::Dashed; }); +template +concept facebook::react::detail::css::keywords::hasDiscretionaryLigatures = (CSSKeywordSet && requires() { T::DiscretionaryLigatures; }); +template +concept facebook::react::detail::css::keywords::hasDotted = (CSSKeywordSet && requires() { T::Dotted; }); +template +concept facebook::react::detail::css::keywords::hasDouble = (CSSKeywordSet && requires() { T::Double; }); +template +concept facebook::react::detail::css::keywords::hasEnd = (CSSKeywordSet && requires() { T::End; }); +template +concept facebook::react::detail::css::keywords::hasFixed = (CSSKeywordSet && requires() { T::Fixed; }); +template +concept facebook::react::detail::css::keywords::hasFlex = (CSSKeywordSet && requires() { T::Flex; }); +template +concept facebook::react::detail::css::keywords::hasFlexEnd = (CSSKeywordSet && requires() { T::FlexEnd; }); +template +concept facebook::react::detail::css::keywords::hasFlexStart = (CSSKeywordSet && requires() { T::FlexStart; }); +template +concept facebook::react::detail::css::keywords::hasGrid = (CSSKeywordSet && requires() { T::Grid; }); +template +concept facebook::react::detail::css::keywords::hasGroove = (CSSKeywordSet && requires() { T::Groove; }); +template +concept facebook::react::detail::css::keywords::hasHidden = (CSSKeywordSet && requires() { T::Hidden; }); +template +concept facebook::react::detail::css::keywords::hasHistoricalLigatures = (CSSKeywordSet && requires() { T::HistoricalLigatures; }); +template +concept facebook::react::detail::css::keywords::hasInherit = (CSSKeywordSet && requires() { T::Inherit; }); +template +concept facebook::react::detail::css::keywords::hasInitial = (CSSKeywordSet && requires() { T::Initial; }); +template +concept facebook::react::detail::css::keywords::hasInline = (CSSKeywordSet && requires() { T::Inline; }); +template +concept facebook::react::detail::css::keywords::hasInlineBlock = (CSSKeywordSet && requires() { T::InlineBlock; }); +template +concept facebook::react::detail::css::keywords::hasInlineFlex = (CSSKeywordSet && requires() { T::InlineFlex; }); +template +concept facebook::react::detail::css::keywords::hasInlineGrid = (CSSKeywordSet && requires() { T::InlineGrid; }); +template +concept facebook::react::detail::css::keywords::hasInset = (CSSKeywordSet && requires() { T::Inset; }); +template +concept facebook::react::detail::css::keywords::hasLeft = (CSSKeywordSet && requires() { T::Left; }); +template +concept facebook::react::detail::css::keywords::hasLiningNums = (CSSKeywordSet && requires() { T::LiningNums; }); +template +concept facebook::react::detail::css::keywords::hasLtr = (CSSKeywordSet && requires() { T::Ltr; }); +template +concept facebook::react::detail::css::keywords::hasMaxContent = (CSSKeywordSet && requires() { T::MaxContent; }); +template +concept facebook::react::detail::css::keywords::hasMedium = (CSSKeywordSet && requires() { T::Medium; }); +template +concept facebook::react::detail::css::keywords::hasMinContent = (CSSKeywordSet && requires() { T::MinContent; }); +template +concept facebook::react::detail::css::keywords::hasNoCommonLigatures = (CSSKeywordSet && requires() { T::NoCommonLigatures; }); +template +concept facebook::react::detail::css::keywords::hasNoContextual = (CSSKeywordSet && requires() { T::NoContextual; }); +template +concept facebook::react::detail::css::keywords::hasNoDiscretionaryLigatures = (CSSKeywordSet && requires() { T::NoDiscretionaryLigatures; }); +template +concept facebook::react::detail::css::keywords::hasNoHistoricalLigatures = (CSSKeywordSet && requires() { T::NoHistoricalLigatures; }); +template +concept facebook::react::detail::css::keywords::hasNoWrap = (CSSKeywordSet && requires() { T::NoWrap; }); +template +concept facebook::react::detail::css::keywords::hasNone = (CSSKeywordSet && requires() { T::None; }); +template +concept facebook::react::detail::css::keywords::hasNormal = (CSSKeywordSet && requires() { T::Normal; }); +template +concept facebook::react::detail::css::keywords::hasOldstyleNums = (CSSKeywordSet && requires() { T::OldstyleNums; }); +template +concept facebook::react::detail::css::keywords::hasOutset = (CSSKeywordSet && requires() { T::Outset; }); +template +concept facebook::react::detail::css::keywords::hasProportionalNums = (CSSKeywordSet && requires() { T::ProportionalNums; }); +template +concept facebook::react::detail::css::keywords::hasRelative = (CSSKeywordSet && requires() { T::Relative; }); +template +concept facebook::react::detail::css::keywords::hasRidge = (CSSKeywordSet && requires() { T::Ridge; }); +template +concept facebook::react::detail::css::keywords::hasRight = (CSSKeywordSet && requires() { T::Right; }); +template +concept facebook::react::detail::css::keywords::hasRow = (CSSKeywordSet && requires() { T::Row; }); +template +concept facebook::react::detail::css::keywords::hasRowReverse = (CSSKeywordSet && requires() { T::RowReverse; }); +template +concept facebook::react::detail::css::keywords::hasRtl = (CSSKeywordSet && requires() { T::Rtl; }); +template +concept facebook::react::detail::css::keywords::hasScroll = (CSSKeywordSet && requires() { T::Scroll; }); +template +concept facebook::react::detail::css::keywords::hasSmallCaps = (CSSKeywordSet && requires() { T::SmallCaps; }); +template +concept facebook::react::detail::css::keywords::hasSolid = (CSSKeywordSet && requires() { T::Solid; }); +template +concept facebook::react::detail::css::keywords::hasSpaceAround = (CSSKeywordSet && requires() { T::SpaceAround; }); +template +concept facebook::react::detail::css::keywords::hasSpaceBetween = (CSSKeywordSet && requires() { T::SpaceBetween; }); +template +concept facebook::react::detail::css::keywords::hasSpaceEvenly = (CSSKeywordSet && requires() { T::SpaceEvenly; }); +template +concept facebook::react::detail::css::keywords::hasStart = (CSSKeywordSet && requires() { T::Start; }); +template +concept facebook::react::detail::css::keywords::hasStatic = (CSSKeywordSet && requires() { T::Static; }); +template +concept facebook::react::detail::css::keywords::hasSticky = (CSSKeywordSet && requires() { T::Sticky; }); +template +concept facebook::react::detail::css::keywords::hasStretch = (CSSKeywordSet && requires() { T::Stretch; }); +template +concept facebook::react::detail::css::keywords::hasStylisticEight = (CSSKeywordSet && requires() { T::StylisticEight; }); +template +concept facebook::react::detail::css::keywords::hasStylisticEighteen = (CSSKeywordSet && requires() { T::StylisticEighteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticEleven = (CSSKeywordSet && requires() { T::StylisticEleven; }); +template +concept facebook::react::detail::css::keywords::hasStylisticFifteen = (CSSKeywordSet && requires() { T::StylisticFifteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticFive = (CSSKeywordSet && requires() { T::StylisticFive; }); +template +concept facebook::react::detail::css::keywords::hasStylisticFour = (CSSKeywordSet && requires() { T::StylisticFour; }); +template +concept facebook::react::detail::css::keywords::hasStylisticFourteen = (CSSKeywordSet && requires() { T::StylisticFourteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticNine = (CSSKeywordSet && requires() { T::StylisticNine; }); +template +concept facebook::react::detail::css::keywords::hasStylisticNineteen = (CSSKeywordSet && requires() { T::StylisticNineteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticOne = (CSSKeywordSet && requires() { T::StylisticOne; }); +template +concept facebook::react::detail::css::keywords::hasStylisticSeven = (CSSKeywordSet && requires() { T::StylisticSeven; }); +template +concept facebook::react::detail::css::keywords::hasStylisticSeventeen = (CSSKeywordSet && requires() { T::StylisticSeventeen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticSix = (CSSKeywordSet && requires() { T::StylisticSix; }); +template +concept facebook::react::detail::css::keywords::hasStylisticSixteen = (CSSKeywordSet && requires() { T::StylisticSixteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticTen = (CSSKeywordSet && requires() { T::StylisticTen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticThirteen = (CSSKeywordSet && requires() { T::StylisticThirteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticThree = (CSSKeywordSet && requires() { T::StylisticThree; }); +template +concept facebook::react::detail::css::keywords::hasStylisticTwelve = (CSSKeywordSet && requires() { T::StylisticTwelve; }); +template +concept facebook::react::detail::css::keywords::hasStylisticTwenty = (CSSKeywordSet && requires() { T::StylisticTwenty; }); +template +concept facebook::react::detail::css::keywords::hasStylisticTwo = (CSSKeywordSet && requires() { T::StylisticTwo; }); +template +concept facebook::react::detail::css::keywords::hasTabularNums = (CSSKeywordSet && requires() { T::TabularNums; }); +template +concept facebook::react::detail::css::keywords::hasThick = (CSSKeywordSet && requires() { T::Thick; }); +template +concept facebook::react::detail::css::keywords::hasThin = (CSSKeywordSet && requires() { T::Thin; }); +template +concept facebook::react::detail::css::keywords::hasTo = (CSSKeywordSet && requires() { T::To; }); +template +concept facebook::react::detail::css::keywords::hasTop = (CSSKeywordSet && requires() { T::Top; }); +template +concept facebook::react::detail::css::keywords::hasUnset = (CSSKeywordSet && requires() { T::Unset; }); +template +concept facebook::react::detail::css::keywords::hasVisible = (CSSKeywordSet && requires() { T::Visible; }); +template +concept facebook::react::detail::css::keywords::hasWrap = (CSSKeywordSet && requires() { T::Wrap; }); +template +concept facebook::react::detail::css::keywords::hasWrapReverse = (CSSKeywordSet && requires() { T::WrapReverse; }); + + +constexpr size_t facebook::react::jsinspector_modern::REQUEST_BUFFER_MAX_SIZE_BYTES; +template +using facebook::react::jsinspector_modern::ScopedExecutor = std::function&& callback)>; +typedef std::function facebook::react::jsinspector_modern::FrontendChannel; +typedef std::map facebook::react::jsinspector_modern::Headers; +using facebook::react::jsinspector_modern::ExecutionContextSelectorSet = std::unordered_set; +using facebook::react::jsinspector_modern::IOReadError = const std::string; +using facebook::react::jsinspector_modern::InspectorPage = facebook::react::jsinspector_modern::InspectorPageDescription; +using facebook::react::jsinspector_modern::StreamID = const std::string; +using facebook::react::jsinspector_modern::VoidExecutor = std::function&& callback)>; +bool facebook::react::jsinspector_modern::matchesAny(const facebook::react::jsinspector_modern::ExecutionContextDescription& context, const facebook::react::jsinspector_modern::ExecutionContextSelectorSet& selectors); +facebook::react::jsinspector_modern::IInspector& facebook::react::jsinspector_modern::getInspectorInstance(); +folly::dynamic facebook::react::jsinspector_modern::createHostMetadataPayload(const facebook::react::jsinspector_modern::HostTargetMetadata& metadata); +folly::dynamic facebook::react::jsinspector_modern::targetCapabilitiesToDynamic(const facebook::react::jsinspector_modern::InspectorTargetCapabilities& capabilities); +std::string facebook::react::jsinspector_modern::httpReasonPhrase(uint16_t status); +std::string facebook::react::jsinspector_modern::mimeTypeFromHeaders(const facebook::react::jsinspector_modern::Headers& headers); +std::unique_ptr facebook::react::jsinspector_modern::makeTestInspectorInstance(); +template +void facebook::react::jsinspector_modern::emitNotificationsForTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const ChannelsRange& channels, bool isBackgroundTrace); +template +facebook::react::jsinspector_modern::ScopedExecutor facebook::react::jsinspector_modern::makeScopedExecutor(std::shared_ptr self, facebook::react::jsinspector_modern::ScopedExecutor executor); +template +facebook::react::jsinspector_modern::ScopedExecutor facebook::react::jsinspector_modern::makeScopedExecutor(std::shared_ptr self, facebook::react::jsinspector_modern::VoidExecutor executor); +template +facebook::react::jsinspector_modern::VoidExecutor facebook::react::jsinspector_modern::makeVoidExecutor(facebook::react::jsinspector_modern::ScopedExecutor executor); +void facebook::react::jsinspector_modern::emitGlobalStateObserverChange(facebook::jsi::Runtime& runtime, const char* globalName, const char* callbackName, bool value); +void facebook::react::jsinspector_modern::emitNotificationsForTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const facebook::react::jsinspector_modern::FrontendChannel& channel, bool isBackgroundTrace); +void facebook::react::jsinspector_modern::emitTracingStateObserverChange(facebook::jsi::Runtime& runtime, bool isTracing); +void facebook::react::jsinspector_modern::installGlobalStateObserver(facebook::jsi::Runtime& runtime, const char* globalName, const char* statusProperty, const char* callbackName); +void facebook::react::jsinspector_modern::installTracingStateObserver(facebook::jsi::Runtime& runtime); +void facebook::react::jsinspector_modern::truncateToValidUTF8(std::vector& buffer); + +class facebook::react::jsinspector_modern::BoundedRequestBuffer { + public bool put(const std::string& requestId, std::string_view data, bool base64Encoded) noexcept; + public std::shared_ptr get(const std::string& requestId) const; + public void clear(); +} + +struct facebook::react::jsinspector_modern::BoundedRequestBuffer::ResponseBody { + public bool base64Encoded; + public std::string data; +} + +class facebook::react::jsinspector_modern::CallbackLocalConnection : public facebook::react::jsinspector_modern::ILocalConnection { + public CallbackLocalConnection(std::function handler); + public virtual void disconnect() override; + public virtual void sendMessage(std::string message) override; +} + +class facebook::react::jsinspector_modern::CallbackRemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { + public CallbackRemoteConnection(std::function handler); + public virtual void onDisconnect() override; + public virtual void onMessage(std::string message) override; +} + +class facebook::react::jsinspector_modern::ConsoleTask { + public ConsoleTask(const facebook::react::jsinspector_modern::ConsoleTask&) = default; + public ConsoleTask(facebook::react::jsinspector_modern::ConsoleTask&&) = default; + public ConsoleTask(std::shared_ptr taskContext); + public facebook::react::jsinspector_modern::ConsoleTask& operator=(const facebook::react::jsinspector_modern::ConsoleTask&) = delete; + public facebook::react::jsinspector_modern::ConsoleTask& operator=(facebook::react::jsinspector_modern::ConsoleTask&&) = delete; + public ~ConsoleTask(); +} + +class facebook::react::jsinspector_modern::ConsoleTaskContext : public std::enable_shared_from_this { + public ConsoleTaskContext(const facebook::react::jsinspector_modern::ConsoleTaskContext&) = delete; + public ConsoleTaskContext(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::RuntimeTargetDelegate& runtimeTargetDelegate, std::string name); + public ConsoleTaskContext(facebook::react::jsinspector_modern::ConsoleTaskContext&&) = delete; + public facebook::react::jsinspector_modern::ConsoleTaskContext& operator=(const facebook::react::jsinspector_modern::ConsoleTaskContext&) = delete; + public facebook::react::jsinspector_modern::ConsoleTaskContext& operator=(facebook::react::jsinspector_modern::ConsoleTaskContext&&) = delete; + public facebook::react::jsinspector_modern::ConsoleTaskId id() const; + public std::optional getSerializedStackTrace() const; + public void schedule(); + public ~ConsoleTaskContext(); +} + +class facebook::react::jsinspector_modern::ConsoleTaskId { + public ConsoleTaskId() = default; + public ConsoleTaskId(const facebook::react::jsinspector_modern::ConsoleTaskId&) = default; + public ConsoleTaskId(facebook::react::jsinspector_modern::ConsoleTaskId&&) = default; + public bool operator==(const facebook::react::jsinspector_modern::ConsoleTaskId&) const = default; + public facebook::react::jsinspector_modern::ConsoleTaskId& operator=(const facebook::react::jsinspector_modern::ConsoleTaskId&) = default; + public facebook::react::jsinspector_modern::ConsoleTaskId& operator=(facebook::react::jsinspector_modern::ConsoleTaskId&&) = default; + public operator bool() const; + public operator void *() const; + public ~ConsoleTaskId() = default; +} + +class facebook::react::jsinspector_modern::ConsoleTaskOrchestrator { + public ConsoleTaskOrchestrator(const facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&) = delete; + public ConsoleTaskOrchestrator(facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&&) = delete; + public facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& operator=(const facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&) = delete; + public facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& operator=(facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&&) = delete; + public static facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& getInstance(); + public std::shared_ptr top() const; + public void cancelTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); + public void finishTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); + public void scheduleTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId, std::weak_ptr taskContext); + public void startTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); + public ~ConsoleTaskOrchestrator() = default; +} + +class facebook::react::jsinspector_modern::ExecutionContextManager { + public int32_t allocateExecutionContextId(); +} + +class facebook::react::jsinspector_modern::ExecutionContextSelector { + public ExecutionContextSelector() = delete; + public ExecutionContextSelector(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) = default; + public ExecutionContextSelector(facebook::react::jsinspector_modern::ExecutionContextSelector&& other) noexcept = default; + public bool matches(const facebook::react::jsinspector_modern::ExecutionContextDescription& context) const noexcept; + public bool operator==(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) const noexcept; + public facebook::react::jsinspector_modern::ExecutionContextSelector& operator=(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) = default; + public facebook::react::jsinspector_modern::ExecutionContextSelector& operator=(facebook::react::jsinspector_modern::ExecutionContextSelector&& other) noexcept = default; + public static facebook::react::jsinspector_modern::ExecutionContextSelector all(); + public static facebook::react::jsinspector_modern::ExecutionContextSelector byId(int32_t id); + public static facebook::react::jsinspector_modern::ExecutionContextSelector byName(std::string name); + public ~ExecutionContextSelector() = default; +} + +class facebook::react::jsinspector_modern::FallbackRuntimeAgentDelegate : public facebook::react::jsinspector_modern::RuntimeAgentDelegate { + public FallbackRuntimeAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, const facebook::react::jsinspector_modern::SessionState& sessionState, std::string engineDescription); + public virtual bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req) override; +} + +class facebook::react::jsinspector_modern::FallbackRuntimeTargetDelegate : public facebook::react::jsinspector_modern::RuntimeTargetDelegate { + public FallbackRuntimeTargetDelegate(std::string engineDescription); + public virtual bool supportsConsole() const override; + public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() override; + public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) override; + public virtual std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel channel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) override; + public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip) override; + public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) override; + public virtual void disableSamplingProfiler() override; + public virtual void enableSamplingProfiler() override; +} + +class facebook::react::jsinspector_modern::HermesRuntimeTargetDelegate : public facebook::react::jsinspector_modern::RuntimeTargetDelegate { + public HermesRuntimeTargetDelegate(std::shared_ptr runtime, hermes::HermesRuntime& hermesRuntime); + public std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) override; + public virtual bool supportsConsole() const override; + public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() override; + public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) override; + public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip) override; + public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) override; + public virtual void disableSamplingProfiler() override; + public virtual void enableSamplingProfiler() override; + public ~HermesRuntimeTargetDelegate() override; +} + +class facebook::react::jsinspector_modern::HostAgent { + public HostAgent(const facebook::react::jsinspector_modern::FrontendChannel& frontendChannel, facebook::react::jsinspector_modern::HostTargetController& targetController, facebook::react::jsinspector_modern::HostTargetMetadata hostMetadata, facebook::react::jsinspector_modern::SessionState& sessionState, facebook::react::jsinspector_modern::VoidExecutor executor); + public HostAgent(const facebook::react::jsinspector_modern::HostAgent&) = delete; + public HostAgent(facebook::react::jsinspector_modern::HostAgent&&) = delete; + public bool isEligibleForBackgroundTrace() const; + public facebook::react::jsinspector_modern::HostAgent& operator=(const facebook::react::jsinspector_modern::HostAgent&) = delete; + public facebook::react::jsinspector_modern::HostAgent& operator=(facebook::react::jsinspector_modern::HostAgent&&) = delete; + public void emitSystemStateChanged(bool isSingleHost); + public void handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); + public void setCurrentInstanceAgent(std::shared_ptr agent); + public ~HostAgent(); +} + +class facebook::react::jsinspector_modern::HostTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { + public HostTarget(const facebook::react::jsinspector_modern::HostTarget&) = delete; + public HostTarget(facebook::react::jsinspector_modern::HostTarget&&) = delete; + public bool startTracing(facebook::react::jsinspector_modern::tracing::Mode mode, std::set enabledCategories); + public bool stopAndMaybeEmitBackgroundTrace(); + public facebook::react::jsinspector_modern::HostTarget& operator=(const facebook::react::jsinspector_modern::HostTarget&) = delete; + public facebook::react::jsinspector_modern::HostTarget& operator=(facebook::react::jsinspector_modern::HostTarget&&) = delete; + public facebook::react::jsinspector_modern::InstanceTarget& registerInstance(facebook::react::jsinspector_modern::InstanceTargetDelegate& delegate); + public facebook::react::jsinspector_modern::tracing::HostTracingProfile stopTracing(); + public static std::shared_ptr create(facebook::react::jsinspector_modern::HostTargetDelegate& delegate, facebook::react::jsinspector_modern::VoidExecutor executor); + public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public std::unique_ptr connect(std::unique_ptr connectionToFrontend); + public void recordFrameTimings(facebook::react::jsinspector_modern::tracing::FrameTimingSequence frameTimingSequence); + public void sendCommand(facebook::react::jsinspector_modern::HostCommand command); + public void unregisterInstance(facebook::react::jsinspector_modern::InstanceTarget& instance); + public ~HostTarget(); +} + +class facebook::react::jsinspector_modern::HostTargetController { + public HostTargetController(facebook::react::jsinspector_modern::HostTarget& target); + public bool decrementPauseOverlayCounter(); + public bool hasInstance() const; + public bool maybeEmitStashedBackgroundTrace(); + public bool startTracing(facebook::react::jsinspector_modern::tracing::Mode mode, std::set enabledCategories); + public facebook::react::jsinspector_modern::HostTargetDelegate& getDelegate(); + public facebook::react::jsinspector_modern::tracing::HostTracingProfile stopTracing(); + public void incrementPauseOverlayCounter(); + public void installPerfIssuesBinding(); +} + +class facebook::react::jsinspector_modern::HostTargetDelegate : public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate { + public HostTargetDelegate() = default; + public HostTargetDelegate(const facebook::react::jsinspector_modern::HostTargetDelegate&) = delete; + public HostTargetDelegate(facebook::react::jsinspector_modern::HostTargetDelegate&&) = delete; + public facebook::react::jsinspector_modern::HostTargetDelegate& operator=(const facebook::react::jsinspector_modern::HostTargetDelegate&) = delete; + public facebook::react::jsinspector_modern::HostTargetDelegate& operator=(facebook::react::jsinspector_modern::HostTargetDelegate&&) = delete; + public virtual facebook::react::jsinspector_modern::HostTargetMetadata getMetadata() = 0; + public virtual facebook::react::jsinspector_modern::HostTargetTracingDelegate* getTracingDelegate(); + public virtual void loadNetworkResource(const facebook::react::jsinspector_modern::LoadNetworkResourceRequest&, facebook::react::jsinspector_modern::ScopedExecutor) override; + public virtual void onReload(const facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest& request) = 0; + public virtual void onSetPausedInDebuggerMessage(const facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest& request) = 0; + public virtual void unstable_onPerfIssueAdded(const facebook::react::jsinspector_modern::PerfIssuePayload&); + public virtual ~HostTargetDelegate() override; +} + +struct facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest { + public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest& rhs) const; + public std::optional message; +} + +struct facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest { + public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest& rhs) const; + public std::optional ignoreCache; + public std::optional scriptToEvaluateOnLoad; +} + +class facebook::react::jsinspector_modern::HostTargetTraceRecording { + public HostTargetTraceRecording(facebook::react::jsinspector_modern::HostTarget& hostTarget, facebook::react::jsinspector_modern::tracing::Mode tracingMode, std::set enabledCategories, std::optional windowSize = std::nullopt); + public bool isBackgroundInitiated() const; + public bool isUserInitiated() const; + public facebook::react::jsinspector_modern::tracing::HostTracingProfile stop(); + public void recordFrameTimings(facebook::react::jsinspector_modern::tracing::FrameTimingSequence frameTimingSequence); + public void setTracedInstance(facebook::react::jsinspector_modern::InstanceTarget* instanceTarget); + public void start(); +} + +class facebook::react::jsinspector_modern::HostTargetTracingDelegate { + public HostTargetTracingDelegate() = default; + public HostTargetTracingDelegate(const facebook::react::jsinspector_modern::HostTargetTracingDelegate&) = delete; + public HostTargetTracingDelegate(facebook::react::jsinspector_modern::HostTargetTracingDelegate&&) = delete; + public facebook::react::jsinspector_modern::HostTargetTracingDelegate& operator=(const facebook::react::jsinspector_modern::HostTargetTracingDelegate&) = delete; + public facebook::react::jsinspector_modern::HostTargetTracingDelegate& operator=(facebook::react::jsinspector_modern::HostTargetTracingDelegate&&) = delete; + public virtual void onTracingStarted(facebook::react::jsinspector_modern::tracing::Mode, bool); + public virtual void onTracingStopped(); + public virtual ~HostTargetTracingDelegate() = default; +} + +class facebook::react::jsinspector_modern::HostTracingAgent { + public HostTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public void setTracedInstance(facebook::react::jsinspector_modern::InstanceTarget* instanceTarget); +} + +class facebook::react::jsinspector_modern::IDestructible { + public virtual ~IDestructible() = 0; +} + +class facebook::react::jsinspector_modern::IInspector : public facebook::react::jsinspector_modern::IDestructible { + public using ConnectFunc = std::function(std::unique_ptr)>; + public virtual facebook::react::jsinspector_modern::InspectorSystemState getSystemState() const = 0; + public virtual int addPage(const std::string& description, const std::string& vm, facebook::react::jsinspector_modern::IInspector::ConnectFunc connectFunc, facebook::react::jsinspector_modern::InspectorTargetCapabilities capabilities = {}) = 0; + public virtual std::unique_ptr connect(int pageId, std::unique_ptr remote) = 0; + public virtual std::vector getPages() const = 0; + public virtual void registerPageStatusListener(std::weak_ptr listener) = 0; + public virtual void removePage(int pageId) = 0; + public virtual ~IInspector() = 0; +} + +class facebook::react::jsinspector_modern::ILocalConnection : public facebook::react::jsinspector_modern::IDestructible { + public virtual void disconnect() = 0; + public virtual void sendMessage(std::string message) = 0; + public virtual ~ILocalConnection() = 0; +} + +class facebook::react::jsinspector_modern::IPageStatusListener : public facebook::react::jsinspector_modern::IDestructible { + public virtual void onPageRemoved(int); + public virtual void unstable_onHostTargetAdded(); + public virtual ~IPageStatusListener() = 0; +} + +class facebook::react::jsinspector_modern::IRemoteConnection : public facebook::react::jsinspector_modern::IDestructible { + public virtual void onDisconnect() = 0; + public virtual void onMessage(std::string message) = 0; + public virtual ~IRemoteConnection() = 0; +} + +class facebook::react::jsinspector_modern::IWebSocket { + public virtual void send(std::string_view message) = 0; + public virtual ~IWebSocket() = default; +} + +class facebook::react::jsinspector_modern::IWebSocketDelegate { + public virtual void didClose() = 0; + public virtual void didFailWithError(std::optional posixCode, std::string error) = 0; + public virtual void didOpen() = 0; + public virtual void didReceiveMessage(std::string_view message) = 0; + public virtual ~IWebSocketDelegate() = default; +} + +class facebook::react::jsinspector_modern::InspectorFlags { + public bool getAssertSingleHostState() const; + public bool getFrameRecordingEnabled() const; + public bool getFuseboxEnabled() const; + public bool getIsProfilingBuild() const; + public bool getNetworkInspectionEnabled() const; + public bool getPerfIssuesEnabled() const; + public static facebook::react::jsinspector_modern::InspectorFlags& getInstance(); + public void dangerouslyDisableFuseboxForTest(); + public void dangerouslyResetFlags(); +} + +class facebook::react::jsinspector_modern::InspectorPackagerConnection { + public InspectorPackagerConnection(std::string url, std::string deviceName, std::string appName, std::unique_ptr delegate); + public bool isConnected() const; + public void closeQuietly(); + public void connect(); + public void sendEventToAllConnections(std::string event); +} + +class facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl : public facebook::react::jsinspector_modern::IWebSocketDelegate, public facebook::react::jsinspector_modern::IPageStatusListener, public std::enable_shared_from_this { + public bool isConnected() const; + public static std::shared_ptr create(std::string url, std::string deviceName, std::string appName, std::unique_ptr delegate); + public using SessionId = uint32_t; + public void closeQuietly(); + public void connect(); + public void scheduleSendToPackager(folly::dynamic message, facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::SessionId sourceSessionId, const std::string& sourcePageId, const std::string& sourceProxySessionId); + public void sendEventToAllConnections(const std::string& event); +} + +class facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::RemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { + public RemoteConnection(std::weak_ptr owningPackagerConnection, std::string pageId, facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::SessionId sessionId, std::string proxySessionId); + public virtual void onDisconnect() override; + public virtual void onMessage(std::string message) override; +} + +class facebook::react::jsinspector_modern::InspectorPackagerConnectionDelegate { + public virtual std::unique_ptr connectWebSocket(const std::string& url, std::weak_ptr delegate) = 0; + public virtual void scheduleCallback(std::function callback, std::chrono::milliseconds delayMs) = 0; + public virtual ~InspectorPackagerConnectionDelegate() = default; +} + +class facebook::react::jsinspector_modern::InstanceAgent { + public InstanceAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::InstanceTarget& target, facebook::react::jsinspector_modern::SessionState& sessionState); + public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); + public void sendConsoleMessage(facebook::react::jsinspector_modern::SimpleConsoleMessage message); + public void setCurrentRuntime(facebook::react::jsinspector_modern::RuntimeTarget* runtime); +} + +class facebook::react::jsinspector_modern::InstanceTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { + public InstanceTarget(const facebook::react::jsinspector_modern::InstanceTarget&) = delete; + public InstanceTarget(facebook::react::jsinspector_modern::InstanceTarget&&) = delete; + public facebook::react::jsinspector_modern::InstanceTarget& operator=(const facebook::react::jsinspector_modern::InstanceTarget&) = delete; + public facebook::react::jsinspector_modern::InstanceTarget& operator=(facebook::react::jsinspector_modern::InstanceTarget&&) = delete; + public facebook::react::jsinspector_modern::RuntimeTarget& registerRuntime(facebook::react::jsinspector_modern::RuntimeTargetDelegate& delegate, facebook::react::RuntimeExecutor executor); + public static std::shared_ptr create(std::shared_ptr executionContextManager, facebook::react::jsinspector_modern::InstanceTargetDelegate& delegate, facebook::react::jsinspector_modern::VoidExecutor executor); + public std::shared_ptr createAgent(const facebook::react::jsinspector_modern::FrontendChannel& channel, facebook::react::jsinspector_modern::SessionState& sessionState); + public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public void unregisterRuntime(facebook::react::jsinspector_modern::RuntimeTarget& runtime); + public ~InstanceTarget(); +} + +class facebook::react::jsinspector_modern::InstanceTargetDelegate { + public InstanceTargetDelegate() = default; + public InstanceTargetDelegate(const facebook::react::jsinspector_modern::InstanceTargetDelegate&) = delete; + public InstanceTargetDelegate(facebook::react::jsinspector_modern::InstanceTargetDelegate&&) = delete; + public facebook::react::jsinspector_modern::InstanceTargetDelegate& operator=(const facebook::react::jsinspector_modern::InstanceTargetDelegate&) = delete; + public facebook::react::jsinspector_modern::InstanceTargetDelegate& operator=(facebook::react::jsinspector_modern::InstanceTargetDelegate&&) = delete; + public virtual ~InstanceTargetDelegate(); +} + +class facebook::react::jsinspector_modern::InstanceTracingAgent { + public InstanceTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public void setTracedRuntime(facebook::react::jsinspector_modern::RuntimeTarget* runtimeTarget); + public ~InstanceTracingAgent(); +} + +class facebook::react::jsinspector_modern::LoadNetworkResourceDelegate { + public LoadNetworkResourceDelegate() = default; + public LoadNetworkResourceDelegate(const facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&) = delete; + public LoadNetworkResourceDelegate(facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&&) noexcept = delete; + public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& operator=(const facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&) = delete; + public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& operator=(facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&&) noexcept = delete; + public virtual void loadNetworkResource(const facebook::react::jsinspector_modern::LoadNetworkResourceRequest& params, facebook::react::jsinspector_modern::ScopedExecutor executor) = 0; + public virtual ~LoadNetworkResourceDelegate() = default; +} + +class facebook::react::jsinspector_modern::NetworkHandler { + public bool isEnabled() const; + public size_t enableAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel); + public static facebook::react::jsinspector_modern::NetworkHandler& getInstance(); + public std::optional> getResponseBody(const std::string& requestId); + public void disableAgent(size_t agentId); + public void onDataReceived(const std::string& requestId, int dataLength, int encodedDataLength); + public void onLoadingFailed(const std::string& requestId, bool cancelled); + public void onLoadingFinished(const std::string& requestId, int encodedDataLength); + public void onRequestWillBeSent(const std::string& requestId, const facebook::react::jsinspector_modern::cdp::network::Request& request, const std::optional& redirectResponse); + public void onRequestWillBeSentExtraInfo(const std::string& requestId, const facebook::react::jsinspector_modern::Headers& headers); + public void onResponseReceived(const std::string& requestId, const facebook::react::jsinspector_modern::cdp::network::Response& response); + public void recordRequestInitiatorStack(const std::string& requestId, folly::dynamic stackTrace); + public void storeResponseBody(const std::string& requestId, std::string_view body, bool base64Encoded); +} + +class facebook::react::jsinspector_modern::NetworkIOAgent { + public NetworkIOAgent(const facebook::react::jsinspector_modern::NetworkIOAgent&) = delete; + public NetworkIOAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::VoidExecutor executor); + public NetworkIOAgent(facebook::react::jsinspector_modern::NetworkIOAgent&&) = delete; + public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req, facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& delegate); + public facebook::react::jsinspector_modern::NetworkIOAgent& operator=(const facebook::react::jsinspector_modern::NetworkIOAgent&) = delete; + public facebook::react::jsinspector_modern::NetworkIOAgent& operator=(facebook::react::jsinspector_modern::NetworkIOAgent&&) = delete; + public ~NetworkIOAgent(); +} + +class facebook::react::jsinspector_modern::NetworkRequestListener { + public NetworkRequestListener() = default; + public NetworkRequestListener(const facebook::react::jsinspector_modern::NetworkRequestListener&) = delete; + public NetworkRequestListener(facebook::react::jsinspector_modern::NetworkRequestListener&&) noexcept = default; + public facebook::react::jsinspector_modern::NetworkRequestListener& operator=(const facebook::react::jsinspector_modern::NetworkRequestListener&) = delete; + public facebook::react::jsinspector_modern::NetworkRequestListener& operator=(facebook::react::jsinspector_modern::NetworkRequestListener&&) noexcept = default; + public virtual void onCompletion() = 0; + public virtual void onData(std::string_view data) = 0; + public virtual void onError(const std::string& message) = 0; + public virtual void onHeaders(uint32_t httpStatusCode, const facebook::react::jsinspector_modern::Headers& headers) = 0; + public virtual void setCancelFunction(std::function cancelFunction) = 0; + public virtual ~NetworkRequestListener() = default; +} + +class facebook::react::jsinspector_modern::NotImplementedException : public std::exception { + public NotImplementedException(std::string message); + public const char* what() const noexcept override; +} + +class facebook::react::jsinspector_modern::NullRemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { +} + +class facebook::react::jsinspector_modern::PerfMonitorUpdateHandler { + public PerfMonitorUpdateHandler(facebook::react::jsinspector_modern::HostTargetDelegate& delegate); + public void handlePerfIssueAdded(const std::string& message); +} + +class facebook::react::jsinspector_modern::RAIIRemoteConnection { + public RAIIRemoteConnection(std::unique_ptr remote); + public void onMessage(std::string message); + public ~RAIIRemoteConnection(); +} + +class facebook::react::jsinspector_modern::RuntimeAgent { + public RuntimeAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::RuntimeTargetController& targetController, facebook::react::jsinspector_modern::ExecutionContextDescription executionContextDescription, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr delegate); + public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); + public const facebook::react::jsinspector_modern::ExecutionContextDescription& getExecutionContextDescription() const; + public facebook::react::jsinspector_modern::RuntimeAgent::ExportedState getExportedState(); + public void notifyBindingCalled(const std::string& bindingName, const std::string& payload); + public ~RuntimeAgent(); +} + +struct facebook::react::jsinspector_modern::RuntimeAgent::ExportedState { + public std::unique_ptr delegateState; +} + +class facebook::react::jsinspector_modern::RuntimeAgentDelegate { + public virtual bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req) = 0; + public virtual std::unique_ptr getExportedState(); + public virtual ~RuntimeAgentDelegate() = default; +} + +class facebook::react::jsinspector_modern::RuntimeAgentDelegate::ExportedState { + public virtual ~ExportedState() = default; +} + +class facebook::react::jsinspector_modern::RuntimeTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { + public RuntimeTarget(const facebook::react::jsinspector_modern::RuntimeTarget&) = delete; + public RuntimeTarget(facebook::react::jsinspector_modern::RuntimeTarget&&) = delete; + public facebook::react::jsinspector_modern::RuntimeTarget& operator=(const facebook::react::jsinspector_modern::RuntimeTarget&) = delete; + public facebook::react::jsinspector_modern::RuntimeTarget& operator=(facebook::react::jsinspector_modern::RuntimeTarget&&) = delete; + public static std::shared_ptr create(const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::jsinspector_modern::RuntimeTargetDelegate& delegate, facebook::react::RuntimeExecutor jsExecutor, facebook::react::jsinspector_modern::VoidExecutor selfExecutor); + public std::shared_ptr createAgent(const facebook::react::jsinspector_modern::FrontendChannel& channel, facebook::react::jsinspector_modern::SessionState& sessionState); + public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public ~RuntimeTarget(); +} + +class facebook::react::jsinspector_modern::RuntimeTargetController { + public RuntimeTargetController(facebook::react::jsinspector_modern::RuntimeTarget& target); + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile(); + public void disableSamplingProfiler(); + public void emitTracingStateChange(bool isTracing); + public void enableSamplingProfiler(); + public void installBindingHandler(const std::string& bindingName); + public void notifyDomainStateChanged(facebook::react::jsinspector_modern::RuntimeTargetController::Domain domain, bool enabled, const facebook::react::jsinspector_modern::RuntimeAgent& notifyingAgent); +} + +enum facebook::react::jsinspector_modern::RuntimeTargetController::Domain { + Log, + Network, + Runtime, + kMaxValue, +} + +class facebook::react::jsinspector_modern::RuntimeTargetDelegate { + public virtual bool supportsConsole() const = 0; + public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() = 0; + public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) = 0; + public virtual std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel channel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) = 0; + public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip = 0) = 0; + public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) = 0; + public virtual void disableSamplingProfiler() = 0; + public virtual void enableSamplingProfiler() = 0; + public virtual ~RuntimeTargetDelegate() = default; +} + +class facebook::react::jsinspector_modern::RuntimeTracingAgent : public facebook::react::jsinspector_modern::tracing::TargetTracingAgent { + public RuntimeTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state, facebook::react::jsinspector_modern::RuntimeTargetController& targetController); + public ~RuntimeTracingAgent(); +} + +class facebook::react::jsinspector_modern::StackTrace { + public StackTrace() = default; + public StackTrace(const facebook::react::jsinspector_modern::StackTrace&) = delete; + public StackTrace(facebook::react::jsinspector_modern::StackTrace&&) = delete; + public facebook::react::jsinspector_modern::StackTrace& operator=(const facebook::react::jsinspector_modern::StackTrace&) = delete; + public facebook::react::jsinspector_modern::StackTrace& operator=(facebook::react::jsinspector_modern::StackTrace&&) = delete; + public static std::unique_ptr empty(); + public virtual ~StackTrace() = default; +} + +class facebook::react::jsinspector_modern::TracingAgent { + public TracingAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::SessionState& sessionState, facebook::react::jsinspector_modern::HostTargetController& hostTargetController); + public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); + public ~TracingAgent(); +} + +enum facebook::react::jsinspector_modern::ConsoleAPIType { + kAssert, + kClear, + kCount, + kDebug, + kDir, + kDirXML, + kEndGroup, + kError, + kInfo, + kLog, + kStartGroup, + kStartGroupCollapsed, + kTable, + kTimeEnd, + kTrace, + kWarning, +} + +enum facebook::react::jsinspector_modern::HostCommand { + DebuggerResume, + DebuggerStepOver, +} + +struct facebook::react::jsinspector_modern::ConsoleMessage { + public ConsoleMessage(const facebook::react::jsinspector_modern::ConsoleMessage& other) = delete; + public ConsoleMessage(double timestamp, facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args, std::unique_ptr stackTrace = facebook::react::jsinspector_modern::StackTrace::empty()); + public ConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::SimpleConsoleMessage message); + public ConsoleMessage(facebook::react::jsinspector_modern::ConsoleMessage&& other) noexcept = default; + public double timestamp; + public facebook::react::jsinspector_modern::ConsoleAPIType type; + public facebook::react::jsinspector_modern::ConsoleMessage& operator=(const facebook::react::jsinspector_modern::ConsoleMessage& other) = delete; + public facebook::react::jsinspector_modern::ConsoleMessage& operator=(facebook::react::jsinspector_modern::ConsoleMessage&& other) noexcept = default; + public std::unique_ptr stackTrace; + public std::vector args; + public ~ConsoleMessage() = default; +} + +struct facebook::react::jsinspector_modern::ExecutionContextDescription { + public int32_t id; + public std::optional uniqueId; + public std::string name; + public std::string origin; +} + +struct facebook::react::jsinspector_modern::GetResponseBodyResult { + public bool base64Encoded; + public folly::dynamic toDynamic() const; + public std::string body; +} + +struct facebook::react::jsinspector_modern::HostTargetMetadata { + public std::optional appDisplayName; + public std::optional appIdentifier; + public std::optional deviceName; + public std::optional integrationName; + public std::optional platform; + public std::optional reactNativeVersion; +} + +struct facebook::react::jsinspector_modern::IOReadResult { + public bool base64Encoded; + public bool eof; + public folly::dynamic toDynamic() const; + public std::string data; +} + +struct facebook::react::jsinspector_modern::InspectorPageDescription { + public const facebook::react::jsinspector_modern::InspectorTargetCapabilities capabilities; + public const int id; + public const std::string description; + public const std::string vm; +} + +struct facebook::react::jsinspector_modern::InspectorSystemState { + public int registeredHostsCount; +} + +struct facebook::react::jsinspector_modern::InspectorTargetCapabilities { + public bool nativePageReloads; + public bool nativeSourceCodeFetching; +} + +struct facebook::react::jsinspector_modern::LoadNetworkResourceRequest { + public std::string url; +} + +struct facebook::react::jsinspector_modern::NetworkResource { + public bool success; + public folly::dynamic toDynamic() const; + public std::optional headers; + public std::optional netErrorName; + public std::optional stream; + public std::optional httpStatusCode; +} + +struct facebook::react::jsinspector_modern::PerfIssuePayload { + public std::optional description; + public std::optional learnMoreUrl; + public std::optional severity; + public std::string name; +} + +struct facebook::react::jsinspector_modern::ReadStreamParams { + public facebook::react::jsinspector_modern::StreamID handle; + public std::optional offset; + public std::optional size; +} + +struct facebook::react::jsinspector_modern::SessionState { + public bool hasPendingTraceRecording; + public bool isDebuggerDomainEnabled; + public bool isLogDomainEnabled; + public bool isNetworkDomainEnabled; + public bool isReactNativeApplicationDomainEnabled; + public bool isRuntimeDomainEnabled; + public facebook::react::jsinspector_modern::RuntimeAgent::ExportedState lastRuntimeAgentExportedState; + public std::unordered_map subscribedBindings; + public std::vector pendingSimpleConsoleMessages; +} + +struct facebook::react::jsinspector_modern::SimpleConsoleMessage { + public SimpleConsoleMessage(const facebook::react::jsinspector_modern::SimpleConsoleMessage& other) = delete; + public SimpleConsoleMessage(double timestamp, facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args); + public SimpleConsoleMessage(facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args); + public SimpleConsoleMessage(facebook::react::jsinspector_modern::SimpleConsoleMessage&& other) noexcept = default; + public double timestamp; + public facebook::react::jsinspector_modern::ConsoleAPIType type; + public facebook::react::jsinspector_modern::SimpleConsoleMessage& operator=(const facebook::react::jsinspector_modern::SimpleConsoleMessage& other) = delete; + public facebook::react::jsinspector_modern::SimpleConsoleMessage& operator=(facebook::react::jsinspector_modern::SimpleConsoleMessage&& other) noexcept = default; + public std::vector args; + public ~SimpleConsoleMessage() = default; +} + +template +class facebook::react::jsinspector_modern::EnumArray { + public constexpr ValueType& operator[](IndexType i); + public constexpr const ValueType& operator[](IndexType i) const; + public constexpr int size() const; +} + +template +struct facebook::react::jsinspector_modern::UniqueMonostate { + public constexpr bool operator<(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; + public constexpr bool operator<=(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; + public constexpr bool operator==(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; + public constexpr bool operator>(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; + public constexpr bool operator>=(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; +} + +template +class facebook::react::jsinspector_modern::EnableExecutorFromThis : public std::enable_shared_from_this { + public facebook::react::jsinspector_modern::ScopedExecutor executorFromThis(); + public void setExecutor(facebook::react::jsinspector_modern::VoidExecutor executor); + template + public void setExecutor(facebook::react::jsinspector_modern::ScopedExecutor executor); +} + +template +class facebook::react::jsinspector_modern::WeakList { + public bool empty() const; + public size_t size() const; + public void insert(std::weak_ptr ptr); + template + public bool anyOf(Fn&& fn) const; + template + public bool anyOf(Fn&& fn); + template + public void forEach(Fn&& fn) const; + template + public void forEach(Fn&& fn); +} + + +constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::TRACING_TIME_ORIGIN; +constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::kCurrentBufferStartTimeUninitialized; +using facebook::react::jsinspector_modern::tracing::Categories = folly::small_vector; +using facebook::react::jsinspector_modern::tracing::ConsoleTimeStampEntry = std::variant; +using facebook::react::jsinspector_modern::tracing::FrameSequenceId = uint64_t; +using facebook::react::jsinspector_modern::tracing::Headers = std::map; +using facebook::react::jsinspector_modern::tracing::ProcessId = uint64_t; +using facebook::react::jsinspector_modern::tracing::RuntimeProfileId = uint16_t; +using facebook::react::jsinspector_modern::tracing::ThreadId = uint64_t; +int64_t facebook::react::jsinspector_modern::tracing::highResDurationToTracingClockDuration(facebook::react::HighResDuration duration); +std::optional facebook::react::jsinspector_modern::tracing::getTracingCategoryFromString(const std::string& str); +std::optional facebook::react::jsinspector_modern::tracing::getConsoleTimeStampColorFromString(const std::string& str); +std::optional facebook::react::jsinspector_modern::tracing::getConsoleTimeStampDetailFromObject(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& detailValue); +std::set facebook::react::jsinspector_modern::tracing::parseSerializedTracingCategories(const std::string& serializedCategories); +std::string facebook::react::jsinspector_modern::tracing::consoleTimeStampColorToString(facebook::react::jsinspector_modern::tracing::ConsoleTimeStampColor color); +std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const facebook::react::jsinspector_modern::tracing::Categories& categories); +std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const std::set& categories); +std::string facebook::react::jsinspector_modern::tracing::tracingCategoryToString(const facebook::react::jsinspector_modern::tracing::Category& category); +uint64_t facebook::react::jsinspector_modern::tracing::highResTimeStampToTracingClockTimeStamp(facebook::react::HighResTimeStamp timestamp); + +class facebook::react::jsinspector_modern::tracing::HermesRuntimeSamplingProfileSerializer { + public static facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile serializeToTracingSamplingProfile(hermes::sampling_profiler::Profile hermesProfile); +} + +class facebook::react::jsinspector_modern::tracing::HostTracingProfileSerializer { + public static void emitAsDataCollectedChunks(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const std::function& chunkCallback, size_t maxChunkBytes, uint16_t profileTraceEventsChunkSize); + public static void emitFrameTimings(std::vector&& frameTimings, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::HighResTimeStamp recordingStartTimestamp, const std::function& chunkCallback, size_t maxChunkBytes); + public static void emitPerformanceTraceEvents(std::vector&& events, const std::function& chunkCallback, size_t maxChunkBytes); +} + +class facebook::react::jsinspector_modern::tracing::PerformanceTracer { + public bool isTracing() const; + public bool startTracing(); + public bool startTracing(facebook::react::HighResDuration maxDuration); + public static facebook::react::jsinspector_modern::tracing::PerformanceTracer& getInstance(); + public static facebook::react::jsinspector_modern::tracing::TraceEvent constructRuntimeProfileChunkTraceEvent(facebook::react::jsinspector_modern::tracing::RuntimeProfileId profileId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ProcessId threadId, facebook::react::HighResTimeStamp chunkTimestamp, facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk&& traceEventProfileChunk); + public static facebook::react::jsinspector_modern::tracing::TraceEvent constructRuntimeProfileTraceEvent(facebook::react::jsinspector_modern::tracing::RuntimeProfileId profileId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp profileTimestamp); + public std::optional> stopTracing(); + public uint32_t subscribeToTracingStateChanges(facebook::react::jsinspector_modern::tracing::PerformanceTracer::TracingStateCallback callback); + public using TracingStateCallback = std::function; + public void reportEventLoopMicrotasks(facebook::react::HighResTimeStamp start, facebook::react::HighResTimeStamp end); + public void reportEventLoopTask(facebook::react::HighResTimeStamp start, facebook::react::HighResTimeStamp end); + public void reportMark(const std::string& name, facebook::react::HighResTimeStamp start, folly::dynamic&& detail = nullptr); + public void reportMeasure(const std::string& name, facebook::react::HighResTimeStamp start, facebook::react::HighResDuration duration, folly::dynamic&& detail = nullptr, std::optional stackTrace = nullptr); + public void reportResourceFinish(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int encodedDataLength, int decodedBodyLength); + public void reportResourceReceiveResponse(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int statusCode, const facebook::react::jsinspector_modern::tracing::Headers& headers, int encodedDataLength, folly::dynamic timingData); + public void reportResourceReceivedData(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int encodedDataLength); + public void reportResourceSendRequest(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, const std::string& url, const std::string& requestMethod, const facebook::react::jsinspector_modern::tracing::Headers& headers); + public void reportResourceWillSendRequest(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start); + public void reportTimeStamp(const std::string& name, std::optional start = std::nullopt, std::optional end = std::nullopt, std::optional trackName = std::nullopt, std::optional trackGroup = std::nullopt, std::optional color = std::nullopt, std::optional detail = std::nullopt, std::optional stackTrace = std::nullopt); + public void unsubscribeFromTracingStateChanges(uint32_t subscriptionId); +} + +class facebook::react::jsinspector_modern::tracing::ProfileTreeNode { + public ProfileTreeNode(uint32_t id, facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType codeType, facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame callFrame, uint32_t parentId = facebook::react::jsinspector_modern::tracing::ProfileTreeNode::NO_PARENT); + public bool hasParent() const; + public const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& getCallFrame() const; + public facebook::react::jsinspector_modern::tracing::ProfileTreeNode* addChild(uint32_t childId, facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType childCodeType, facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame childCallFrame); + public facebook::react::jsinspector_modern::tracing::ProfileTreeNode* getIfAlreadyExists(facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType childCodeType, const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& childCallFrame); + public facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType getCodeType() const; + public static constexpr uint32_t NO_PARENT; + public uint32_t getId() const; + public uint32_t getParentId() const; +} + +enum facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType { + JavaScript, + Other, +} + +class facebook::react::jsinspector_modern::tracing::RawHermesRuntimeProfile : public facebook::react::jsinspector_modern::tracing::RawRuntimeProfile { + public RawHermesRuntimeProfile(hermes::sampling_profiler::Profile hermesProfile); +} + +class facebook::react::jsinspector_modern::tracing::RawRuntimeProfile { + public virtual ~RawRuntimeProfile() = default; +} + +class facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfileTraceEventSerializer { + public static void serializeAndDispatch(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&& profile, facebook::react::jsinspector_modern::tracing::IdGenerator& profileIdGenerator, facebook::react::HighResTimeStamp tracingStartTime, const std::function& dispatchCallback, uint16_t traceEventChunkSize, uint16_t profileChunkSize = PROFILE_CHUNK_SIZE, uint16_t maxUniqueNodesPerChunk = MAX_UNIQUE_NODES_PER_CHUNK); + public static void serializeAndDispatch(std::vector&& profiles, facebook::react::jsinspector_modern::tracing::IdGenerator& profileIdGenerator, facebook::react::HighResTimeStamp tracingStartTime, const std::function& dispatchCallback, uint16_t traceEventChunkSize, uint16_t profileChunkSize = PROFILE_CHUNK_SIZE, uint16_t maxUniqueNodesPerChunk = MAX_UNIQUE_NODES_PER_CHUNK); +} + +class facebook::react::jsinspector_modern::tracing::TargetTracingAgent { + protected facebook::react::jsinspector_modern::tracing::TraceRecordingState& state_; + public TargetTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public bool isRunningInBackgroundMode(); +} + +class facebook::react::jsinspector_modern::tracing::TraceEventGenerator { + public static facebook::react::jsinspector_modern::tracing::TraceEvent createScreenshotEvent(facebook::react::jsinspector_modern::tracing::FrameSequenceId frameSequenceId, int sourceId, std::vector&& snapshot, facebook::react::HighResTimeStamp expectedDisplayTime, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); + public static facebook::react::jsinspector_modern::tracing::TraceEvent createSetLayerTreeIdEvent(std::string frame, int layerTreeId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp timestamp); + public static std::pair createFrameTimingsEvents(facebook::react::jsinspector_modern::tracing::FrameSequenceId sequenceId, int layerTreeId, facebook::react::HighResTimeStamp beginTimestamp, facebook::react::HighResTimeStamp endTimestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); +} + +class facebook::react::jsinspector_modern::tracing::TraceEventSerializer { + public static folly::dynamic serialize(facebook::react::jsinspector_modern::tracing::TraceEvent&& event); + public static folly::dynamic serializeProfileChunk(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk&& profileChunk); + public static folly::dynamic serializeProfileChunkCPUProfile(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile&& cpuProfile); + public static folly::dynamic serializeProfileChunkCPUProfileNode(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node&& node); + public static folly::dynamic serializeProfileChunkCPUProfileNodeCallFrame(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame&& callFrame); + public static folly::dynamic serializeProfileChunkTimeDeltas(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::TimeDeltas&& deltas); + public static size_t estimateJsonSize(const folly::dynamic& value); +} + +enum facebook::react::jsinspector_modern::tracing::Category { + Frame, + HiddenTimeline, + JavaScriptSampling, + RuntimeExecution, + Screenshot, + Timeline, + UserTiming, +} + +enum facebook::react::jsinspector_modern::tracing::ConsoleTimeStampColor { + Error, + Primary, + PrimaryDark, + PrimaryLight, + Secondary, + SecondaryDark, + SecondaryLight, + Tertiary, + TertiaryDark, + TertiaryLight, + Warning, +} + +enum facebook::react::jsinspector_modern::tracing::EventLoopPhase { + Microtasks, + Task, +} + +enum facebook::react::jsinspector_modern::tracing::Mode { + Background, + CDP, +} + +struct facebook::react::jsinspector_modern::tracing::EventLoopReporter { + public EventLoopReporter(const facebook::react::jsinspector_modern::tracing::EventLoopReporter&) = delete; + public EventLoopReporter(facebook::react::jsinspector_modern::tracing::EventLoopPhase phase); + public EventLoopReporter(facebook::react::jsinspector_modern::tracing::EventLoopReporter&&) = delete; + public facebook::react::jsinspector_modern::tracing::EventLoopReporter& operator=(const facebook::react::jsinspector_modern::tracing::EventLoopReporter&) = delete; + public facebook::react::jsinspector_modern::tracing::EventLoopReporter& operator=(facebook::react::jsinspector_modern::tracing::EventLoopReporter&&) = delete; + public ~EventLoopReporter(); +} + +struct facebook::react::jsinspector_modern::tracing::FrameTimingSequence { + public FrameTimingSequence() = delete; + public FrameTimingSequence(facebook::react::jsinspector_modern::tracing::FrameSequenceId id, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp beginTimestamp, facebook::react::HighResTimeStamp endTimestamp, std::optional> screenshot = std::nullopt); + public facebook::react::HighResTimeStamp beginTimestamp; + public facebook::react::HighResTimeStamp endTimestamp; + public facebook::react::jsinspector_modern::tracing::FrameSequenceId id; + public facebook::react::jsinspector_modern::tracing::ThreadId threadId; + public std::optional> screenshot; +} + +struct facebook::react::jsinspector_modern::tracing::HostTracingProfile { + public facebook::react::HighResTimeStamp startTime; + public facebook::react::jsinspector_modern::tracing::ProcessId processId; + public std::vector frameTimings; + public std::vector instanceTracingProfiles; + public std::vector runtimeSamplingProfiles; +} + +struct facebook::react::jsinspector_modern::tracing::IdGenerator { + public uint32_t getNext(); +} + +struct facebook::react::jsinspector_modern::tracing::InstanceTracingProfile { + public std::vector performanceTraceEvents; +} + +struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile { + public RuntimeSamplingProfile(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&) = delete; + public RuntimeSamplingProfile(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&&) = default; + public RuntimeSamplingProfile(std::string runtimeName, facebook::react::jsinspector_modern::tracing::ProcessId processId, std::vector samples, std::unique_ptr rawRuntimeProfile); + public facebook::react::jsinspector_modern::tracing::ProcessId processId; + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile& operator=(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&) = delete; + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile& operator=(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&&) = default; + public std::string runtimeName; + public std::unique_ptr rawRuntimeProfile; + public std::vector samples; + public ~RuntimeSamplingProfile() = default; +} + +struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample { + public Sample(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&) = delete; + public Sample(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&&) = default; + public Sample(uint64_t timestamp, facebook::react::jsinspector_modern::tracing::ThreadId threadId, std::vector callStack); + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample& operator=(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&) = delete; + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample& operator=(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&&) = default; + public facebook::react::jsinspector_modern::tracing::ThreadId threadId; + public std::vector callStack; + public uint64_t timestamp; + public ~Sample() = default; +} + +struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame { + public bool operator==(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& rhs) const noexcept = default; + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame::Kind kind; + public std::optional scriptURL; + public std::optional columnNumber; + public std::optional lineNumber; + public std::string_view functionName; + public uint32_t scriptId; +} + +enum facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame::Kind { + GarbageCollector, + HostFunction, + JSFunction, + NativeFunction, +} + +struct facebook::react::jsinspector_modern::tracing::TraceEvent { + public char ph; + public facebook::react::HighResTimeStamp ts; + public facebook::react::jsinspector_modern::tracing::Categories cat; + public facebook::react::jsinspector_modern::tracing::ProcessId pid; + public facebook::react::jsinspector_modern::tracing::ThreadId tid; + public folly::dynamic args; + public std::optional s; + public std::optional dur; + public std::optional id; + public std::string name; +} + +struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk { + public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile cpuProfile; + public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::TimeDeltas timeDeltas; + public using TimeDeltas = std::vector; +} + +struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile { + public std::vector nodes; + public std::vector samples; +} + +struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node { + public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame callFrame; + public std::optional parentId; + public uint32_t id; +} + +struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame { + public std::optional url; + public std::optional columnNumber; + public std::optional lineNumber; + public std::string codeType; + public std::string functionName; + public uint32_t scriptId; +} + +struct facebook::react::jsinspector_modern::tracing::TraceRecordingState { + public TraceRecordingState(facebook::react::jsinspector_modern::tracing::Mode tracingMode, std::set enabledCategories, std::optional windowSize = std::nullopt); + public facebook::react::jsinspector_modern::tracing::Mode mode; + public std::optional windowSize; + public std::set enabledCategories; + public std::vector instanceTracingProfiles; + public std::vector runtimeSamplingProfiles; +} + +template +class facebook::react::jsinspector_modern::tracing::TimeWindowedBuffer { + public TimeWindowedBuffer(); + public TimeWindowedBuffer(facebook::react::jsinspector_modern::tracing::TimeWindowedBuffer::TimestampAccessor timestampAccessor, facebook::react::HighResDuration windowSize); + public std::vector pruneExpiredAndExtract(facebook::react::HighResTimeStamp windowRightBoundary = facebook::react::HighResTimeStamp::now()); + public using TimestampAccessor = std::function; + public void clear(); + public void push(T&& element); + public void push(const T& element); +} + +template +class facebook::react::jsinspector_modern::tracing::PerformanceTracerSection { + public PerformanceTracerSection(const char* name, const char* track = nullptr, const char* trackGroup = nullptr, const char* color = nullptr, Args... args) noexcept; + public PerformanceTracerSection(const facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&) = delete; + public PerformanceTracerSection(facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&&) = delete; + public facebook::react::jsinspector_modern::tracing::PerformanceTracerSection& operator=(const facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&) = delete; + public facebook::react::jsinspector_modern::tracing::PerformanceTracerSection& operator=(facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&&) = delete; + public ~PerformanceTracerSection() noexcept; +} + + +using facebook::react::jsinspector_modern::cdp::ParseError = folly::json::parse_error; +using facebook::react::jsinspector_modern::cdp::RequestId = long long; +using facebook::react::jsinspector_modern::cdp::TypeError = folly::TypeError; +facebook::react::jsinspector_modern::cdp::PreparsedRequest facebook::react::jsinspector_modern::cdp::preparse(std::string_view message); +std::string facebook::react::jsinspector_modern::cdp::jsonError(std::optional id, facebook::react::jsinspector_modern::cdp::ErrorCode code, std::optional message = std::nullopt); +std::string facebook::react::jsinspector_modern::cdp::jsonNotification(const std::string& method, std::optional params = std::nullopt); +std::string facebook::react::jsinspector_modern::cdp::jsonRequest(facebook::react::jsinspector_modern::cdp::RequestId id, const std::string& method, std::optional params = std::nullopt); +std::string facebook::react::jsinspector_modern::cdp::jsonResult(facebook::react::jsinspector_modern::cdp::RequestId id, const folly::dynamic& result = folly::dynamic::object()); + +enum facebook::react::jsinspector_modern::cdp::ErrorCode { + InternalError, + InvalidParams, + InvalidRequest, + MethodNotFound, + ParseError, +} + +struct facebook::react::jsinspector_modern::cdp::PreparsedRequest { + public bool operator==(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& rhs) const; + public facebook::react::jsinspector_modern::cdp::RequestId id; + public folly::dynamic params; + public std::string method; + public std::string toJson() const; +} + + +using facebook::react::jsinspector_modern::cdp::network::Headers = std::map; +std::string facebook::react::jsinspector_modern::cdp::network::resourceTypeFromMimeType(const std::string& mimeType); + +struct facebook::react::jsinspector_modern::cdp::network::ConnectTiming { + public double requestTime; +} + +struct facebook::react::jsinspector_modern::cdp::network::DataReceivedParams { + public double timestamp; + public folly::dynamic toDynamic() const; + public int dataLength; + public int encodedDataLength; + public std::string requestId; +} + +struct facebook::react::jsinspector_modern::cdp::network::LoadingFailedParams { + public bool canceled; + public double timestamp; + public folly::dynamic toDynamic() const; + public std::string errorText; + public std::string requestId; + public std::string type; +} + +struct facebook::react::jsinspector_modern::cdp::network::LoadingFinishedParams { + public double timestamp; + public folly::dynamic toDynamic() const; + public int encodedDataLength; + public std::string requestId; +} + +struct facebook::react::jsinspector_modern::cdp::network::Request { + public facebook::react::jsinspector_modern::cdp::network::Headers headers; + public folly::dynamic toDynamic() const; + public std::optional postData; + public std::string method; + public std::string url; +} + +struct facebook::react::jsinspector_modern::cdp::network::RequestWillBeSentExtraInfoParams { + public facebook::react::jsinspector_modern::cdp::network::ConnectTiming connectTiming; + public facebook::react::jsinspector_modern::cdp::network::Headers headers; + public folly::dynamic toDynamic() const; + public std::string requestId; +} + +struct facebook::react::jsinspector_modern::cdp::network::RequestWillBeSentParams { + public bool redirectHasExtraInfo; + public double timestamp; + public double wallTime; + public facebook::react::jsinspector_modern::cdp::network::Request request; + public folly::dynamic initiator; + public folly::dynamic toDynamic() const; + public std::optional redirectResponse; + public std::string documentURL; + public std::string loaderId; + public std::string requestId; +} + +struct facebook::react::jsinspector_modern::cdp::network::Response { + public facebook::react::jsinspector_modern::cdp::network::Headers headers; + public folly::dynamic toDynamic() const; + public int encodedDataLength; + public static facebook::react::jsinspector_modern::cdp::network::Response fromInputParams(const std::string& url, uint16_t status, const facebook::react::jsinspector_modern::cdp::network::Headers& headers, int encodedDataLength); + public std::string mimeType; + public std::string statusText; + public std::string url; + public uint16_t status; +} + +struct facebook::react::jsinspector_modern::cdp::network::ResponseReceivedParams { + public bool hasExtraInfo; + public double timestamp; + public facebook::react::jsinspector_modern::cdp::network::Response response; + public folly::dynamic toDynamic() const; + public std::string loaderId; + public std::string requestId; + public std::string type; +} + + +constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_CONTAINED_BY; +constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_CONTAINS; +constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_DISCONNECTED; +constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_FOLLOWING; +constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_PRECEDING; +bool facebook::react::dom::isConnected(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +facebook::react::dom::DOMBorderWidthRounded facebook::react::dom::getBorderWidth(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +facebook::react::dom::DOMOffset facebook::react::dom::getOffset(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +facebook::react::dom::DOMPoint facebook::react::dom::getScrollPosition(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +facebook::react::dom::DOMRect facebook::react::dom::getBoundingClientRect(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode, bool includeTransform); +facebook::react::dom::DOMRect facebook::react::dom::measureInWindow(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +facebook::react::dom::DOMSizeRounded facebook::react::dom::getInnerSize(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +facebook::react::dom::DOMSizeRounded facebook::react::dom::getScrollSize(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +facebook::react::dom::RNMeasureRect facebook::react::dom::measure(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +std::optional facebook::react::dom::measureLayout(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode& relativeToShadowNode); +std::shared_ptr facebook::react::dom::getElementById(const std::shared_ptr& currentRevision, const std::string& id); +std::shared_ptr facebook::react::dom::getParentNode(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +std::string facebook::react::dom::getTagName(const facebook::react::ShadowNode& shadowNode); +std::string facebook::react::dom::getTextContent(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +std::vector> facebook::react::dom::getChildNodes(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); +uint_fast16_t facebook::react::dom::compareDocumentPosition(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode& otherShadowNode); + +struct facebook::react::dom::DOMBorderWidthRounded { + public int bottom; + public int left; + public int right; + public int top; +} + +struct facebook::react::dom::DOMOffset { + public double left; + public double top; + public std::shared_ptr offsetParent; +} + +struct facebook::react::dom::DOMPoint { + public double x; + public double y; +} + +struct facebook::react::dom::DOMRect { + public double height; + public double width; + public double x; + public double y; +} + +struct facebook::react::dom::DOMSizeRounded { + public int height; + public int width; +} + +struct facebook::react::dom::RNMeasureRect { + public double height; + public double pageX; + public double pageY; + public double width; + public double x; + public double y; +} + + +folly::dynamic facebook::react::animationbackend::packAnimatedProps(const facebook::react::AnimatedProps& animatedProps); + + +static constexpr facebook::react::Tag facebook::react::animated::undefinedAnimatedNodeIdentifier; + + +template +constexpr bool facebook::react::bridging::supportsToJs(), std::declval(), nullptr))>>; +template +constexpr bool facebook::react::bridging::supportsToJs(), std::declval(), nullptr))>>; +template +constexpr bool facebook::react::bridging::is_optional_jsi_v; +template +constexpr bool facebook::react::bridging::supportsFromJs(std::declval(), std::declval(), nullptr))>>; +template +constexpr bool facebook::react::bridging::is_jsi_v; +template +constexpr bool facebook::react::bridging::is_optional_jsi_v>>; +template +constexpr bool facebook::react::bridging::is_optional_v; +template +constexpr bool facebook::react::bridging::supportsFromJs(std::declval(), std::declval(), nullptr))>>; +template +constexpr bool facebook::react::bridging::supportsFromJs; +template +constexpr bool facebook::react::bridging::supportsToJs; +template +using facebook::react::bridging::bridging_t = typename facebook::react::bridging::detail::bridging_wrapper::type; +template +using facebook::react::bridging::remove_cvref_t = std::remove_cv_t>; +template +constexpr size_t facebook::react::bridging::getParameterCount(ReturnT(Class::*)(ArgsT...)); +template +JSReturnT facebook::react::bridging::callFromJs(facebook::jsi::Runtime& rt, ReturnT(ClassT::*method)(facebook::jsi::Runtime&, ArgsT...), const std::shared_ptr& jsInvoker, ClassT* instance, JSArgsT &&... args); +template +decltype(facebook::react::Bridging>::fromJs(rt, facebook::react::bridging::convert(rt, std::forward(value)))) facebook::react::bridging::fromJs(facebook::jsi::Runtime& rt, JSArgT&& value, const std::shared_ptr&); +template +decltype(facebook::react::Bridging>::fromJs(rt, facebook::react::bridging::convert(rt, std::forward(value)), jsInvoker)) facebook::react::bridging::fromJs(facebook::jsi::Runtime& rt, JSArgT&& value, const std::shared_ptr& jsInvoker); +template +decltype(static_cast(std::move(facebook::react::bridging::convert(rt, std::forward(value))))) facebook::react::bridging::fromJs(facebook::jsi::Runtime& rt, JSArgT&& value, const std::shared_ptr&); +template +constexpr size_t facebook::react::bridging::getParameterCount(ReturnT(*)(ArgsT...)); +template , int> = 0> +auto facebook::react::bridging::convert(facebook::jsi::Runtime& rt, T&& value); +template ||std::is_scalar_v, int> = 0> +auto facebook::react::bridging::convert(facebook::jsi::Runtime& rt, std::optional value); +template , int> = 0> +auto facebook::react::bridging::convert(facebook::jsi::Runtime&, T&& value); +template +auto facebook::react::bridging::convert(facebook::jsi::Runtime&, facebook::react::bridging::Converter&& converter); +template +decltype(facebook::react::Bridging>::toJs(rt, std::forward(value))) facebook::react::bridging::toJs(facebook::jsi::Runtime& rt, T&& value, const std::shared_ptr& = nullptr); +template +decltype(facebook::react::Bridging>::toJs(rt, std::forward(value), jsInvoker)) facebook::react::bridging::toJs(facebook::jsi::Runtime& rt, T&& value, const std::shared_ptr& jsInvoker); +template +facebook::react::bridging::remove_cvref_t facebook::react::bridging::toJs(facebook::jsi::Runtime& rt, T&& value, const std::shared_ptr& = nullptr); + +template +struct facebook::react::bridging::Converter : public facebook::react::bridging::ConverterBase { +} + +template +struct facebook::react::bridging::ConverterBase { + protected T value_; + protected facebook::jsi::Runtime& rt_; + public ConverterBase(facebook::jsi::Runtime& rt, T&& value); + public operator facebook::react::bridging::ConverterBase::BaseT(); + public using BaseT = facebook::react::bridging::remove_cvref_t; + template && std::is_same_v, int> = 0> + public operator U() = delete; + template && std::is_convertible_v, U>, int> = 0> + public operator U(); +} + +template +struct facebook::react::bridging::is_optional : public std::false_type { +} + +template +struct facebook::react::bridging::Converter> : public facebook::react::bridging::ConverterBase, public facebook::react::bridging::ConverterBase { + public Converter(facebook::jsi::Runtime& rt, std::optional value); + public operator std::optional(); +} + +template +struct facebook::react::bridging::is_optional> : public std::false_type, public std::true_type { +} + +struct facebook::react::bridging::Converter : public facebook::react::bridging::ConverterBase { + public operator facebook::jsi::Array(); + public operator facebook::jsi::Function(); +} + +struct facebook::react::bridging::Converter : public facebook::react::bridging::ConverterBase { + public operator facebook::jsi::Array(); + public operator facebook::jsi::Function(); + public operator facebook::jsi::Object(); + public operator facebook::jsi::String(); +} + + +template +struct facebook::react::bridging::detail::function_wrapper { +} + +template +struct facebook::react::bridging::detail::bridging_wrapper { + public using type = facebook::react::bridging::remove_cvref_t; +} + +template +struct facebook::react::bridging::detail::function_wrapper { + public using type = std::function; +} + +template +struct facebook::react::bridging::detail::function_wrapper { + public using type = std::function; +} + +template +struct facebook::react::bridging::detail::bridging_wrapper::operator())>> : public facebook::react::bridging::detail::function_wrapper::operator())> { + public using type = facebook::react::bridging::remove_cvref_t; +} + + +template +struct facebook::react::array_detail::BridgingStatic { + public static facebook::jsi::Array toJs(facebook::jsi::Runtime& rt, const T& array, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::array_detail::BridgingDynamic { + public static facebook::jsi::Array toJs(facebook::jsi::Runtime& rt, const T& list, const std::shared_ptr& jsInvoker); +} + + +template +struct facebook::react::map_detail::Bridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& map, const std::shared_ptr& jsInvoker); +} + + +typedef void(*facebook::react::ReactMarker::LogTaggedMarker)(const facebook::react::ReactMarker::ReactMarkerId, const char *tag); +typedef void(*facebook::react::ReactMarker::LogTaggedMarkerBridgeless)(const facebook::react::ReactMarker::ReactMarkerId, const char *tag); +void facebook::react::ReactMarker::logMarker(facebook::react::ReactMarker::ReactMarkerId markerId); +void facebook::react::ReactMarker::logMarkerBridgeless(facebook::react::ReactMarker::ReactMarkerId markerId); +void facebook::react::ReactMarker::logMarkerDone(facebook::react::ReactMarker::ReactMarkerId markerId, double markerTime); +void facebook::react::ReactMarker::logTaggedMarker(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag); +void facebook::react::ReactMarker::logTaggedMarkerBridgeless(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag); +facebook::react::ReactMarker::LogTaggedMarker facebook::react::ReactMarker::logTaggedMarkerBridgelessImpl; +facebook::react::ReactMarker::LogTaggedMarker facebook::react::ReactMarker::logTaggedMarkerImpl; +std::shared_mutex facebook::react::ReactMarker::logTaggedMarkerImplMutex; + +class facebook::react::ReactMarker::StartupLogger { + public double getAppStartupEndTime(); + public double getAppStartupStartTime(); + public double getInitReactRuntimeEndTime(); + public double getInitReactRuntimeStartTime(); + public double getRunJSBundleEndTime(); + public double getRunJSBundleStartTime(); + public static facebook::react::ReactMarker::StartupLogger& getInstance(); + public void logStartupEvent(facebook::react::ReactMarker::ReactMarkerId markerId, double markerTime); + public void reset(); +} + +enum facebook::react::ReactMarker::ReactMarkerId { + APP_STARTUP_START, + APP_STARTUP_STOP, + CREATE_REACT_CONTEXT_STOP, + INIT_REACT_RUNTIME_START, + INIT_REACT_RUNTIME_STOP, + JS_BUNDLE_STRING_CONVERT_START, + JS_BUNDLE_STRING_CONVERT_STOP, + NATIVE_MODULE_SETUP_START, + NATIVE_MODULE_SETUP_STOP, + NATIVE_REQUIRE_START, + NATIVE_REQUIRE_STOP, + REACT_INSTANCE_INIT_START, + REACT_INSTANCE_INIT_STOP, + REGISTER_JS_SEGMENT_START, + REGISTER_JS_SEGMENT_STOP, + RUN_JS_BUNDLE_START, + RUN_JS_BUNDLE_STOP, +} + +struct facebook::react::ReactMarker::ReactMarkerEvent { + public const char* tag; + public const facebook::react::ReactMarker::ReactMarkerId markerId; + public double time; +} + + +uint64_t facebook::react::oscompat::getCurrentProcessId(); +uint64_t facebook::react::oscompat::getCurrentThreadId(); + + +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallBatchPreprocessEnd(int batchSize); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallBatchPreprocessStart(); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallDispatch(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionArgConversionEnd(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionArgConversionStart(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionEnd(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionFail(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionStart(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallFail(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallStart(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::disableLogging(); +void facebook::react::BridgeNativeModulePerfLogger::enableLogging(std::unique_ptr&& logger); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateCacheHit(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateConstructEnd(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateConstructStart(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateEnd(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateFail(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateSetUpEnd(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateSetUpStart(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateStart(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleDataCreateEnd(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleDataCreateStart(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningCacheHit(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningEnd(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningFail(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningStart(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingEnd(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingFail(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingStart(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallArgConversionStart(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallExecutionEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallExecutionStart(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallFail(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallReturnConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallReturnConversionStart(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallStart(const char* moduleName, const char* methodName); + + +void facebook::react::LegacyUIManagerConstantsProviderBinding::install(facebook::jsi::Runtime& runtime, const std::string& name, std::function&& provider); +void facebook::react::LegacyUIManagerConstantsProviderBinding::install(facebook::jsi::Runtime& runtime, const std::string& name, std::function&& provider); + + +void facebook::react::TurboModulePerfLogger::asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::asyncMethodCallBatchPreprocessEnd(int batchSize); +void facebook::react::TurboModulePerfLogger::asyncMethodCallBatchPreprocessStart(); +void facebook::react::TurboModulePerfLogger::asyncMethodCallDispatch(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::asyncMethodCallEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::asyncMethodCallExecutionArgConversionEnd(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::TurboModulePerfLogger::asyncMethodCallExecutionArgConversionStart(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::TurboModulePerfLogger::asyncMethodCallExecutionEnd(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::TurboModulePerfLogger::asyncMethodCallExecutionFail(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::TurboModulePerfLogger::asyncMethodCallExecutionStart(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::TurboModulePerfLogger::asyncMethodCallFail(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::asyncMethodCallStart(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::disableLogging(); +void facebook::react::TurboModulePerfLogger::enableLogging(std::unique_ptr&& logger); +void facebook::react::TurboModulePerfLogger::moduleCreateCacheHit(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateConstructEnd(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateConstructStart(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateEnd(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateFail(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateSetUpEnd(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateSetUpStart(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateStart(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleDataCreateEnd(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleDataCreateStart(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleJSRequireBeginningCacheHit(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireBeginningEnd(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireBeginningFail(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireBeginningStart(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireEndingEnd(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireEndingFail(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireEndingStart(const char* moduleName); +void facebook::react::TurboModulePerfLogger::syncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallArgConversionStart(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallExecutionEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallExecutionStart(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallFail(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallReturnConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallReturnConversionStart(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallStart(const char* moduleName, const char* methodName); + + +std::unique_ptr facebook::jsc::makeJSCRuntime(); + + +using facebook::jsi::HostFunctionType = std::function; +using facebook::jsi::RuntimeFactory = std::function()>; +facebook::jsi::Value facebook::jsi::valueFromDynamic(facebook::jsi::Runtime& runtime, const folly::dynamic& dyn); +folly::dynamic facebook::jsi::dynamicFromValue(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value, const std::function& filterObjectKeys = nullptr); +std::vector facebook::jsi::runtimeGenerators(); +template +U* facebook::jsi::castInterface(T* ptr); +template +std::shared_ptr facebook::jsi::dynamicInterfaceCast(T&& ptr); + +class facebook::jsi::Array : public facebook::jsi::Object { + public Array(facebook::jsi::Array&&) = default; + public Array(facebook::jsi::Runtime& runtime, size_t length); + public facebook::jsi::Array& operator=(facebook::jsi::Array&&) = default; + public facebook::jsi::Value getValueAtIndex(facebook::jsi::Runtime& runtime, size_t i) const; + public size_t length(facebook::jsi::Runtime& runtime) const; + public size_t size(facebook::jsi::Runtime& runtime) const; + public static facebook::jsi::Array createWithElements(facebook::jsi::Runtime& runtime, std::initializer_list elements); + template + public void setValueAtIndex(facebook::jsi::Runtime& runtime, size_t i, T&& value) const; + template + public static facebook::jsi::Array createWithElements(facebook::jsi::Runtime& runtime, Args &&... args); +} + +class facebook::jsi::ArrayBuffer : public facebook::jsi::Object { + public ArrayBuffer(facebook::jsi::ArrayBuffer&&) = default; + public ArrayBuffer(facebook::jsi::Runtime& runtime, std::shared_ptr buffer); + public facebook::jsi::ArrayBuffer& operator=(facebook::jsi::ArrayBuffer&&) = default; + public size_t length(facebook::jsi::Runtime& runtime) const; + public size_t size(facebook::jsi::Runtime& runtime) const; + public uint8_t* data(facebook::jsi::Runtime& runtime) const; +} + +class facebook::jsi::BigInt : public facebook::jsi::Pointer { + public BigInt(facebook::jsi::BigInt&& other) = default; + public BigInt(facebook::jsi::Pointer&& other) noexcept; + public BigInt(facebook::jsi::Runtime::PointerValue* ptr); + public bool isInt64(facebook::jsi::Runtime& runtime) const; + public bool isUint64(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::BigInt& operator=(facebook::jsi::BigInt&& other) = default; + public facebook::jsi::String toString(facebook::jsi::Runtime& runtime, int radix = 10) const; + public int64_t asInt64(facebook::jsi::Runtime& runtime) const; + public int64_t getInt64(facebook::jsi::Runtime& runtime) const; + public static bool strictEquals(facebook::jsi::Runtime& runtime, const facebook::jsi::BigInt& a, const facebook::jsi::BigInt& b); + public static facebook::jsi::BigInt fromInt64(facebook::jsi::Runtime& runtime, int64_t value); + public static facebook::jsi::BigInt fromUint64(facebook::jsi::Runtime& runtime, uint64_t value); + public uint64_t asUint64(facebook::jsi::Runtime& runtime) const; + public uint64_t getUint64(facebook::jsi::Runtime& runtime) const; +} + +class facebook::jsi::Buffer { + public virtual const uint8_t* data() const = 0; + public virtual size_t size() const = 0; + public virtual ~Buffer(); +} + +class facebook::jsi::DecoratedHostFunction { + public DecoratedHostFunction(facebook::jsi::Runtime& drt, facebook::jsi::HostFunctionType plainHF); + public facebook::jsi::Runtime& decoratedRuntime(); + public facebook::jsi::Value operator()(facebook::jsi::Runtime&, const facebook::jsi::Value& thisVal, const facebook::jsi::Value* args, size_t count); +} + +class facebook::jsi::DecoratedHostObject : public facebook::jsi::HostObject { + public DecoratedHostObject(facebook::jsi::Runtime& drt, std::shared_ptr plainHO); + public facebook::jsi::Runtime& decoratedRuntime(); + public virtual facebook::jsi::Value get(facebook::jsi::Runtime&, const facebook::jsi::PropNameID& name) override; + public virtual std::vector getPropertyNames(facebook::jsi::Runtime&) override; + public virtual void set(facebook::jsi::Runtime&, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) override; +} + +class facebook::jsi::FileBuffer : public facebook::jsi::Buffer { + public FileBuffer(const std::string& path); + public virtual const uint8_t* data() const override; + public virtual size_t size() const override; + public ~FileBuffer() override; +} + +class facebook::jsi::Function : public facebook::jsi::Object { + public Function(facebook::jsi::Function&&) = default; + public bool isHostFunction(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Function& operator=(facebook::jsi::Function&&) = default; + public facebook::jsi::HostFunctionType& getHostFunction(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Value call(facebook::jsi::Runtime& runtime, const facebook::jsi::Value* args, size_t count) const; + public facebook::jsi::Value call(facebook::jsi::Runtime& runtime, std::initializer_list args) const; + public facebook::jsi::Value callAsConstructor(facebook::jsi::Runtime& runtime, const facebook::jsi::Value* args, size_t count) const; + public facebook::jsi::Value callAsConstructor(facebook::jsi::Runtime& runtime, std::initializer_list args) const; + public facebook::jsi::Value callWithThis(facebook::jsi::Runtime& Runtime, const facebook::jsi::Object& jsThis, const facebook::jsi::Value* args, size_t count) const; + public facebook::jsi::Value callWithThis(facebook::jsi::Runtime& runtime, const facebook::jsi::Object& jsThis, std::initializer_list args) const; + public static facebook::jsi::Function createFromHostFunction(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name, unsigned int paramCount, facebook::jsi::HostFunctionType func); + template + public facebook::jsi::Value call(facebook::jsi::Runtime& runtime, Args &&... args) const; + template + public facebook::jsi::Value callAsConstructor(facebook::jsi::Runtime& runtime, Args &&... args) const; + template + public facebook::jsi::Value callWithThis(facebook::jsi::Runtime& runtime, const facebook::jsi::Object& jsThis, Args &&... args) const; +} + +class facebook::jsi::HostObject { + public virtual facebook::jsi::Value get(facebook::jsi::Runtime&, const facebook::jsi::PropNameID& name); + public virtual std::vector getPropertyNames(facebook::jsi::Runtime& rt); + public virtual void set(facebook::jsi::Runtime&, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value); + public virtual ~HostObject(); +} + +class facebook::jsi::Instrumentation { + public using HeapStatsUpdate = std::tuple; + public virtual std::string flushAndDisableBridgeTrafficTrace() = 0; + public virtual std::string getRecordedGCStats() = 0; + public virtual std::unordered_map getHeapInfo(bool includeExpensive) = 0; + public virtual void collectGarbage(std::string cause) = 0; + public virtual void createSnapshotToFile(const std::string& path, const facebook::jsi::Instrumentation::HeapSnapshotOptions& options = {false}) = 0; + public virtual void createSnapshotToStream(std::ostream& os, const facebook::jsi::Instrumentation::HeapSnapshotOptions& options = {false}) = 0; + public virtual void dumpOpcodeStats(std::ostream& os) const = 0; + public virtual void dumpProfilerSymbolsToFile(const std::string& fileName) const = 0; + public virtual void startHeapSampling(size_t samplingInterval) = 0; + public virtual void startTrackingHeapObjectStackTraces(std::function stats)> fragmentCallback) = 0; + public virtual void stopHeapSampling(std::ostream& os) = 0; + public virtual void stopTrackingHeapObjectStackTraces() = 0; + public virtual void writeBasicBlockProfileTraceToFile(const std::string& fileName) const = 0; + public virtual ~Instrumentation() = default; +} + +struct facebook::jsi::Instrumentation::HeapSnapshotOptions { + public bool captureNumericValue; +} + +class facebook::jsi::JSError : public facebook::jsi::JSIException { + public JSError(const facebook::jsi::JSError&) = default; + public JSError(facebook::jsi::Runtime& r, facebook::jsi::Value&& value); + public JSError(facebook::jsi::Runtime& rt, const char* message); + public JSError(facebook::jsi::Runtime& rt, std::string message); + public JSError(facebook::jsi::Runtime& rt, std::string message, std::string stack); + public JSError(facebook::jsi::Value&& value, std::string message, std::string stack); + public JSError(std::string what, facebook::jsi::Runtime& rt, facebook::jsi::Value&& value); + public const facebook::jsi::Value& value() const; + public const std::string& getMessage() const; + public const std::string& getStack() const; + public virtual ~JSError(); +} + +class facebook::jsi::JSIException : public std::exception { + protected JSIException(); + protected JSIException(std::string what); + protected std::string what_; + public JSIException(const facebook::jsi::JSIException&) = default; + public virtual const char* what() const noexcept override; + public virtual ~JSIException() override; +} + +class facebook::jsi::JSINativeException : public facebook::jsi::JSIException { + public JSINativeException(const facebook::jsi::JSINativeException&) = default; + public JSINativeException(std::string what); + public virtual ~JSINativeException(); +} + +class facebook::jsi::JSITestBase : public testing::TestWithParam { + public JSITestBase(); + public bool checkValue(const facebook::jsi::Value& value, const std::string& jsValue); + public facebook::jsi::Function function(const std::string& code); + public facebook::jsi::Runtime& rt; + public facebook::jsi::RuntimeFactory factory; + public facebook::jsi::Value eval(const char* code); + public std::shared_ptr runtime; +} + +class facebook::jsi::MutableBuffer { + public virtual size_t size() const = 0; + public virtual uint8_t* data() = 0; + public virtual ~MutableBuffer(); +} + +class facebook::jsi::NativeState { + public virtual ~NativeState(); +} + +class facebook::jsi::Object : public facebook::jsi::Pointer { + protected void setPropertyValue(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) const; + protected void setPropertyValue(facebook::jsi::Runtime& runtime, const facebook::jsi::String& name, const facebook::jsi::Value& value) const; + protected void setPropertyValue(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& name, const facebook::jsi::Value& value) const; + public Object(facebook::jsi::Object&& other) = default; + public Object(facebook::jsi::Pointer&& other) noexcept; + public Object(facebook::jsi::Runtime& runtime); + public Object(facebook::jsi::Runtime::PointerValue* ptr); + public bool hasNativeState(facebook::jsi::Runtime& runtime) const; + public bool hasProperty(facebook::jsi::Runtime& runtime, const char* name) const; + public bool hasProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) const; + public bool hasProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::String& name) const; + public bool hasProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& name) const; + public bool instanceOf(facebook::jsi::Runtime& rt, const facebook::jsi::Function& ctor) const; + public bool isArray(facebook::jsi::Runtime& runtime) const; + public bool isArrayBuffer(facebook::jsi::Runtime& runtime) const; + public bool isFunction(facebook::jsi::Runtime& runtime) const; + public bool isHostObject(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Array asArray(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Array asArray(facebook::jsi::Runtime& runtime); + public facebook::jsi::Array getArray(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Array getArray(facebook::jsi::Runtime& runtime); + public facebook::jsi::Array getPropertyNames(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::ArrayBuffer getArrayBuffer(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::ArrayBuffer getArrayBuffer(facebook::jsi::Runtime& runtime); + public facebook::jsi::Function asFunction(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Function asFunction(facebook::jsi::Runtime& runtime); + public facebook::jsi::Function getFunction(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Function getFunction(facebook::jsi::Runtime& runtime); + public facebook::jsi::Function getPropertyAsFunction(facebook::jsi::Runtime& runtime, const char* name) const; + public facebook::jsi::Object getPropertyAsObject(facebook::jsi::Runtime& runtime, const char* name) const; + public facebook::jsi::Object& operator=(facebook::jsi::Object&& other) = default; + public facebook::jsi::Value getProperty(facebook::jsi::Runtime& runtime, const char* name) const; + public facebook::jsi::Value getProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) const; + public facebook::jsi::Value getProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::String& name) const; + public facebook::jsi::Value getProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& name) const; + public facebook::jsi::Value getPrototype(facebook::jsi::Runtime& runtime) const; + public static bool strictEquals(facebook::jsi::Runtime& runtime, const facebook::jsi::Object& a, const facebook::jsi::Object& b); + public static facebook::jsi::Object create(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& prototype); + public static facebook::jsi::Object createFromHostObject(facebook::jsi::Runtime& runtime, std::shared_ptr ho); + public std::shared_ptr getHostObject(facebook::jsi::Runtime& runtime) const; + public void deleteProperty(facebook::jsi::Runtime& runtime, const char* name) const; + public void deleteProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) const; + public void deleteProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::String& name) const; + public void deleteProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& name) const; + public void setExternalMemoryPressure(facebook::jsi::Runtime& runtime, size_t amt) const; + public void setNativeState(facebook::jsi::Runtime& runtime, std::shared_ptr state) const; + public void setPrototype(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& prototype) const; + template + public bool isHostObject(facebook::jsi::Runtime& runtime) const; + template + public std::shared_ptr asHostObject(facebook::jsi::Runtime& runtime) const; + template + public std::shared_ptr getHostObject(facebook::jsi::Runtime& runtime) const; + template + public bool hasNativeState(facebook::jsi::Runtime& runtime) const; + template + public std::shared_ptr getNativeState(facebook::jsi::Runtime& runtime) const; + template + public void setProperty(facebook::jsi::Runtime& runtime, const char* name, T&& value) const; + template + public void setProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name, T&& value) const; + template + public void setProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::String& name, T&& value) const; + template + public void setProperty(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& name, T&& value) const; +} + +class facebook::jsi::Pointer { + protected Pointer(facebook::jsi::Pointer&& other) noexcept; + protected Pointer(facebook::jsi::Runtime::PointerValue* ptr); + protected facebook::jsi::Pointer& operator=(facebook::jsi::Pointer&& other) noexcept; + protected facebook::jsi::Runtime::PointerValue* ptr_; + protected ~Pointer(); +} + +class facebook::jsi::PreparedJavaScript { + protected PreparedJavaScript() = default; + public virtual ~PreparedJavaScript() = 0; +} + +class facebook::jsi::PropNameID : public facebook::jsi::Pointer { + public PropNameID(facebook::jsi::Pointer&& other) noexcept; + public PropNameID(facebook::jsi::PropNameID&& other) = default; + public PropNameID(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& other); + public PropNameID(facebook::jsi::Runtime::PointerValue* ptr); + public facebook::jsi::PropNameID& operator=(facebook::jsi::PropNameID&& other) = default; + public static bool compare(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& a, const facebook::jsi::PropNameID& b); + public static facebook::jsi::PropNameID forAscii(facebook::jsi::Runtime& runtime, const char* str); + public static facebook::jsi::PropNameID forAscii(facebook::jsi::Runtime& runtime, const char* str, size_t length); + public static facebook::jsi::PropNameID forAscii(facebook::jsi::Runtime& runtime, const std::string& str); + public static facebook::jsi::PropNameID forString(facebook::jsi::Runtime& runtime, const facebook::jsi::String& str); + public static facebook::jsi::PropNameID forSymbol(facebook::jsi::Runtime& runtime, const facebook::jsi::Symbol& sym); + public static facebook::jsi::PropNameID forUtf8(facebook::jsi::Runtime& runtime, const std::string& utf8); + public static facebook::jsi::PropNameID forUtf8(facebook::jsi::Runtime& runtime, const uint8_t* utf8, size_t length); + public static facebook::jsi::PropNameID forUtf16(facebook::jsi::Runtime& runtime, const char16_t* utf16, size_t length); + public static facebook::jsi::PropNameID forUtf16(facebook::jsi::Runtime& runtime, const std::u16string& str); + public std::string utf8(facebook::jsi::Runtime& runtime) const; + public std::u16string utf16(facebook::jsi::Runtime& runtime) const; + template + public static std::vector names(facebook::jsi::PropNameID(&&propertyNames)[N]); + template + public void getPropNameIdData(facebook::jsi::Runtime& runtime, CB& cb) const; + template + public static std::vector names(facebook::jsi::Runtime& runtime, Args &&... args); +} + +class facebook::jsi::Runtime : public facebook::jsi::ICast { + protected static const facebook::jsi::Runtime::PointerValue* getPointerValue(const facebook::jsi::Pointer& pointer); + protected static const facebook::jsi::Runtime::PointerValue* getPointerValue(const facebook::jsi::Value& value); + protected static facebook::jsi::Runtime::PointerValue* getPointerValue(facebook::jsi::Pointer& pointer); + protected virtual ScopeState* pushScope(); + protected virtual bool bigintIsInt64(const facebook::jsi::BigInt&) = 0; + protected virtual bool bigintIsUint64(const facebook::jsi::BigInt&) = 0; + protected virtual bool compare(const facebook::jsi::PropNameID&, const facebook::jsi::PropNameID&) = 0; + protected virtual bool hasNativeState(const facebook::jsi::Object&) = 0; + protected virtual bool hasProperty(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name) = 0; + protected virtual bool hasProperty(const facebook::jsi::Object&, const facebook::jsi::String& name) = 0; + protected virtual bool hasProperty(const facebook::jsi::Object&, const facebook::jsi::Value& name); + protected virtual bool instanceOf(const facebook::jsi::Object& o, const facebook::jsi::Function& f) = 0; + protected virtual bool isArray(const facebook::jsi::Object&) const = 0; + protected virtual bool isArrayBuffer(const facebook::jsi::Object&) const = 0; + protected virtual bool isFunction(const facebook::jsi::Object&) const = 0; + protected virtual bool isHostFunction(const facebook::jsi::Function&) const = 0; + protected virtual bool isHostObject(const facebook::jsi::Object&) const = 0; + protected virtual bool strictEquals(const facebook::jsi::BigInt& a, const facebook::jsi::BigInt& b) const = 0; + protected virtual bool strictEquals(const facebook::jsi::Object& a, const facebook::jsi::Object& b) const = 0; + protected virtual bool strictEquals(const facebook::jsi::String& a, const facebook::jsi::String& b) const = 0; + protected virtual bool strictEquals(const facebook::jsi::Symbol& a, const facebook::jsi::Symbol& b) const = 0; + protected virtual const void* getRuntimeDataImpl(const facebook::jsi::UUID& uuid); + protected virtual facebook::jsi::Array createArray(size_t length) = 0; + protected virtual facebook::jsi::Array getPropertyNames(const facebook::jsi::Object&) = 0; + protected virtual facebook::jsi::ArrayBuffer createArrayBuffer(std::shared_ptr buffer) = 0; + protected virtual facebook::jsi::BigInt createBigIntFromInt64(int64_t) = 0; + protected virtual facebook::jsi::BigInt createBigIntFromUint64(uint64_t) = 0; + protected virtual facebook::jsi::Function createFunctionFromHostFunction(const facebook::jsi::PropNameID& name, unsigned int paramCount, facebook::jsi::HostFunctionType func) = 0; + protected virtual facebook::jsi::HostFunctionType& getHostFunction(const facebook::jsi::Function&) = 0; + protected virtual facebook::jsi::Object createObject() = 0; + protected virtual facebook::jsi::Object createObject(std::shared_ptr ho) = 0; + protected virtual facebook::jsi::Object createObjectWithPrototype(const facebook::jsi::Value& prototype); + protected virtual facebook::jsi::PropNameID createPropNameIDFromAscii(const char* str, size_t length) = 0; + protected virtual facebook::jsi::PropNameID createPropNameIDFromString(const facebook::jsi::String& str) = 0; + protected virtual facebook::jsi::PropNameID createPropNameIDFromSymbol(const facebook::jsi::Symbol& sym) = 0; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf8(const uint8_t* utf8, size_t length) = 0; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf16(const char16_t* utf16, size_t length); + protected virtual facebook::jsi::Runtime::PointerValue* cloneBigInt(const facebook::jsi::Runtime::PointerValue* pv) = 0; + protected virtual facebook::jsi::Runtime::PointerValue* cloneObject(const facebook::jsi::Runtime::PointerValue* pv) = 0; + protected virtual facebook::jsi::Runtime::PointerValue* clonePropNameID(const facebook::jsi::Runtime::PointerValue* pv) = 0; + protected virtual facebook::jsi::Runtime::PointerValue* cloneString(const facebook::jsi::Runtime::PointerValue* pv) = 0; + protected virtual facebook::jsi::Runtime::PointerValue* cloneSymbol(const facebook::jsi::Runtime::PointerValue* pv) = 0; + protected virtual facebook::jsi::String bigintToString(const facebook::jsi::BigInt&, int) = 0; + protected virtual facebook::jsi::String createStringFromAscii(const char* str, size_t length) = 0; + protected virtual facebook::jsi::String createStringFromUtf8(const uint8_t* utf8, size_t length) = 0; + protected virtual facebook::jsi::String createStringFromUtf16(const char16_t* utf16, size_t length); + protected virtual facebook::jsi::Value call(const facebook::jsi::Function&, const facebook::jsi::Value& jsThis, const facebook::jsi::Value* args, size_t count) = 0; + protected virtual facebook::jsi::Value callAsConstructor(const facebook::jsi::Function&, const facebook::jsi::Value* args, size_t count) = 0; + protected virtual facebook::jsi::Value createValueFromJsonUtf8(const uint8_t* json, size_t length); + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name) = 0; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object&, const facebook::jsi::String& name) = 0; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object&, const facebook::jsi::Value& name); + protected virtual facebook::jsi::Value getPrototypeOf(const facebook::jsi::Object& object); + protected virtual facebook::jsi::Value getValueAtIndex(const facebook::jsi::Array&, size_t i) = 0; + protected virtual facebook::jsi::Value lockWeakObject(const facebook::jsi::WeakObject&) = 0; + protected virtual facebook::jsi::WeakObject createWeakObject(const facebook::jsi::Object&) = 0; + protected virtual size_t size(const facebook::jsi::Array&) = 0; + protected virtual size_t size(const facebook::jsi::ArrayBuffer&) = 0; + protected virtual std::shared_ptr getHostObject(const facebook::jsi::Object&) = 0; + protected virtual std::shared_ptr getNativeState(const facebook::jsi::Object&) = 0; + protected virtual std::string symbolToString(const facebook::jsi::Symbol&) = 0; + protected virtual std::string utf8(const facebook::jsi::PropNameID&) = 0; + protected virtual std::string utf8(const facebook::jsi::String&) = 0; + protected virtual std::u16string utf16(const facebook::jsi::PropNameID& sym); + protected virtual std::u16string utf16(const facebook::jsi::String& str); + protected virtual uint8_t* data(const facebook::jsi::ArrayBuffer&) = 0; + protected virtual uint64_t truncate(const facebook::jsi::BigInt&) = 0; + protected virtual void deleteProperty(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name); + protected virtual void deleteProperty(const facebook::jsi::Object&, const facebook::jsi::String& name); + protected virtual void deleteProperty(const facebook::jsi::Object&, const facebook::jsi::Value& name); + protected virtual void getPropNameIdData(const facebook::jsi::PropNameID& sym, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb); + protected virtual void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb); + protected virtual void popScope(ScopeState*); + protected virtual void setExternalMemoryPressure(const facebook::jsi::Object& obj, size_t amount) = 0; + protected virtual void setNativeState(const facebook::jsi::Object&, std::shared_ptr state) = 0; + protected virtual void setPropertyValue(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) = 0; + protected virtual void setPropertyValue(const facebook::jsi::Object&, const facebook::jsi::String& name, const facebook::jsi::Value& value) = 0; + protected virtual void setPropertyValue(const facebook::jsi::Object&, const facebook::jsi::Value& name, const facebook::jsi::Value& value); + protected virtual void setPrototypeOf(const facebook::jsi::Object& object, const facebook::jsi::Value& prototype); + protected virtual void setRuntimeDataImpl(const facebook::jsi::UUID& uuid, const void* data, void(*)(const void* data) deleter); + protected virtual void setValueAtIndexImpl(const facebook::jsi::Array&, size_t i, const facebook::jsi::Value& value) = 0; + public std::shared_ptr getRuntimeData(const facebook::jsi::UUID& uuid); + public virtual bool drainMicrotasks(int maxMicrotasksHint = -1) = 0; + public virtual bool isInspectable() = 0; + public virtual facebook::jsi::ICast* castInterface(const facebook::jsi::UUID& interfaceUUID) override; + public virtual facebook::jsi::Instrumentation& instrumentation(); + public virtual facebook::jsi::Object global() = 0; + public virtual facebook::jsi::Value evaluateJavaScript(const std::shared_ptr& buffer, const std::string& sourceURL) = 0; + public virtual facebook::jsi::Value evaluatePreparedJavaScript(const std::shared_ptr& js) = 0; + public virtual std::shared_ptr prepareJavaScript(const std::shared_ptr& buffer, std::string sourceURL) = 0; + public virtual std::string description() = 0; + public virtual void queueMicrotask(const facebook::jsi::Function& callback) = 0; + public virtual ~Runtime(); + public void setRuntimeData(const facebook::jsi::UUID& uuid, const std::shared_ptr& data); + template + protected static T make(facebook::jsi::Runtime::PointerValue* pv); +} + +struct facebook::jsi::Runtime::PointerValue { + protected virtual ~PointerValue() = default; + public virtual void invalidate() noexcept = 0; +} + +class facebook::jsi::Scope { + public Scope(const facebook::jsi::Scope&) = delete; + public Scope(facebook::jsi::Runtime& rt); + public Scope(facebook::jsi::Scope&&) = delete; + public facebook::jsi::Scope& operator=(const facebook::jsi::Scope&) = delete; + public facebook::jsi::Scope& operator=(facebook::jsi::Scope&&) = delete; + public ~Scope(); + template + public static decltype(f()) callInNewScope(facebook::jsi::Runtime& rt, F f); +} + +class facebook::jsi::SourceJavaScriptPreparation : public facebook::jsi::PreparedJavaScript, public facebook::jsi::Buffer { + public SourceJavaScriptPreparation(std::shared_ptr buf, std::string sourceURL); + public const std::string& sourceURL() const; + public virtual const uint8_t* data() const override; + public virtual size_t size() const override; +} + +class facebook::jsi::String : public facebook::jsi::Pointer { + public String(facebook::jsi::Pointer&& other) noexcept; + public String(facebook::jsi::Runtime::PointerValue* ptr); + public String(facebook::jsi::String&& other) = default; + public facebook::jsi::String& operator=(facebook::jsi::String&& other) = default; + public static bool strictEquals(facebook::jsi::Runtime& runtime, const facebook::jsi::String& a, const facebook::jsi::String& b); + public static facebook::jsi::String createFromAscii(facebook::jsi::Runtime& runtime, const char* str); + public static facebook::jsi::String createFromAscii(facebook::jsi::Runtime& runtime, const char* str, size_t length); + public static facebook::jsi::String createFromAscii(facebook::jsi::Runtime& runtime, const std::string& str); + public static facebook::jsi::String createFromUtf8(facebook::jsi::Runtime& runtime, const std::string& utf8); + public static facebook::jsi::String createFromUtf8(facebook::jsi::Runtime& runtime, const uint8_t* utf8, size_t length); + public static facebook::jsi::String createFromUtf16(facebook::jsi::Runtime& runtime, const char16_t* utf16, size_t length); + public static facebook::jsi::String createFromUtf16(facebook::jsi::Runtime& runtime, const std::u16string& utf16); + public std::string utf8(facebook::jsi::Runtime& runtime) const; + public std::u16string utf16(facebook::jsi::Runtime& runtime) const; + template + public void getStringData(facebook::jsi::Runtime& runtime, CB& cb) const; +} + +class facebook::jsi::StringBuffer : public facebook::jsi::Buffer { + public StringBuffer(std::string s); + public virtual const uint8_t* data() const override; + public virtual size_t size() const override; +} + +class facebook::jsi::Symbol : public facebook::jsi::Pointer { + public Symbol(facebook::jsi::Pointer&& other) noexcept; + public Symbol(facebook::jsi::Runtime::PointerValue* ptr); + public Symbol(facebook::jsi::Symbol&& other) = default; + public facebook::jsi::Symbol& operator=(facebook::jsi::Symbol&& other) = default; + public static bool strictEquals(facebook::jsi::Runtime& runtime, const facebook::jsi::Symbol& a, const facebook::jsi::Symbol& b); + public std::string toString(facebook::jsi::Runtime& runtime) const; +} + +class facebook::jsi::ThreadSafeRuntime : public facebook::jsi::Runtime { + public virtual facebook::jsi::Runtime& getUnsafeRuntime() = 0; + public virtual void lock() const = 0; + public virtual void unlock() const = 0; +} + +class facebook::jsi::UUID { + public constexpr UUID(); + public constexpr UUID(const facebook::jsi::UUID&) = default; + public constexpr UUID(uint32_t timeLow, uint16_t timeMid, uint16_t timeHighAndVersion, uint16_t variantAndClockSeq, uint64_t node); + public constexpr bool operator!=(const facebook::jsi::UUID& other) const; + public constexpr bool operator<(const facebook::jsi::UUID& other) const; + public constexpr bool operator==(const facebook::jsi::UUID& other) const; + public constexpr facebook::jsi::UUID& operator=(const facebook::jsi::UUID&) = default; + public constexpr uint16_t getTimeHighAndVersion() const; + public constexpr uint16_t getTimeMid() const; + public constexpr uint16_t getVariantAndClockSeq() const; + public constexpr uint32_t getTimeLow() const; + public constexpr uint64_t getNode() const; + public std::string toString() const; +} + +struct facebook::jsi::UUID::Hash { + public std::size_t operator()(const facebook::jsi::UUID& uuid) const noexcept; +} + +class facebook::jsi::Value { + public Value() noexcept; + public Value(bool b); + public Value(double d); + public Value(facebook::jsi::Runtime& runtime, const facebook::jsi::BigInt& bigint); + public Value(facebook::jsi::Runtime& runtime, const facebook::jsi::Object& obj); + public Value(facebook::jsi::Runtime& runtime, const facebook::jsi::String& str); + public Value(facebook::jsi::Runtime& runtime, const facebook::jsi::Symbol& sym); + public Value(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value); + public Value(facebook::jsi::Value&& other) noexcept; + public Value(int i); + public Value(std::nullptr_t); + public bool asBool() const; + public bool getBool() const; + public bool isBigInt() const; + public bool isBool() const; + public bool isNull() const; + public bool isNumber() const; + public bool isObject() const; + public bool isString() const; + public bool isSymbol() const; + public bool isUndefined() const; + public double asNumber() const; + public double getNumber() const; + public facebook::jsi::BigInt asBigInt(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::BigInt asBigInt(facebook::jsi::Runtime& runtime); + public facebook::jsi::BigInt getBigInt(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::BigInt getBigInt(facebook::jsi::Runtime&); + public facebook::jsi::Object asObject(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Object asObject(facebook::jsi::Runtime& runtime); + public facebook::jsi::Object getObject(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Object getObject(facebook::jsi::Runtime&); + public facebook::jsi::String asString(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::String asString(facebook::jsi::Runtime& runtime); + public facebook::jsi::String getString(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::String getString(facebook::jsi::Runtime&); + public facebook::jsi::String toString(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Symbol asSymbol(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Symbol asSymbol(facebook::jsi::Runtime& runtime); + public facebook::jsi::Symbol getSymbol(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::Symbol getSymbol(facebook::jsi::Runtime&); + public facebook::jsi::Value& operator=(facebook::jsi::Value&& other) noexcept; + public static bool strictEquals(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& a, const facebook::jsi::Value& b); + public static facebook::jsi::Value createFromJsonUtf8(facebook::jsi::Runtime& runtime, const uint8_t* json, size_t length); + public static facebook::jsi::Value null(); + public static facebook::jsi::Value undefined(); + public ~Value(); + template + public Value(const char*); + template + public Value(facebook::jsi::Runtime&, const char*); + template ::value || std::is_base_of::value || std::is_base_of::value || std::is_base_of::value>> + public Value(T&& other); +} + +class facebook::jsi::WeakObject : public facebook::jsi::Pointer { + public WeakObject(facebook::jsi::Pointer&& other) noexcept; + public WeakObject(facebook::jsi::Runtime& runtime, const facebook::jsi::Object& o); + public WeakObject(facebook::jsi::Runtime::PointerValue* ptr); + public WeakObject(facebook::jsi::WeakObject&& other) = default; + public facebook::jsi::Value lock(facebook::jsi::Runtime& runtime) const; + public facebook::jsi::WeakObject& operator=(facebook::jsi::WeakObject&& other) = default; +} + +struct facebook::jsi::ICast { + protected ~ICast() = default; + public virtual facebook::jsi::ICast* castInterface(const facebook::jsi::UUID& interfaceUUID) = 0; +} + +template +class facebook::jsi::RuntimeDecorator : public facebook::jsi::Runtime { + protected RuntimeDecorator(Plain& plain); + protected virtual Runtime::ScopeState* pushScope() override; + protected virtual bool bigintIsInt64(const facebook::jsi::BigInt& b) override; + protected virtual bool bigintIsUint64(const facebook::jsi::BigInt& b) override; + protected virtual bool compare(const facebook::jsi::PropNameID& a, const facebook::jsi::PropNameID& b) override; + protected virtual bool hasNativeState(const facebook::jsi::Object& o) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::String& name) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::Value& name) override; + protected virtual bool instanceOf(const facebook::jsi::Object& o, const facebook::jsi::Function& f) override; + protected virtual bool isArray(const facebook::jsi::Object& o) const override; + protected virtual bool isArrayBuffer(const facebook::jsi::Object& o) const override; + protected virtual bool isFunction(const facebook::jsi::Object& o) const override; + protected virtual bool isHostFunction(const facebook::jsi::Function& f) const override; + protected virtual bool isHostObject(const facebook::jsi::Object& o) const override; + protected virtual bool strictEquals(const facebook::jsi::BigInt& a, const facebook::jsi::BigInt& b) const override; + protected virtual bool strictEquals(const facebook::jsi::Object& a, const facebook::jsi::Object& b) const override; + protected virtual bool strictEquals(const facebook::jsi::String& a, const facebook::jsi::String& b) const override; + protected virtual bool strictEquals(const facebook::jsi::Symbol& a, const facebook::jsi::Symbol& b) const override; + protected virtual const void* getRuntimeDataImpl(const facebook::jsi::UUID& uuid) override; + protected virtual facebook::jsi::Array createArray(size_t length) override; + protected virtual facebook::jsi::Array getPropertyNames(const facebook::jsi::Object& o) override; + protected virtual facebook::jsi::ArrayBuffer createArrayBuffer(std::shared_ptr buffer) override; + protected virtual facebook::jsi::BigInt createBigIntFromInt64(int64_t value) override; + protected virtual facebook::jsi::BigInt createBigIntFromUint64(uint64_t value) override; + protected virtual facebook::jsi::Function createFunctionFromHostFunction(const facebook::jsi::PropNameID& name, unsigned int paramCount, facebook::jsi::HostFunctionType func) override; + protected virtual facebook::jsi::HostFunctionType& getHostFunction(const facebook::jsi::Function& f) override; + protected virtual facebook::jsi::Object createObject() override; + protected virtual facebook::jsi::Object createObject(std::shared_ptr ho) override; + protected virtual facebook::jsi::Object createObjectWithPrototype(const facebook::jsi::Value& prototype) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromAscii(const char* str, size_t length) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromString(const facebook::jsi::String& str) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromSymbol(const facebook::jsi::Symbol& sym) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf8(const uint8_t* utf8, size_t length) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf16(const char16_t* utf16, size_t length) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneBigInt(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneObject(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* clonePropNameID(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneString(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneSymbol(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::String bigintToString(const facebook::jsi::BigInt& bigint, int radix) override; + protected virtual facebook::jsi::String createStringFromAscii(const char* str, size_t length) override; + protected virtual facebook::jsi::String createStringFromUtf8(const uint8_t* utf8, size_t length) override; + protected virtual facebook::jsi::String createStringFromUtf16(const char16_t* utf16, size_t length) override; + protected virtual facebook::jsi::Value call(const facebook::jsi::Function& f, const facebook::jsi::Value& jsThis, const facebook::jsi::Value* args, size_t count) override; + protected virtual facebook::jsi::Value callAsConstructor(const facebook::jsi::Function& f, const facebook::jsi::Value* args, size_t count) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::String& name) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::Value& name) override; + protected virtual facebook::jsi::Value getPrototypeOf(const facebook::jsi::Object& object) override; + protected virtual facebook::jsi::Value getValueAtIndex(const facebook::jsi::Array& a, size_t i) override; + protected virtual facebook::jsi::Value lockWeakObject(const facebook::jsi::WeakObject& wo) override; + protected virtual facebook::jsi::WeakObject createWeakObject(const facebook::jsi::Object& o) override; + protected virtual size_t size(const facebook::jsi::Array& a) override; + protected virtual size_t size(const facebook::jsi::ArrayBuffer& ab) override; + protected virtual std::shared_ptr getHostObject(const facebook::jsi::Object& o) override; + protected virtual std::shared_ptr getNativeState(const facebook::jsi::Object& o) override; + protected virtual std::string flushAndDisableBridgeTrafficTrace() override; + protected virtual std::string getRecordedGCStats() override; + protected virtual std::string symbolToString(const facebook::jsi::Symbol& sym) override; + protected virtual std::string utf8(const facebook::jsi::PropNameID& id) override; + protected virtual std::string utf8(const facebook::jsi::String& s) override; + protected virtual std::u16string utf16(const facebook::jsi::PropNameID& sym) override; + protected virtual std::u16string utf16(const facebook::jsi::String& str) override; + protected virtual std::unordered_map getHeapInfo(bool includeExpensive) override; + protected virtual uint8_t* data(const facebook::jsi::ArrayBuffer& ab) override; + protected virtual uint64_t truncate(const facebook::jsi::BigInt& b) override; + protected virtual void collectGarbage(std::string cause) override; + protected virtual void createSnapshotToFile(const std::string& path, const facebook::jsi::Instrumentation::HeapSnapshotOptions& options) override; + protected virtual void createSnapshotToStream(std::ostream& os, const facebook::jsi::Instrumentation::HeapSnapshotOptions& options) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::PropNameID& name) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::String& name) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::Value& name) override; + protected virtual void dumpOpcodeStats(std::ostream& os) const override; + protected virtual void dumpProfilerSymbolsToFile(const std::string& fileName) const override; + protected virtual void setExternalMemoryPressure(const facebook::jsi::Object& obj, size_t amount) override; + protected virtual void setNativeState(const facebook::jsi::Object& o, std::shared_ptr state) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::String& name, const facebook::jsi::Value& value) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::Value& name, const facebook::jsi::Value& value) override; + protected virtual void setPrototypeOf(const facebook::jsi::Object& object, const facebook::jsi::Value& prototype) override; + protected virtual void setRuntimeDataImpl(const facebook::jsi::UUID& uuid, const void* data, void(*)(const void* data) deleter) override; + protected virtual void setValueAtIndexImpl(const facebook::jsi::Array& a, size_t i, const facebook::jsi::Value& value) override; + protected virtual void startHeapSampling(size_t samplingInterval) override; + protected virtual void stopHeapSampling(std::ostream& os) override; + protected virtual void stopTrackingHeapObjectStackTraces() override; + protected virtual void writeBasicBlockProfileTraceToFile(const std::string& fileName) const override; + protected void getPropNameIdData(const facebook::jsi::PropNameID& sym, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) override; + protected void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) override; + protected void popScope(Runtime::ScopeState* ss) override; + protected void startTrackingHeapObjectStackTraces(std::function)> callback) override; + public Plain& plain(); + public const Plain& plain() const; + public virtual bool drainMicrotasks(int maxMicrotasksHint) override; + public virtual bool isInspectable() override; + public virtual facebook::jsi::ICast* castInterface(const facebook::jsi::UUID& interfaceUUID) override; + public virtual facebook::jsi::Instrumentation& instrumentation() override; + public virtual facebook::jsi::Object global() override; + public virtual facebook::jsi::Value evaluateJavaScript(const std::shared_ptr& buffer, const std::string& sourceURL) override; + public virtual facebook::jsi::Value evaluatePreparedJavaScript(const std::shared_ptr& js) override; + public virtual std::shared_ptr prepareJavaScript(const std::shared_ptr& buffer, std::string sourceURL) override; + public virtual std::string description() override; + public virtual void queueMicrotask(const facebook::jsi::Function& callback) override; +} + +template +class facebook::jsi::WithRuntimeDecorator : public facebook::jsi::RuntimeDecorator { + protected virtual Runtime::ScopeState* pushScope() override; + protected virtual bool bigintIsInt64(const facebook::jsi::BigInt& bi) override; + protected virtual bool bigintIsUint64(const facebook::jsi::BigInt& bi) override; + protected virtual bool compare(const facebook::jsi::PropNameID& a, const facebook::jsi::PropNameID& b) override; + protected virtual bool hasNativeState(const facebook::jsi::Object& o) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::String& name) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::Value& name) override; + protected virtual bool instanceOf(const facebook::jsi::Object& o, const facebook::jsi::Function& f) override; + protected virtual bool isArray(const facebook::jsi::Object& o) const override; + protected virtual bool isArrayBuffer(const facebook::jsi::Object& o) const override; + protected virtual bool isFunction(const facebook::jsi::Object& o) const override; + protected virtual bool isHostFunction(const facebook::jsi::Function& f) const override; + protected virtual bool isHostObject(const facebook::jsi::Object& o) const override; + protected virtual bool strictEquals(const facebook::jsi::BigInt& a, const facebook::jsi::BigInt& b) const override; + protected virtual bool strictEquals(const facebook::jsi::Object& a, const facebook::jsi::Object& b) const override; + protected virtual bool strictEquals(const facebook::jsi::String& a, const facebook::jsi::String& b) const override; + protected virtual bool strictEquals(const facebook::jsi::Symbol& a, const facebook::jsi::Symbol& b) const override; + protected virtual const void* getRuntimeDataImpl(const facebook::jsi::UUID& uuid) override; + protected virtual facebook::jsi::Array createArray(size_t length) override; + protected virtual facebook::jsi::Array getPropertyNames(const facebook::jsi::Object& o) override; + protected virtual facebook::jsi::ArrayBuffer createArrayBuffer(std::shared_ptr buffer) override; + protected virtual facebook::jsi::BigInt createBigIntFromInt64(int64_t i) override; + protected virtual facebook::jsi::BigInt createBigIntFromUint64(uint64_t i) override; + protected virtual facebook::jsi::Function createFunctionFromHostFunction(const facebook::jsi::PropNameID& name, unsigned int paramCount, facebook::jsi::HostFunctionType func) override; + protected virtual facebook::jsi::HostFunctionType& getHostFunction(const facebook::jsi::Function& f) override; + protected virtual facebook::jsi::Object createObject() override; + protected virtual facebook::jsi::Object createObject(std::shared_ptr ho) override; + protected virtual facebook::jsi::Object createObjectWithPrototype(const facebook::jsi::Value& prototype) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromAscii(const char* str, size_t length) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromString(const facebook::jsi::String& str) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromSymbol(const facebook::jsi::Symbol& sym) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf8(const uint8_t* utf8, size_t length) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf16(const char16_t* utf16, size_t length) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneBigInt(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneObject(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* clonePropNameID(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneString(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Runtime::PointerValue* cloneSymbol(const facebook::jsi::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::String bigintToString(const facebook::jsi::BigInt& bi, int i) override; + protected virtual facebook::jsi::String createStringFromAscii(const char* str, size_t length) override; + protected virtual facebook::jsi::String createStringFromUtf8(const uint8_t* utf8, size_t length) override; + protected virtual facebook::jsi::String createStringFromUtf16(const char16_t* utf16, size_t length) override; + protected virtual facebook::jsi::Value call(const facebook::jsi::Function& f, const facebook::jsi::Value& jsThis, const facebook::jsi::Value* args, size_t count) override; + protected virtual facebook::jsi::Value callAsConstructor(const facebook::jsi::Function& f, const facebook::jsi::Value* args, size_t count) override; + protected virtual facebook::jsi::Value createValueFromJsonUtf8(const uint8_t* json, size_t length) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::String& name) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::Value& name) override; + protected virtual facebook::jsi::Value getPrototypeOf(const facebook::jsi::Object& object) override; + protected virtual facebook::jsi::Value getValueAtIndex(const facebook::jsi::Array& a, size_t i) override; + protected virtual facebook::jsi::Value lockWeakObject(const facebook::jsi::WeakObject& wo) override; + protected virtual facebook::jsi::WeakObject createWeakObject(const facebook::jsi::Object& o) override; + protected virtual size_t size(const facebook::jsi::Array& a) override; + protected virtual size_t size(const facebook::jsi::ArrayBuffer& ab) override; + protected virtual std::shared_ptr getHostObject(const facebook::jsi::Object& o) override; + protected virtual std::shared_ptr getNativeState(const facebook::jsi::Object& o) override; + protected virtual std::string symbolToString(const facebook::jsi::Symbol& sym) override; + protected virtual std::string utf8(const facebook::jsi::PropNameID& id) override; + protected virtual std::string utf8(const facebook::jsi::String& s) override; + protected virtual std::u16string utf16(const facebook::jsi::PropNameID& sym) override; + protected virtual std::u16string utf16(const facebook::jsi::String& str) override; + protected virtual uint8_t* data(const facebook::jsi::ArrayBuffer& ab) override; + protected virtual uint64_t truncate(const facebook::jsi::BigInt& bi) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::PropNameID& name) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::String& name) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::Value& name) override; + protected virtual void setExternalMemoryPressure(const facebook::jsi::Object& obj, size_t amt) override; + protected virtual void setNativeState(const facebook::jsi::Object& o, std::shared_ptr state) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::String& name, const facebook::jsi::Value& value) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::Value& name, const facebook::jsi::Value& value) override; + protected virtual void setPrototypeOf(const facebook::jsi::Object& object, const facebook::jsi::Value& prototype) override; + protected virtual void setRuntimeDataImpl(const facebook::jsi::UUID& uuid, const void* data, void(*)(const void* data) deleter) override; + protected virtual void setValueAtIndexImpl(const facebook::jsi::Array& a, size_t i, const facebook::jsi::Value& value) override; + protected void getPropNameIdData(const facebook::jsi::PropNameID& sym, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) override; + protected void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) override; + protected void popScope(Runtime::ScopeState* ss) override; + public WithRuntimeDecorator(Plain& plain, With& with); + public using RD = facebook::jsi::RuntimeDecorator; + public virtual bool drainMicrotasks(int maxMicrotasksHint) override; + public virtual bool isInspectable() override; + public virtual facebook::jsi::ICast* castInterface(const facebook::jsi::UUID& interfaceUUID) override; + public virtual facebook::jsi::Instrumentation& instrumentation() override; + public virtual facebook::jsi::Object global() override; + public virtual facebook::jsi::Value evaluateJavaScript(const std::shared_ptr& buffer, const std::string& sourceURL) override; + public virtual facebook::jsi::Value evaluatePreparedJavaScript(const std::shared_ptr& js) override; + public virtual std::shared_ptr prepareJavaScript(const std::shared_ptr& buffer, std::string sourceURL) override; + public virtual std::string description() override; + public virtual void queueMicrotask(const facebook::jsi::Function& callback) override; +} + + +facebook::jsi::PropNameID facebook::jsi::detail::toPropNameID(facebook::jsi::Runtime& runtime, const char* name); +facebook::jsi::PropNameID facebook::jsi::detail::toPropNameID(facebook::jsi::Runtime& runtime, const std::string& name); +facebook::jsi::PropNameID&& facebook::jsi::detail::toPropNameID(facebook::jsi::Runtime&, facebook::jsi::PropNameID&& name); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime& runtime, const char* str); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime& runtime, const std::string& str); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime&, bool b); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime&, double d); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime&, float f); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime&, int i); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime&, std::nullptr_t); +facebook::jsi::Value&& facebook::jsi::detail::toValue(facebook::jsi::Runtime&, facebook::jsi::Value&& value); +template +void facebook::jsi::detail::throwOrDie(Args &&... args); +template +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::Runtime& runtime, const T& other); + +template +class facebook::jsi::detail::ThreadSafeRuntimeImpl : public facebook::jsi::WithRuntimeDecorator, R, facebook::jsi::ThreadSafeRuntime> { + public virtual R& getUnsafeRuntime() override; + public virtual void lock() const override; + public virtual void unlock() const override; + template + public ThreadSafeRuntimeImpl(Args &&... args); +} + +template +struct facebook::jsi::detail::WithLock { + public L lock; + public WithLock(R& r); + public void after(); + public void before(); +} + +template +struct facebook::jsi::detail::AfterCaller { + public static void after(T&); +} + +template +struct facebook::jsi::detail::BeforeCaller { + public static void before(T&); +} + +template +struct facebook::jsi::detail::AfterCaller { + public static void after(T& t); +} + +template +struct facebook::jsi::detail::BeforeCaller { + public static void before(T& t); +} + +template +struct facebook::jsi::detail::AfterCaller> { + public static void after(std::tuple& tuple); +} + +template +struct facebook::jsi::detail::BeforeCaller> { + public static void before(std::tuple& tuple); +} + + +using facebook::yoga::ExperimentalFeatureSet = std::bitset()>; +using facebook::yoga::GridTrackList = std::vector; +template +concept facebook::yoga::Enumeration = std::is_enum_v; +template +concept facebook::yoga::HasOrdinality = (facebook::yoga::ordinalCount()> 0); +YGLogger facebook::yoga::getDefaultLogger(); +bool facebook::yoga::calculateLayoutInternal(facebook::yoga::Node* node, float availableWidth, float availableHeight, facebook::yoga::Direction ownerDirection, facebook::yoga::SizingMode widthSizingMode, facebook::yoga::SizingMode heightSizingMode, float ownerWidth, float ownerHeight, bool performLayout, facebook::yoga::LayoutPassReason reason, facebook::yoga::LayoutData& layoutMarkerData, uint32_t depth, uint32_t generationCount); +bool facebook::yoga::canUseCachedMeasurement(facebook::yoga::SizingMode widthMode, float availableWidth, facebook::yoga::SizingMode heightMode, float availableHeight, facebook::yoga::SizingMode lastWidthMode, float lastAvailableWidth, facebook::yoga::SizingMode lastHeightMode, float lastAvailableHeight, float lastComputedWidth, float lastComputedHeight, float marginRow, float marginColumn, const facebook::yoga::Config* config); +bool facebook::yoga::configUpdateInvalidatesLayout(const facebook::yoga::Config& oldConfig, const facebook::yoga::Config& newConfig); +bool facebook::yoga::inexactEquals(const facebook::yoga::StyleLength& a, const facebook::yoga::StyleLength& b); +bool facebook::yoga::inexactEquals(const facebook::yoga::StyleSizeLength& a, const facebook::yoga::StyleSizeLength& b); +bool facebook::yoga::inexactEquals(double a, double b); +bool facebook::yoga::inexactEquals(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +bool facebook::yoga::inexactEquals(float a, float b); +bool facebook::yoga::isBaselineLayout(const facebook::yoga::Node* node); +bool facebook::yoga::isColumn(const facebook::yoga::FlexDirection flexDirection); +bool facebook::yoga::isRow(const facebook::yoga::FlexDirection flexDirection); +bool facebook::yoga::layoutAbsoluteDescendants(facebook::yoga::Node* containingNode, facebook::yoga::Node* currentNode, facebook::yoga::SizingMode widthSizingMode, facebook::yoga::Direction currentNodeDirection, facebook::yoga::LayoutData& layoutMarkerData, uint32_t currentDepth, uint32_t generationCount, float currentNodeMainOffsetFromContainingBlock, float currentNodeCrossOffsetFromContainingBlock, float containingNodeAvailableInnerWidth, float containingNodeAvailableInnerHeight); +bool facebook::yoga::needsTrailingPosition(const facebook::yoga::FlexDirection axis); +const char* facebook::yoga::LayoutPassReasonToString(facebook::yoga::LayoutPassReason value); +const char* facebook::yoga::toString(facebook::yoga::Align e); +const char* facebook::yoga::toString(facebook::yoga::BoxSizing e); +const char* facebook::yoga::toString(facebook::yoga::Dimension e); +const char* facebook::yoga::toString(facebook::yoga::Direction e); +const char* facebook::yoga::toString(facebook::yoga::Display e); +const char* facebook::yoga::toString(facebook::yoga::Edge e); +const char* facebook::yoga::toString(facebook::yoga::Errata e); +const char* facebook::yoga::toString(facebook::yoga::ExperimentalFeature e); +const char* facebook::yoga::toString(facebook::yoga::FlexDirection e); +const char* facebook::yoga::toString(facebook::yoga::GridTrackType e); +const char* facebook::yoga::toString(facebook::yoga::Gutter e); +const char* facebook::yoga::toString(facebook::yoga::Justify e); +const char* facebook::yoga::toString(facebook::yoga::LogLevel e); +const char* facebook::yoga::toString(facebook::yoga::MeasureMode e); +const char* facebook::yoga::toString(facebook::yoga::NodeType e); +const char* facebook::yoga::toString(facebook::yoga::Overflow e); +const char* facebook::yoga::toString(facebook::yoga::PositionType e); +const char* facebook::yoga::toString(facebook::yoga::Unit e); +const char* facebook::yoga::toString(facebook::yoga::Wrap e); +const facebook::yoga::Node* facebook::yoga::resolveRef(const YGNodeConstRef ref); +constexpr YGAlign facebook::yoga::unscopedEnum(facebook::yoga::Align scoped); +constexpr YGBoxSizing facebook::yoga::unscopedEnum(facebook::yoga::BoxSizing scoped); +constexpr YGDimension facebook::yoga::unscopedEnum(facebook::yoga::Dimension scoped); +constexpr YGDirection facebook::yoga::unscopedEnum(facebook::yoga::Direction scoped); +constexpr YGDisplay facebook::yoga::unscopedEnum(facebook::yoga::Display scoped); +constexpr YGEdge facebook::yoga::unscopedEnum(facebook::yoga::Edge scoped); +constexpr YGErrata facebook::yoga::unscopedEnum(facebook::yoga::Errata scoped); +constexpr YGExperimentalFeature facebook::yoga::unscopedEnum(facebook::yoga::ExperimentalFeature scoped); +constexpr YGFlexDirection facebook::yoga::unscopedEnum(facebook::yoga::FlexDirection scoped); +constexpr YGGridTrackType facebook::yoga::unscopedEnum(facebook::yoga::GridTrackType scoped); +constexpr YGGutter facebook::yoga::unscopedEnum(facebook::yoga::Gutter scoped); +constexpr YGJustify facebook::yoga::unscopedEnum(facebook::yoga::Justify scoped); +constexpr YGLogLevel facebook::yoga::unscopedEnum(facebook::yoga::LogLevel scoped); +constexpr YGMeasureMode facebook::yoga::unscopedEnum(facebook::yoga::MeasureMode scoped); +constexpr YGNodeType facebook::yoga::unscopedEnum(facebook::yoga::NodeType scoped); +constexpr YGOverflow facebook::yoga::unscopedEnum(facebook::yoga::Overflow scoped); +constexpr YGPositionType facebook::yoga::unscopedEnum(facebook::yoga::PositionType scoped); +constexpr YGUnit facebook::yoga::unscopedEnum(facebook::yoga::Unit scoped); +constexpr YGWrap facebook::yoga::unscopedEnum(facebook::yoga::Wrap scoped); +constexpr auto facebook::yoga::maxOrDefined(std::floating_point auto a, std::floating_point auto b); +constexpr auto facebook::yoga::minOrDefined(std::floating_point auto a, std::floating_point auto b); +constexpr auto facebook::yoga::to_underlying(Enumeration auto e) noexcept; +constexpr bool facebook::yoga::isDefined(std::floating_point auto value); +constexpr bool facebook::yoga::isUndefined(std::floating_point auto value); +constexpr bool facebook::yoga::isinf(auto value); +constexpr facebook::yoga::Align facebook::yoga::fallbackAlignment(facebook::yoga::Align align); +constexpr facebook::yoga::Align facebook::yoga::scopedEnum(YGAlign unscoped); +constexpr facebook::yoga::BoxSizing facebook::yoga::scopedEnum(YGBoxSizing unscoped); +constexpr facebook::yoga::Dimension facebook::yoga::scopedEnum(YGDimension unscoped); +constexpr facebook::yoga::Direction facebook::yoga::scopedEnum(YGDirection unscoped); +constexpr facebook::yoga::Display facebook::yoga::scopedEnum(YGDisplay unscoped); +constexpr facebook::yoga::Edge facebook::yoga::scopedEnum(YGEdge unscoped); +constexpr facebook::yoga::Errata facebook::yoga::scopedEnum(YGErrata unscoped); +constexpr facebook::yoga::ExperimentalFeature facebook::yoga::scopedEnum(YGExperimentalFeature unscoped); +constexpr facebook::yoga::FlexDirection facebook::yoga::scopedEnum(YGFlexDirection unscoped); +constexpr facebook::yoga::FloatOptional facebook::yoga::maxOrDefined(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr facebook::yoga::GridTrackType facebook::yoga::scopedEnum(YGGridTrackType unscoped); +constexpr facebook::yoga::Gutter facebook::yoga::scopedEnum(YGGutter unscoped); +constexpr facebook::yoga::Justify facebook::yoga::fallbackAlignment(facebook::yoga::Justify align); +constexpr facebook::yoga::Justify facebook::yoga::scopedEnum(YGJustify unscoped); +constexpr facebook::yoga::LogLevel facebook::yoga::scopedEnum(YGLogLevel unscoped); +constexpr facebook::yoga::MeasureMode facebook::yoga::scopedEnum(YGMeasureMode unscoped); +constexpr facebook::yoga::NodeType facebook::yoga::scopedEnum(YGNodeType unscoped); +constexpr facebook::yoga::Overflow facebook::yoga::scopedEnum(YGOverflow unscoped); +constexpr facebook::yoga::PositionType facebook::yoga::scopedEnum(YGPositionType unscoped); +constexpr facebook::yoga::Unit facebook::yoga::scopedEnum(YGUnit unscoped); +constexpr facebook::yoga::Wrap facebook::yoga::scopedEnum(YGWrap unscoped); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +facebook::yoga::Align facebook::yoga::resolveChildAlignment(const facebook::yoga::Node* node, const facebook::yoga::Node* child); +facebook::yoga::Config* facebook::yoga::resolveRef(const YGConfigRef ref); +facebook::yoga::Dimension facebook::yoga::dimension(facebook::yoga::FlexDirection flexDirection); +facebook::yoga::FlexDirection facebook::yoga::resolveCrossDirection(const facebook::yoga::FlexDirection flexDirection, const facebook::yoga::Direction direction); +facebook::yoga::FlexDirection facebook::yoga::resolveDirection(const facebook::yoga::FlexDirection flexDirection, const facebook::yoga::Direction direction); +facebook::yoga::FlexLine facebook::yoga::calculateFlexLine(facebook::yoga::Node* node, facebook::yoga::Direction ownerDirection, float ownerWidth, float mainAxisOwnerSize, float availableInnerWidth, float availableInnerMainDim, facebook::yoga::Node::LayoutableChildren::Iterator& iterator, size_t lineCount); +facebook::yoga::FloatOptional facebook::yoga::boundAxisWithinMinAndMax(const facebook::yoga::Node *const node, const facebook::yoga::Direction direction, const facebook::yoga::FlexDirection axis, const facebook::yoga::FloatOptional value, const float axisSize, const float widthSize); +facebook::yoga::Justify facebook::yoga::resolveChildJustification(const facebook::yoga::Node* node, const facebook::yoga::Node* child); +facebook::yoga::MeasureMode facebook::yoga::measureMode(facebook::yoga::SizingMode mode); +facebook::yoga::Node* facebook::yoga::resolveRef(const YGNodeRef ref); +facebook::yoga::PhysicalEdge facebook::yoga::flexEndEdge(facebook::yoga::FlexDirection flexDirection); +facebook::yoga::PhysicalEdge facebook::yoga::flexStartEdge(facebook::yoga::FlexDirection flexDirection); +facebook::yoga::PhysicalEdge facebook::yoga::inlineEndEdge(facebook::yoga::FlexDirection flexDirection, facebook::yoga::Direction direction); +facebook::yoga::PhysicalEdge facebook::yoga::inlineStartEdge(facebook::yoga::FlexDirection flexDirection, facebook::yoga::Direction direction); +facebook::yoga::SizingMode facebook::yoga::sizingMode(facebook::yoga::MeasureMode mode); +float facebook::yoga::boundAxis(const facebook::yoga::Node *const node, const facebook::yoga::FlexDirection axis, const facebook::yoga::Direction direction, const float value, const float axisSize, const float widthSize); +float facebook::yoga::calculateAvailableInnerDimension(const facebook::yoga::Node *const node, const facebook::yoga::Direction direction, const facebook::yoga::Dimension dimension, const float availableDim, float paddingAndBorder, const float ownerDim, const float ownerWidth); +float facebook::yoga::calculateBaseline(const facebook::yoga::Node* node); +float facebook::yoga::getPositionOfOppositeEdge(float position, facebook::yoga::FlexDirection axis, const facebook::yoga::Node *const containingNode, const facebook::yoga::Node *const node); +float facebook::yoga::paddingAndBorderForAxis(const facebook::yoga::Node *const node, const facebook::yoga::FlexDirection axis, const facebook::yoga::Direction direction, const float widthSize); +float facebook::yoga::roundValueToPixelGrid(double value, double pointScaleFactor, bool forceCeil, bool forceFloor); +template +constexpr int32_t facebook::yoga::ordinalCount(); +template +auto facebook::yoga::ordinals(); +template +constexpr int32_t facebook::yoga::bitCount(); +template +bool facebook::yoga::inexactEquals(const std::array& val1, const std::array& val2); +void facebook::yoga::assertFatal(bool condition, const char* message); +void facebook::yoga::assertFatalWithConfig(const facebook::yoga::Config* config, bool condition, const char* message); +void facebook::yoga::assertFatalWithNode(const facebook::yoga::Node* node, bool condition, const char* message); +void facebook::yoga::calculateLayout(facebook::yoga::Node* node, float ownerWidth, float ownerHeight, facebook::yoga::Direction ownerDirection); +void facebook::yoga::cleanupContentsNodesRecursively(facebook::yoga::Node *const node); +void facebook::yoga::constrainMaxSizeForMode(const facebook::yoga::Node* node, facebook::yoga::Direction direction, facebook::yoga::FlexDirection axis, float ownerAxisSize, float ownerWidth, facebook::yoga::SizingMode* mode, float* size); +void facebook::yoga::fatalWithMessage(const char* message); +void facebook::yoga::layoutAbsoluteChild(const facebook::yoga::Node* containingNode, const facebook::yoga::Node* node, facebook::yoga::Node* child, float containingBlockWidth, float containingBlockHeight, facebook::yoga::SizingMode widthMode, facebook::yoga::Direction direction, facebook::yoga::LayoutData& layoutMarkerData, uint32_t depth, uint32_t generationCount); +void facebook::yoga::log(const facebook::yoga::Config* config, facebook::yoga::LogLevel level, const char* format, ...) noexcept; +void facebook::yoga::log(const facebook::yoga::Node* node, facebook::yoga::LogLevel level, const char* format, ...) noexcept; +void facebook::yoga::log(facebook::yoga::LogLevel level, const char* format, ...) noexcept; +void facebook::yoga::roundLayoutResultsToPixelGrid(facebook::yoga::Node* node, double absoluteLeft, double absoluteTop); +void facebook::yoga::setChildTrailingPosition(const facebook::yoga::Node *const node, facebook::yoga::Node *const child, const facebook::yoga::FlexDirection axis); +void facebook::yoga::zeroOutLayoutRecursively(facebook::yoga::Node *const node); +constexpr bool facebook::yoga::operator<(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr bool facebook::yoga::operator<=(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr bool facebook::yoga::operator==(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr bool facebook::yoga::operator==(facebook::yoga::FloatOptional lhs, float rhs); +constexpr bool facebook::yoga::operator==(float lhs, facebook::yoga::FloatOptional rhs); +constexpr bool facebook::yoga::operator>(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr bool facebook::yoga::operator>=(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr facebook::yoga::FloatOptional facebook::yoga::operator+(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); + +class facebook::yoga::Config : public YGConfig { + public Config(YGLogger logger); + public YGNodeRef cloneNode(YGNodeConstRef node, YGNodeConstRef owner, size_t childIndex) const; + public bool hasErrata(facebook::yoga::Errata errata) const; + public bool isExperimentalFeatureEnabled(facebook::yoga::ExperimentalFeature feature) const; + public bool useWebDefaults() const; + public facebook::yoga::Errata getErrata() const; + public facebook::yoga::ExperimentalFeatureSet getEnabledExperiments() const; + public float getPointScaleFactor() const; + public static const facebook::yoga::Config& getDefault(); + public uint32_t getVersion() const noexcept; + public void addErrata(facebook::yoga::Errata errata); + public void log(const facebook::yoga::Node* node, facebook::yoga::LogLevel logLevel, const char* format, va_list args) const; + public void removeErrata(facebook::yoga::Errata errata); + public void setCloneNodeCallback(YGCloneNodeFunc cloneNode); + public void setContext(void* context); + public void setErrata(facebook::yoga::Errata errata); + public void setExperimentalFeatureEnabled(facebook::yoga::ExperimentalFeature feature, bool enabled); + public void setLogger(YGLogger logger); + public void setPointScaleFactor(float pointScaleFactor); + public void setUseWebDefaults(bool useWebDefaults); + public void* getContext() const; +} + +class facebook::yoga::Node : public YGNode { + public Node(); + public Node(const facebook::yoga::Config* config); + public Node(const facebook::yoga::Node& node) = default; + public Node(facebook::yoga::Node&& node) noexcept; + public YGDirtiedFunc getDirtiedFunc() const; + public YGSize measure(float availableWidth, facebook::yoga::MeasureMode widthMode, float availableHeight, facebook::yoga::MeasureMode heightMode); + public bool alwaysFormsContainingBlock() const; + public bool getHasNewLayout() const; + public bool hasBaselineFunc() const noexcept; + public bool hasContentsChildren() const; + public bool hasDefiniteLength(facebook::yoga::Dimension dimension, float ownerSize); + public bool hasErrata(facebook::yoga::Errata errata) const; + public bool hasMeasureFunc() const noexcept; + public bool isDirty() const; + public bool isLayoutDimensionDefined(facebook::yoga::FlexDirection axis); + public bool isNodeFlexible(); + public bool isReferenceBaseline() const; + public bool removeChild(facebook::yoga::Node* child); + public const facebook::yoga::Config* getConfig() const; + public const facebook::yoga::LayoutResults& getLayout() const; + public const facebook::yoga::Style& style() const; + public const std::vector& getChildren() const; + public facebook::yoga::Direction resolveDirection(facebook::yoga::Direction ownerDirection); + public facebook::yoga::FloatOptional getResolvedDimension(facebook::yoga::Direction direction, facebook::yoga::Dimension dimension, float referenceLength, float ownerWidth) const; + public facebook::yoga::FloatOptional resolveFlexBasis(facebook::yoga::Direction direction, facebook::yoga::FlexDirection flexDirection, float referenceLength, float ownerWidth) const; + public facebook::yoga::LayoutResults& getLayout(); + public facebook::yoga::Node& operator=(const facebook::yoga::Node&) = delete; + public facebook::yoga::Node* getChild(size_t index) const; + public facebook::yoga::Node* getOwner() const; + public facebook::yoga::Node::LayoutableChildren getLayoutChildren() const; + public facebook::yoga::NodeType getNodeType() const; + public facebook::yoga::Style& style(); + public facebook::yoga::Style::SizeLength getProcessedDimension(facebook::yoga::Dimension dimension) const; + public facebook::yoga::Style::SizeLength processFlexBasis() const; + public float baseline(float width, float height) const; + public float dimensionWithMargin(facebook::yoga::FlexDirection axis, float widthSize); + public float relativePosition(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float axisSize) const; + public float resolveFlexGrow() const; + public float resolveFlexShrink() const; + public size_t getChildCount() const; + public size_t getLayoutChildCount() const; + public size_t getLineIndex() const; + public using LayoutableChildren = facebook::yoga::LayoutableChildren; + public void clearChildren(); + public void cloneChildrenIfNeeded(); + public void cloneContentsChildrenIfNeeded(); + public void insertChild(facebook::yoga::Node* child, size_t index); + public void markDirtyAndPropagate(); + public void processDimensions(); + public void removeChild(size_t index); + public void replaceChild(facebook::yoga::Node* child, size_t index); + public void replaceChild(facebook::yoga::Node* oldChild, facebook::yoga::Node* newChild); + public void reset(); + public void setAlwaysFormsContainingBlock(bool alwaysFormsContainingBlock); + public void setBaselineFunc(YGBaselineFunc baseLineFunc); + public void setChildren(const std::vector& children); + public void setConfig(facebook::yoga::Config* config); + public void setContext(void* context); + public void setDirtiedFunc(YGDirtiedFunc dirtiedFunc); + public void setDirty(bool isDirty); + public void setHasNewLayout(bool hasNewLayout); + public void setIsReferenceBaseline(bool isReferenceBaseline); + public void setLayout(const facebook::yoga::LayoutResults& layout); + public void setLayoutBorder(float border, facebook::yoga::PhysicalEdge edge); + public void setLayoutComputedFlexBasis(facebook::yoga::FloatOptional computedFlexBasis); + public void setLayoutComputedFlexBasisGeneration(uint32_t computedFlexBasisGeneration); + public void setLayoutDimension(float lengthValue, facebook::yoga::Dimension dimension); + public void setLayoutDirection(facebook::yoga::Direction direction); + public void setLayoutHadOverflow(bool hadOverflow); + public void setLayoutLastOwnerDirection(facebook::yoga::Direction direction); + public void setLayoutMargin(float margin, facebook::yoga::PhysicalEdge edge); + public void setLayoutMeasuredDimension(float measuredDimension, facebook::yoga::Dimension dimension); + public void setLayoutPadding(float padding, facebook::yoga::PhysicalEdge edge); + public void setLayoutPosition(float position, facebook::yoga::PhysicalEdge edge); + public void setLineIndex(size_t lineIndex); + public void setMeasureFunc(YGMeasureFunc measureFunc); + public void setNodeType(facebook::yoga::NodeType nodeType); + public void setOwner(facebook::yoga::Node* owner); + public void setPosition(facebook::yoga::Direction direction, float ownerWidth, float ownerHeight); + public void setStyle(const facebook::yoga::Style& style); + public void* getContext() const; +} + +class facebook::yoga::Style { + public bool flexEndMarginIsAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool flexStartMarginIsAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool horizontalInsetsDefined() const; + public bool inlineEndMarginIsAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool inlineStartMarginIsAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isFlexEndPositionAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isFlexEndPositionDefined(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isFlexStartPositionAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isFlexStartPositionDefined(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isInlineEndPositionAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isInlineEndPositionDefined(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isInlineStartPositionAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isInlineStartPositionDefined(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool operator==(const facebook::yoga::Style& other) const; + public bool verticalInsetsDefined() const; + public const facebook::yoga::GridLine& gridColumnEnd() const; + public const facebook::yoga::GridLine& gridColumnStart() const; + public const facebook::yoga::GridLine& gridRowEnd() const; + public const facebook::yoga::GridLine& gridRowStart() const; + public const facebook::yoga::GridTrackList& gridAutoColumns() const; + public const facebook::yoga::GridTrackList& gridAutoRows() const; + public const facebook::yoga::GridTrackList& gridTemplateColumns() const; + public const facebook::yoga::GridTrackList& gridTemplateRows() const; + public facebook::yoga::Align alignContent() const; + public facebook::yoga::Align alignItems() const; + public facebook::yoga::Align alignSelf() const; + public facebook::yoga::BoxSizing boxSizing() const; + public facebook::yoga::Direction direction() const; + public facebook::yoga::Display display() const; + public facebook::yoga::FlexDirection flexDirection() const; + public facebook::yoga::FloatOptional aspectRatio() const; + public facebook::yoga::FloatOptional flex() const; + public facebook::yoga::FloatOptional flexGrow() const; + public facebook::yoga::FloatOptional flexShrink() const; + public facebook::yoga::FloatOptional resolvedMaxDimension(facebook::yoga::Direction direction, facebook::yoga::Dimension axis, float referenceLength, float ownerWidth) const; + public facebook::yoga::FloatOptional resolvedMinDimension(facebook::yoga::Direction direction, facebook::yoga::Dimension axis, float referenceLength, float ownerWidth) const; + public facebook::yoga::Justify justifyContent() const; + public facebook::yoga::Justify justifyItems() const; + public facebook::yoga::Justify justifySelf() const; + public facebook::yoga::Overflow overflow() const; + public facebook::yoga::PositionType positionType() const; + public facebook::yoga::Style::Length border(facebook::yoga::Edge edge) const; + public facebook::yoga::Style::Length gap(facebook::yoga::Gutter gutter) const; + public facebook::yoga::Style::Length margin(facebook::yoga::Edge edge) const; + public facebook::yoga::Style::Length padding(facebook::yoga::Edge edge) const; + public facebook::yoga::Style::Length position(facebook::yoga::Edge edge) const; + public facebook::yoga::Style::SizeLength dimension(facebook::yoga::Dimension axis) const; + public facebook::yoga::Style::SizeLength flexBasis() const; + public facebook::yoga::Style::SizeLength maxDimension(facebook::yoga::Dimension axis) const; + public facebook::yoga::Style::SizeLength minDimension(facebook::yoga::Dimension axis) const; + public facebook::yoga::Wrap flexWrap() const; + public float computeBorderForAxis(facebook::yoga::FlexDirection axis) const; + public float computeFlexEndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public float computeFlexEndMargin(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexEndPadding(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexEndPaddingAndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexEndPosition(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float axisSize) const; + public float computeFlexStartBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public float computeFlexStartMargin(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexStartPadding(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexStartPaddingAndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexStartPosition(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float axisSize) const; + public float computeGapForAxis(facebook::yoga::FlexDirection axis, float ownerSize) const; + public float computeGapForDimension(facebook::yoga::Dimension dimension, float ownerSize) const; + public float computeInlineEndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public float computeInlineEndMargin(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineEndPadding(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineEndPaddingAndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineEndPosition(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float axisSize) const; + public float computeInlineStartBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public float computeInlineStartMargin(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineStartPadding(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineStartPaddingAndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineStartPosition(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float axisSize) const; + public float computeMarginForAxis(facebook::yoga::FlexDirection axis, float widthSize) const; + public float computePaddingAndBorderForDimension(facebook::yoga::Direction direction, facebook::yoga::Dimension dimension, float widthSize) const; + public static constexpr float DefaultFlexGrow; + public static constexpr float DefaultFlexShrink; + public static constexpr float WebDefaultFlexShrink; + public using Length = facebook::yoga::StyleLength; + public using SizeLength = facebook::yoga::StyleSizeLength; + public void resizeGridAutoColumns(size_t count); + public void resizeGridAutoRows(size_t count); + public void resizeGridTemplateColumns(size_t count); + public void resizeGridTemplateRows(size_t count); + public void setAlignContent(facebook::yoga::Align value); + public void setAlignItems(facebook::yoga::Align value); + public void setAlignSelf(facebook::yoga::Align value); + public void setAspectRatio(facebook::yoga::FloatOptional value); + public void setBorder(facebook::yoga::Edge edge, facebook::yoga::Style::Length value); + public void setBoxSizing(facebook::yoga::BoxSizing value); + public void setDimension(facebook::yoga::Dimension axis, facebook::yoga::Style::SizeLength value); + public void setDirection(facebook::yoga::Direction value); + public void setDisplay(facebook::yoga::Display value); + public void setFlex(facebook::yoga::FloatOptional value); + public void setFlexBasis(facebook::yoga::Style::SizeLength value); + public void setFlexDirection(facebook::yoga::FlexDirection value); + public void setFlexGrow(facebook::yoga::FloatOptional value); + public void setFlexShrink(facebook::yoga::FloatOptional value); + public void setFlexWrap(facebook::yoga::Wrap value); + public void setGap(facebook::yoga::Gutter gutter, facebook::yoga::Style::Length value); + public void setGridAutoColumnAt(size_t index, facebook::yoga::GridTrackSize value); + public void setGridAutoColumns(facebook::yoga::GridTrackList value); + public void setGridAutoRowAt(size_t index, facebook::yoga::GridTrackSize value); + public void setGridAutoRows(facebook::yoga::GridTrackList value); + public void setGridColumnEnd(facebook::yoga::GridLine value); + public void setGridColumnStart(facebook::yoga::GridLine value); + public void setGridRowEnd(facebook::yoga::GridLine value); + public void setGridRowStart(facebook::yoga::GridLine value); + public void setGridTemplateColumnAt(size_t index, facebook::yoga::GridTrackSize value); + public void setGridTemplateColumns(facebook::yoga::GridTrackList value); + public void setGridTemplateRowAt(size_t index, facebook::yoga::GridTrackSize value); + public void setGridTemplateRows(facebook::yoga::GridTrackList value); + public void setJustifyContent(facebook::yoga::Justify value); + public void setJustifyItems(facebook::yoga::Justify value); + public void setJustifySelf(facebook::yoga::Justify value); + public void setMargin(facebook::yoga::Edge edge, facebook::yoga::Style::Length value); + public void setMaxDimension(facebook::yoga::Dimension axis, facebook::yoga::Style::SizeLength value); + public void setMinDimension(facebook::yoga::Dimension axis, facebook::yoga::Style::SizeLength value); + public void setOverflow(facebook::yoga::Overflow value); + public void setPadding(facebook::yoga::Edge edge, facebook::yoga::Style::Length value); + public void setPosition(facebook::yoga::Edge edge, facebook::yoga::Style::Length value); + public void setPositionType(facebook::yoga::PositionType value); +} + +class facebook::yoga::StyleLength { + public constexpr StyleLength() = default; + public constexpr bool inexactEquals(const facebook::yoga::StyleLength& other) const; + public constexpr bool isAuto() const; + public constexpr bool isDefined() const; + public constexpr bool isPercent() const; + public constexpr bool isPoints() const; + public constexpr bool isUndefined() const; + public constexpr bool operator==(const facebook::yoga::StyleLength& rhs) const; + public constexpr facebook::yoga::FloatOptional resolve(float referenceLength); + public constexpr facebook::yoga::FloatOptional value() const; + public constexpr operator YGValue() const; + public static constexpr facebook::yoga::StyleLength ofAuto(); + public static constexpr facebook::yoga::StyleLength percent(float value); + public static constexpr facebook::yoga::StyleLength points(float value); + public static constexpr facebook::yoga::StyleLength undefined(); +} + +class facebook::yoga::StyleSizeLength { + public constexpr StyleSizeLength() = default; + public constexpr bool inexactEquals(const facebook::yoga::StyleSizeLength& other) const; + public constexpr bool isAuto() const; + public constexpr bool isDefined() const; + public constexpr bool isFitContent() const; + public constexpr bool isMaxContent() const; + public constexpr bool isPercent() const; + public constexpr bool isPoints() const; + public constexpr bool isStretch() const; + public constexpr bool isUndefined() const; + public constexpr bool operator==(const facebook::yoga::StyleSizeLength& rhs) const; + public constexpr facebook::yoga::FloatOptional resolve(float referenceLength) const; + public constexpr facebook::yoga::FloatOptional value() const; + public constexpr operator YGValue() const; + public static constexpr facebook::yoga::StyleSizeLength ofAuto(); + public static constexpr facebook::yoga::StyleSizeLength ofFitContent(); + public static constexpr facebook::yoga::StyleSizeLength ofMaxContent(); + public static constexpr facebook::yoga::StyleSizeLength ofStretch(); + public static constexpr facebook::yoga::StyleSizeLength percent(float value); + public static constexpr facebook::yoga::StyleSizeLength points(float value); + public static constexpr facebook::yoga::StyleSizeLength stretch(float fraction); + public static constexpr facebook::yoga::StyleSizeLength undefined(); +} + +class facebook::yoga::StyleValueHandle { + public constexpr bool isAuto() const; + public constexpr bool isDefined() const; + public constexpr bool isUndefined() const; + public static constexpr facebook::yoga::StyleValueHandle ofAuto(); +} + +class facebook::yoga::StyleValuePool { + public facebook::yoga::FloatOptional getNumber(facebook::yoga::StyleValueHandle handle) const; + public facebook::yoga::StyleLength getLength(facebook::yoga::StyleValueHandle handle) const; + public facebook::yoga::StyleSizeLength getSize(facebook::yoga::StyleValueHandle handle) const; + public void store(facebook::yoga::StyleValueHandle& handle, facebook::yoga::FloatOptional number); + public void store(facebook::yoga::StyleValueHandle& handle, facebook::yoga::StyleLength length); + public void store(facebook::yoga::StyleValueHandle& handle, facebook::yoga::StyleSizeLength sizeValue); +} + +enum facebook::yoga::Align : uint8_t { + Auto, + Baseline, + Center, + End, + FlexEnd, + FlexStart, + SpaceAround, + SpaceBetween, + SpaceEvenly, + Start, + Stretch, +} + +enum facebook::yoga::BoxSizing : uint8_t { + BorderBox, + ContentBox, +} + +enum facebook::yoga::Dimension : uint8_t { + Height, + Width, +} + +enum facebook::yoga::Direction : uint8_t { + Inherit, + LTR, + RTL, +} + +enum facebook::yoga::Display : uint8_t { + Contents, + Flex, + Grid, + None, +} + +enum facebook::yoga::Edge : uint8_t { + All, + Bottom, + End, + Horizontal, + Left, + Right, + Start, + Top, + Vertical, +} + +enum facebook::yoga::Errata : uint32_t { + AbsolutePercentAgainstInnerSize, + AbsolutePositionWithoutInsetsExcludesPadding, + All, + Classic, + None, + StretchFlexBasis, +} + +enum facebook::yoga::ExperimentalFeature : uint8_t { + FixFlexBasisFitContent, + WebFlexBasis, +} + +enum facebook::yoga::FlexDirection : uint8_t { + Column, + ColumnReverse, + Row, + RowReverse, +} + +enum facebook::yoga::GridLineType : uint8_t { + Auto, + Integer, + Span, +} + +enum facebook::yoga::GridTrackType : uint8_t { + Auto, + Fr, + Minmax, + Percent, + Points, +} + +enum facebook::yoga::Gutter : uint8_t { + All, + Column, + Row, +} + +enum facebook::yoga::Justify : uint8_t { + Auto, + Center, + End, + FlexEnd, + FlexStart, + SpaceAround, + SpaceBetween, + SpaceEvenly, + Start, + Stretch, +} + +enum facebook::yoga::LayoutPassReason : int { + COUNT, + kAbsLayout, + kAbsMeasureChild, + kFlexLayout, + kFlexMeasure, + kGridLayout, + kInitial, + kMeasureChild, + kMultilineStretch, + kStretch, +} + +enum facebook::yoga::LayoutType : int { + kCachedLayout, + kCachedMeasure, + kLayout, + kMeasure, +} + +enum facebook::yoga::LogLevel : uint8_t { + Debug, + Error, + Fatal, + Info, + Verbose, + Warn, +} + +enum facebook::yoga::MeasureMode : uint8_t { + AtMost, + Exactly, + Undefined, +} + +enum facebook::yoga::NodeType : uint8_t { + Default, + Text, +} + +enum facebook::yoga::Overflow : uint8_t { + Hidden, + Scroll, + Visible, +} + +enum facebook::yoga::PhysicalEdge : uint32_t { + Bottom, + Left, + Right, + Top, +} + +enum facebook::yoga::PositionType : uint8_t { + Absolute, + Relative, + Static, +} + +enum facebook::yoga::SizingMode { + FitContent, + MaxContent, + StretchFit, +} + +enum facebook::yoga::Unit : uint8_t { + Auto, + FitContent, + MaxContent, + Percent, + Point, + Stretch, + Undefined, +} + +enum facebook::yoga::Wrap : uint8_t { + NoWrap, + Wrap, + WrapReverse, +} + +struct facebook::yoga::CachedMeasurement { + public bool operator==(facebook::yoga::CachedMeasurement measurement) const; + public facebook::yoga::SizingMode heightSizingMode; + public facebook::yoga::SizingMode widthSizingMode; + public float availableHeight; + public float availableWidth; + public float computedHeight; + public float computedWidth; +} + +struct facebook::yoga::Event { + public static void reset(); + public static void subscribe(std::function&& subscriber); + public using Subscriber = void(YGNodeConstRef, facebook::yoga::Event::Type, facebook::yoga::Event::Data); + public using Subscribers = std::vector>; + template + public static void publish(YGNodeConstRef node, const facebook::yoga::Event::TypedData& eventData = {}); +} + +class facebook::yoga::Event::Data { + template + public Data(const facebook::yoga::Event::TypedData& data); + template + public const facebook::yoga::Event::TypedData& get() const; +} + +enum facebook::yoga::Event::Type { + LayoutPassEnd, + LayoutPassStart, + MeasureCallbackEnd, + MeasureCallbackStart, + NodeAllocation, + NodeBaselineEnd, + NodeBaselineStart, + NodeDeallocation, + NodeLayout, +} + +template +struct facebook::yoga::Event::TypedData { +} + +struct facebook::yoga::Event::TypedData { + public facebook::yoga::LayoutData* layoutData; +} + +struct facebook::yoga::Event::TypedData { + public YGMeasureMode heightMeasureMode; + public YGMeasureMode widthMeasureMode; + public const facebook::yoga::LayoutPassReason reason; + public float height; + public float measuredHeight; + public float measuredWidth; + public float width; +} + +struct facebook::yoga::Event::TypedData { + public YGConfigConstRef config; +} + +struct facebook::yoga::Event::TypedData { + public YGConfigConstRef config; +} + +struct facebook::yoga::Event::TypedData { + public facebook::yoga::LayoutType layoutType; +} + +struct facebook::yoga::FlexLine { + public const float sizeConsumed; + public const size_t numberOfAutoMargins; + public const std::vector itemsInFlow; + public facebook::yoga::FlexLineRunningLayout layout; +} + +struct facebook::yoga::FlexLineRunningLayout { + public float crossDim; + public float mainDim; + public float remainingFreeSpace; + public float totalFlexGrowFactors; + public float totalFlexShrinkScaledFactors; +} + +struct facebook::yoga::FloatOptional { + public constexpr FloatOptional() = default; + public constexpr FloatOptional(float value); + public constexpr bool isDefined() const; + public constexpr bool isUndefined() const; + public constexpr float unwrap() const; + public constexpr float unwrapOrDefault(float defaultValue) const; +} + +struct facebook::yoga::GridLine { + public bool operator==(const facebook::yoga::GridLine& other) const = default; + public constexpr bool isAuto() const; + public constexpr bool isInteger() const; + public constexpr bool isSpan() const; + public facebook::yoga::GridLineType type; + public int32_t integer; + public static constexpr facebook::yoga::GridLine auto_(); + public static constexpr facebook::yoga::GridLine fromInteger(int32_t value); + public static constexpr facebook::yoga::GridLine span(int32_t value); +} + +struct facebook::yoga::GridTrackSize { + public bool infinitelyGrowable; + public bool operator==(const facebook::yoga::GridTrackSize& other) const = default; + public facebook::yoga::StyleSizeLength maxSizingFunction; + public facebook::yoga::StyleSizeLength minSizingFunction; + public float baseSize; + public float growthLimit; + public static constexpr facebook::yoga::GridTrackSize auto_(); + public static constexpr facebook::yoga::GridTrackSize fr(float fraction); + public static constexpr facebook::yoga::GridTrackSize length(float points); + public static constexpr facebook::yoga::GridTrackSize minmax(facebook::yoga::StyleSizeLength min, facebook::yoga::StyleSizeLength max); + public static constexpr facebook::yoga::GridTrackSize percent(float percentage); +} + +struct facebook::yoga::LayoutData { + public int cachedLayouts; + public int cachedMeasures; + public int layouts; + public int measureCallbacks; + public int measures; + public std::array(facebook::yoga::LayoutPassReason::COUNT)> measureCallbackReasonsCount; + public uint32_t maxMeasureCache; +} + +struct facebook::yoga::LayoutResults { + public bool hadOverflow() const; + public bool operator==(facebook::yoga::LayoutResults layout) const; + public facebook::yoga::CachedMeasurement cachedLayout; + public facebook::yoga::Direction direction() const; + public facebook::yoga::Direction lastOwnerDirection; + public facebook::yoga::FloatOptional computedFlexBasis; + public float border(facebook::yoga::PhysicalEdge physicalEdge) const; + public float dimension(facebook::yoga::Dimension axis) const; + public float margin(facebook::yoga::PhysicalEdge physicalEdge) const; + public float measuredDimension(facebook::yoga::Dimension axis) const; + public float padding(facebook::yoga::PhysicalEdge physicalEdge) const; + public float position(facebook::yoga::PhysicalEdge physicalEdge) const; + public float rawDimension(facebook::yoga::Dimension axis) const; + public static constexpr int32_t MaxCachedMeasurements; + public std::array cachedMeasurements; + public uint32_t computedFlexBasisGeneration; + public uint32_t configVersion; + public uint32_t generationCount; + public uint32_t nextCachedMeasurementsIndex; + public void setBorder(facebook::yoga::PhysicalEdge physicalEdge, float dimension); + public void setDimension(facebook::yoga::Dimension axis, float dimension); + public void setDirection(facebook::yoga::Direction direction); + public void setHadOverflow(bool hadOverflow); + public void setMargin(facebook::yoga::PhysicalEdge physicalEdge, float dimension); + public void setMeasuredDimension(facebook::yoga::Dimension axis, float dimension); + public void setPadding(facebook::yoga::PhysicalEdge physicalEdge, float dimension); + public void setPosition(facebook::yoga::PhysicalEdge physicalEdge, float dimension); + public void setRawDimension(facebook::yoga::Dimension axis, float dimension); +} + +template +class facebook::yoga::SmallValueBuffer { + public SmallValueBuffer() = default; + public SmallValueBuffer(const facebook::yoga::SmallValueBuffer& other); + public SmallValueBuffer(facebook::yoga::SmallValueBuffer&& other) noexcept = default; + public facebook::yoga::SmallValueBuffer& operator=(const facebook::yoga::SmallValueBuffer& other); + public facebook::yoga::SmallValueBuffer& operator=(facebook::yoga::SmallValueBuffer&& other) noexcept = default; + public uint16_t push(uint32_t value); + public uint16_t push(uint64_t value); + public uint16_t replace(uint16_t index, uint32_t value); + public uint16_t replace(uint16_t index, uint64_t value); + public uint32_t get32(uint16_t index) const; + public uint64_t get64(uint16_t index) const; +} + +template +class facebook::yoga::LayoutableChildren { + public LayoutableChildren(const T* node); + public facebook::yoga::LayoutableChildren::Iterator begin() const; + public facebook::yoga::LayoutableChildren::Iterator end() const; +} + +struct facebook::yoga::LayoutableChildren::Iterator { + public Iterator() = default; + public Iterator(const T* node, size_t childIndex); + public T* operator*() const; + public facebook::yoga::LayoutableChildren::Iterator operator++(int); + public facebook::yoga::LayoutableChildren::Iterator& operator++(); + public using difference_type = std::ptrdiff_t; + public using iterator_category = std::input_iterator_tag; + public using pointer = T*; + public using reference = T*; + public using value_type = T*; +} + + +struct std::hash { + public size_t operator()(const facebook::react::AttributedString& attributedString) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::AttributedStringBox& attributedStringBox) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::EventAnimationDriverKey& key) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::LayoutConstraints& constraints) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::LayoutMetrics& layoutMetrics) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::LineMeasureCacheKey& key) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::ParagraphAttributes& attributes) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::Point& point) const noexcept; +} + +struct std::hash { + public size_t operator()(const facebook::react::PreparedTextCacheKey& key) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::Rect& rect) const noexcept; +} + +struct std::hash { + public size_t operator()(const facebook::react::ShadowView& shadowView) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::SharedColor& color) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::Size& size) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::TextAttributes& textAttributes) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::TextMeasureCacheKey& key) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::Transform& transform) const; +} + +template +struct std::hash> { + public size_t operator()(const facebook::react::RectangleCorners& corners) const noexcept; +} + +template +struct std::hash> { + public size_t operator()(const facebook::react::RectangleEdges& edges) const noexcept; +} + +struct std::hash { + public size_t operator()(const facebook::react::AttributedString::Fragment& fragment) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::jsinspector_modern::ConsoleTaskId& id) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::jsinspector_modern::ExecutionContextSelector& selector) const; +} + +template +struct std::hash> { + public size_t operator()(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; +} \ No newline at end of file From a43be7d61e79f195d6a6ec3cc2bd657c1cbfb992 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dawid=20Ma=C5=82ecki?= Date: Fri, 27 Mar 2026 03:51:29 -0700 Subject: [PATCH 2/4] Add CI workflow for validating C++ API snapshot (#56042) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/56042 Adds CI workflow for validating whether the current C++ API snapshot is equivalent with the generated one. Changelog: [Internal] Differential Revision: D95963515 --- .../workflows/validate-cxx-api-snapshots.yml | 82 +++++++++++++++++++ scripts/cxx-api/parser/__main__.py | 4 +- 2 files changed, 85 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/validate-cxx-api-snapshots.yml diff --git a/.github/workflows/validate-cxx-api-snapshots.yml b/.github/workflows/validate-cxx-api-snapshots.yml new file mode 100644 index 00000000000..4ba6770d2c7 --- /dev/null +++ b/.github/workflows/validate-cxx-api-snapshots.yml @@ -0,0 +1,82 @@ +name: Validate C++ API Snapshots + +on: + workflow_dispatch: + pull_request: + paths: + - "packages/react-native/ReactCommon/**" + - "packages/react-native/ReactAndroid/**" + - "packages/react-native/React/**" + - "packages/react-native/ReactApple/**" + - "packages/react-native/Libraries/**" + - "scripts/cxx-api/**" + push: + branches: + - main + - "*-stable" + paths: + - "packages/react-native/ReactCommon/**" + - "packages/react-native/ReactAndroid/**" + - "packages/react-native/React/**" + - "packages/react-native/ReactApple/**" + - "packages/react-native/Libraries/**" + - "scripts/cxx-api/**" + +env: + DOXYGEN_VERSION: "1.16.1" + +jobs: + validate_cxx_api_snapshots: + runs-on: ubuntu-latest + if: github.repository == 'facebook/react-native' + steps: + - name: Checkout + uses: actions/checkout@v6 + - name: Setup node.js + uses: ./.github/actions/setup-node + - name: Run yarn + uses: ./.github/actions/yarn-install + - name: Restore Doxygen cache + id: cache-doxygen + uses: actions/cache@v4 + with: + path: /tmp/doxygen-${{ env.DOXYGEN_VERSION }} + key: doxygen-${{ env.DOXYGEN_VERSION }} + - name: Install Doxygen + if: steps.cache-doxygen.outputs.cache-hit != 'true' + shell: bash + run: | + DOXYGEN_URL="https://github.com/doxygen/doxygen/releases/download/Release_${DOXYGEN_VERSION//./_}/doxygen-${DOXYGEN_VERSION}.linux.bin.tar.gz" + MAX_RETRIES=3 + for i in $(seq 1 $MAX_RETRIES); do + echo "Attempt $i of $MAX_RETRIES: Installing Doxygen ${DOXYGEN_VERSION}..." + curl -fsSL "$DOXYGEN_URL" -o /tmp/doxygen.tar.gz && \ + tar -xzf /tmp/doxygen.tar.gz -C /tmp && \ + echo "Doxygen installed successfully." && \ + break + echo "Attempt $i failed." + if [ $i -eq $MAX_RETRIES ]; then + echo "All $MAX_RETRIES attempts failed." + exit 1 + fi + sleep 5 + done + - name: Set DOXYGEN_BIN + shell: bash + run: echo "DOXYGEN_BIN=/tmp/doxygen-${DOXYGEN_VERSION}/bin/doxygen" >> "$GITHUB_ENV" + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: "3.12" + - name: Install Python dependencies + shell: bash + run: pip install doxmlparser natsort pyyaml + - name: Validate C++ API snapshots + shell: bash + continue-on-error: true + run: yarn cxx-api-validate --output-dir /tmp/cxx-api-snapshots + - name: Upload C++ API snapshots + uses: actions/upload-artifact@v6 + with: + name: cxx-api-snapshots + path: /tmp/cxx-api-snapshots/ diff --git a/scripts/cxx-api/parser/__main__.py b/scripts/cxx-api/parser/__main__.py index 00f5d219356..326eb0353fd 100644 --- a/scripts/cxx-api/parser/__main__.py +++ b/scripts/cxx-api/parser/__main__.py @@ -286,7 +286,9 @@ def main(): with tempfile.TemporaryDirectory() as tmpdir: snapshot_output_dir = ( - tmpdir if args.check else args.output_dir or get_default_snapshot_dir() + args.output_dir or tmpdir + if args.check + else args.output_dir or get_default_snapshot_dir() ) build_snapshots( From 3bedac1de8a12a3e69b486e098f81f834cc9a90b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dawid=20Ma=C5=82ecki?= Date: Fri, 27 Mar 2026 03:51:29 -0700 Subject: [PATCH 3/4] Remove test code from the cxx-api snapshot Summary: Removes leaked test code from the snapshot. Changelog: [Internal] Differential Revision: D97457090 --- .../cxx-api/api-snapshots/ReactAndroidDebugCxx.api | 12 ------------ .../cxx-api/api-snapshots/ReactAndroidReleaseCxx.api | 12 ------------ scripts/cxx-api/api-snapshots/ReactAppleDebugCxx.api | 12 ------------ .../cxx-api/api-snapshots/ReactAppleReleaseCxx.api | 12 ------------ .../cxx-api/api-snapshots/ReactCommonDebugCxx.api | 12 ------------ .../cxx-api/api-snapshots/ReactCommonReleaseCxx.api | 12 ------------ scripts/cxx-api/config.yml | 3 +++ 7 files changed, 3 insertions(+), 72 deletions(-) diff --git a/scripts/cxx-api/api-snapshots/ReactAndroidDebugCxx.api b/scripts/cxx-api/api-snapshots/ReactAndroidDebugCxx.api index 394a4aeb5f1..7857c18c2ba 100644 --- a/scripts/cxx-api/api-snapshots/ReactAndroidDebugCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAndroidDebugCxx.api @@ -12737,10 +12737,8 @@ std::unique_ptr facebook::jsc::makeJSCRuntime(); using facebook::jsi::HostFunctionType = std::function; -using facebook::jsi::RuntimeFactory = std::function()>; facebook::jsi::Value facebook::jsi::valueFromDynamic(facebook::jsi::Runtime& runtime, const folly::dynamic& dyn); folly::dynamic facebook::jsi::dynamicFromValue(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value, const std::function& filterObjectKeys = nullptr); -std::vector facebook::jsi::runtimeGenerators(); template U* facebook::jsi::castInterface(T* ptr); template @@ -12891,16 +12889,6 @@ class facebook::jsi::JSINativeException : public facebook::jsi::JSIException { public virtual ~JSINativeException(); } -class facebook::jsi::JSITestBase : public testing::TestWithParam { - public JSITestBase(); - public bool checkValue(const facebook::jsi::Value& value, const std::string& jsValue); - public facebook::jsi::Function function(const std::string& code); - public facebook::jsi::Runtime& rt; - public facebook::jsi::RuntimeFactory factory; - public facebook::jsi::Value eval(const char* code); - public std::shared_ptr runtime; -} - class facebook::jsi::MutableBuffer { public virtual size_t size() const = 0; public virtual uint8_t* data() = 0; diff --git a/scripts/cxx-api/api-snapshots/ReactAndroidReleaseCxx.api b/scripts/cxx-api/api-snapshots/ReactAndroidReleaseCxx.api index 0f4bbc733fa..9d742f65d0f 100644 --- a/scripts/cxx-api/api-snapshots/ReactAndroidReleaseCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAndroidReleaseCxx.api @@ -12564,10 +12564,8 @@ std::unique_ptr facebook::jsc::makeJSCRuntime(); using facebook::jsi::HostFunctionType = std::function; -using facebook::jsi::RuntimeFactory = std::function()>; facebook::jsi::Value facebook::jsi::valueFromDynamic(facebook::jsi::Runtime& runtime, const folly::dynamic& dyn); folly::dynamic facebook::jsi::dynamicFromValue(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value, const std::function& filterObjectKeys = nullptr); -std::vector facebook::jsi::runtimeGenerators(); template U* facebook::jsi::castInterface(T* ptr); template @@ -12718,16 +12716,6 @@ class facebook::jsi::JSINativeException : public facebook::jsi::JSIException { public virtual ~JSINativeException(); } -class facebook::jsi::JSITestBase : public testing::TestWithParam { - public JSITestBase(); - public bool checkValue(const facebook::jsi::Value& value, const std::string& jsValue); - public facebook::jsi::Function function(const std::string& code); - public facebook::jsi::Runtime& rt; - public facebook::jsi::RuntimeFactory factory; - public facebook::jsi::Value eval(const char* code); - public std::shared_ptr runtime; -} - class facebook::jsi::MutableBuffer { public virtual size_t size() const = 0; public virtual uint8_t* data() = 0; diff --git a/scripts/cxx-api/api-snapshots/ReactAppleDebugCxx.api b/scripts/cxx-api/api-snapshots/ReactAppleDebugCxx.api index 92de0f970b1..742ec6d03ed 100644 --- a/scripts/cxx-api/api-snapshots/ReactAppleDebugCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAppleDebugCxx.api @@ -15125,10 +15125,8 @@ std::unique_ptr facebook::jsc::makeJSCRuntime(); using facebook::jsi::HostFunctionType = std::function; -using facebook::jsi::RuntimeFactory = std::function()>; facebook::jsi::Value facebook::jsi::valueFromDynamic(facebook::jsi::Runtime& runtime, const folly::dynamic& dyn); folly::dynamic facebook::jsi::dynamicFromValue(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value, const std::function& filterObjectKeys = nullptr); -std::vector facebook::jsi::runtimeGenerators(); template U* facebook::jsi::castInterface(T* ptr); template @@ -15279,16 +15277,6 @@ class facebook::jsi::JSINativeException : public facebook::jsi::JSIException { public virtual ~JSINativeException(); } -class facebook::jsi::JSITestBase : public testing::TestWithParam { - public JSITestBase(); - public bool checkValue(const facebook::jsi::Value& value, const std::string& jsValue); - public facebook::jsi::Function function(const std::string& code); - public facebook::jsi::Runtime& rt; - public facebook::jsi::RuntimeFactory factory; - public facebook::jsi::Value eval(const char* code); - public std::shared_ptr runtime; -} - class facebook::jsi::MutableBuffer { public virtual size_t size() const = 0; public virtual uint8_t* data() = 0; diff --git a/scripts/cxx-api/api-snapshots/ReactAppleReleaseCxx.api b/scripts/cxx-api/api-snapshots/ReactAppleReleaseCxx.api index 936a4905a13..ccaa100eb4d 100644 --- a/scripts/cxx-api/api-snapshots/ReactAppleReleaseCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAppleReleaseCxx.api @@ -14952,10 +14952,8 @@ std::unique_ptr facebook::jsc::makeJSCRuntime(); using facebook::jsi::HostFunctionType = std::function; -using facebook::jsi::RuntimeFactory = std::function()>; facebook::jsi::Value facebook::jsi::valueFromDynamic(facebook::jsi::Runtime& runtime, const folly::dynamic& dyn); folly::dynamic facebook::jsi::dynamicFromValue(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value, const std::function& filterObjectKeys = nullptr); -std::vector facebook::jsi::runtimeGenerators(); template U* facebook::jsi::castInterface(T* ptr); template @@ -15106,16 +15104,6 @@ class facebook::jsi::JSINativeException : public facebook::jsi::JSIException { public virtual ~JSINativeException(); } -class facebook::jsi::JSITestBase : public testing::TestWithParam { - public JSITestBase(); - public bool checkValue(const facebook::jsi::Value& value, const std::string& jsValue); - public facebook::jsi::Function function(const std::string& code); - public facebook::jsi::Runtime& rt; - public facebook::jsi::RuntimeFactory factory; - public facebook::jsi::Value eval(const char* code); - public std::shared_ptr runtime; -} - class facebook::jsi::MutableBuffer { public virtual size_t size() const = 0; public virtual uint8_t* data() = 0; diff --git a/scripts/cxx-api/api-snapshots/ReactCommonDebugCxx.api b/scripts/cxx-api/api-snapshots/ReactCommonDebugCxx.api index 90e24c0e896..31b2d9fac8c 100644 --- a/scripts/cxx-api/api-snapshots/ReactCommonDebugCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactCommonDebugCxx.api @@ -9415,10 +9415,8 @@ std::unique_ptr facebook::jsc::makeJSCRuntime(); using facebook::jsi::HostFunctionType = std::function; -using facebook::jsi::RuntimeFactory = std::function()>; facebook::jsi::Value facebook::jsi::valueFromDynamic(facebook::jsi::Runtime& runtime, const folly::dynamic& dyn); folly::dynamic facebook::jsi::dynamicFromValue(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value, const std::function& filterObjectKeys = nullptr); -std::vector facebook::jsi::runtimeGenerators(); template U* facebook::jsi::castInterface(T* ptr); template @@ -9569,16 +9567,6 @@ class facebook::jsi::JSINativeException : public facebook::jsi::JSIException { public virtual ~JSINativeException(); } -class facebook::jsi::JSITestBase : public testing::TestWithParam { - public JSITestBase(); - public bool checkValue(const facebook::jsi::Value& value, const std::string& jsValue); - public facebook::jsi::Function function(const std::string& code); - public facebook::jsi::Runtime& rt; - public facebook::jsi::RuntimeFactory factory; - public facebook::jsi::Value eval(const char* code); - public std::shared_ptr runtime; -} - class facebook::jsi::MutableBuffer { public virtual size_t size() const = 0; public virtual uint8_t* data() = 0; diff --git a/scripts/cxx-api/api-snapshots/ReactCommonReleaseCxx.api b/scripts/cxx-api/api-snapshots/ReactCommonReleaseCxx.api index 9b09a9dfc99..631cd27d4a5 100644 --- a/scripts/cxx-api/api-snapshots/ReactCommonReleaseCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactCommonReleaseCxx.api @@ -9406,10 +9406,8 @@ std::unique_ptr facebook::jsc::makeJSCRuntime(); using facebook::jsi::HostFunctionType = std::function; -using facebook::jsi::RuntimeFactory = std::function()>; facebook::jsi::Value facebook::jsi::valueFromDynamic(facebook::jsi::Runtime& runtime, const folly::dynamic& dyn); folly::dynamic facebook::jsi::dynamicFromValue(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value, const std::function& filterObjectKeys = nullptr); -std::vector facebook::jsi::runtimeGenerators(); template U* facebook::jsi::castInterface(T* ptr); template @@ -9560,16 +9558,6 @@ class facebook::jsi::JSINativeException : public facebook::jsi::JSIException { public virtual ~JSINativeException(); } -class facebook::jsi::JSITestBase : public testing::TestWithParam { - public JSITestBase(); - public bool checkValue(const facebook::jsi::Value& value, const std::string& jsValue); - public facebook::jsi::Function function(const std::string& code); - public facebook::jsi::Runtime& rt; - public facebook::jsi::RuntimeFactory factory; - public facebook::jsi::Value eval(const char* code); - public std::shared_ptr runtime; -} - class facebook::jsi::MutableBuffer { public virtual size_t size() const = 0; public virtual uint8_t* data() = 0; diff --git a/scripts/cxx-api/config.yml b/scripts/cxx-api/config.yml index 70e0d467b7d..7afacefb829 100644 --- a/scripts/cxx-api/config.yml +++ b/scripts/cxx-api/config.yml @@ -4,6 +4,7 @@ ReactCommon: - packages/react-native/ReactCommon exclude_patterns: - "*/test_utils/*" + - "*/test/*" - "*/jni/*" - "*/platform/cxx/*" # Should this be included in ReactCommon? - "*/platform/windows/*" @@ -30,6 +31,7 @@ ReactAndroid: - packages/react-native/ReactAndroid exclude_patterns: - "*/test_utils/*" + - "*/test/*" - "*/platform/cxx/*" - "*/platform/windows/*" - "*/platform/macos/*" @@ -59,6 +61,7 @@ ReactApple: - packages/react-native/Libraries exclude_patterns: - "*/test_utils/*" + - "*/test/*" - "*/jni/*" - "*/platform/cxx/*" - "*/platform/windows/*" From 7b4433a535c57ef81b34740409345fb8586c078b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dawid=20Ma=C5=82ecki?= Date: Fri, 27 Mar 2026 04:12:19 -0700 Subject: [PATCH 4/4] Add global exclude patterns to the cxx api config (#56248) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/56248 Refactor and add global exclude patterns to the C++ stable API snapshot config. This enables better modularization of shared exclude patterns coming from the assumption that ReactAndroid and ReactApple consists of ReactCommon in their inputs and some paths should not be processed on each platform. Changelog: [Internal] Reviewed By: cortinico Differential Revision: D97465431 --- scripts/cxx-api/config.yml | 165 ++++++----- scripts/cxx-api/parser/config.py | 21 +- scripts/cxx-api/tests/test_config.py | 391 +++++++++++++++++---------- 3 files changed, 345 insertions(+), 232 deletions(-) diff --git a/scripts/cxx-api/config.yml b/scripts/cxx-api/config.yml index 7afacefb829..b5e6a0ea90b 100644 --- a/scripts/cxx-api/config.yml +++ b/scripts/cxx-api/config.yml @@ -1,85 +1,82 @@ -ReactCommon: - codegen: - inputs: - - packages/react-native/ReactCommon - exclude_patterns: - - "*/test_utils/*" - - "*/test/*" - - "*/jni/*" - - "*/platform/cxx/*" # Should this be included in ReactCommon? - - "*/platform/windows/*" - - "*/platform/macos/*" - - "*/platform/ios/*" - - "*/platform/android/*" - input_filter: false - definitions: - variants: - debug: - definitions: - DEBUG: 1 - REACT_NATIVE_DEBUG: 1 - release: - definitions: - NDEBUG: 1 - REACT_NATIVE_PRODUCTION: 1 +exclude_patterns: + - "*/test_utils/*" + - "*/test/*" -ReactAndroid: - codegen: - platform: android - inputs: - - packages/react-native/ReactCommon - - packages/react-native/ReactAndroid - exclude_patterns: - - "*/test_utils/*" - - "*/test/*" - - "*/platform/cxx/*" - - "*/platform/windows/*" - - "*/platform/macos/*" - - "*/platform/ios/*" - input_filter: false - definitions: - RN_SERIALIZABLE_STATE: 1 - ANDROID: 1 - variants: - debug: - definitions: - DEBUG: 1 - REACT_NATIVE_DEBUG: 1 - release: - definitions: - NDEBUG: 1 - REACT_NATIVE_PRODUCTION: 1 - -# ReactIOS? -ReactApple: - codegen: - platform: ios - inputs: - - packages/react-native/ReactCommon - - packages/react-native/React - - packages/react-native/ReactApple - - packages/react-native/Libraries - exclude_patterns: - - "*/test_utils/*" - - "*/test/*" - - "*/jni/*" - - "*/platform/cxx/*" - - "*/platform/windows/*" - - "*/platform/macos/*" - - "*/platform/android/*" - - "*+Private.h" - - "*+Internal.h" - - "*/scripts/*" - - "*/templates/*" - input_filter: true - definitions: - __cplusplus: 1 - variants: - debug: - definitions: - DEBUG: 1 - REACT_NATIVE_DEBUG: 1 - release: - definitions: - NDEBUG: 1 - REACT_NATIVE_PRODUCTION: 1 +platforms: + ReactCommon: + codegen: + inputs: + - packages/react-native/ReactCommon + exclude_patterns: + - "*/jni/*" + - "*/platform/cxx/*" # Should this be included in ReactCommon? + - "*/platform/windows/*" + - "*/platform/macos/*" + - "*/platform/ios/*" + - "*/platform/android/*" + input_filter: false + definitions: + variants: + debug: + definitions: + DEBUG: 1 + REACT_NATIVE_DEBUG: 1 + release: + definitions: + NDEBUG: 1 + REACT_NATIVE_PRODUCTION: 1 + ReactAndroid: + codegen: + platform: android + inputs: + - packages/react-native/ReactCommon + - packages/react-native/ReactAndroid + exclude_patterns: + - "*/platform/cxx/*" + - "*/platform/windows/*" + - "*/platform/macos/*" + - "*/platform/ios/*" + input_filter: false + definitions: + RN_SERIALIZABLE_STATE: 1 + ANDROID: 1 + variants: + debug: + definitions: + DEBUG: 1 + REACT_NATIVE_DEBUG: 1 + release: + definitions: + NDEBUG: 1 + REACT_NATIVE_PRODUCTION: 1 + # ReactIOS? + ReactApple: + codegen: + platform: ios + inputs: + - packages/react-native/ReactCommon + - packages/react-native/React + - packages/react-native/ReactApple + - packages/react-native/Libraries + exclude_patterns: + - "*/jni/*" + - "*/platform/cxx/*" + - "*/platform/windows/*" + - "*/platform/macos/*" + - "*/platform/android/*" + - "*+Private.h" + - "*+Internal.h" + - "*/scripts/*" + - "*/templates/*" + input_filter: true + definitions: + __cplusplus: 1 + variants: + debug: + definitions: + DEBUG: 1 + REACT_NATIVE_DEBUG: 1 + release: + definitions: + NDEBUG: 1 + REACT_NATIVE_PRODUCTION: 1 diff --git a/scripts/cxx-api/parser/config.py b/scripts/cxx-api/parser/config.py index 08ca02fe9fc..9eab910ac28 100644 --- a/scripts/cxx-api/parser/config.py +++ b/scripts/cxx-api/parser/config.py @@ -47,17 +47,24 @@ def parse_config( """ Parse a raw config dictionary and return a flattened list of snapshot configs. + The config must contain: + - An optional top-level ``exclude_patterns`` list that is prepended to + every platform's own ``exclude_patterns``. + - A ``platforms`` mapping whose values are per-platform view configs. + Args: raw_config: Dictionary containing the parsed YAML config base_dir: Base directory for resolving relative input paths - codegen_path: Optional path to codegen generated code Returns: Flattened list of ApiViewSnapshotConfig objects for all views and variants """ + global_exclude_patterns: list[str] = raw_config.get("exclude_patterns") or [] + platforms: dict = raw_config.get("platforms") or {} + snapshot_configs = [] - for view_name, view_config in raw_config.items(): + for view_name, view_config in platforms.items(): inputs = [ path if path.startswith("/") else os.path.join(base_dir, path) for path in (view_config.get("inputs") or []) @@ -69,6 +76,15 @@ def parse_config( input_filter = view_config.get("input_filter", False) base_definitions = view_config.get("definitions") or {} + exclude_platform_patterns = view_config.get("exclude_patterns") or [] + seen: set[str] = set() + merged_patterns: list[str] = [] + for pattern in global_exclude_patterns + exclude_platform_patterns: + if pattern not in seen: + merged_patterns.append(pattern) + seen.add(pattern) + exclude_patterns = merged_patterns + raw_variants = view_config.get("variants") or {} variants = [ ApiViewVariant( @@ -117,7 +133,6 @@ def parse_config_file( Args: config_path: Path to the config.yml file base_dir: Base directory for resolving relative input paths - codegen_path: Optional path to codegen generated code Returns: Flattened list of ApiViewSnapshotConfig objects for all views and variants diff --git a/scripts/cxx-api/tests/test_config.py b/scripts/cxx-api/tests/test_config.py index 17090b4eddf..32a224e773d 100644 --- a/scripts/cxx-api/tests/test_config.py +++ b/scripts/cxx-api/tests/test_config.py @@ -25,11 +25,13 @@ def test_empty_config(self): def test_single_view_no_variants(self): """Single view without variants""" config = { - "ReactCommon": { - "codegen": {"generate": False}, - "inputs": ["packages/react-native/ReactCommon"], - "exclude_patterns": ["*/jni/*"], - "definitions": {"FOO": 1}, + "platforms": { + "ReactCommon": { + "codegen": {"generate": False}, + "inputs": ["packages/react-native/ReactCommon"], + "exclude_patterns": ["*/jni/*"], + "definitions": {"FOO": 1}, + } } } result = parse_config(config, "/base/dir") @@ -45,15 +47,17 @@ def test_single_view_no_variants(self): def test_single_view_with_variants(self): """Single view with debug and release variants""" config = { - "ReactCommon": { - "codegen": {"generate": False}, - "inputs": ["packages/react-native/ReactCommon"], - "exclude_patterns": [], - "definitions": {}, - "variants": { - "debug": {"definitions": {"DEBUG": 1}}, - "release": {"definitions": {"NDEBUG": 1}}, - }, + "platforms": { + "ReactCommon": { + "codegen": {"generate": False}, + "inputs": ["packages/react-native/ReactCommon"], + "exclude_patterns": [], + "definitions": {}, + "variants": { + "debug": {"definitions": {"DEBUG": 1}}, + "release": {"definitions": {"NDEBUG": 1}}, + }, + } } } result = parse_config(config, "/base/dir") @@ -77,15 +81,17 @@ def test_single_view_with_variants(self): def test_base_definitions_merged_with_variant(self): """Base definitions are merged with variant definitions""" config = { - "ReactAndroid": { - "codegen": {"generate": False}, - "inputs": [], - "exclude_patterns": [], - "definitions": {"RN_SERIALIZABLE_STATE": 1, "ANDROID": 1}, - "variants": { - "debug": {"definitions": {"DEBUG": 1}}, - "release": {"definitions": {"NDEBUG": 1}}, - }, + "platforms": { + "ReactAndroid": { + "codegen": {"generate": False}, + "inputs": [], + "exclude_patterns": [], + "definitions": {"RN_SERIALIZABLE_STATE": 1, "ANDROID": 1}, + "variants": { + "debug": {"definitions": {"DEBUG": 1}}, + "release": {"definitions": {"NDEBUG": 1}}, + }, + } } } result = parse_config(config, "/base/dir") @@ -107,14 +113,16 @@ def test_base_definitions_merged_with_variant(self): def test_variant_definitions_override_base(self): """Variant definitions override base definitions with same key""" config = { - "TestView": { - "codegen": {"generate": False}, - "inputs": [], - "exclude_patterns": [], - "definitions": {"MODE": "base", "SHARED": 1}, - "variants": { - "debug": {"definitions": {"MODE": "debug"}}, - }, + "platforms": { + "TestView": { + "codegen": {"generate": False}, + "inputs": [], + "exclude_patterns": [], + "definitions": {"MODE": "base", "SHARED": 1}, + "variants": { + "debug": {"definitions": {"MODE": "debug"}}, + }, + } } } result = parse_config(config, "/base/dir") @@ -128,14 +136,16 @@ def test_variant_definitions_override_base(self): def test_empty_variant_definitions(self): """Variant with empty definitions still inherits base""" config = { - "TestView": { - "codegen": {"generate": False}, - "inputs": [], - "exclude_patterns": [], - "definitions": {"BASE": 1}, - "variants": { - "debug": {"definitions": {}}, - }, + "platforms": { + "TestView": { + "codegen": {"generate": False}, + "inputs": [], + "exclude_patterns": [], + "definitions": {"BASE": 1}, + "variants": { + "debug": {"definitions": {}}, + }, + } } } result = parse_config(config, "/base/dir") @@ -146,14 +156,16 @@ def test_empty_variant_definitions(self): def test_none_variant_definitions(self): """Variant with None definitions still inherits base""" config = { - "TestView": { - "codegen": {"generate": False}, - "inputs": [], - "exclude_patterns": [], - "definitions": {"BASE": 1}, - "variants": { - "debug": {"definitions": None}, - }, + "platforms": { + "TestView": { + "codegen": {"generate": False}, + "inputs": [], + "exclude_patterns": [], + "definitions": {"BASE": 1}, + "variants": { + "debug": {"definitions": None}, + }, + } } } result = parse_config(config, "/base/dir") @@ -168,11 +180,13 @@ def test_none_variant_definitions(self): def test_relative_paths_resolved(self): """Relative paths are joined with base_dir""" config = { - "TestView": { - "codegen": {"generate": False}, - "inputs": ["packages/foo", "packages/bar"], - "exclude_patterns": [], - "definitions": {}, + "platforms": { + "TestView": { + "codegen": {"generate": False}, + "inputs": ["packages/foo", "packages/bar"], + "exclude_patterns": [], + "definitions": {}, + } } } result = parse_config(config, "/base/dir") @@ -185,11 +199,13 @@ def test_relative_paths_resolved(self): def test_absolute_paths_preserved(self): """Absolute paths are not modified""" config = { - "TestView": { - "codegen": {"generate": False}, - "inputs": ["/absolute/path/foo", "relative/path"], - "exclude_patterns": [], - "definitions": {}, + "platforms": { + "TestView": { + "codegen": {"generate": False}, + "inputs": ["/absolute/path/foo", "relative/path"], + "exclude_patterns": [], + "definitions": {}, + } } } result = parse_config(config, "/base/dir") @@ -202,11 +218,13 @@ def test_absolute_paths_preserved(self): def test_empty_inputs(self): """Empty inputs list""" config = { - "TestView": { - "codegen": {"generate": False}, - "inputs": [], - "exclude_patterns": [], - "definitions": {}, + "platforms": { + "TestView": { + "codegen": {"generate": False}, + "inputs": [], + "exclude_patterns": [], + "definitions": {}, + } } } result = parse_config(config, "/base/dir") @@ -216,11 +234,13 @@ def test_empty_inputs(self): def test_none_inputs(self): """None inputs treated as empty list""" config = { - "TestView": { - "codegen": {"generate": False}, - "inputs": None, - "exclude_patterns": [], - "definitions": {}, + "platforms": { + "TestView": { + "codegen": {"generate": False}, + "inputs": None, + "exclude_patterns": [], + "definitions": {}, + } } } result = parse_config(config, "/base/dir") @@ -234,11 +254,13 @@ def test_none_inputs(self): def test_codegen_platform_set_when_generate_true(self): """codegen_platform is set when codegen.generate is true""" config = { - "TestView": { - "codegen": {"generate": True, "platform": "android"}, - "inputs": [], - "exclude_patterns": [], - "definitions": {}, + "platforms": { + "TestView": { + "codegen": {"generate": True, "platform": "android"}, + "inputs": [], + "exclude_patterns": [], + "definitions": {}, + } } } result = parse_config(config, "/base/dir") @@ -248,11 +270,13 @@ def test_codegen_platform_set_when_generate_true(self): def test_codegen_platform_ios(self): """codegen_platform correctly stores ios platform""" config = { - "TestView": { - "codegen": {"generate": True, "platform": "ios"}, - "inputs": [], - "exclude_patterns": [], - "definitions": {}, + "platforms": { + "TestView": { + "codegen": {"generate": True, "platform": "ios"}, + "inputs": [], + "exclude_patterns": [], + "definitions": {}, + } } } result = parse_config(config, "/base/dir") @@ -262,15 +286,17 @@ def test_codegen_platform_ios(self): def test_codegen_platform_propagated_to_variants(self): """codegen_platform is propagated to all variant configs""" config = { - "TestView": { - "codegen": {"generate": True, "platform": "android"}, - "inputs": [], - "exclude_patterns": [], - "definitions": {}, - "variants": { - "debug": {"definitions": {"DEBUG": 1}}, - "release": {"definitions": {"NDEBUG": 1}}, - }, + "platforms": { + "TestView": { + "codegen": {"generate": True, "platform": "android"}, + "inputs": [], + "exclude_patterns": [], + "definitions": {}, + "variants": { + "debug": {"definitions": {"DEBUG": 1}}, + "release": {"definitions": {"NDEBUG": 1}}, + }, + } } } result = parse_config(config, "/base/dir") @@ -282,10 +308,12 @@ def test_codegen_platform_propagated_to_variants(self): def test_codegen_missing_defaults_to_no_codegen(self): """Missing codegen config defaults to no codegen""" config = { - "TestView": { - "inputs": [], - "exclude_patterns": [], - "definitions": {}, + "platforms": { + "TestView": { + "inputs": [], + "exclude_patterns": [], + "definitions": {}, + } } } result = parse_config(config, "/base/dir") @@ -300,18 +328,20 @@ def test_codegen_missing_defaults_to_no_codegen(self): def test_multiple_views(self): """Multiple views are all parsed""" config = { - "ViewA": { - "codegen": {"generate": False}, - "inputs": [], - "exclude_patterns": [], - "definitions": {"A": 1}, - }, - "ViewB": { - "codegen": {"generate": False}, - "inputs": [], - "exclude_patterns": [], - "definitions": {"B": 1}, - }, + "platforms": { + "ViewA": { + "codegen": {"generate": False}, + "inputs": [], + "exclude_patterns": [], + "definitions": {"A": 1}, + }, + "ViewB": { + "codegen": {"generate": False}, + "inputs": [], + "exclude_patterns": [], + "definitions": {"B": 1}, + }, + } } result = parse_config(config, "/base/dir") @@ -322,25 +352,27 @@ def test_multiple_views(self): def test_multiple_views_with_variants(self): """Multiple views each with variants""" config = { - "ViewA": { - "codegen": {"generate": False}, - "inputs": [], - "exclude_patterns": [], - "definitions": {}, - "variants": { - "debug": {"definitions": {"DEBUG": 1}}, - "release": {"definitions": {"NDEBUG": 1}}, + "platforms": { + "ViewA": { + "codegen": {"generate": False}, + "inputs": [], + "exclude_patterns": [], + "definitions": {}, + "variants": { + "debug": {"definitions": {"DEBUG": 1}}, + "release": {"definitions": {"NDEBUG": 1}}, + }, }, - }, - "ViewB": { - "codegen": {"generate": False}, - "inputs": [], - "exclude_patterns": [], - "definitions": {}, - "variants": { - "debug": {"definitions": {"DEBUG": 1}}, + "ViewB": { + "codegen": {"generate": False}, + "inputs": [], + "exclude_patterns": [], + "definitions": {}, + "variants": { + "debug": {"definitions": {"DEBUG": 1}}, + }, }, - }, + } } result = parse_config(config, "/base/dir") @@ -355,11 +387,13 @@ def test_multiple_views_with_variants(self): def test_exclude_patterns_preserved(self): """Exclude patterns are passed through unchanged""" config = { - "TestView": { - "codegen": {"generate": False}, - "inputs": [], - "exclude_patterns": ["*/jni/*", "*/platform/ios/*"], - "definitions": {}, + "platforms": { + "TestView": { + "codegen": {"generate": False}, + "inputs": [], + "exclude_patterns": ["*/jni/*", "*/platform/ios/*"], + "definitions": {}, + } } } result = parse_config(config, "/base/dir") @@ -372,17 +406,80 @@ def test_exclude_patterns_preserved(self): def test_none_exclude_patterns(self): """None exclude_patterns treated as empty list""" config = { - "TestView": { - "codegen": {"generate": False}, - "inputs": [], - "exclude_patterns": None, - "definitions": {}, + "platforms": { + "TestView": { + "codegen": {"generate": False}, + "inputs": [], + "exclude_patterns": None, + "definitions": {}, + } } } result = parse_config(config, "/base/dir") self.assertEqual(result[0].exclude_patterns, []) + def test_global_exclude_patterns_prepended(self): + """Global exclude_patterns are prepended to per-platform patterns""" + config = { + "exclude_patterns": ["*/test/*", "*/test_utils/*"], + "platforms": { + "TestView": { + "inputs": [], + "exclude_patterns": ["*/jni/*"], + "definitions": {}, + } + }, + } + result = parse_config(config, "/base/dir") + + self.assertEqual( + result[0].exclude_patterns, + ["*/test/*", "*/test_utils/*", "*/jni/*"], + ) + + def test_global_exclude_patterns_deduplicated(self): + """Duplicate patterns between global and per-platform are deduplicated""" + config = { + "exclude_patterns": ["*/test/*", "*/jni/*"], + "platforms": { + "TestView": { + "inputs": [], + "exclude_patterns": ["*/test/*", "*/platform/ios/*"], + "definitions": {}, + } + }, + } + result = parse_config(config, "/base/dir") + + self.assertEqual( + result[0].exclude_patterns, + ["*/test/*", "*/jni/*", "*/platform/ios/*"], + ) + + def test_global_exclude_patterns_applied_to_all_platforms(self): + """Global exclude_patterns apply to every platform""" + config = { + "exclude_patterns": ["*/test/*"], + "platforms": { + "ViewA": { + "inputs": [], + "exclude_patterns": ["*/a_only/*"], + }, + "ViewB": { + "inputs": [], + "exclude_patterns": ["*/b_only/*"], + }, + }, + } + result = parse_config(config, "/base/dir") + + view_a = next(r for r in result if r.snapshot_name == "ViewA") + self.assertEqual(view_a.exclude_patterns, ["*/test/*", "*/a_only/*"]) + + view_b = next(r for r in result if r.snapshot_name == "ViewB") + self.assertEqual(view_b.exclude_patterns, ["*/test/*", "*/b_only/*"]) + # ========================================================================= # Variant naming # ========================================================================= @@ -390,16 +487,18 @@ def test_none_exclude_patterns(self): def test_variant_name_capitalized(self): """Variant names are capitalized in snapshot name""" config = { - "TestView": { - "codegen": {"generate": False}, - "inputs": [], - "exclude_patterns": [], - "definitions": {}, - "variants": { - "debug": {"definitions": {}}, - "release": {"definitions": {}}, - "profile": {"definitions": {}}, - }, + "platforms": { + "TestView": { + "codegen": {"generate": False}, + "inputs": [], + "exclude_patterns": [], + "definitions": {}, + "variants": { + "debug": {"definitions": {}}, + "release": {"definitions": {}}, + "profile": {"definitions": {}}, + }, + } } } result = parse_config(config, "/base/dir") @@ -413,7 +512,7 @@ def test_variant_name_capitalized(self): def test_missing_optional_fields(self): """Config with missing optional fields uses defaults""" - config = {"TestView": {}} + config = {"platforms": {"TestView": {}}} result = parse_config(config, "/base/dir") self.assertEqual(len(result), 1) @@ -425,11 +524,13 @@ def test_missing_optional_fields(self): def test_none_definitions(self): """None definitions treated as empty dict""" config = { - "TestView": { - "codegen": {"generate": False}, - "inputs": [], - "exclude_patterns": [], - "definitions": None, + "platforms": { + "TestView": { + "codegen": {"generate": False}, + "inputs": [], + "exclude_patterns": [], + "definitions": None, + } } } result = parse_config(config, "/base/dir")