//
//  ExtSdkWrapper.h
//
//
//  Created by 杜洁鹏 on 2019/10/8.
//

#import "ExtSdkCallbackObjc.h"
#import <AgoraChat/AgoraChat.h>

NS_ASSUME_NONNULL_BEGIN

@interface ExtSdkWrapper : NSObject

- (void)onResult:(nonnull id<ExtSdkCallbackObjc>)result
    withMethodType:(nonnull NSString *)methodType
         withError:(nullable AgoraChatError *)error
        withParams:(nullable NSObject *)params;

- (void)onReceive:(NSString *)methodType withParams:(nullable NSObject *)params;

- (BOOL)checkMessageParams:(nonnull id<ExtSdkCallbackObjc>)result
            withMethodType:(nonnull NSString *)methodType
               withMessage:(nullable AgoraChatMessage *)message;
- (BOOL)getMessageParams:(nonnull id<ExtSdkCallbackObjc>)result
          withMethodType:(nonnull NSString *)methodType
             withMessage:(nullable AgoraChatMessage *)message;

- (void)mergeMessageBody:(AgoraChatMessageBody *)msgBody
       withDBMessageBody:(AgoraChatMessageBody *)dbMsgBody;
- (void)mergeMessage:(AgoraChatMessage *)msg withDBMessage:(AgoraChatMessage *)dbMsg;

- (AgoraChatConversation *)getConversation:(NSDictionary *)param;

- (AgoraChatConversation *)getConversationFromMessage:(AgoraChatMessage *)msg;

@end

NS_ASSUME_NONNULL_END
