import 'package:flowy_sdk/protobuf/flowy-workspace/protobuf.dart'; import 'package:dartz/dartz.dart'; typedef AppUpdatedCallback = void Function(String name, String desc); typedef AppCreateViewCallback = void Function( Either, WorkspaceError> viewsOrFailed); typedef AppDeleteViewCallback = 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( {AppCreateViewCallback? addViewCallback, AppUpdatedCallback? updatedCallback}); Future stopWatching(); }