import 'package:flowy_sdk/protobuf/flowy-workspace-infra/view_create.pb.dart'; import 'package:dartz/dartz.dart'; import 'package:flowy_infra/notifier.dart'; import 'package:flowy_sdk/protobuf/flowy-core/errors.pb.dart'; typedef ViewUpdatedCallback = void Function(Either); typedef DeleteNotifierValue = Either; typedef UpdateNotifierValue = Either; typedef RestoreNotifierValue = Either; abstract class IView { View get view; Future> delete(); Future> rename(String newName); Future> duplicate(); } abstract class IViewListener { void start(); PublishNotifier get updatedNotifier; PublishNotifier get deletedNotifier; PublishNotifier get restoredNotifier; Future stop(); }