use std::marker::PhantomData;
use graph_process_manager_core::process::config::AbstractProcessConfiguration;
use crate::core::terms::term::RewritableLanguageOperatorSymbol;
use crate::rewriting_process::context::RewritingProcessContextAndParameterization;
use crate::rewriting_process::filtration::RewritingFiltrationResult;
use crate::rewriting_process::handler::RewriteProcessHandler;
use crate::rewriting_process::node::RewriteNodeKind;
use crate::rewriting_process::priorities::RewritePriorities;
use crate::rewriting_process::state::RewritingProcessState;
use crate::rewriting_process::step::RewriteStepKind;
pub struct RewriteConfig<LOS : RewritableLanguageOperatorSymbol> {
phantom: PhantomData<LOS>
}
impl<LOS : RewritableLanguageOperatorSymbol> AbstractProcessConfiguration for RewriteConfig<LOS> {
type ContextAndParameterization = RewritingProcessContextAndParameterization<LOS>;
type AlgorithmOperationHandler = RewriteProcessHandler;
type DomainSpecificNode = RewriteNodeKind<LOS>;
type DomainSpecificStep = RewriteStepKind<LOS>;
type Priorities = RewritePriorities;
type MutablePersistentState = RewritingProcessState<LOS>;
type FiltrationResult = RewritingFiltrationResult;
}