+typedef struct
+{
+ guint local_size;
+ guint msg_count;
+ guint folders;
+} ModestFolderStats;
+
+/**
+ * modest_tny_account_new_from_account:
+ * @account_mgr: a valid account mgr instance
+ * @account_name: the modest account name for which to create a corresponding tny account of the given type.
+ * @type: the type of account to create (TNY_ACCOUNT_TYPE_STORE or TNY_ACCOUNT_TYPE_TRANSPORT)
+ * @session: a tny camel session
+ * @get_pass_func: the get-password function
+ * @forget_pass_func: the forget-password function
+ *
+ * get a tnyaccount corresponding to the server_accounts (store or transport) for this account.
+ *
+ * Returns: a new TnyAccount or NULL in case of error.
+ */
+TnyAccount*
+modest_tny_account_new_from_account (ModestAccountMgr *account_mgr, const gchar *account_name,
+ TnyAccountType type,
+ TnySessionCamel *session,
+ TnyGetPassFunc get_pass_func,
+ TnyForgetPassFunc forget_pass_func);
+
+
+/**
+ * modest_tny_account_update_from_account:
+ * @tny_account: a valid tny_account
+ *
+ * update a tnyaccount corresponding to the server_accounts (store or transport) for this account.
+ *
+ * Returns: a TRUE or FALSE in case of error.
+ */
+gboolean
+modest_tny_account_update_from_account (TnyAccount *tny_account,
+ TnyGetPassFunc get_pass_func,
+ TnyForgetPassFunc forget_pass_func);
+
+
+/**
+ * modest_tny_account_new_for_local_folders:
+ * @account_mgr: a valid account mgr instance
+ * @session: a tny camel session
+ * @location_filepath: The location at which the local-folders directory exists, or NULL to specify $HOME.
+ *
+ * get the local folders (pseudo) account; you should only need one such account.
+ *
+ * Returns: a new local folders TnyAccount or NULL in case of error.
+ */
+TnyAccount* modest_tny_account_new_for_local_folders (ModestAccountMgr *account_mgr,
+ TnySessionCamel *session,
+ const gchar* location_filepath);
+
+/**
+ * modest_tny_account_new_for_per_account_local_outbox_folder:
+ * @account_mgr: a valid account mgr instance
+ * @account_name: a modest account name.
+ * @session: a tny camel session
+ *
+ * get the per-account local outbox folder (pseudo) account.
+ *
+ * Returns: a new per-account local outbox folder TnyAccount or NULL in case of error.
+ */
+TnyAccount* modest_tny_account_new_for_per_account_local_outbox_folder (
+ ModestAccountMgr *account_mgr, const gchar* account_name,
+ TnySessionCamel *session);
+
+/**
+ * modest_tny_account_new_from_server_account_name:
+ * @account_mgr: a valid account mgr instance
+ * @session: a valid TnySessionCamel instance.
+ * @server_account_name: the name of a server account in the configuration system.
+ *
+ * Returns: a new TnyAccount or NULL in case of error.
+ */
+TnyAccount*
+modest_tny_account_new_from_server_account_name (ModestAccountMgr *account_mgr,
+ TnySessionCamel *session,
+ const gchar* server_account_name,
+ TnyGetPassFunc get_pass_func,
+ TnyForgetPassFunc forget_pass_func);
+