// Fabric-only. Guarded here as well as in the .mm, because the .mm imports this header before
// its own guard and a legacy-architecture build would otherwise pull in RCTViewComponentView.h.
#ifdef RCT_NEW_ARCH_ENABLED

#import <React/RCTViewComponentView.h>
#import <UIKit/UIKit.h>

NS_ASSUME_NONNULL_BEGIN

@interface RNInsiderAppFrameView : RCTViewComponentView
@end

/**
 * The error-code name that crosses the bridge for a delegate error.
 *
 * Answers `@"UNKNOWN"` for an error outside App Frames' own domain, and for every error when the
 * linked InsiderMobile has no App Frames. The signature uses no InsiderMobile type so it compiles
 * either way.
 */
FOUNDATION_EXPORT NSString *RNInsiderAppFramesErrorCodeNameForError(NSError *error);

/**
 * The status name that crosses the bridge for a native status value.
 *
 * Answers `@"UNRECOGNIZED"` for a value outside the SDK's enum, and for every value when the
 * linked InsiderMobile has no App Frames. The signature uses no InsiderMobile type so it compiles
 * either way.
 */
FOUNDATION_EXPORT NSString *RNInsiderAppFramesStatusNameForRawStatus(NSInteger status);

NS_ASSUME_NONNULL_END

#endif // RCT_NEW_ARCH_ENABLED
