
#import "React/RCTEventEmitter.h"

@interface RCT_EXTERN_MODULE(RNSlangFitnessAssistant, RCTEventEmitter)

//https://github.com/facebook/react-native/issues/23755
+ (BOOL)requiresMainQueueSetup
{
return NO;
}

RCT_EXTERN_METHOD(initialize:(NSDictionary *)intiailizeData)
RCT_EXTERN_METHOD(setLifecycleObserver)
RCT_EXTERN_METHOD(setAction)
RCT_EXTERN_METHOD(startConversation:(NSString *) userJourney)
RCT_EXTERN_METHOD(cancelSession)
RCT_EXTERN_METHOD(hideTrigger)
RCT_EXTERN_METHOD(showTrigger)
RCT_EXTERN_METHOD(prepareActiveFoodLoggingUserJourney)
RCT_EXTERN_METHOD(setUserProperties:(NSString *)userId userProperties: (NSDictionary *)userProperties)
RCT_EXTERN_METHOD(trackCustomEvent:(NSString *)eventName eventMetadata: (NSDictionary *)userProperties)
RCT_EXTERN_METHOD(notifyFoodLoggingActionCompleted:(NSString *)foodLoggingAppState foodLoggingAppStateCondition: (NSString *)foodLoggingAppStateCondition)
RCT_EXTERN_METHOD(notifySugarLoggingActionCompleted:(NSString *)sugarLoggingAppState sugarLoggingAppStateCondition: (NSString *)sugarLoggingAppStateCondition)
RCT_EXTERN_METHOD(notifyWeightLoggingActionCompleted:(NSString *)weightLoggingAppState weightLoggingAppStateCondition: (NSString *)weightLoggingAppStateCondition)
RCT_EXTERN_METHOD(setBackgroundColorGradient:(NSArray *)colors)
RCT_EXTERN_METHOD(setWaveColorGradient:(NSArray *)colors)
RCT_EXTERN_METHOD(setTextColor:(NSString *)color)
RCT_EXTERN_METHOD(setSecondaryTextColor:(NSString *)color)
RCT_EXTERN_METHOD(setTextHighlightColor:(NSString *)color)
RCT_EXTERN_METHOD(setSettingsButtonBackgroundColor:(NSString *)color)
RCT_EXTERN_METHOD(setControlButtonBackgroundColor:(NSString *)color)
RCT_EXTERN_METHOD(setTheme:(NSString *)theme)
RCT_EXTERN_METHOD(setMode:(NSString *)mode)
RCT_EXTERN_METHOD(disableLocaleSelection:(BOOL *)mode)
RCT_EXTERN_METHOD(setWaveVelocity:(float *)velocity)
RCT_EXTERN_METHOD(setTriggerSize:(NSNumber *)width height: (NSNumber *)height)
RCT_EXTERN_METHOD(setAppDefaultUserJourney:(NSString *)userJourney)
RCT_EXTERN_METHOD(setTriggerImageResource:(NSString *)urlString)
RCT_EXTERN_METHOD(setAppDefaultSubdomain:(NSString *)subdomain)
RCT_EXTERN_METHOD(setDisambiguationIndexInContext:(NSNumber *)disambiguationIndex)
RCT_EXTERN_METHOD(setFoodInfoAtIndexInContext:(NSNumber *)disambiguationIndex foodInfo: (NSDictionary *)foodInfo)
@end
  
