use anyhow::Result;
use std::collections::HashMap;
#[allow(dead_code)]
#[derive(Debug, Clone)]
pub struct SimulationResult {
pub upgraded_package: String,
pub upgraded_to_version: String,
pub resolved_versions: HashMap<String, String>,
}
#[allow(dead_code)]
#[async_trait::async_trait]
pub trait UvLockSimulator: Send + Sync {
async fn simulate_upgrade(
&self,
package_name: &str,
project_path: &std::path::Path,
) -> Result<SimulationResult>;
}