#pragma once namespace reanimated { enum class ValueType { UndefinedType, NullType, BoolType, NumberType, StringType, RemoteObjectType, // object that can be instantiated on host side and modified // on the remote (worklet) side MutableValueType, // object with 'value' property that can be updated and read // from any thread HostFunctionType, // function that will be executed asynchronously on the host // runtime WorkletFunctionType, // function that gets run on the UI thread FrozenObjectType, // frozen object, can only be set and never modified FrozenArrayType, // frozen array, can only be set and never modified }; class ShareableValue; class MutableValue; class RemoteObject; class NativeReanimatedModule; } // namespace reanimated