import 'package:watch_bridge_contract/watch_bridge_contract.dart'; abstract interface class WatchCommandIngress { Future dispatch(WatchCommandEnvelope command); } abstract interface class WatchProjectionPublisher { Future publish(WatchSessionProjection projection, {bool urgent = true}); } abstract interface class WatchAlertPublisher { Future publishAlert(WatchAlertEnvelope alert); } abstract interface class WatchProjectionSource { Stream get projections; Future currentProjection(); Future emitCurrentProjection(); } abstract interface class WatchCompanionUseCases implements WatchCommandIngress, WatchProjectionSource {}