import 'package:dartz/dartz.dart'; import '../entities/server.dart'; import '../../core/errors/failures.dart'; import '../../data/services/sync_service.dart'; abstract class ServerRepository { // Local-first operations (read from local storage) Future>> getAllServers(); Future>> getGCoreServers(); Future>> getGeViScopeServers(); Future> getServerById(String id, ServerType type); // Local-first CRUD (writes to local storage, marks as dirty) Future> createServer(Server server); Future> updateServer(Server server); Future> deleteServer(String id, ServerType type); // Sync operations Future> syncToServer(); Future> downloadFromServer(); Future> getDirtyCount(); }