diff --git a/BUILD b/BUILD
index 81affad..a62edb8 100644
--- a/BUILD
+++ b/BUILD
@@ -1278,6 +1278,7 @@
     name = "src_trace_processor_db_overlays_overlays",
     srcs = [
         "src/trace_processor/db/overlays/storage_overlay.h",
+        "src/trace_processor/db/overlays/types.h",
     ],
 )
 
diff --git a/src/trace_processor/db/overlays/BUILD.gn b/src/trace_processor/db/overlays/BUILD.gn
index 6a0bf99..c1d50d8 100644
--- a/src/trace_processor/db/overlays/BUILD.gn
+++ b/src/trace_processor/db/overlays/BUILD.gn
@@ -13,7 +13,10 @@
 # limitations under the License.
 
 source_set("overlays") {
-  sources = [ "storage_overlay.h" ]
+  sources = [
+    "storage_overlay.h",
+    "types.h",
+  ]
   deps = [
     "../../../../gn:default_deps",
     "../../containers",
diff --git a/src/trace_processor/db/overlays/storage_overlay.h b/src/trace_processor/db/overlays/storage_overlay.h
index bee562e..58dbf50 100644
--- a/src/trace_processor/db/overlays/storage_overlay.h
+++ b/src/trace_processor/db/overlays/storage_overlay.h
@@ -17,10 +17,7 @@
 #ifndef SRC_TRACE_PROCESSOR_DB_OVERLAYS_STORAGE_OVERLAY_H_
 #define SRC_TRACE_PROCESSOR_DB_OVERLAYS_STORAGE_OVERLAY_H_
 
-#include <vector>
-
-#include "src/trace_processor/containers/bit_vector.h"
-#include "src/trace_processor/containers/row_map.h"
+#include "src/trace_processor/db/overlays/types.h"
 
 namespace perfetto {
 namespace trace_processor {
@@ -44,51 +41,9 @@
   // be in terms of storage indices and output might be in terms of table
   // indices).
   //
-  // For this reason, we define a bunch of wrapper structs which "tag" the data
+  // For this reason, we use the defined wrapper structs which "tag" the data
   // structure with the semantics.
 
-  // A range of indices in the table space.
-  struct TableRange {
-    RowMap::Range range;
-  };
-  // A range of indices in the storage space.
-  struct StorageRange {
-    RowMap::Range range;
-  };
-  // A BitVector with set bits corresponding to indices in the table space.
-  struct TableBitVector {
-    BitVector bv;
-  };
-  // A BitVector with set bits corresponding to indices in the table space.
-  struct StorageBitVector {
-    BitVector bv;
-  };
-  // Represents a vector of indices in the table space.
-  struct TableIndexVector {
-    std::vector<uint32_t> indices;
-  };
-  // Represents a vector of indices in the storage space.
-  struct StorageIndexVector {
-    std::vector<uint32_t> indices;
-  };
-
-  // A subset of FilterOp containing operations which can be handled by
-  // overlays.
-  enum class OverlayOp {
-    kIsNull,
-    kIsNotNull,
-    kOther,
-  };
-
-  // Contains estimates of the cost for each of method in this class per row.
-  struct CostEstimatePerRow {
-    uint32_t to_storage_range;
-    uint32_t to_table_bit_vector;
-    uint32_t is_storage_search_required;
-    uint32_t map_to_storage_index_vector;
-    uint32_t index_search;
-  };
-
   virtual ~StorageOverlay();
 
   // Maps a range of indices in table space to an equivalent range of
diff --git a/src/trace_processor/db/overlays/types.h b/src/trace_processor/db/overlays/types.h
new file mode 100644
index 0000000..4e72a41
--- /dev/null
+++ b/src/trace_processor/db/overlays/types.h
@@ -0,0 +1,77 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef SRC_TRACE_PROCESSOR_DB_OVERLAYS_TYPES_H_
+#define SRC_TRACE_PROCESSOR_DB_OVERLAYS_TYPES_H_
+
+#include "src/trace_processor/containers/bit_vector.h"
+#include "src/trace_processor/containers/row_map.h"
+
+namespace perfetto {
+namespace trace_processor {
+namespace overlays {
+
+// A range of indices in the table space.
+struct TableRange {
+  RowMap::Range range;
+};
+
+// A range of indices in the storage space.
+struct StorageRange {
+  RowMap::Range range;
+};
+
+// A BitVector with set bits corresponding to indices in the table space.
+struct TableBitVector {
+  BitVector bv;
+};
+
+// A BitVector with set bits corresponding to indices in the table space.
+struct StorageBitVector {
+  BitVector bv;
+};
+
+// Represents a vector of indices in the table space.
+struct TableIndexVector {
+  std::vector<uint32_t> indices;
+};
+
+// Represents a vector of indices in the storage space.
+struct StorageIndexVector {
+  std::vector<uint32_t> indices;
+};
+
+// A subset of FilterOp containing operations which can be handled by
+// overlays.
+enum class OverlayOp {
+  kIsNull,
+  kIsNotNull,
+  kOther,
+};
+
+// Contains estimates of the cost for each of method in this class per row.
+struct CostEstimatePerRow {
+  uint32_t to_storage_range;
+  uint32_t to_table_bit_vector;
+  uint32_t is_storage_search_required;
+  uint32_t map_to_storage_index_vector;
+  uint32_t index_search;
+};
+
+}  // namespace overlays
+}  // namespace trace_processor
+}  // namespace perfetto
+
+#endif  // SRC_TRACE_PROCESSOR_DB_OVERLAYS_TYPES_H_
