use std::sync::Arc;
use crate::expression::TemplateValue;
use crate::inline::IInliner;
use crate::model::IModel;
use crate::util::Utf16String;
pub trait ITemplateBoundariesStructureHandler {
fn reset(&mut self);
fn set_local_variable(&mut self, name: Option<Utf16String>, value: Option<Arc<TemplateValue>>);
fn remove_local_variable(&mut self, name: Option<Utf16String>);
fn set_selection_target(&mut self, selection_target: Option<Arc<TemplateValue>>);
fn set_inliner(&mut self, inliner: Option<Arc<dyn IInliner>>);
fn insert_text(&mut self, text: Utf16String, processable: bool);
fn insert_model(&mut self, model: Arc<dyn IModel>, processable: bool);
}