sig
  val cast : 'Gobject.obj -> Gtk.tree_model_filter
  module P :
    sig
      val child_model :
        ([> `treemodelfilter ], Gtk.tree_model) Gobject.property
      val virtual_root :
        ([> `treemodelfilter ], Gtk.tree_path) Gobject.property
    end
  val create :
    ?child_model:Gtk.tree_model ->
    ?virtual_root:Gtk.tree_path ->
    [ `treemodel | `treemodelfilter ] Gobject.param list ->
    Gtk.tree_model_filter
  external set_visible_func :
    [> `treemodelfilter ] Gtk.obj ->
    ([ `treemodel ] Gobject.obj -> Gtk.tree_iter -> bool) -> unit
    = "ml_gtk_tree_model_filter_set_visible_func"
  external set_visible_column : [> `treemodelfilter ] Gtk.obj -> int -> unit
    = "ml_gtk_tree_model_filter_set_visible_column"
  external convert_child_path_to_path :
    [> `treemodelfilter ] Gtk.obj -> Gtk.tree_path -> Gtk.tree_path
    = "ml_gtk_tree_model_filter_convert_child_path_to_path"
  external convert_child_iter_to_iter :
    [> `treemodelfilter ] Gtk.obj -> Gtk.tree_iter -> Gtk.tree_iter
    = "ml_gtk_tree_model_filter_convert_child_iter_to_iter"
  external convert_path_to_child_path :
    [> `treemodelfilter ] Gtk.obj -> Gtk.tree_path -> Gtk.tree_path
    = "ml_gtk_tree_model_filter_convert_path_to_child_path"
  external convert_iter_to_child_iter :
    [> `treemodelfilter ] Gtk.obj -> Gtk.tree_iter -> Gtk.tree_iter
    = "ml_gtk_tree_model_filter_convert_iter_to_child_iter"
  external refilter : [> `treemodelfilter ] Gtk.obj -> unit
    = "ml_gtk_tree_model_filter_refilter"
end