pub mod kdl_adapter;
pub mod policy;
pub mod transform;
pub use kdl_adapter::KdlAdapter;
pub use policy::{parse_brand_contract, parse_diagnostic_policy};
use crate::ast::Document;
use crate::error::{FormatError, ParseError};
pub trait KdlSource {
fn parse(&self, source: &[u8]) -> Result<Document, ParseError>;
fn format(&self, doc: &Document) -> Result<Vec<u8>, FormatError>;
}