import 'package:flowy_sdk/protobuf/flowy-workspace/protobuf.dart'; import 'package:dartz/dartz.dart'; typedef AppUpdatedCallback = void Function(String name, String desc); typedef AppAddViewCallback = void Function( Either, WorkspaceError> viewsOrFailed); abstract class IApp { Future, WorkspaceError>> getViews(); Future> createView( {required String name, String? desc, required ViewType viewType}); } abstract class IAppWatch { void startWatching( {AppAddViewCallback? addViewCallback, AppUpdatedCallback? updatedCallback}); Future stopWatching(); }