diff --git a/lib/actions/draft-actions.js b/lib/actions/draft-actions.js
new file mode 100644
--- /dev/null
+++ b/lib/actions/draft-actions.js
@@ -0,0 +1,7 @@
+// @flow
+
+const updateDraftActionType = 'UPDATE_DRAFT';
+const moveDraftActionType = 'MOVE_DRAFT';
+const setDraftStoreDrafts = 'SET_DRAFT_STORE_DRAFTS';
+
+export { updateDraftActionType, moveDraftActionType, setDraftStoreDrafts };
diff --git a/lib/types/draft-types.js b/lib/types/draft-types.js
new file mode 100644
--- /dev/null
+++ b/lib/types/draft-types.js
@@ -0,0 +1,25 @@
+// @flow
+
+export type DraftStore = {
+  +drafts: { +[key: string]: string },
+};
+
+export type UpdateDraftOperation = {
+  +type: 'update',
+  +payload: { +key: string, +text: string },
+};
+
+export type MoveDraftOperation = {
+  +type: 'move',
+  +payload: { +oldKey: string, +newKey: string },
+};
+
+export type RemoveAllDraftsOperation = {
+  +type: 'remove_all',
+};
+
+export type DraftStoreOperation =
+  | UpdateDraftOperation
+  | MoveDraftOperation
+  | RemoveAllDraftsOperation;
+export type ClientDBDraftStoreOperation = DraftStoreOperation;