1 #pragma once 2 3 namespace reanimated { 4 5 enum class ValueType { 6 UndefinedType, 7 NullType, 8 BoolType, 9 NumberType, 10 StringType, 11 RemoteObjectType, // object that can be instantiated on host side and modified 12 // on the remote (worklet) side 13 MutableValueType, // object with 'value' property that can be updated and read 14 // from any thread 15 HostFunctionType, // function that will be executed asynchronously on the host 16 // runtime 17 WorkletFunctionType, // function that gets run on the UI thread 18 FrozenObjectType, // frozen object, can only be set and never modified 19 FrozenArrayType, // frozen array, can only be set and never modified 20 #ifdef RCT_NEW_ARCH_ENABLED 21 ShadowNodeType, // ShadowNode::Shared 22 #endif // RCT_NEW_ARCH_ENABLED 23 }; 24 25 class ShareableValue; 26 class MutableValue; 27 class RemoteObject; 28 class NativeReanimatedModule; 29 30 } // namespace reanimated 31