use crate::context::ITemplateContext;
use crate::exceptions::TemplateEngineException;
use crate::model::{ITemplateEnd, ITemplateStart};
use crate::processor::IProcessor;
use super::ITemplateBoundariesStructureHandler;
pub trait ITemplateBoundariesProcessor: IProcessor {
fn process_template_start(
&self,
context: &dyn ITemplateContext,
template_start: &dyn ITemplateStart,
structure_handler: &mut dyn ITemplateBoundariesStructureHandler,
) -> Result<(), Box<dyn TemplateEngineException>>;
fn process_template_end(
&self,
context: &dyn ITemplateContext,
template_end: &dyn ITemplateEnd,
structure_handler: &mut dyn ITemplateBoundariesStructureHandler,
) -> Result<(), Box<dyn TemplateEngineException>>;
}