sig
  type role = [ `Coordinator | `Excluded | `Slave | `Unknown ]
  val get_role : unit -> Nn_elect.role
  val get_coordinator : unit -> string
  val elect_e :
    Nn_config.nn_node_config ->
    int -> Unixqueue.event_system -> (int option * string) Uq_engines.engine
  val setup_elect_api : Rpc_server.t -> Nn_config.nn_node_config -> unit
end