sig
  val cast : 'Gobject.obj -> Gtk.liste Gtk.obj
  module P :
    sig
      val selection_mode :
        ([> `list ], GtkEnums.selection_mode) Gobject.property
    end
  module S :
    sig
      val select_child : ([> `list ], Gtk.widget Gtk.obj -> unit) GtkSignal.t
      val selection_changed : ([> `list ], unit -> unit) GtkSignal.t
      val unselect_child :
        ([> `list ], Gtk.widget Gtk.obj -> unit) GtkSignal.t
    end
  val create : Gtk.liste Gobject.param list -> Gtk.liste Gtk.obj
  val make_params :
    cont:(([> `list ] as 'a) Gobject.param list -> 'b) ->
    'Gobject.param list -> ?selection_mode:GtkEnums.selection_mode -> 'b
  external insert_item :
    [> `list ] Gtk.obj -> [> `listitem ] Gtk.obj -> pos:int -> unit
    = "ml_gtk_list_insert_item"
  val insert_items :
    [> `list ] Gtk.obj -> [> `listitem ] Gtk.obj list -> pos:int -> unit
  val append_items :
    [> `list ] Gtk.obj -> [> `listitem ] Gtk.obj list -> unit
  val prepend_items :
    [> `list ] Gtk.obj -> [> `listitem ] Gtk.obj list -> unit
  external clear_items : [> `list ] Gtk.obj -> start:int -> stop:int -> unit
    = "ml_gtk_list_clear_items"
  external select_item : [> `list ] Gtk.obj -> pos:int -> unit
    = "ml_gtk_list_select_item"
  external unselect_item : [> `list ] Gtk.obj -> pos:int -> unit
    = "ml_gtk_list_unselect_item"
  external select_child :
    [> `list ] Gtk.obj -> [> `listitem ] Gtk.obj -> unit
    = "ml_gtk_list_select_child"
  external unselect_child :
    [> `list ] Gtk.obj -> [> `listitem ] Gtk.obj -> unit
    = "ml_gtk_list_unselect_child"
  external child_position :
    [> `list ] Gtk.obj -> [> `listitem ] Gtk.obj -> int
    = "ml_gtk_list_child_position"
end