use crate::config::AbstractConfiguration;
use crate::node::GenericNode;
use crate::step::GenericStep;
pub trait AbstractProcessHandler<Config:AbstractConfiguration> {
fn process_new_step(parent_state : &GenericNode<Config>,
step_to_process : &GenericStep<Config>,
new_state_id : u32,
node_counter : u32) -> Result<Config::NodeKind,Config::FilterEliminationKind>;
fn collect_next_steps(parent_state_id : u32,
parent_node_kind : &Config::NodeKind) -> (u32,Vec<GenericStep<Config>>);
fn get_local_verdict(context : &Config::ProcessContext, node : &Config::NodeKind) -> Config::LocalVerdict;
}