([> `bin | `container | `dialog | `filechooser | `giu | `widget | `window ]
 as 'b)
Gtk.obj ->
decode:(int -> 'a) ->
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 -> Gtk.Tags.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 notify_action :
    callback:(Gtk.Tags.file_chooser_action -> unit) -> GtkSignal.id
  method notify_border_width : callback:(int -> unit) -> GtkSignal.id
  method notify_create_folders : callback:(bool -> unit) -> GtkSignal.id
  method notify_do_overwrite_confirmation :
    callback:(bool -> unit) -> GtkSignal.id
  method notify_extra_widget : callback:(GObj.widget -> unit) -> GtkSignal.id
  method notify_local_only : callback:(bool -> unit) -> GtkSignal.id
  method notify_preview_widget :
    callback:(GObj.widget -> unit) -> GtkSignal.id
  method notify_preview_widget_active :
    callback:(bool -> unit) -> GtkSignal.id
  method notify_resize_mode :
    callback:(GtkEnums.resize_mode -> unit) -> GtkSignal.id
  method notify_select_multiple : callback:(bool -> unit) -> GtkSignal.id
  method notify_show_hidden : callback:(bool -> unit) -> GtkSignal.id
  method notify_use_preview_label : callback:(bool -> 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