use crate::error::Result;
use crate::metadata::ImageMetadata;
use std::path::Path;
pub trait FormatWriter: Send + Sync {
fn is_this_type(&self, path: &Path) -> bool;
fn set_id(&mut self, path: &Path) -> Result<()>;
fn close(&mut self) -> Result<()>;
fn set_metadata(&mut self, meta: &ImageMetadata) -> Result<()>;
fn save_bytes(&mut self, plane_index: u32, data: &[u8]) -> Result<()>;
fn can_do_stacks(&self) -> bool {
true
}
fn set_series(&mut self, _series: usize) -> Result<()> {
Ok(())
}
fn series(&self) -> usize {
0
}
}