mod fuzzy;
mod keyword;
pub use fuzzy::{find_closest, suggest_preset_name};
pub use keyword::KeywordDiscovery;
use crate::template::PresetInfo;
#[derive(Debug, Clone)]
pub struct PresetMatch {
pub name: String,
pub score: f64,
}
pub trait TemplateDiscovery: Send + Sync {
fn find_presets(&self, query: &str) -> Vec<PresetMatch>;
fn get_preset(&self, name: &str) -> Option<&PresetInfo>;
fn list_all(&self) -> Vec<&PresetInfo>;
}