pub use rattler_solve::{ChannelPriority, SolveStrategy};
#[derive(
Debug, Clone, Copy, PartialEq, Eq, Hash, serde::Serialize, serde::Deserialize, Default,
)]
#[serde(rename_all = "kebab-case")]
pub enum PypiPrereleaseMode {
Disallow,
Allow,
IfNecessary,
Explicit,
#[default]
IfNecessaryOrExplicit,
}
#[derive(Debug, Clone, PartialEq, Eq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "kebab-case")]
pub struct SolveOptions {
#[serde(default, skip_serializing_if = "crate::utils::serde::is_default")]
pub strategy: SolveStrategy,
#[serde(default, skip_serializing_if = "crate::utils::serde::is_default")]
pub channel_priority: ChannelPriority,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exclude_newer: Option<chrono::DateTime<chrono::Utc>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pypi_prerelease_mode: Option<PypiPrereleaseMode>,
}