sig
  module Make :
    functor (I : Ode_interface_sig.Interface->
      sig
        type ode_var_id
        type ('a, 'b) network
        type enriched_rule
        type rule_id
        type connected_component_id
        val get_preprocessed_ast : Run_cli_args.t -> I.preprocessed_ast
        val get_ast : Run_cli_args.t -> I.ast
        val to_ast : I.ast -> Ast.parsing_compil
        val preprocess : Run_cli_args.t -> I.ast -> I.preprocessed_ast
        val get_compil :
          ?bwd_bisim:LKappa_group_action.bwd_bisim_info ->
          rule_rate_convention:Remanent_parameters_sig.rate_convention ->
          ?reaction_rate_convention:Remanent_parameters_sig.rate_convention ->
          show_reactions:bool ->
          count:Ode_args.count ->
          compute_jacobian:bool ->
          Run_cli_args.t -> I.preprocessed_ast -> I.compil
        val init :
          I.compil ->
          (Odes.Make.ode_var_id, Ode_loggers_sig.ode_var_id)
          Odes.Make.network
        val reset :
          I.compil ->
          (Odes.Make.ode_var_id, Ode_loggers_sig.ode_var_id)
          Odes.Make.network ->
          (Odes.Make.ode_var_id, Ode_loggers_sig.ode_var_id)
          Odes.Make.network
        val network_from_compil :
          ?max_size:int ->
          dotnet:bool ->
          smash_reactions:bool ->
          ignore_obs:bool ->
          Remanent_parameters_sig.parameters ->
          I.compil ->
          (Odes.Make.ode_var_id, Ode_loggers_sig.ode_var_id)
          Odes.Make.network ->
          (Odes.Make.ode_var_id, Ode_loggers_sig.ode_var_id)
          Odes.Make.network
        val get_reactions :
          ('a, 'b) Odes.Make.network ->
          ((Odes.Make.ode_var_id list * Odes.Make.ode_var_id list *
            Odes.Make.ode_var_id Locality.annot list * I.rule) *
           int)
          list
        val export_network :
          command_line:string ->
          command_line_quotes:string ->
          ?data_file:string ->
          ?init_t:float ->
          max_t:float ->
          ?plot_period:float ->
          ?compute_jacobian:bool ->
          ?propagate_constants:bool ->
          ?show_time_advance:bool ->
          ?nonnegative:bool ->
          ?initial_step:float ->
          ?max_step:float ->
          ?abstol:float ->
          ?reltol:float ->
          Remanent_parameters_sig.parameters ->
          Loggers.t ->
          Loggers.t ->
          Loggers.t ->
          I.compil ->
          (Odes.Make.ode_var_id, Ode_loggers_sig.ode_var_id)
          Odes.Make.network ->
          (Odes.Make.ode_var_id, Ode_loggers_sig.ode_var_id)
          Odes.Make.network
        val get_comment : Odes.Make.enriched_rule -> string
        val get_rule_id_with_mode :
          Odes.Make.enriched_rule ->
          Odes.Make.rule_id * Rule_modes.arity * Rule_modes.direction
        val get_rule : Odes.Make.enriched_rule -> I.rule
        val get_lhs : Odes.Make.enriched_rule -> I.pattern
        val get_lhs_cc :
          Odes.Make.enriched_rule ->
          (Odes.Make.connected_component_id * I.connected_component) list
        val get_divide_rate_by : Odes.Make.enriched_rule -> int
        val compute_symmetries_from_model :
          Remanent_parameters_sig.parameters ->
          I.compil ->
          (Odes.Make.ode_var_id, Ode_loggers_sig.ode_var_id)
          Odes.Make.network ->
          Public_data.contact_map ->
          (Odes.Make.ode_var_id, Ode_loggers_sig.ode_var_id)
          Odes.Make.network
        val set_to_backward_symmetries_from_model :
          (Odes.Make.ode_var_id, Ode_loggers_sig.ode_var_id)
          Odes.Make.network ->
          (Odes.Make.ode_var_id, Ode_loggers_sig.ode_var_id)
          Odes.Make.network
        val set_to_forward_symmetries_from_model :
          (Odes.Make.ode_var_id, Ode_loggers_sig.ode_var_id)
          Odes.Make.network ->
          (Odes.Make.ode_var_id, Ode_loggers_sig.ode_var_id)
          Odes.Make.network
        val print_symmetries :
          Remanent_parameters_sig.parameters ->
          I.compil ->
          (Odes.Make.ode_var_id, Ode_loggers_sig.ode_var_id)
          Odes.Make.network -> unit
        val get_data :
          (Odes.Make.ode_var_id, Ode_loggers_sig.ode_var_id)
          Odes.Make.network -> int * int * int
        val init_bwd_bisim_info :
          I.compil ->
          (Odes.Make.ode_var_id, Ode_loggers_sig.ode_var_id)
          Odes.Make.network -> LKappa_group_action.bwd_bisim_info option
      end
end