1 /*
2  * Copyright (c) Meta Platforms, Inc. and affiliates.
3  *
4  * This source code is licensed under the MIT license found in the
5  * LICENSE file in the root directory of this source tree.
6  */
7 
8 #import <CoreGraphics/CoreGraphics.h>
9 #import <Foundation/Foundation.h>
10 
11 #import <ABI47_0_0React/ABI47_0_0RCTBridgeModule.h>
12 
13 static CGFloat ABI47_0_0RCTSingleFrameInterval = (CGFloat)(1.0 / 60.0);
14 
15 @class ABI47_0_0RCTValueAnimatedNode;
16 
17 NS_ASSUME_NONNULL_BEGIN
18 
19 @protocol ABI47_0_0RCTAnimationDriver <NSObject>
20 
21 @property (nonatomic, readonly) NSNumber *animationId;
22 @property (nonatomic, readonly) ABI47_0_0RCTValueAnimatedNode *valueNode;
23 @property (nonatomic, readonly) BOOL animationHasBegun;
24 @property (nonatomic, readonly) BOOL animationHasFinished;
25 
26 - (instancetype)initWithId:(NSNumber *)animationId
27                     config:(NSDictionary *)config
28                    forNode:(ABI47_0_0RCTValueAnimatedNode *)valueNode
29                   callBack:(nullable ABI47_0_0RCTResponseSenderBlock)callback;
30 
31 - (void)startAnimation;
32 - (void)stepAnimationWithTime:(NSTimeInterval)currentTime;
33 - (void)stopAnimation;
34 - (void)resetAnimationConfig:(NSDictionary *)config;
35 
36 NS_ASSUME_NONNULL_END
37 
38 @end
39