sig
  type parameter_kind = Configwin.parameter_kind
  type configuration_structure =
    Configwin.configuration_structure =
      Section of string * parameter_kind list
    | Section_list of string * configuration_structure list
  type return_button =
    Configwin.return_button =
      Return_apply
    | Return_ok
    | Return_cancel
  val string_to_key : string -> Gdk.Tags.modifier list * int
  val key_to_string : Gdk.Tags.modifier list * int -> string
  val key_cp_wrapper : (Gdk.Tags.modifier list * int) Config_file.wrappers
  class key_cp :
    ?group:Config_file.group ->
    string list ->
    ?short_name:string ->
    Gdk.Tags.modifier list * int ->
    string -> [Gdk.Tags.modifier list * int] Config_file.cp_custom_type
  val string :
    ?editable:bool ->
    ?expand:bool ->
    ?help:string -> ?f:(string -> unit) -> string -> string -> parameter_kind
  val custom_string :
    ?editable:bool ->
    ?expand:bool ->
    ?help:string ->
    ?f:('-> unit) ->
    to_string:('-> string) ->
    of_string:(string -> 'a) -> string -> '-> parameter_kind
  val bool :
    ?editable:bool ->
    ?help:string -> ?f:(bool -> unit) -> string -> bool -> parameter_kind
  val strings :
    ?editable:bool ->
    ?help:string ->
    ?f:(string list -> unit) ->
    ?eq:(string -> string -> bool) ->
    ?add:(unit -> string list) -> string -> string list -> parameter_kind
  val list :
    ?editable:bool ->
    ?help:string ->
    ?f:('a list -> unit) ->
    ?eq:('-> '-> bool) ->
    ?edit:('-> 'a) ->
    ?add:(unit -> 'a list) ->
    ?titles:string list ->
    ?color:('-> string option) ->
    string -> ('-> string list) -> 'a list -> parameter_kind
  val color :
    ?editable:bool ->
    ?expand:bool ->
    ?help:string -> ?f:(string -> unit) -> string -> string -> parameter_kind
  val font :
    ?editable:bool ->
    ?expand:bool ->
    ?help:string -> ?f:(string -> unit) -> string -> string -> parameter_kind
  val combo :
    ?editable:bool ->
    ?expand:bool ->
    ?help:string ->
    ?f:(string -> unit) ->
    ?new_allowed:bool ->
    ?blank_allowed:bool -> string -> string list -> string -> parameter_kind
  val text :
    ?editable:bool ->
    ?expand:bool ->
    ?help:string -> ?f:(string -> unit) -> string -> string -> parameter_kind
  val custom_text :
    ?editable:bool ->
    ?expand:bool ->
    ?help:string ->
    ?f:('-> unit) ->
    to_string:('-> string) ->
    of_string:(string -> 'a) -> string -> '-> parameter_kind
  val html :
    ?editable:bool ->
    ?expand:bool ->
    ?help:string -> ?f:(string -> unit) -> string -> string -> parameter_kind
  val filename :
    ?editable:bool ->
    ?expand:bool ->
    ?help:string -> ?f:(string -> unit) -> string -> string -> parameter_kind
  val filenames :
    ?editable:bool ->
    ?help:string ->
    ?f:(string list -> unit) ->
    ?eq:(string -> string -> bool) -> string -> string list -> parameter_kind
  val date :
    ?editable:bool ->
    ?expand:bool ->
    ?help:string ->
    ?f:(int * int * int -> unit) ->
    ?f_string:(int * int * int -> string) ->
    string -> int * int * int -> parameter_kind
  val hotkey :
    ?editable:bool ->
    ?expand:bool ->
    ?help:string ->
    ?f:(Gdk.Tags.modifier list * int -> unit) ->
    string -> Gdk.Tags.modifier list * int -> parameter_kind
  val custom :
    ?label:string -> GPack.box -> (unit -> unit) -> bool -> parameter_kind
  val edit :
    ?apply:(unit -> unit) ->
    string ->
    ?width:int ->
    ?height:int -> configuration_structure list -> return_button
  val get :
    string ->
    ?width:int ->
    ?height:int -> configuration_structure list -> return_button
  val simple_edit :
    ?apply:(unit -> unit) ->
    string ->
    ?width:int -> ?height:int -> parameter_kind list -> return_button
  val simple_get :
    string ->
    ?width:int -> ?height:int -> parameter_kind list -> return_button
  val box :
    parameter_kind list -> GData.tooltips -> GPack.box * (unit -> unit)
  val tabbed_box :
    configuration_structure list ->
    (string * (unit -> unit)) list -> GData.tooltips -> GPack.box
end