use std::collections::HashMap;
use std::pin::Pin;
use crate::base::error::TestsResult;
use crate::env::env_log::EnvLog;
use crate::env::env_run::EnvRun;
use crate::env::env_start::EnvStart;
use crate::env::env_stop::EnvStop;
pub type OnStart = Box<
dyn FnOnce(
EnvStart,
)
-> Pin<Box<dyn Future<Output = TestsResult<Option<HashMap<String, String>>>> + Send>>
+ Send,
>;
pub type OnRun =
Box<dyn Fn(EnvRun) -> Pin<Box<dyn Future<Output = TestsResult<()>> + Send>> + Send + Sync>;
pub type OnStop = Box<dyn FnOnce(EnvStop) + Send>;
pub type OnLog = Box<dyn Fn(EnvLog) + Send + Sync>;