([> Gtk.button ] as 'a) Gtk.obj ->
object ('b)
  val obj : 'Gtk.obj
  method add : callback:(GObj.widget -> unit) -> GtkSignal.id
  method after : 'b
  method clicked : callback:(unit -> unit) -> GtkSignal.id
  method destroy : callback:(unit -> unit) -> GtkSignal.id
  method enter : callback:(unit -> unit) -> GtkSignal.id
  method leave : callback:(unit -> unit) -> GtkSignal.id
  method pressed : callback:(unit -> unit) -> GtkSignal.id
  method released : callback:(unit -> unit) -> GtkSignal.id
  method remove : callback:(GObj.widget -> unit) -> GtkSignal.id
end