+typedef void (*ModestTnySendQueueWakeupFunc) (ModestTnySendQueue *self, gboolean cancelled, GError *err, gpointer userdata);
+
+/**
+ * modest_tny_send_queue_wakeup:
+ * @self: a valid #ModestTnySendQueue instance
+ *
+ * Wakes up all suspended messages in the send queue. This means that
+ * the send queue will try to send them again. Note that you'd
+ * probably need a tny_send_queue_flush to force it
+ */
+void modest_tny_send_queue_wakeup (ModestTnySendQueue *self,
+ ModestTnySendQueueWakeupFunc callback,
+ gpointer userdata);
+
+/**
+ * modest_tny_send_queue_get_requested_send_receive:
+ * @self: a #ModestTnySendQueue
+ *
+ * gets if the last request to send queue was an interactive send
+ * receive or not.
+ *
+ * Returns: %TRUE if last request was an interactive send receive,
+ * %FALSE otherwise.
+ */
+gboolean modest_tny_send_queue_get_requested_send_receive (ModestTnySendQueue *self);
+
+/**
+ * modest_tny_send_queue_set_requested_send_receive:
+ * @self: a #ModestTnySendQueue
+ * @requested_send_receive: mode.
+ *
+ * this should be called on each call to process the queue, to distinguish if the
+ * action was an interactive send receive.
+ */
+void modest_tny_send_queue_set_requested_send_receive (ModestTnySendQueue *self, gboolean requested_send_receive);
+