import 'package:flowy_sdk/protobuf/flowy-folder-data-model/protobuf.dart'; import 'package:dartz/dartz.dart'; import 'package:flowy_sdk/protobuf/flowy-error/errors.pb.dart'; typedef AppUpdatedCallback = void Function(App app); typedef AppViewsChangeCallback = void Function(Either, FlowyError> viewsOrFailed); abstract class IApp { Future, FlowyError>> getViews(); Future> createView({required String name, String? desc, required ViewType viewType}); Future> delete(); Future> rename(String newName); } abstract class IAppListenr { void start({AppViewsChangeCallback? viewsChangeCallback, AppUpdatedCallback? updatedCallback}); Future stop(); }