use std::process::Output;
pub trait RootlessOptions {
fn to_vec(&self) -> Vec<String>;
}
pub trait RootlessBackend<T>
where
T: RootlessOptions,
{
type Err;
fn new(options: T) -> Self
where
Self: Sized;
fn options(&self) -> &T;
fn run(&self, command: &[&str]) -> Result<Output, Self::Err>;
}