sig
  val cast : 'Gobject.obj -> Gtk.tree_model_sort
  module P :
    sig
      val model : ([> `treemodelsort ], Gtk.tree_model) Gobject.property
    end
  val create :
    ?model:Gtk.tree_model ->
    [ `treemodel | `treemodelsort | `treesortable ] Gobject.param list ->
    Gtk.tree_model_sort
  external convert_child_path_to_path :
    [> `treemodelsort ] Gtk.obj -> Gtk.tree_path -> Gtk.tree_path
    = "ml_gtk_tree_model_sort_convert_child_path_to_path"
  external convert_child_iter_to_iter :
    [> `treemodelsort ] Gtk.obj -> Gtk.tree_iter -> Gtk.tree_iter
    = "ml_gtk_tree_model_sort_convert_child_iter_to_iter"
  external convert_path_to_child_path :
    [> `treemodelsort ] Gtk.obj -> Gtk.tree_path -> Gtk.tree_path
    = "ml_gtk_tree_model_sort_convert_path_to_child_path"
  external convert_iter_to_child_iter :
    [> `treemodelsort ] Gtk.obj -> Gtk.tree_iter -> Gtk.tree_iter
    = "ml_gtk_tree_model_sort_convert_iter_to_child_iter"
  external reset_default_sort_func : [> `treemodelsort ] Gtk.obj -> unit
    = "ml_gtk_tree_model_sort_reset_default_sort_func"
  external iter_is_valid :
    [> `treemodelsort ] Gtk.obj -> Gtk.tree_iter -> bool
    = "ml_gtk_tree_model_sort_iter_is_valid"
end