import 'package:immich_mobile/entities/album.entity.dart'; import 'package:immich_mobile/entities/asset.entity.dart'; import 'package:immich_mobile/entities/device_asset.entity.dart'; import 'package:immich_mobile/entities/user.entity.dart'; abstract interface class IAssetRepository { Future getByRemoteId(String id); Future> getAllByRemoteId(Iterable ids); Future> getByAlbum(Album album, {User? notOwnedBy}); Future deleteById(List ids); Future> getAll({ required int ownerId, bool? remote, int limit = 100, }); Future> updateAll(List assets); Future> getMatches({ required List assets, required int ownerId, bool? remote, int limit = 100, }); Future> getDeviceAssetsById(List ids); Future upsertDeviceAssets(List deviceAssets); }