pub trait Prompt {
// Required methods
fn select(
&mut self,
prompt: &str,
items: &[String],
) -> Result<Option<usize>, AppError>;
fn multi_select(
&mut self,
prompt: &str,
items: &[String],
) -> Result<Option<Vec<usize>>, AppError>;
fn confirm(
&mut self,
prompt: &str,
default: bool,
) -> Result<Option<bool>, AppError>;
}