sig
  val cast : 'Gobject.obj -> Gtk.entry_completion
  module P :
    sig
      val minimum_key_length : ([> `entrycompletion ], int) Gobject.property
      val model : ([> `entrycompletion ], Gtk.tree_model) Gobject.property
    end
  module S :
    sig
      val action_activated : ([> `entrycompletion ], int -> unit) GtkSignal.t
      val match_selected :
        ([> `entrycompletion ],
         Gtk.tree_model_filter -> Gtk.tree_iter -> bool)
        GtkSignal.t
    end
  val create :
    [ `celllayout | `entrycompletion ] Gobject.param list ->
    Gtk.entry_completion
  external get_entry :
    [> `entrycompletion ] Gtk.obj -> Gtk.entry Gtk.obj option
    = "ml_gtk_entry_completion_get_entry"
  external complete : [> `entrycompletion ] Gtk.obj -> unit
    = "ml_gtk_entry_completion_complete"
  external insert_action_text :
    [> `entrycompletion ] Gtk.obj -> int -> string -> unit
    = "ml_gtk_entry_completion_insert_action_text"
  external insert_action_markup :
    [> `entrycompletion ] Gtk.obj -> int -> string -> unit
    = "ml_gtk_entry_completion_insert_action_markup"
  external delete_action : [> `entrycompletion ] Gtk.obj -> int -> unit
    = "ml_gtk_entry_completion_delete_action"
  external set_text_column : [> `entrycompletion ] Gtk.obj -> int -> unit
    = "ml_gtk_entry_completion_set_text_column"
  external set_match_func :
    [> `entrycompletion ] Gtk.obj ->
    (string -> Gtk.tree_iter -> bool) -> unit
    = "ml_gtk_entry_completion_set_match_func"
  val make_params :
    cont:(([> `entrycompletion ] as 'a) Gobject.param list -> 'b) ->
    'Gobject.param list ->
    ?minimum_key_length:int -> ?model:Gtk.tree_model -> 'b
end