use std::fmt::Debug;
use crate::traits::{IdentityHandle, OperationId};
pub trait Resolver<ID, OP, M, C>
where
ID: IdentityHandle,
OP: OperationId + Ord,
{
type State;
type Error: Debug;
fn rebuild_required(y: &Self::State, msg: &M) -> Result<bool, Self::Error>;
#[allow(clippy::type_complexity)]
fn process(y: Self::State) -> Result<Self::State, Self::Error>;
}