import 'package:flyinsono/lab/mock_data/mock_rpc.dart';
import 'package:fis_common/event/event_type.dart';
import 'entities/process_arg.dart';
import 'entities/task_info.dart';
import 'package:fis_jsonrpc/rpc.dart';

abstract class IImportDataManager {
  String get taskId;

  FEventHandler<ExportProcessArg> get processChange;

  Future<bool> startImport(
    String projectID,
    String path,
    List<String> checkIds
  );

  TaskBaseDTO? getCurrentTask();

  Future<bool> cancelImport();

  List<TaskDetail> getLocalTasks(String currentSelectedTaskId);

  TaskInfo? getTaskInfo(String taskId);

  ///获取外置存储信息
  Future<List<UDiskDriveInfoDTO>> getExternalStorageList();

  Future<List<SampleItem>> getUDISKFileList(String path);
}
