use crate::error::RenderError;
use crate::quill::QuillSource;
use crate::{OutputFormat, RenderSession};
pub trait Backend: Send + Sync + std::fmt::Debug {
fn id(&self) -> &'static str;
fn supported_formats(&self) -> &'static [OutputFormat];
fn open(
&self,
plate_content: &str,
source: &QuillSource,
json_data: &serde_json::Value,
) -> Result<RenderSession, RenderError>;
}