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({Set sortBy = const {}}); Future> getAssets(String albumId); Future> getAssetIds(String albumId); Future upsert( LocalAlbum album, { Iterable toUpsert = const [], Iterable toDelete = const [], }); Future updateAll(Iterable albums); Future delete(String albumId); Future processDelta({ required List updates, required List deletes, required Map> assetAlbums, }); Future syncDeletes(String albumId, Iterable assetIdsToKeep); Future> getAssetsToHash(String albumId); } enum SortLocalAlbumsBy { id, backupSelection, isIosSharedAlbum }