import 'package:flowy_sdk/protobuf/flowy-workspace-infra/protobuf.dart'; import 'package:dartz/dartz.dart'; import 'package:flowy_sdk/protobuf/flowy-core/errors.pb.dart'; typedef WorkspaceAppsChangedCallback = void Function(Either, WorkspaceError> appsOrFail); typedef WorkspaceUpdatedCallback = void Function(String name, String desc); abstract class IWorkspace { Future> createApp({required String name, String? desc}); Future, WorkspaceError>> getApps(); } abstract class IWorkspaceListener { void start({WorkspaceAppsChangedCallback? addAppCallback, WorkspaceUpdatedCallback? updatedCallback}); Future stop(); }