+void modest_header_view_select_next (ModestHeaderView *self);
+
+/**
+ * modest_header_view_select_prev:
+ * @self: a #ModestHeaderView
+ *
+ * Selects the previous header of the current selected one
+ **/
+void modest_header_view_select_prev (ModestHeaderView *self);
+
+
+/* PROTECTED method. It's useful when we want to force a given
+ selection to reload a msg. For example if we have selected a header
+ in offline mode, when Modest become online, we want to reload the
+ message automatically without an user click over the header */
+void
+_modest_header_view_change_selection (GtkTreeSelection *selection,
+ gpointer user_data);
+
+/**
+ * modest_header_view_get_sort_column_id:
+ * @self: a #ModestHeaderView
+ * @type: #TnyFolderType type
+ *
+ * Gets the selected logical columnd id for sorting.
+ **/
+gint
+modest_header_view_get_sort_column_id (ModestHeaderView *self, TnyFolderType type);
+
+/**
+ * modest_header_view_get_sort_type:
+ * @self: a #ModestHeaderView
+ * @type: #TnyFolderType type
+ *
+ * Gets the selected sort type.
+ **/
+GtkSortType
+modest_header_view_get_sort_type (ModestHeaderView *self, TnyFolderType type);
+
+/**
+ * modest_header_view_set_sort_params:
+ * @self: a #ModestHeaderView
+ * @sort_colid: logical column id to sort
+ * @sort_type: #GtkSortType sort type
+ * @type: #TnyFolderType type
+ *
+ * Sets the logical columnd id and sort type for sorting operations.
+ **/
+void
+modest_header_view_set_sort_params (ModestHeaderView *self, guint sort_colid, GtkSortType sort_type, TnyFolderType type);
+
+/**
+ * modest_header_view_set_sort_params:
+ * @self: a #ModestHeaderView
+ * @sort_colid: logical column id to sort
+ * @sort_type: #GtkSortType sort type
+ *
+ * Sorts headers treeview by logical column id, @sort_colid, using a
+ * @sort_type sorting method. In addition, new headder settings will be
+ * stored in @self object.
+ **/
+void
+modest_header_view_sort_by_column_id (ModestHeaderView *self,
+ guint sort_colid,
+ GtkSortType sort_type);
+
+/**
+ * modest_header_view_clear:
+ * @self: a #ModestHeaderView
+ *
+ * Clear the contents of a header view. It internally calls the
+ * set_folder function with last three arguments as NULL
+ **/
+void
+modest_header_view_clear (ModestHeaderView *self);
+
+/**
+ * modest_header_view_copy_selection:
+ * @self: a #ModestHeaderView
+ *
+ * Stores a #TnyList of selected headers in the own clibpoard of
+ * @self header view.
+ **/
+void
+modest_header_view_copy_selection (ModestHeaderView *header_view);
+
+/**
+ * modest_header_view_cut_selection:
+ * @self: a #ModestHeaderView
+ *
+ * Stores a #TnyList of selected headers in the own clibpoard of
+ * @self header view and filter them into headers tree model to
+ * hide these rows in treeview.
+ **/
+void
+modest_header_view_cut_selection (ModestHeaderView *header_view);
+
+
+/**
+ * modest_header_view_paste_selection:
+ * @self: a #ModestHeaderView
+ * @headers: ouput parameter with a #TnyList of headers which will be returned.
+ * @delete: output parameter with indication about delete or not the selected headers.
+ *
+ * Gets the selected headers to copy/cut.
+ **/
+void
+modest_header_view_paste_selection (ModestHeaderView *header_view,
+ TnyList **headers,
+ gboolean *delete);
+
+void modest_header_view_refilter (ModestHeaderView *header_view);
+
+/**
+ * modest_header_view_set_filter:
+ * @self: a #ModestHeaderView
+ * @filter: a filter mask to be applied to messages
+ *
+ * sets the special filter to be applied (affects visibility of items).
+ * It's a mask, and filters applied are applied with an AND.
+ */
+void modest_header_view_set_filter (ModestHeaderView *self,
+ ModestHeaderViewFilter filter);
+
+/**
+ * modest_header_view_unset_filter:
+ * @self: a #ModestHeaderView
+ * @filter: a filter mask to be unapplied to headers
+ *
+ * Unsets the special filter to be applied (affects visibility of
+ * items). It's a mask, and filters applied are applied with an AND.
+ */
+void modest_header_view_unset_filter (ModestHeaderView *self,
+ ModestHeaderViewFilter filter);
+
+/**
+ * modest_header_view_set_filter_string:
+ * @self: a #ModestHeaderView
+ * @filter_string: a string
+ *
+ * Set a string for filtering visible messages. If %NULL, no filtering is done.
+ */
+void modest_header_view_set_filter_string (ModestHeaderView *self,
+ const gchar *filter_string);
+
+
+
+/**
+ * modest_header_view_add_observer:
+ * @header_view: a #ModestHeaderView
+ * @observer: The observer to notify.
+ *
+ * Registers a new observer. Warning! Each added observer object must
+ * removed using @modest_header_view_remove_observer before destroying
+ * the observer, or at least when it is under destruction. Also you
+ * should care about that the observer's #update function might be
+ * called any time until the observer is removed.
+ **/
+void modest_header_view_add_observer(
+ ModestHeaderView *header_view,
+ ModestHeaderViewObserver *observer);
+
+/**
+ * modest_header_view_remove_observer:
+ * @header_view: a #ModestHeaderView
+ * @observer: The observer to remove.
+ *
+ * Removes exactly one observer from the notification list. If you
+ * added an observer twice, you should call this remove funtion twice
+ * as well.
+ **/
+void modest_header_view_remove_observer(
+ ModestHeaderView *header_view,
+ ModestHeaderViewObserver *observer);
+
+/**
+ * modest_header_view_get_header_at_pos:
+ * @header_view: a #ModestHeaderView
+ * @initial_x: the x coordinate
+ * @initial_y: the y coordinate
+ *
+ * Return the #TnyHeader stored in the row at (x,y) coordinates
+ * relatives to the widget. It returns a new reference so you must
+ * unref it once you're done with it.
+ *
+ * Returns: a #TnyHeader if found, else NULL
+ **/
+TnyHeader* modest_header_view_get_header_at_pos (ModestHeaderView *header_view,
+ gint initial_x,
+ gint initial_y);
+
+
+#ifdef MODEST_TOOLKIT_HILDON2
+GtkWidget *modest_header_view_setup_live_search (ModestHeaderView *self);
+#endif