sig
  type encoding =
      Matrix
    | HTML_Graph
    | Js_Graph
    | HTML
    | HTML_Tabular
    | DOT
    | TXT
    | TXT_Tabular
    | XLS
    | Octave
    | Matlab
    | Maple
    | Mathematica
    | SBML
    | DOTNET
    | Json
  module type FormatMap =
    sig
      type 'a t
      val add :
        Loggers.encoding ->
        '-> 'Loggers.FormatMap.t -> 'Loggers.FormatMap.t
      val find : Loggers.encoding -> 'Loggers.FormatMap.t -> 'a
      val empty : 'Loggers.FormatMap.t
    end
  module FormatMap : FormatMap
  type t
  val refresh_id : Loggers.t -> unit
  val get_encoding_format : Loggers.t -> Loggers.encoding
  val fprintf :
    Loggers.t -> ('a, Format.formatter, unit) Pervasives.format -> 'a
  val print_newline : Loggers.t -> unit
  val print_cell : Loggers.t -> string -> unit
  val print_as_logger : Loggers.t -> (Format.formatter -> unit) -> unit
  val flush_logger : Loggers.t -> unit
  val close_logger : Loggers.t -> unit
  val open_infinite_buffer : ?mode:Loggers.encoding -> unit -> Loggers.t
  val open_circular_buffer :
    ?mode:Loggers.encoding -> ?size:int -> unit -> Loggers.t
  val open_logger_from_formatter :
    ?mode:Loggers.encoding -> Format.formatter -> Loggers.t
  val open_logger_from_channel :
    ?mode:Loggers.encoding -> Pervasives.out_channel -> Loggers.t
  val open_row : Loggers.t -> unit
  val close_row : Loggers.t -> unit
  val print_breakable_space : Loggers.t -> unit
  val print_breakable_hint : Loggers.t -> unit
  val dummy_txt_logger : Loggers.t
  val dummy_html_logger : Loggers.t
  val redirect : Loggers.t -> Format.formatter -> Loggers.t
  val formatter_of_logger : Loggers.t -> Format.formatter option
  val channel_of_logger : Loggers.t -> Pervasives.out_channel option
  val flush_buffer : Loggers.t -> Format.formatter -> unit
  val flush_and_clean : Loggers.t -> Format.formatter -> unit
  val int_of_string_id : Loggers.t -> string -> int
  val graph_of_logger : Loggers.t -> Graph_loggers_sig.graph
  val add_node :
    Loggers.t -> string -> Graph_loggers_sig.options list -> unit
  val add_edge :
    Loggers.t -> string -> string -> Graph_loggers_sig.options list -> unit
  val dump_json : Loggers.t -> Yojson.Basic.json -> unit
  val get_edge_map :
    Loggers.t -> Graph_loggers_sig.options list list Mods.String2Map.t
  val get_nodes : Loggers.t -> (string * Graph_loggers_sig.options list) list
  val get_expr :
    Loggers.t ->
    Ode_loggers_sig.variable ->
    (Ode_loggers_sig.ode_var_id, Ode_loggers_sig.ode_var_id) Alg_expr.e
    Locality.annot option
  val set_expr :
    Loggers.t ->
    Ode_loggers_sig.variable ->
    (Ode_loggers_sig.ode_var_id, Ode_loggers_sig.ode_var_id) Alg_expr.e
    Locality.annot -> unit
  val is_const : Loggers.t -> Ode_loggers_sig.variable -> bool
  val of_json : Yojson.Basic.json -> string list
  val to_json : Loggers.t -> Yojson.Basic.json
  val get_fresh_obs_id : Loggers.t -> int
  val get_fresh_reaction_id : Loggers.t -> int
  val get_fresh_meta_id : Loggers.t -> int
  val set_id_of_global_parameter :
    Loggers.t -> Ode_loggers_sig.variable -> string -> unit
  val get_id_of_global_parameter :
    Loggers.t -> Ode_loggers_sig.variable -> string
  val is_dangerous_ode_variable :
    Loggers.t -> Ode_loggers_sig.variable -> bool
  val flag_dangerous :
    Loggers.t -> Ode_loggers_sig.variable -> string -> unit
  val has_forbidden_char : Loggers.t -> string -> bool
  val allocate_fresh_name : Loggers.t -> string -> string -> string
  val allocate : Loggers.t -> string -> unit
  val print_binding_type :
    Loggers.t ->
    ?binding_type_symbol:string ->
    agent_name:string -> site_name:string -> unit
end