//
//  CamelotVideoEditor.m
//  camelot
//
//  Created by Miguel Martínez Ojeda on 13/11/2020.
//  SOM

#import <React/RCTBridgeModule.h>
#import <React/RCTEventEmitter.h>

//@interface RCT_EXTERN_MODULE(VideoEditor, NSObject)
@interface RCT_EXTERN_MODULE(CamelotVideoEditor, RCTEventEmitter)

RCT_EXTERN_METHOD(
    getPictureAtPosition: (NSString *)source
    options: (NSDictionary *)options
    resolver: (RCTPromiseResolveBlock)resolve
    rejecter: (RCTPromiseRejectBlock)reject
);

RCT_EXTERN_METHOD(
    getFrameWithDraw: (NSString *)source
    options: (NSDictionary *)options
    resolver: (RCTPromiseResolveBlock)resolve
    rejecter: (RCTPromiseRejectBlock)reject
);

RCT_EXTERN_METHOD(
    imageToVideo: (NSString *)source
    duration: (double)duration
    name: (NSString *)name
    resolver: (RCTPromiseResolveBlock)resolve
    rejecter: (RCTPromiseRejectBlock)reject
);


RCT_EXTERN_METHOD(
    getVideoInfo: (NSString *)source
    resolver: (RCTPromiseResolveBlock)resolve
    rejecter: (RCTPromiseRejectBlock)reject
);

RCT_EXTERN_METHOD(
    merge: (NSDictionaryArray *)videos
    resolver: (RCTPromiseResolveBlock)resolve
    rejecter: (RCTPromiseRejectBlock)reject
);

RCT_EXTERN_METHOD(
    trim: (NSString *)source
    options: (NSDictionary *)options
    resolver: (RCTPromiseResolveBlock)resolve
    rejecter: (RCTPromiseRejectBlock)reject
);

RCT_EXTERN_METHOD(
    getPictures: (NSString *)source
    resolver: (RCTPromiseResolveBlock)resolve
    rejecter: (RCTPromiseRejectBlock)reject
);

@end