use crate::entities::WidgetId; use crate::value_objects::{DisplayHint, Layout, ThemeConfig, WidgetState}; use std::future::Future; pub trait BroadcastPort { type Error; fn push_screen_update( &self, layout: &Layout, widgets: &[(WidgetId, DisplayHint, WidgetState)], ) -> impl Future> + Send; fn push_data_update( &self, updates: &[(WidgetId, DisplayHint, WidgetState)], ) -> impl Future> + Send; fn push_theme_update( &self, theme: &ThemeConfig, ) -> impl Future> + Send; }