use crate::host::error::HostApiError;
use crate::host::open_target::OpenTarget;
use async_trait::async_trait;
#[async_trait]
pub trait ShellExecutor: Send + Sync {
async fn shell_open(&self, target: &OpenTarget) -> Result<(), HostApiError>;
async fn shell_open_folder(&self, path: &str) -> Result<(), HostApiError>;
async fn shell_execute_elevation(&self, path: &str) -> Result<(), HostApiError>;
async fn shell_execute_command(&self, command: &str) -> Result<(), HostApiError>;
}