import 'dart:async'; import 'package:vikunja_app/models/namespace.dart'; import 'package:vikunja_app/models/task.dart'; import 'package:vikunja_app/models/user.dart'; abstract class NamespaceService { Future> getAll(); Future get(int namespaceId); Future create(Namespace ns); Future update(Namespace ns); Future delete(int namespaceId); } abstract class ListService { Future> getAll(); Future get(int listId); Future> getByNamespace(int namespaceId); Future create(int namespaceId, TaskList tl); Future update(TaskList tl); Future delete(int listId); } abstract class TaskService { Future update(Task task); Future delete(int taskId); Future add(int listId, Task task); } abstract class UserService { Future login(String username, password); Future getCurrentUser(); }