sig
  type class_definition = string list * (string * string) list
  val default_style : string
  val key_color1 : string option
  val key_color2 : string option
  val key_color3 : string option
  val key_color4 : string option
  val key_color5 : string option
  val construct_color : string option * string
  val comment_color : string option * string
  val string_color : string option * string
  val alpha_keyword_color : string option * string
  val nonalpha_keyword_color : string option * string
  val default_keyword_color_list : (string * (string option * string)) list
  val default_keyword_colors :
    (string, string option * string) Stdlib.Hashtbl.t
  val all_colors : (string option * string) list
  val make_defs_file :
    ?colors:(string option * string) list -> string -> unit
  type param = {
    line_numbers : bool;
    title : bool;
    body_only : bool;
    tab_size : int;
    latex_comments : bool;
    defs : string;
  }
  val default_param : Caml2html.Output_latex.param
  val ocaml :
    ?keyword_colors:(string, string option * string) Stdlib.Hashtbl.t ->
    ?param:Caml2html.Output_latex.param ->
    Stdlib.Buffer.t -> Caml2html.Input.token list -> unit
  val ocaml_file :
    ?filename:string ->
    ?keyword_colors:(string, string option * string) Stdlib.Hashtbl.t ->
    param:Caml2html.Output_latex.param ->
    Stdlib.Buffer.t -> Caml2html.Input.token list -> unit
  val begin_document :
    ?param:Caml2html.Output_latex.param ->
    Stdlib.Buffer.t -> string list -> unit
  val end_document :
    ?param:Caml2html.Output_latex.param -> Stdlib.Buffer.t -> unit
  val handle_file :
    ?keyword_colors:(string, string option * string) Stdlib.Hashtbl.t ->
    ?param:Caml2html.Output_latex.param -> Stdlib.Buffer.t -> string -> unit
  val save_file : ?dir:string -> Stdlib.Buffer.t -> string -> unit
  val ocaml_document :
    ?dir:string ->
    ?keyword_colors:(string, string option * string) Stdlib.Hashtbl.t ->
    ?param:Caml2html.Output_latex.param -> string list -> string -> unit
end