import 'dart:io'; import 'dart:typed_data'; import 'package:immich_mobile/entities/asset.entity.dart'; abstract interface class IFileMediaRepository { Future<Asset?> saveImage( Uint8List data, { required String title, String? relativePath, }); Future<Asset?> saveImageWithFile( String filePath, { String? title, String? relativePath, }); Future<Asset?> saveVideo( File file, { required String title, String? relativePath, }); Future<Asset?> saveLivePhoto({ required File image, required File video, required String title, }); Future<void> clearFileCache(); Future<void> enableBackgroundAccess(); Future<void> requestExtendedPermissions(); }