package com.dxareactnative import com.facebook.react.bridge.ReactApplicationContext import com.facebook.react.bridge.ReactContextBaseJavaModule import com.facebook.react.bridge.ReactMethod import com.facebook.react.bridge.Promise import com.facebook.react.bridge.ReadableArray import com.facebook.react.bridge.ReadableMap import com.facebook.react.bridge.WritableArray import com.facebook.react.bridge.WritableMap abstract class DxaReactNativeSpec internal constructor(context: ReactApplicationContext) : ReactContextBaseJavaModule(context) { @ReactMethod(isBlockingSynchronousMethod = true) abstract fun setLoggingTags(tags: ReadableArray) : WritableArray @ReactMethod(isBlockingSynchronousMethod = true) abstract fun initializeProject(brandID: String, projectID: String, sdkVersion: String, reactNativeVersion: String): WritableMap @ReactMethod abstract fun startRecording(dxaConfiguration: ReadableMap?, promise: Promise) @ReactMethod abstract fun stopRecording(promise: Promise) @ReactMethod abstract fun pauseRecording(promise: Promise) @ReactMethod abstract fun resumeRecording(promise: Promise) // TODO: DXM-1811 Add 'addLogListener' and 'removeLogListener' @ReactMethod(isBlockingSynchronousMethod = true) abstract fun logError(message: String? = null) : WritableMap @ReactMethod abstract fun reportScreenChangeOnNative(screenChangePayload: ReadableMap?) }