use std::sync::Arc;
use crate::templateresource::{ITemplateResource, TemplateResourceError};
use crate::util::Utf16String;
use crate::{IEngineConfiguration, TemplateMode};
pub trait IDecoupledTemplateLogicResolver: Send + Sync {
fn resolve_decoupled_template_logic(
&self,
configuration: &dyn IEngineConfiguration,
owner_template: Option<&Utf16String>,
template: &Utf16String,
template_selectors: Option<&[Utf16String]>,
resource: &dyn ITemplateResource,
template_mode: TemplateMode,
) -> Result<Option<Arc<dyn ITemplateResource>>, TemplateResourceError>;
}