use std::collections::HashMap;
use async_trait::async_trait;
use serde_json::Value;
use crate::error::Result;
#[async_trait]
pub trait BaseExampleSelector: Send + Sync {
async fn select_examples(
&self,
input: &HashMap<String, Value>,
) -> Result<Vec<HashMap<String, Value>>>;
async fn add_example(&self, example: HashMap<String, Value>) -> Result<()>;
}