#import #import "REANode.h" #import #import @class REAModule; typedef void (^REAOnAnimationCallback)(CADisplayLink *displayLink); typedef void (^REANativeAnimationOp)(RCTUIManager *uiManager); @interface REANodesManager : NSObject @property (nonatomic, weak, nullable) RCTUIManager *uiManager; @property (nonatomic, weak, nullable) REAModule *reanimatedModule; @property (nonatomic, readonly) CFTimeInterval currentAnimationTimestamp; @property (nonatomic, nullable) NSSet *uiProps; @property (nonatomic, nullable) NSSet *nativeProps; - (nonnull instancetype)initWithModule:(REAModule *)reanimatedModule uiManager:(nonnull RCTUIManager *)uiManager; - (REANode* _Nullable)findNodeByID:(nonnull REANodeID)nodeID; - (void)invalidate; - (void)operationsBatchDidComplete; // - (void)postOnAnimation:(REAOnAnimationCallback)clb; - (void)postRunUpdatesAfterAnimation; - (void)enqueueUpdateViewOnNativeThread:(nonnull NSNumber *)reactTag viewName:(NSString *) viewName nativeProps:(NSMutableDictionary *)nativeProps; - (void)getValue:(REANodeID)nodeID callback:(RCTResponseSenderBlock)callback; // graph - (void)createNode:(nonnull REANodeID)tag config:(NSDictionary *__nonnull)config; - (void)dropNode:(nonnull REANodeID)tag; - (void)connectNodes:(nonnull REANodeID)parentID childID:(nonnull REANodeID)childID; - (void)disconnectNodes:(nonnull REANodeID)parentID childID:(nonnull REANodeID)childID; - (void)connectNodeToView:(nonnull REANodeID)nodeID viewTag:(nonnull NSNumber *)viewTag viewName:(nonnull NSString *)viewName; - (void)disconnectNodeFromView:(nonnull REANodeID)nodeID viewTag:(nonnull NSNumber *)viewTag; - (void)attachEvent:(nonnull NSNumber *)viewTag eventName:(nonnull NSString *)eventName eventNodeID:(nonnull REANodeID)eventNodeID; - (void)detachEvent:(nonnull NSNumber *)viewTag eventName:(nonnull NSString *)eventName eventNodeID:(nonnull REANodeID)eventNodeID; // configuration - (void)configureProps:(nonnull NSSet *)nativeProps uiProps:(nonnull NSSet *)uiProps; // events - (void)dispatchEvent:(id)event; - (void)setValueForNodeID:(nonnull NSNumber *)nodeID value:(nonnull NSNumber *)newValue; @end