import 'dart:async'; import 'package:immich_mobile/domain/models/store.model.dart'; abstract class IStoreConverter { const IStoreConverter(); /// Converts the value T to the primitive type U supported by the Store U toPrimitive(T value); /// Converts the value back to T? from the primitive type U from the Store FutureOr fromPrimitive(U value); } abstract class IStoreRepository { FutureOr tryGet(StoreKey key); FutureOr get(StoreKey key); FutureOr set(StoreKey key, T value); FutureOr delete(StoreKey key); Stream watch(StoreKey key); FutureOr clearStore(); }