use futures::future::BoxFuture;
use crate::prelude::*;
/// An activity running in the background of a story
pub(crate) trait Activity {
/// Finalise the activity within the given timeout.
/// It is allowed for the activity to wait for completion
/// for the duration of timeout. It is expected the activity
/// will be killed after the timeout and report an error.
fn finalise(&self, reporter: &Reporter, timeout: std::time::Duration)
-> BoxFuture<'static, ()>;
}