sig
  module M :
    sig
      val usage_browser : string
      val usage : string
      val home : string
      val login : string
      val rc_dir : string
      val plugins_dir : string
      val software_author : string
      val software_author_mail : string
      val software_copyright : string
      val software_about : string
      val about : string
      val bad_format : string -> string
      val loading_file : string -> string
      val ok : string
      val yes : string
      val no : string
      val confirm : string
      val cancel : string
      val copy : string
      val cut : string
      val paste : string
      val edit : string
      val up : string
      val down : string
      val add_menu : string
      val add_command : string
      val separator : string
      val menu : string
      val add : string
      val remove : string
      val configuration : string
      val doc : string
      val quit : string
      val really_quit : string
      val log_window : string
      val file : string
      val search_exact : string
      val search_regexp : string
      val running_com : string -> string
      val error : string
      val error_exec : string -> string
      val back : string
      val search : string
      val error_not_found : string -> string -> string
      val error_not_found_module : string -> string
      val error_not_found_module_type : string -> string
      val error_not_found_mmt : string -> string
      val error_not_found_class : string -> string
      val error_not_found_class_type : string -> string
      val error_not_found_cct : string -> string
      val error_not_found_exception : string -> string
      val error_not_found_type : string -> string
      val error_not_found_value : string -> string
      val error_not_found_attribute : string -> string
      val error_not_found_method : string -> string
      val error_load_file : string -> string -> string
      val authors : string
      val version : string
      val since : string
      val raises : string
      val see_also : string
      val returns : string
      val deprecated : string
      val parameters : string
      val inherits : string
      val doc_box : string
      val close : string
      val name : string
      val kind : string
      val nothing_found : string -> string
      val error_unknown_action : string -> string
      val label : string
      val command : string
      val doc_flag : string
      val icon_file : string
      val icon : string
      val file_type : string
      val rule : string
      val file_types_rules : string
      val commands : string
      val default_command : string
      val file_types_handlers : string
      val open_with : string
      val use_ : string
      val doc_file : string
      val doc_files : string
      val doc_sources : string
      val common_keyboard_shortcuts : string
      val docbrowser_keyboard_shortcuts : string
      val binding : string
      val edit_binding : string
      val update_dir : string
      val commit_dir : string
      val enter_comment : string
      val enter_comment_commit : string
      val add_dir : string
      val should_create_dir : string -> string
      val tag_dir : string
      val enter_tag_for_dir : string -> string
      val error_add_files : string list -> string
      val add_files : string
      val add_binary_files : string
      val commit_files : string
      val remove_files : string
      val tag_files : string
      val enter_tag_for_files : string list -> string
      val tags_of_file : string
      val resolve_conflicts : string
      val log : string
      val tag : string
      val revision : string
      val error_remove_files : string list -> string
      val confirm_remove_files : string list -> string
      val tags_of : string -> string
      val last_diff : string
      val diff_with : string
      val diff_between : string
      val plugins : string
      val no_plugin_loaded : string
      val plugin_to_reload : string
      val shared_plugins_to_load : string
      val personal_plugins_to_load : string
      val already_loaded : string
      val h_reload_plugin : string
      val configure_doc_sources : string
    end
  module O :
    sig
      module Raw :
        sig
          type cp =
            Config_file.Raw.cp =
              String of string
            | Int of int
            | Float of float
            | List of Cam_plug.Modules_view.O.Raw.cp list
            | Tuple of Cam_plug.Modules_view.O.Raw.cp list
            | Section of (string * Cam_plug.Modules_view.O.Raw.cp) list
          val of_string : string -> Cam_plug.Modules_view.O.Raw.cp
          val to_channel :
            Pervasives.out_channel -> Cam_plug.Modules_view.O.Raw.cp -> unit
        end
      type 'a wrappers =
        'Config_file.wrappers = {
        to_raw : '-> Cam_plug.Modules_view.O.Raw.cp;
        of_raw : Cam_plug.Modules_view.O.Raw.cp -> 'a;
      }
      exception Wrong_type of (Pervasives.out_channel -> unit)
      class type ['a] cp =
        object
          method add_hook : ('-> '-> unit) -> unit
          method get : 'a
          method get_default : 'a
          method get_default_formatted : Format.formatter -> unit
          method get_formatted : Format.formatter -> unit
          method get_help : string
          method get_help_formatted : Format.formatter -> unit
          method get_name : string list
          method get_short_name : string option
          method get_spec : Arg.spec
          method reset : unit
          method set : '-> unit
          method set_raw : Cam_plug.Modules_view.O.Raw.cp -> unit
          method set_short_name : string -> unit
        end
      type groupable_cp =
          < get_default_formatted : Format.formatter -> unit;
            get_formatted : Format.formatter -> unit; get_help : string;
            get_help_formatted : Format.formatter -> unit;
            get_name : string list; get_short_name : string option;
            get_spec : Arg.spec; reset : unit;
            set_raw : Cam_plug.Modules_view.O.Raw.cp -> unit >
      exception Double_name
      exception Missing_cp of Cam_plug.Modules_view.O.groupable_cp
      class group :
        object
          method add : 'Cam_plug.Modules_view.O.cp -> unit
          method command_line_args :
            section_separator:string -> (string * Arg.spec * string) list
          method read :
            ?obsoletes:string ->
            ?no_default:bool ->
            ?on_type_error:(Cam_plug.Modules_view.O.groupable_cp ->
                            Cam_plug.Modules_view.O.Raw.cp ->
                            (Pervasives.out_channel -> unit) ->
                            string -> Pervasives.in_channel -> unit) ->
            string -> unit
          method write : ?with_help:bool -> string -> unit
        end
      class int_cp :
        ?group:Cam_plug.Modules_view.O.group ->
        string list -> ?short_name:string -> int -> string -> [int] cp
      class float_cp :
        ?group:Cam_plug.Modules_view.O.group ->
        string list -> ?short_name:string -> float -> string -> [float] cp
      class bool_cp :
        ?group:Cam_plug.Modules_view.O.group ->
        string list -> ?short_name:string -> bool -> string -> [bool] cp
      class string_cp :
        ?group:Cam_plug.Modules_view.O.group ->
        string list -> ?short_name:string -> string -> string -> [string] cp
      class ['a] list_cp :
        'Cam_plug.Modules_view.O.wrappers ->
        ?group:Cam_plug.Modules_view.O.group ->
        string list ->
        ?short_name:string -> 'a list -> string -> ['a list] cp
      class ['a] option_cp :
        'Cam_plug.Modules_view.O.wrappers ->
        ?group:Cam_plug.Modules_view.O.group ->
        string list ->
        ?short_name:string -> 'a option -> string -> ['a option] cp
      class ['a] enumeration_cp :
        (string * 'a) list ->
        ?group:Cam_plug.Modules_view.O.group ->
        string list -> ?short_name:string -> '-> string -> ['a] cp
      class ['a, 'b] tuple2_cp :
        'Cam_plug.Modules_view.O.wrappers ->
        'Cam_plug.Modules_view.O.wrappers ->
        ?group:Cam_plug.Modules_view.O.group ->
        string list ->
        ?short_name:string -> 'a * '-> string -> ['a * 'b] cp
      class ['a, 'b, 'c] tuple3_cp :
        'Cam_plug.Modules_view.O.wrappers ->
        'Cam_plug.Modules_view.O.wrappers ->
        'Cam_plug.Modules_view.O.wrappers ->
        ?group:Cam_plug.Modules_view.O.group ->
        string list ->
        ?short_name:string -> 'a * 'b * '-> string -> ['a * 'b * 'c] cp
      class ['a, 'b, 'c, 'd] tuple4_cp :
        'Cam_plug.Modules_view.O.wrappers ->
        'Cam_plug.Modules_view.O.wrappers ->
        'Cam_plug.Modules_view.O.wrappers ->
        'Cam_plug.Modules_view.O.wrappers ->
        ?group:Cam_plug.Modules_view.O.group ->
        string list ->
        ?short_name:string ->
        'a * 'b * 'c * '-> string -> ['a * 'b * 'c * 'd] cp
      class string2_cp :
        ?group:Cam_plug.Modules_view.O.group ->
        string list ->
        ?short_name:string ->
        string * string -> string -> [string, string] tuple2_cp
      class font_cp :
        ?group:Cam_plug.Modules_view.O.group ->
        string list -> ?short_name:string -> string -> string -> string_cp
      class filename_cp :
        ?group:Cam_plug.Modules_view.O.group ->
        string list -> ?short_name:string -> string -> string -> string_cp
      val int_wrappers : int Cam_plug.Modules_view.O.wrappers
      val float_wrappers : float Cam_plug.Modules_view.O.wrappers
      val bool_wrappers : bool Cam_plug.Modules_view.O.wrappers
      val string_wrappers : string Cam_plug.Modules_view.O.wrappers
      val list_wrappers :
        'Cam_plug.Modules_view.O.wrappers ->
        'a list Cam_plug.Modules_view.O.wrappers
      val option_wrappers :
        'Cam_plug.Modules_view.O.wrappers ->
        'a option Cam_plug.Modules_view.O.wrappers
      val enumeration_wrappers :
        (string * 'a) list -> 'Cam_plug.Modules_view.O.wrappers
      val tuple2_wrappers :
        'Cam_plug.Modules_view.O.wrappers ->
        'Cam_plug.Modules_view.O.wrappers ->
        ('a * 'b) Cam_plug.Modules_view.O.wrappers
      val tuple3_wrappers :
        'Cam_plug.Modules_view.O.wrappers ->
        'Cam_plug.Modules_view.O.wrappers ->
        'Cam_plug.Modules_view.O.wrappers ->
        ('a * 'b * 'c) Cam_plug.Modules_view.O.wrappers
      val tuple4_wrappers :
        'Cam_plug.Modules_view.O.wrappers ->
        'Cam_plug.Modules_view.O.wrappers ->
        'Cam_plug.Modules_view.O.wrappers ->
        'Cam_plug.Modules_view.O.wrappers ->
        ('a * 'b * 'c * 'd) Cam_plug.Modules_view.O.wrappers
      class ['a] cp_custom_type :
        'Cam_plug.Modules_view.O.wrappers ->
        ?group:Cam_plug.Modules_view.O.group ->
        string list -> ?short_name:string -> '-> string -> ['a] cp
      type 'a option_class = 'Config_file.option_class
      type 'a option_record = 'Config_file.option_record
      type options_file = Config_file.options_file
      val create_options_file :
        string -> Cam_plug.Modules_view.O.options_file
      val set_options_file :
        Cam_plug.Modules_view.O.options_file -> string -> unit
      val load : Cam_plug.Modules_view.O.options_file -> unit
      val append : Cam_plug.Modules_view.O.options_file -> string -> unit
      val save : Cam_plug.Modules_view.O.options_file -> unit
      val save_with_help : Cam_plug.Modules_view.O.options_file -> unit
      val option_hook :
        'Cam_plug.Modules_view.O.option_record -> (unit -> unit) -> unit
      val string_option : string Cam_plug.Modules_view.O.option_class
      val color_option : string Cam_plug.Modules_view.O.option_class
      val font_option : string Cam_plug.Modules_view.O.option_class
      val int_option : int Cam_plug.Modules_view.O.option_class
      val bool_option : bool Cam_plug.Modules_view.O.option_class
      val float_option : float Cam_plug.Modules_view.O.option_class
      val string2_option :
        (string * string) Cam_plug.Modules_view.O.option_class
      val option_option :
        'Cam_plug.Modules_view.O.option_class ->
        'a option Cam_plug.Modules_view.O.option_class
      val list_option :
        'Cam_plug.Modules_view.O.option_class ->
        'a list Cam_plug.Modules_view.O.option_class
      val sum_option :
        (string * 'a) list -> 'Cam_plug.Modules_view.O.option_class
      val tuple2_option :
        'Cam_plug.Modules_view.O.option_class *
        'Cam_plug.Modules_view.O.option_class ->
        ('a * 'b) Cam_plug.Modules_view.O.option_class
      val tuple3_option :
        'Cam_plug.Modules_view.O.option_class *
        'Cam_plug.Modules_view.O.option_class *
        'Cam_plug.Modules_view.O.option_class ->
        ('a * 'b * 'c) Cam_plug.Modules_view.O.option_class
      val tuple4_option :
        'Cam_plug.Modules_view.O.option_class *
        'Cam_plug.Modules_view.O.option_class *
        'Cam_plug.Modules_view.O.option_class *
        'Cam_plug.Modules_view.O.option_class ->
        ('a * 'b * 'c * 'd) Cam_plug.Modules_view.O.option_class
      val ( !! ) : 'Cam_plug.Modules_view.O.option_record -> 'a
      val ( =:= ) : 'Cam_plug.Modules_view.O.option_record -> '-> unit
      val shortname : 'Cam_plug.Modules_view.O.option_record -> string
      val get_help : 'Cam_plug.Modules_view.O.option_record -> string
      type option_value =
        Config_file.option_value =
          Module of Cam_plug.Modules_view.O.option_module
        | StringValue of string
        | IntValue of int
        | FloatValue of float
        | List of Cam_plug.Modules_view.O.option_value list
        | SmallList of Cam_plug.Modules_view.O.option_value list
      and option_module =
          (string * Cam_plug.Modules_view.O.option_value) list
      val define_option_class :
        string ->
        (Cam_plug.Modules_view.O.option_value -> 'a) ->
        ('-> Cam_plug.Modules_view.O.option_value) ->
        'Cam_plug.Modules_view.O.option_class
      val to_value :
        'Cam_plug.Modules_view.O.option_class ->
        '-> Cam_plug.Modules_view.O.option_value
      val from_value :
        'Cam_plug.Modules_view.O.option_class ->
        Cam_plug.Modules_view.O.option_value -> 'a
      val value_to_string : Cam_plug.Modules_view.O.option_value -> string
      val string_to_value : string -> Cam_plug.Modules_view.O.option_value
      val value_to_int : Cam_plug.Modules_view.O.option_value -> int
      val int_to_value : int -> Cam_plug.Modules_view.O.option_value
      val bool_of_string : string -> bool
      val value_to_bool : Cam_plug.Modules_view.O.option_value -> bool
      val bool_to_value : bool -> Cam_plug.Modules_view.O.option_value
      val value_to_float : Cam_plug.Modules_view.O.option_value -> float
      val float_to_value : float -> Cam_plug.Modules_view.O.option_value
      val value_to_string2 :
        Cam_plug.Modules_view.O.option_value -> string * string
      val string2_to_value :
        string * string -> Cam_plug.Modules_view.O.option_value
      val value_to_list :
        (Cam_plug.Modules_view.O.option_value -> 'a) ->
        Cam_plug.Modules_view.O.option_value -> 'a list
      val list_to_value :
        ('-> Cam_plug.Modules_view.O.option_value) ->
        'a list -> Cam_plug.Modules_view.O.option_value
    end
  module N :
    sig
      type t = string
      val simple : Cam_plug.Modules_view.N.t -> Cam_plug.Modules_view.N.t
      val concat :
        Cam_plug.Modules_view.N.t ->
        Cam_plug.Modules_view.N.t -> Cam_plug.Modules_view.N.t
      val depth : Cam_plug.Modules_view.N.t -> int
      val get_relative :
        Cam_plug.Modules_view.N.t ->
        Cam_plug.Modules_view.N.t -> Cam_plug.Modules_view.N.t
      val father : Cam_plug.Modules_view.N.t -> Cam_plug.Modules_view.N.t
    end
  val to_utf8 : string -> string
  val color_type : Cam_plug.Modules_view.O.string_cp
  val color_value : Cam_plug.Modules_view.O.string_cp
  val color_exception : Cam_plug.Modules_view.O.string_cp
  val color_module : Cam_plug.Modules_view.O.string_cp
  val color_module_type : Cam_plug.Modules_view.O.string_cp
  val color_class : Cam_plug.Modules_view.O.string_cp
  val color_class_type : Cam_plug.Modules_view.O.string_cp
  val color_comment : Cam_plug.Modules_view.O.string_cp
  val color_included_module : Cam_plug.Modules_view.O.string_cp
  val open_source_command : Cam_plug.Modules_view.O.string_cp
  val f_open_file : ?char:int -> string -> unit
  val dump_files : (string, Odoc_info.Module.t_module list) Hashtbl.t
  val get_modules_from_dir : string -> Odoc_info.Module.t_module list
  type row_content =
    Cam_modules_view.row_content =
      ME of Odoc_info.Module.module_element
    | CE of Odoc_info.Class.class_element
  val location_of_module_element :
    Odoc_info.Module.module_element -> Odoc_info.location option
  val location_of_class_element :
    Odoc_info.Class.class_element -> Odoc_info.location option
  val location_of_ele :
    Cam_plug.Modules_view.row_content -> Odoc_info.location option
  class box :
    string ->
    object
      val mutable selection : Cam_plug.Modules_view.row_content option
      method box : GPack.box
      method col_data : Cam_plug.Modules_view.row_content GTree.column
      method col_display : string GTree.column
      method color_of_element : Cam_plug.Modules_view.row_content -> string
      method display_string_of_ele :
        Cam_plug.Modules_view.row_content -> string
      method init_col_display :
        col_display:GTree.view_column ->
        complete:Cam_plug.Modules_view.row_content GTree.column ->
        renderer:GTree.cell_renderer_text -> GTree.tree_store -> unit
      method insert_ele :
        ?parent:Gtk.tree_iter -> Cam_plug.Modules_view.row_content -> unit
      method menu_ctx :
        Cam_plug.Modules_view.row_content option -> GToolbox.menu_entry list
      method on_collapse : Cam_plug.Modules_view.row_content -> unit
      method on_expand : Cam_plug.Modules_view.row_content -> unit
      method on_select : Cam_plug.Modules_view.row_content -> unit
      method on_unselect : Cam_plug.Modules_view.row_content -> unit
      method select : Cam_plug.Modules_view.row_content -> unit
      method selection : Cam_plug.Modules_view.row_content option
      method string_type_of_ele :
        Cam_plug.Modules_view.row_content -> string option
      method subs_of_ele :
        Cam_plug.Modules_view.row_content ->
        Cam_plug.Modules_view.row_content list
      method unselect : Cam_plug.Modules_view.row_content -> unit
      method update : unit
      method view : GTree.view
    end
  class view :
    Cam_view.view_name ->
    Cam_view.ressource_name ->
    Cam_plug.Modules_view.box ->
    bool ->
    object
      method changed : bool
      method close : bool
      method name : Cam_view.view_name
      method refresh : unit
      method ressource : Cam_view.ressource_name
      method ressource_kind : Cam_view.ressource_kind
    end
  class factory : Cam_view.view_factory
end