([> `bin | `container | `dialog | `filechooser | `gtk | `widget | `window ]
 as 'a)
Gtk.obj ->
decode:(int -> 'b) ->
object ('c)
  val obj : 'Gtk.obj
  method add : callback:(GObj.widget -> unit) -> GtkSignal.id
  method after : 'c
  method close : callback:(unit -> unit) -> GtkSignal.id
  method confirm_overwrite :
    callback:(unit -> GtkEnums.file_chooser_confirmation) -> GtkSignal.id
  method current_folder_changed : callback:(unit -> unit) -> GtkSignal.id
  method destroy : callback:(unit -> unit) -> GtkSignal.id
  method file_activated : callback:(unit -> unit) -> GtkSignal.id
  method remove : callback:(GObj.widget -> unit) -> GtkSignal.id
  method response : callback:('-> unit) -> GtkSignal.id
  method selection_changed : callback:(unit -> unit) -> GtkSignal.id
  method update_preview : callback:(unit -> unit) -> GtkSignal.id
end