def store(self, key_path: list, val: Any) -> bool: raise ICUAbstractMethodException()
def get(self, key_path: list) -> Any: raise ICUAbstractMethodException()
def _parse(self) -> None: raise ICUAbstractMethodException()
def serialise(self) -> dict: raise ICUAbstractMethodException()
def generate_feedback(self) -> None: raise ICUAbstractMethodException()
def generate_message(self) -> None: raise ICUAbstractMethodException()
def must_speak(self) -> bool: raise ICUAbstractMethodException()
def _unpack_event_generators(self) -> list: raise ICUAbstractMethodException()
def _update_current_state(self) -> None: raise ICUAbstractMethodException()
def must_pull(self) -> bool: raise ICUAbstractMethodException()
def _must_help_other_agent(self) -> bool: raise ICUAbstractMethodException()
def get_details(self) -> dict: raise ICUAbstractMethodException()
def _unpack_initial_state(self) -> dict: raise ICUAbstractMethodException()
def replace(self, key_path: list, new_val: Any) -> bool: raise ICUAbstractMethodException()
def must_send_feedback(self) -> bool: raise ICUAbstractMethodException()
def exists(self, key_path: list) -> bool: raise ICUAbstractMethodException()
def decide(self) -> None: ''' Checks whether the goal has been accomplished, in which case, it decides to stay idle. Otherwise, the beliefs are queried, and the goal updated with the next action. ''' raise ICUAbstractMethodException()