#ifdef RCT_NEW_ARCH_ENABLED #import #else #import #import #endif #import "RNSBottomTabsSpecialEffectsSupporting.h" #import "RNSScreenContainer.h" #if !TARGET_OS_TV #import "RNSOrientationProviding.h" #endif // !TARGET_OS_TV #ifdef RNS_GAMMA_ENABLED #import "RNSFrameCorrectionProvider.h" #endif // RNS_GAMMA_ENABLED NS_ASSUME_NONNULL_BEGIN @interface RNSNavigationController : UINavigationController < RNSViewControllerDelegate, RNSBottomTabsSpecialEffectsSupporting #if !TARGET_OS_TV , RNSOrientationProviding #endif // !TARGET_OS_TV #ifdef RNS_GAMMA_ENABLED , RNSFrameCorrectionProvider #endif // RNS_GAMMA_ENABLED > @end @interface RNSScreenStackView : #ifdef RCT_NEW_ARCH_ENABLED RCTViewComponentView #else UIView #endif - (void)markChildUpdated; - (void)didUpdateChildren; - (void)startScreenTransition; - (void)updateScreenTransition:(double)progress; - (void)finishScreenTransition:(BOOL)canceled; @property (nonatomic) BOOL customAnimation; @property (nonatomic) BOOL disableSwipeBack; #ifdef RCT_NEW_ARCH_ENABLED #else @property (nonatomic, copy) RCTDirectEventBlock onFinishTransitioning; #endif // RCT_NEW_ARCH_ENABLED @end #pragma mark-- Integration @interface RNSScreenStackView () /** * \return Arrray with ids of screens owned by this stack. Ids are returned in no particular order. The list might be * empty. The strings inside the list are nullable if the screen has not been assigned an ID. */ @property (nonatomic, readonly, nonnull) NSArray *screenIds; @end @interface RNSScreenStackManager : RCTViewManager @end NS_ASSUME_NONNULL_END