//! Side-effect-only observer trait for per-note arrivals during sync.
use Box;
use async_trait;
use crateClientError;
use crateSyncedNote;
use crateStateSyncUpdate;
/// Per-note + post-sync side-channel into [`crate::sync::StateSync`]. Attach via
/// `StateSync::with_note_observer(...)`. Multiple observers run independently; errors are logged,
/// never abort sync.