use std::sync::Arc;
use anyhow::Error;
use webc::metadata::Command;
use crate::{Runtime, bin_factory::BinaryPackage};
pub trait Runner {
fn can_run_command(command: &Command) -> Result<bool, Error>
where
Self: Sized;
fn run_command(
&mut self,
command_name: &str,
pkg: &BinaryPackage,
runtime: Arc<dyn Runtime + Send + Sync>,
) -> Result<(), Error>;
}