sig
  type configData =
      ConfInt of int
    | ConfBool of bool
    | ConfFloat of float
    | ConfString of string
    | ConfList of Gtk_helper.Configuration.configData list
  val load : unit -> unit
  val save : unit -> unit
  val set : string -> Gtk_helper.Configuration.configData -> unit
  val find : string -> Gtk_helper.Configuration.configData
  val find_int : ?default:int -> string -> int
  val use_int : string -> (int -> unit) -> unit
  val set_int : string -> int -> unit
  val find_bool : ?default:bool -> string -> bool
  val use_bool : string -> (bool -> unit) -> unit
  val set_bool : string -> bool -> unit
  val find_float : ?default:float -> string -> float
  val use_float : string -> (float -> unit) -> unit
  val set_float : string -> float -> unit
  val find_string : ?default:string -> string -> string
  val use_string : string -> (string -> unit) -> unit
  val find_list : string -> Gtk_helper.Configuration.configData list
  val use_list :
    string -> (Gtk_helper.Configuration.configData list -> unit) -> unit
  val set_list : string -> Gtk_helper.Configuration.configData list -> unit
  class type ['a] selector =
    object method connect : ('-> unit) -> unit method set : '-> unit end
  val config_int :
    key:string ->
    default:int -> int #Gtk_helper.Configuration.selector -> unit
  val config_bool :
    key:string ->
    default:bool -> bool #Gtk_helper.Configuration.selector -> unit
  val config_string :
    key:string ->
    default:string -> string #Gtk_helper.Configuration.selector -> unit
  val config_float :
    key:string ->
    default:float -> float #Gtk_helper.Configuration.selector -> unit
  val config_values :
    key:string ->
    default:'->
    values:('a * string) list ->
    '#Gtk_helper.Configuration.selector -> unit
end