#import <Foundation/Foundation.h>
#import <Capacitor/Capacitor.h>

CAP_PLUGIN(UXCamCapacitorPlugin, "UXCam",
  CAP_PLUGIN_METHOD(startWithConfiguration, CAPPluginReturnPromise);
  CAP_PLUGIN_METHOD(applyOcclusion, CAPPluginReturnPromise);
  CAP_PLUGIN_METHOD(removeOcclusion, CAPPluginReturnPromise);
  CAP_PLUGIN_METHOD(stopSessionAndUploadData, CAPPluginReturnPromise);
  CAP_PLUGIN_METHOD(allowShortBreakForAnotherApp, CAPPluginReturnPromise);
  CAP_PLUGIN_METHOD(startNewSession, CAPPluginReturnPromise);
  CAP_PLUGIN_METHOD(cancelCurrentSession, CAPPluginReturnPromise);
  CAP_PLUGIN_METHOD(isRecording, CAPPluginReturnPromise);
  CAP_PLUGIN_METHOD(pauseScreenRecording, CAPPluginReturnPromise);
  CAP_PLUGIN_METHOD(resumeScreenRecording, CAPPluginReturnPromise);
  CAP_PLUGIN_METHOD(pendingUploads, CAPPluginReturnPromise);
  CAP_PLUGIN_METHOD(deletePendingUploads, CAPPluginReturnPromise);
  CAP_PLUGIN_METHOD(pendingSessionCount, CAPPluginReturnPromise);
  CAP_PLUGIN_METHOD(uploadPendingSession, CAPPluginReturnPromise);
  CAP_PLUGIN_METHOD(occludeAllTextFields, CAPPluginReturnPromise);
  CAP_PLUGIN_METHOD(tagScreenName, CAPPluginReturnPromise);
  CAP_PLUGIN_METHOD(setUserIdentity, CAPPluginReturnPromise);
  CAP_PLUGIN_METHOD(setUserProperty, CAPPluginReturnPromise);
  CAP_PLUGIN_METHOD(logEvent, CAPPluginReturnPromise);
  CAP_PLUGIN_METHOD(logEventWithProperties, CAPPluginReturnPromise);
  CAP_PLUGIN_METHOD(urlForCurrentUser, CAPPluginReturnPromise);
  CAP_PLUGIN_METHOD(urlForCurrentSession, CAPPluginReturnPromise);
  CAP_PLUGIN_METHOD(optOutOverall, CAPPluginReturnPromise);
  CAP_PLUGIN_METHOD(optOutOfSchematicRecordings, CAPPluginReturnPromise);
  CAP_PLUGIN_METHOD(optInOverall, CAPPluginReturnPromise);
  CAP_PLUGIN_METHOD(optIntoSchematicRecordings, CAPPluginReturnPromise);
  CAP_PLUGIN_METHOD(optInOverallStatus, CAPPluginReturnPromise);
  CAP_PLUGIN_METHOD(optInSchematicRecordingStatus, CAPPluginReturnPromise);
)
