import 'dart:async'; import 'package:immich_mobile/domain/models/asset.model.dart'; abstract interface class IAssetRepository { /// Batch upsert asset FutureOr upsertAll(Iterable assets); /// Removes assets with the [localIds] FutureOr> getForLocalIds(Iterable localIds); /// Removes assets with the [remoteIds] FutureOr> getForRemoteIds(Iterable remoteIds); /// Get assets with the [hashes] FutureOr> getForHashes(Iterable hashes); /// Fetch assets from the [offset] with the [limit] FutureOr> getAll({int? offset, int? limit}); /// Removes assets with the given [ids] FutureOr deleteIds(Iterable ids); /// Removes all assets FutureOr deleteAll(); }