| 12345678910111213141516171819202122232425262728293031 | import 'package:dartz/dartz.dart';import 'package:flowy_infra/notifier.dart';import 'package:flowy_sdk/protobuf/flowy-user/errors.pb.dart';import 'package:flowy_sdk/protobuf/flowy-user/user_profile.pb.dart';import 'package:flowy_sdk/protobuf/flowy-workspace-infra/workspace_create.pb.dart';import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';export 'package:flowy_sdk/protobuf/flowy-user/errors.pb.dart';export 'package:flowy_sdk/protobuf/flowy-user/user_profile.pb.dart';abstract class IUser {  UserProfile get user;  Future<Either<UserProfile, UserError>> fetchUserProfile(String userId);  Future<Either<List<Workspace>, WorkspaceError>> fetchWorkspaces();  Future<Either<Unit, WorkspaceError>> deleteWorkspace(String workspaceId);  Future<Either<Unit, UserError>> signOut();  Future<Either<Unit, UserError>> initUser();}typedef UserProfileUpdatedNotifierValue = Either<UserProfile, UserError>;typedef AuthNotifierValue = Either<Unit, UserError>;typedef WorkspaceUpdatedNotifierValue = Either<List<Workspace>, WorkspaceError>;abstract class IUserListener {  void start();  PublishNotifier<UserProfileUpdatedNotifierValue> get profileUpdatedNotifier;  PublishNotifier<AuthNotifierValue> get authDidChangedNotifier;  PublishNotifier<WorkspaceUpdatedNotifierValue> get workspaceUpdatedNotifier;  Future<void> stop();}
 |