use super::types::{ParameterError, ParameterSnapshot};
#[async_trait::async_trait]
pub trait ParameterResolver: Send + Sync {
async fn resolve(
&self,
template: &str,
user_args: &[String],
snapshot: &ParameterSnapshot,
) -> Result<String, ParameterError>;
fn count_user_parameters(&self, template: &str) -> usize;
fn has_system_parameters(&self, template: &str) -> bool;
}