import 'dart:typed_data';
import 'package:fis_jsonrpc/rpc.dart';
import 'package:fis_common/index.dart';
import 'package:fis_common/event/event_type.dart';

import 'entities/single_frame_params.dart';
import 'entities/vidImage_parameters.dart';

abstract class ILocalRtmpManager {
  final onPullUrlNotificationHandler = FEventHandler<String>();

  ///接收到单帧图
  final onSingleFrameImageReceive = FEventHandler<SingleFrameParams>();

  ///截一张图
  final onCaptureFrame = FEventHandler<bool>();

  ///录制，bool值代表开始or结束
  final onRecord = FEventHandler<bool>();

  final onUploadImage = FEventHandler<VidImageParameters>();

  Future<bool> createRecordInfo(
      String patientCode, List<DataItemDTO>? patientInfo);

  Future<bool> createExamData(
    String recordCode, {
    RemedicalFileDataTypeEnum fileDataType =
        RemedicalFileDataTypeEnum.VinnoVidSingle,
    String? previewFileToken,
    String? coverImageToken,
    String? fileToken,
    int fileSize = 0,
  });
}
