import 'dart:async'; import 'package:dartz/dartz.dart'; import 'package:flowy_sdk/protobuf/flowy-folder-data-model/trash.pb.dart'; import 'package:flowy_sdk/protobuf/flowy-error/errors.pb.dart'; abstract class ITrash { Future, FlowyError>> readTrash(); Future> putback(String trashId); Future> deleteViews(List> trashList); Future> restoreAll(); Future> deleteAll(); } typedef TrashUpdatedCallback = void Function(Either, FlowyError> trashOrFailed); abstract class ITrashListener { void start(TrashUpdatedCallback updateCallback); Future stop(); }