sig
  val cast : 'Gobject.obj -> Gtk.image Gtk.obj
  module P :
    sig
      val file : ([> `image ], string) Gobject.property
      val image : ([> `image ], Gdk.image) Gobject.property
      val pixbuf : ([> `image ], GdkPixbuf.pixbuf) Gobject.property
      val pixel_size : ([> `image ], int) Gobject.property
      val pixmap : ([> `image ], Gdk.pixmap) Gobject.property
      val mask : ([> `image ], Gdk.bitmap option) Gobject.property
      val stock : ([> `image ], GtkStock.id) Gobject.property
      val icon_set : ([> `image ], Gtk.icon_set) Gobject.property
      val icon_size : ([> `image ], GtkEnums.icon_size) Gobject.property
      val storage_type : ([> `image ], GtkEnums.image_type) Gobject.property
    end
  val create : Gtk.image Gobject.param list -> Gtk.image Gtk.obj
  external clear : [> `image ] Gtk.obj -> unit = "ml_gtk_image_clear"
  val make_params :
    cont:(([> `image ] as 'a) Gobject.param list -> 'b) ->
    'Gobject.param list ->
    ?file:string ->
    ?image:Gdk.image ->
    ?pixbuf:GdkPixbuf.pixbuf ->
    ?pixel_size:int ->
    ?pixmap:Gdk.pixmap ->
    ?mask:Gdk.bitmap ->
    ?stock:GtkStock.id ->
    ?icon_set:Gtk.icon_set -> ?icon_size:GtkEnums.icon_size -> 'b
end