pub trait Cache {
// Required methods
fn version_str(&self) -> String;
fn is_installed(&self) -> Result<bool, IsCacheInstalledError>;
fn delete(&self) -> Result<(), DeleteCacheError>;
fn get_binary_command_path(
&self,
binary_name: &str,
) -> Result<PathBuf, GetBinaryCommandPathError>;
fn get_binary_command(
&self,
binary_name: &str,
) -> Result<Command, GetBinaryCommandPathError>;
}