pub mod toon_backend;
pub use toon_backend::BACKEND;
use crate::sdd::spec::ir::{DeltaSpecDoc, MainSpecDoc};
use anyhow::Result;
pub trait SpecBackend: Sync + Send {
fn parse_main_spec(&self, content: &str, context: &str) -> Result<MainSpecDoc>;
fn parse_main_spec_strict(&self, content: &str, context: &str) -> Result<MainSpecDoc>;
fn parse_delta_spec(&self, content: &str, context: &str) -> Result<DeltaSpecDoc>;
fn parse_delta_spec_strict(&self, content: &str, context: &str) -> Result<DeltaSpecDoc>;
fn dump_main_spec(&self, doc: &MainSpecDoc) -> Result<String>;
fn dump_delta_spec(&self, doc: &DeltaSpecDoc) -> Result<String>;
}