use std::error::Error;
use clap::ValueEnum;
#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, ValueEnum)]
pub enum FileType {
Json,
Yaml,
}
pub trait Runnable {
fn run(&self) -> Result<(), Box<dyn Error>>;
}
pub trait Sublistable<T = Self> {
fn get_sublist(&self) -> Vec<T>;
}
pub trait Programable: Sublistable + Clone {
fn get_name(&self) -> String;
fn install(&self);
fn configure(&self);
fn is_installed(&self) -> bool;
}
pub trait Executable {
fn execute(&self);
}