replyMessage method 
    
      
Future<Map>
replyMessage(
 - dynamic message, 
- dynamic toOriginalMessage, 
- dynamic config, 
- int messageID, 
- int? messageAttachedCallbackID, 
- int? mediaUploadingCallbackID, 
- int? multipleMediaUploadingCallbackID, 
) 
    
    
  Implementation
  Future<Map<dynamic, dynamic>> replyMessage(
    dynamic message,
    dynamic toOriginalMessage,
    dynamic config,
    int messageID,
    int? messageAttachedCallbackID,
    int? mediaUploadingCallbackID,
    int? multipleMediaUploadingCallbackID) async {
  Map notification = {
    'onMessageAttached':
        allowInterop((message, currentFileSize, totalFileSize) {
      ZIMMessageAttachedCallback? callback = ZIMCommonData
          .zimMessageAttachedCallbackMap[messageAttachedCallbackID];
      if (callback != null) {
        callback(ZIMConverter.oZIMMessage(_jsObjectToMap(message)));
      }
    }),
    'onMediaUploadingProgress':
        allowInterop((message, currentFileSize, totalFileSize) {
      ZIMMediaUploadingProgress? progress =
          ZIMCommonData.mediaUploadingProgressMap[mediaUploadingCallbackID];
      if (progress != null) {
        progress(
            ZIMConverter.oZIMMessage(_jsObjectToMap(message))
                as ZIMMediaMessage,
            currentFileSize,
            totalFileSize);
      }
    }),
    'onMultipleMediaUploadingProgress': allowInterop((message,
        currentFileSize,
        totalFileSize,
        messageInfoIndex,
        currentIndexFileSize,
        totalIndexFileSize) {
      ZIMMultipleMediaUploadingProgress? progress =
          ZIMCommonData.multipleMediaUploadingProgressMap[
              multipleMediaUploadingCallbackID];
      if (progress != null) {
        progress(
            ZIMConverter.oZIMMessage(_jsObjectToMap(message))
                as ZIMMultipleMessage,
            currentFileSize,
            totalFileSize,
            messageInfoIndex,
            currentIndexFileSize,
            totalIndexFileSize);
      }
    })
  };
  final result = await promiseToFuture(ZIM.getInstance()!.replyMessage(
          _mapToJSObject(message),
          _mapToJSObject(toOriginalMessage),
          _mapToJSObject(config),
          _mapToJSObject(notification)))
      .catchError(_handleError);
  return _jsObjectToMap(result);
}