From 3e5386e28b76f59c77255b00488742cecf2a2eff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dawid=20Ma=C5=82ecki?= Date: Fri, 20 Mar 2026 04:32:35 -0700 Subject: [PATCH 1/3] 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 | 14553 +++++++++++++ .../api-snapshots/ReactAndroidReleaseCxx.api | 14380 +++++++++++++ .../api-snapshots/ReactAppleDebugCxx.api | 17334 ++++++++++++++++ .../api-snapshots/ReactAppleReleaseCxx.api | 17161 +++++++++++++++ .../api-snapshots/ReactCommonDebugCxx.api | 11138 ++++++++++ .../api-snapshots/ReactCommonReleaseCxx.api | 11129 ++++++++++ 6 files changed, 85695 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..69f7322ce4b --- /dev/null +++ b/scripts/cxx-api/api-snapshots/ReactAndroidDebugCxx.api @@ -0,0 +1,14553 @@ +// @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::*)() const asFoo&, 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::*)() const asFoo&); +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 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::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 facebook::react::BaseViewProps { + public HostPlatformViewProps() = default; + 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); + 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& issue) 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 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::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::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 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 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 tracingMode, bool screenshotsCategoryEnabled) 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& 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 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& 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 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 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 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 facebook::react::bridging::ConverterBase { + public operator jsi::Array(); + public operator jsi::Function(); +} + +struct facebook::react::bridging::Converter : public facebook::react::bridging::ConverterBase, public facebook::react::bridging::ConverterBase { + public operator jsi::Array(); + public operator jsi::Function(); + public operator jsi::Object(); + public operator 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* facebook::jsi::Runtime::data, size_t num) cb); + protected virtual void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* facebook::jsi::Runtime::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* facebook::jsi::Runtime::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* facebook::jsi::RuntimeDecorator::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* facebook::jsi::RuntimeDecorator::data, size_t num) cb) override; + protected void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* facebook::jsi::RuntimeDecorator::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* facebook::jsi::WithRuntimeDecorator::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* facebook::jsi::WithRuntimeDecorator::data, size_t num) cb) override; + protected void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* facebook::jsi::WithRuntimeDecorator::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..387daad46bb --- /dev/null +++ b/scripts/cxx-api/api-snapshots/ReactAndroidReleaseCxx.api @@ -0,0 +1,14380 @@ +// @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::*)() const asFoo&, 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::*)() const asFoo&); +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 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::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 facebook::react::BaseViewProps { + public HostPlatformViewProps() = default; + 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); + 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& issue) 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 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::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::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 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 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 tracingMode, bool screenshotsCategoryEnabled) 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& 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 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& 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 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 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 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 facebook::react::bridging::ConverterBase { + public operator jsi::Array(); + public operator jsi::Function(); +} + +struct facebook::react::bridging::Converter : public facebook::react::bridging::ConverterBase, public facebook::react::bridging::ConverterBase { + public operator jsi::Array(); + public operator jsi::Function(); + public operator jsi::Object(); + public operator 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* facebook::jsi::Runtime::data, size_t num) cb); + protected virtual void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* facebook::jsi::Runtime::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* facebook::jsi::Runtime::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* facebook::jsi::RuntimeDecorator::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* facebook::jsi::RuntimeDecorator::data, size_t num) cb) override; + protected void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* facebook::jsi::RuntimeDecorator::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* facebook::jsi::WithRuntimeDecorator::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* facebook::jsi::WithRuntimeDecorator::data, size_t num) cb) override; + protected void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* facebook::jsi::WithRuntimeDecorator::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..e7ff03ca211 --- /dev/null +++ b/scripts/cxx-api/api-snapshots/ReactAppleDebugCxx.api @@ -0,0 +1,17334 @@ +// @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::*)() const asFoo&, 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::*)() const asFoo&); +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::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 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 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 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 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 facebook::react::bridging::ConverterBase { + public operator jsi::Array(); + public operator jsi::Function(); +} + +struct facebook::react::bridging::Converter : public facebook::react::bridging::ConverterBase, public facebook::react::bridging::ConverterBase { + public operator jsi::Array(); + public operator jsi::Function(); + public operator jsi::Object(); + public operator 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* facebook::jsi::Runtime::data, size_t num) cb); + protected virtual void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* facebook::jsi::Runtime::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* facebook::jsi::Runtime::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* facebook::jsi::RuntimeDecorator::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* facebook::jsi::RuntimeDecorator::data, size_t num) cb) override; + protected void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* facebook::jsi::RuntimeDecorator::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* facebook::jsi::WithRuntimeDecorator::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* facebook::jsi::WithRuntimeDecorator::data, size_t num) cb) override; + protected void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* facebook::jsi::WithRuntimeDecorator::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..71311c0f9eb --- /dev/null +++ b/scripts/cxx-api/api-snapshots/ReactAppleReleaseCxx.api @@ -0,0 +1,17161 @@ +// @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::*)() const asFoo&, 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::*)() const asFoo&); +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::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 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 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 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 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 facebook::react::bridging::ConverterBase { + public operator jsi::Array(); + public operator jsi::Function(); +} + +struct facebook::react::bridging::Converter : public facebook::react::bridging::ConverterBase, public facebook::react::bridging::ConverterBase { + public operator jsi::Array(); + public operator jsi::Function(); + public operator jsi::Object(); + public operator 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* facebook::jsi::Runtime::data, size_t num) cb); + protected virtual void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* facebook::jsi::Runtime::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* facebook::jsi::Runtime::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* facebook::jsi::RuntimeDecorator::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* facebook::jsi::RuntimeDecorator::data, size_t num) cb) override; + protected void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* facebook::jsi::RuntimeDecorator::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* facebook::jsi::WithRuntimeDecorator::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* facebook::jsi::WithRuntimeDecorator::data, size_t num) cb) override; + protected void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* facebook::jsi::WithRuntimeDecorator::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..aa751f1bf72 --- /dev/null +++ b/scripts/cxx-api/api-snapshots/ReactCommonDebugCxx.api @@ -0,0 +1,11138 @@ +// @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::*)() const asFoo&, 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::*)() const asFoo&); +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 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::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 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::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::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 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 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& 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::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& 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 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 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 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 facebook::react::bridging::ConverterBase { + public operator jsi::Array(); + public operator jsi::Function(); +} + +struct facebook::react::bridging::Converter : public facebook::react::bridging::ConverterBase, public facebook::react::bridging::ConverterBase { + public operator jsi::Array(); + public operator jsi::Function(); + public operator jsi::Object(); + public operator 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* facebook::jsi::Runtime::data, size_t num) cb); + protected virtual void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* facebook::jsi::Runtime::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* facebook::jsi::Runtime::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* facebook::jsi::RuntimeDecorator::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* facebook::jsi::RuntimeDecorator::data, size_t num) cb) override; + protected void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* facebook::jsi::RuntimeDecorator::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* facebook::jsi::WithRuntimeDecorator::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* facebook::jsi::WithRuntimeDecorator::data, size_t num) cb) override; + protected void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* facebook::jsi::WithRuntimeDecorator::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..86b5defb62c --- /dev/null +++ b/scripts/cxx-api/api-snapshots/ReactCommonReleaseCxx.api @@ -0,0 +1,11129 @@ +// @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::*)() const asFoo&, 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::*)() const asFoo&); +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 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::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 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::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::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 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 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& 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::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& 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 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 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 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 facebook::react::bridging::ConverterBase { + public operator jsi::Array(); + public operator jsi::Function(); +} + +struct facebook::react::bridging::Converter : public facebook::react::bridging::ConverterBase, public facebook::react::bridging::ConverterBase { + public operator jsi::Array(); + public operator jsi::Function(); + public operator jsi::Object(); + public operator 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* facebook::jsi::Runtime::data, size_t num) cb); + protected virtual void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* facebook::jsi::Runtime::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* facebook::jsi::Runtime::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* facebook::jsi::RuntimeDecorator::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* facebook::jsi::RuntimeDecorator::data, size_t num) cb) override; + protected void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* facebook::jsi::RuntimeDecorator::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* facebook::jsi::WithRuntimeDecorator::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* facebook::jsi::WithRuntimeDecorator::data, size_t num) cb) override; + protected void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* facebook::jsi::WithRuntimeDecorator::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 c9ab6d4e9c89d8c4cc1f0418f6236983d5a80691 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dawid=20Ma=C5=82ecki?= Date: Fri, 20 Mar 2026 04:32:36 -0700 Subject: [PATCH 2/3] 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 | 69 +++++++++++++++++++ 1 file changed, 69 insertions(+) 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..451bbd94378 --- /dev/null +++ b/.github/workflows/validate-cxx-api-snapshots.yml @@ -0,0 +1,69 @@ +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: Install Doxygen + 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 + run: yarn cxx-api-validate From d90979f1f6a3a304305746fcde7d8696b7bbda20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dawid=20Ma=C5=82ecki?= Date: Fri, 20 Mar 2026 04:37:08 -0700 Subject: [PATCH 3/3] Remove test code from the cxx-api snapshot (#56173) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/56173 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 69f7322ce4b..f17fa21c708 100644 --- a/scripts/cxx-api/api-snapshots/ReactAndroidDebugCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAndroidDebugCxx.api @@ -12741,10 +12741,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 @@ -12895,16 +12893,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 387daad46bb..134d0050fe2 100644 --- a/scripts/cxx-api/api-snapshots/ReactAndroidReleaseCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAndroidReleaseCxx.api @@ -12568,10 +12568,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 @@ -12722,16 +12720,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 e7ff03ca211..38f2b922796 100644 --- a/scripts/cxx-api/api-snapshots/ReactAppleDebugCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAppleDebugCxx.api @@ -15127,10 +15127,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 @@ -15281,16 +15279,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 71311c0f9eb..0c05d0fce12 100644 --- a/scripts/cxx-api/api-snapshots/ReactAppleReleaseCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAppleReleaseCxx.api @@ -14954,10 +14954,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 @@ -15108,16 +15106,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 aa751f1bf72..779af59461a 100644 --- a/scripts/cxx-api/api-snapshots/ReactCommonDebugCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactCommonDebugCxx.api @@ -9417,10 +9417,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 @@ -9571,16 +9569,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 86b5defb62c..685236e6838 100644 --- a/scripts/cxx-api/api-snapshots/ReactCommonReleaseCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactCommonReleaseCxx.api @@ -9408,10 +9408,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 @@ -9562,16 +9560,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 cc0bf127804..dce6411189b 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/*" @@ -29,6 +30,7 @@ ReactAndroid: - packages/react-native/ReactAndroid exclude_patterns: - "*/test_utils/*" + - "*/test/*" - "*/platform/cxx/*" - "*/platform/windows/*" - "*/platform/macos/*" @@ -57,6 +59,7 @@ ReactApple: - packages/react-native/Libraries exclude_patterns: - "*/test_utils/*" + - "*/test/*" - "*/jni/*" - "*/platform/cxx/*" - "*/platform/windows/*"