use std::{fmt, path::Path};
#[cfg(feature = "config_parsing")]
use crate::config::Deserializable;
#[cfg(feature = "delete_roller")]
pub mod delete;
#[cfg(feature = "fixed_window_roller")]
pub mod fixed_window;
pub trait Roll: fmt::Debug + Send + Sync + 'static {
fn roll(&self, file: &Path) -> anyhow::Result<()>;
}
#[cfg(feature = "config_parsing")]
impl Deserializable for dyn Roll {
fn name() -> &'static str {
"roller"
}
}