import 'package:immich_mobile/domain/interfaces/db.interface.dart'; import 'package:immich_mobile/domain/models/asset/base_asset.model.dart'; import 'package:immich_mobile/domain/models/local_album.model.dart'; abstract interface class ILocalAlbumRepository implements IDatabaseRepository { Future> getAll({SortLocalAlbumsBy? sortBy}); Future> getAssetsForAlbum(String albumId); Future> getAssetIdsForAlbum(String albumId); Future upsert( LocalAlbum album, { Iterable toUpsert = const [], Iterable toDelete = const [], }); Future update(LocalAlbum album); Future updateAll(Iterable albums); Future delete(String albumId); Future processDelta({ required List updates, required List deletes, required Map> assetAlbums, }); Future syncAlbumDeletes( String albumId, Iterable assetIdsToKeep, ); Future> getAssetsToHash(String albumId); } enum SortLocalAlbumsBy { id }