diff --git a/frontend/src/metabase-lib/lib/Question.ts b/frontend/src/metabase-lib/lib/Question.ts
index e2785b255e9f3b17301ad8f0c79e829d1c542b26..21df1eb0bad1700d8b90f74a9c562f06f945641e 100644
--- a/frontend/src/metabase-lib/lib/Question.ts
+++ b/frontend/src/metabase-lib/lib/Question.ts
@@ -62,7 +62,7 @@ import { DependentMetadataItem } from "metabase-types/types/Query";
 import { utf8_to_b64url } from "metabase/lib/encoding";
 import { CollectionId } from "metabase-types/api";
 
-import { getQuestionVirtualTableId } from "metabase/lib/saved-questions/saved-questions";
+import { getQuestionVirtualTableId } from "metabase-lib/lib/metadata/utils/saved-questions";
 import {
   aggregate,
   breakout,
diff --git a/frontend/src/metabase-lib/lib/metadata/Table.ts b/frontend/src/metabase-lib/lib/metadata/Table.ts
index 86bdbb0834d46881c577a6347a0187bc15d06670..8dff3cc29567dfacc237081038e259cd2f2b15ef 100644
--- a/frontend/src/metabase-lib/lib/metadata/Table.ts
+++ b/frontend/src/metabase-lib/lib/metadata/Table.ts
@@ -5,7 +5,7 @@
 import Question from "../Question"; // eslint-disable-line import/order
 import { singularize } from "metabase/lib/formatting";
 import type { TableId } from "metabase-types/types/Table";
-import { isVirtualCardId } from "metabase/lib/saved-questions/saved-questions";
+import { isVirtualCardId } from "metabase-lib/lib/metadata/utils/saved-questions";
 import { getAggregationOperators } from "metabase-lib/lib/operators/utils";
 import { createLookupByProperty, memoizeClass } from "metabase-lib/lib/utils";
 import Base from "./Base";
diff --git a/frontend/src/metabase-lib/lib/metadata/utils/fields.ts b/frontend/src/metabase-lib/lib/metadata/utils/fields.ts
index 79af47b4324eb8864c4a38347f8ddc3831c085db..5337568626db00052c30230f55d5cc40571bf698 100644
--- a/frontend/src/metabase-lib/lib/metadata/utils/fields.ts
+++ b/frontend/src/metabase-lib/lib/metadata/utils/fields.ts
@@ -1,4 +1,4 @@
-import { isVirtualCardId } from "metabase/lib/saved-questions/saved-questions";
+import { isVirtualCardId } from "metabase-lib/lib/metadata/utils/saved-questions";
 import type Field from "../Field";
 
 export function getUniqueFieldId(field: Field): number | string {
diff --git a/frontend/src/metabase-lib/lib/metadata/utils/models.ts b/frontend/src/metabase-lib/lib/metadata/utils/models.ts
index f543647959f5c063f444d1f5931bc5f2150f68a0..1e2ae24e2a3a9f104d64890d71b1c02d623966bc 100644
--- a/frontend/src/metabase-lib/lib/metadata/utils/models.ts
+++ b/frontend/src/metabase-lib/lib/metadata/utils/models.ts
@@ -5,7 +5,7 @@ import {
   CardId,
   StructuredDatasetQuery,
 } from "metabase-types/types/Card";
-import { getQuestionVirtualTableId } from "metabase/lib/saved-questions";
+import { getQuestionVirtualTableId } from "metabase-lib/lib/metadata/utils/saved-questions";
 import Database from "metabase-lib/lib/metadata/Database";
 import Question from "metabase-lib/lib/Question";
 import NativeQuery from "metabase-lib/lib/queries/NativeQuery";
diff --git a/frontend/src/metabase/lib/saved-questions/saved-questions.js b/frontend/src/metabase-lib/lib/metadata/utils/saved-questions.js
similarity index 100%
rename from frontend/src/metabase/lib/saved-questions/saved-questions.js
rename to frontend/src/metabase-lib/lib/metadata/utils/saved-questions.js
diff --git a/frontend/src/metabase/lib/saved-questions/saved-questions.unit.spec.js b/frontend/src/metabase-lib/lib/metadata/utils/saved-questions.unit.spec.js
similarity index 100%
rename from frontend/src/metabase/lib/saved-questions/saved-questions.unit.spec.js
rename to frontend/src/metabase-lib/lib/metadata/utils/saved-questions.unit.spec.js
diff --git a/frontend/src/metabase-lib/lib/queries/StructuredQuery.ts b/frontend/src/metabase-lib/lib/queries/StructuredQuery.ts
index d70340c90c308b1db66da34e9c9ebdd8614571f1..0a408b5cab92a1cb3b1ed59efd9f8629c1d5e7a8 100644
--- a/frontend/src/metabase-lib/lib/queries/StructuredQuery.ts
+++ b/frontend/src/metabase-lib/lib/queries/StructuredQuery.ts
@@ -30,7 +30,7 @@ import { Column } from "metabase-types/types/Dataset";
 import {
   isVirtualCardId,
   getQuestionIdFromVirtualTableId,
-} from "metabase/lib/saved-questions";
+} from "metabase-lib/lib/metadata/utils/saved-questions";
 import { isCompatibleAggregationOperatorForField } from "metabase-lib/lib/operators/utils";
 import { TYPE } from "metabase-lib/lib/types/constants";
 import { fieldRefForColumn } from "metabase-lib/lib/queries/utils/dataset";
diff --git a/frontend/src/metabase-lib/lib/queries/utils/nested-card-query-table.ts b/frontend/src/metabase-lib/lib/queries/utils/nested-card-query-table.ts
index ed99a354551743f4ec976c93fbf2fbc74915985f..bc41b691894335572968ddfb000275ec4a342bb2 100644
--- a/frontend/src/metabase-lib/lib/queries/utils/nested-card-query-table.ts
+++ b/frontend/src/metabase-lib/lib/queries/utils/nested-card-query-table.ts
@@ -1,7 +1,7 @@
 import {
   getQuestionIdFromVirtualTableId,
   getQuestionVirtualTableId,
-} from "metabase/lib/saved-questions";
+} from "metabase-lib/lib/metadata/utils/saved-questions";
 import type Table from "metabase-lib/lib/metadata/Table";
 import type Question from "metabase-lib/lib/Question";
 import type StructuredQuery from "../StructuredQuery";
diff --git a/frontend/src/metabase-lib/lib/queries/utils/structured-query-table.ts b/frontend/src/metabase-lib/lib/queries/utils/structured-query-table.ts
index d53a72aab31bb0cffbf5638fff431aa2f46fe294..de6a0821025813cdb09d2d55218bf9c0243ce05b 100644
--- a/frontend/src/metabase-lib/lib/queries/utils/structured-query-table.ts
+++ b/frontend/src/metabase-lib/lib/queries/utils/structured-query-table.ts
@@ -1,5 +1,5 @@
 import type { Field as FieldRef } from "metabase-types/types/Query";
-import { isVirtualCardId } from "metabase/lib/saved-questions";
+import { isVirtualCardId } from "metabase-lib/lib/metadata/utils/saved-questions";
 import type Field from "metabase-lib/lib/metadata/Field";
 import type Table from "metabase-lib/lib/metadata/Table";
 
diff --git a/frontend/src/metabase/admin/datamodel/components/database/MetadataTablePicker.jsx b/frontend/src/metabase/admin/datamodel/components/database/MetadataTablePicker.jsx
index 9dfbf138cba3e75dcedec8303575dab36919f7e6..0df444f6fb0ade030e12f1a68f5aed811ea15110 100644
--- a/frontend/src/metabase/admin/datamodel/components/database/MetadataTablePicker.jsx
+++ b/frontend/src/metabase/admin/datamodel/components/database/MetadataTablePicker.jsx
@@ -5,8 +5,8 @@ import _ from "underscore";
 import Databases from "metabase/entities/databases";
 import Tables from "metabase/entities/tables";
 import { isSyncInProgress } from "metabase/lib/syncing";
-import { SAVED_QUESTIONS_VIRTUAL_DB_ID } from "metabase/lib/saved-questions";
 import { PLUGIN_FEATURE_LEVEL_PERMISSIONS } from "metabase/plugins";
+import { SAVED_QUESTIONS_VIRTUAL_DB_ID } from "metabase-lib/lib/metadata/utils/saved-questions";
 import MetadataTableList from "./MetadataTableList";
 import MetadataSchemaList from "./MetadataSchemaList";
 
diff --git a/frontend/src/metabase/admin/permissions/selectors/data-permissions/diff.ts b/frontend/src/metabase/admin/permissions/selectors/data-permissions/diff.ts
index d19a50ff232dd7a4d41ea5bf4993f454176d4445..43be8c08a2949533a4ae925f19ca9eece4e3c8a4 100644
--- a/frontend/src/metabase/admin/permissions/selectors/data-permissions/diff.ts
+++ b/frontend/src/metabase/admin/permissions/selectors/data-permissions/diff.ts
@@ -3,8 +3,8 @@ import _ from "underscore";
 import { State } from "metabase-types/store";
 import Groups from "metabase/entities/groups";
 import { diffDataPermissions } from "metabase/admin/permissions/utils/graph";
-import { isVirtualCardId } from "metabase/lib/saved-questions/saved-questions";
 import { Group } from "metabase-types/api";
+import { isVirtualCardId } from "metabase-lib/lib/metadata/utils/saved-questions";
 
 const getDatabasesWithTables = createSelector(
   (state: State) => state.entities.databases,
diff --git a/frontend/src/metabase/browse/components/TableBrowser/TableBrowser.jsx b/frontend/src/metabase/browse/components/TableBrowser/TableBrowser.jsx
index 4882c88702bdb2d0e68a90e2180cc4e82d85515f..7f81060550b08d08c6193438e60dd5fb3a67a3e6 100644
--- a/frontend/src/metabase/browse/components/TableBrowser/TableBrowser.jsx
+++ b/frontend/src/metabase/browse/components/TableBrowser/TableBrowser.jsx
@@ -4,14 +4,14 @@ import { t } from "ttag";
 import { color } from "metabase/lib/colors";
 import * as Urls from "metabase/lib/urls";
 import { isSyncInProgress } from "metabase/lib/syncing";
-import {
-  isVirtualCardId,
-  SAVED_QUESTIONS_VIRTUAL_DB_ID,
-} from "metabase/lib/saved-questions";
 import Database from "metabase/entities/databases";
 import EntityItem from "metabase/components/EntityItem";
 import Icon from "metabase/components/Icon";
 import { Grid } from "metabase/components/Grid";
+import {
+  isVirtualCardId,
+  SAVED_QUESTIONS_VIRTUAL_DB_ID,
+} from "metabase-lib/lib/metadata/utils/saved-questions";
 
 import { ANALYTICS_CONTEXT } from "../../constants";
 import BrowseHeader from "../BrowseHeader";
diff --git a/frontend/src/metabase/browse/containers/TableBrowser/TableBrowser.jsx b/frontend/src/metabase/browse/containers/TableBrowser/TableBrowser.jsx
index a3e8ad2f9a95a88fb416ddf0e2738722795acf72..f0e99bffb524d23d282505ab051c80b147e10b50 100644
--- a/frontend/src/metabase/browse/containers/TableBrowser/TableBrowser.jsx
+++ b/frontend/src/metabase/browse/containers/TableBrowser/TableBrowser.jsx
@@ -2,11 +2,11 @@ import { connect } from "react-redux";
 import _ from "underscore";
 import * as Urls from "metabase/lib/urls";
 import { isSyncInProgress } from "metabase/lib/syncing";
-import { SAVED_QUESTIONS_VIRTUAL_DB_ID } from "metabase/lib/saved-questions";
 import Databases from "metabase/entities/databases";
 import Tables from "metabase/entities/tables";
 import { getMetadata } from "metabase/selectors/metadata";
 import { getXraysEnabled } from "metabase/selectors/settings";
+import { SAVED_QUESTIONS_VIRTUAL_DB_ID } from "metabase-lib/lib/metadata/utils/saved-questions";
 import { RELOAD_INTERVAL } from "../../constants";
 import TableBrowser from "../../components/TableBrowser";
 
diff --git a/frontend/src/metabase/components/MetadataInfo/TableInfoPopover/TableInfoPopover.tsx b/frontend/src/metabase/components/MetadataInfo/TableInfoPopover/TableInfoPopover.tsx
index 5c4cbc84dd70d4814748250af191586568603d72..4ac07622ba430aa6a2a1c9423a1e00647caf4f42 100644
--- a/frontend/src/metabase/components/MetadataInfo/TableInfoPopover/TableInfoPopover.tsx
+++ b/frontend/src/metabase/components/MetadataInfo/TableInfoPopover/TableInfoPopover.tsx
@@ -5,7 +5,7 @@ import PropTypes from "prop-types";
 import TippyPopover, {
   ITippyPopoverProps,
 } from "metabase/components/Popover/TippyPopover";
-import { isVirtualCardId } from "metabase/lib/saved-questions/saved-questions";
+import { isVirtualCardId } from "metabase-lib/lib/metadata/utils/saved-questions";
 
 import { WidthBoundTableInfo } from "./TableInfoPopover.styled";
 
diff --git a/frontend/src/metabase/entities/schemas.js b/frontend/src/metabase/entities/schemas.js
index 26319561196ee9d9a1924a7c16394557ac951ea5..da98f9c74ced0e8467237d2b469f867292211a71 100644
--- a/frontend/src/metabase/entities/schemas.js
+++ b/frontend/src/metabase/entities/schemas.js
@@ -2,14 +2,14 @@ import { updateIn } from "icepick";
 import { createEntity } from "metabase/lib/entities";
 
 import { GET } from "metabase/lib/api";
-import {
-  getCollectionVirtualSchemaId,
-  getQuestionVirtualTableId,
-} from "metabase/lib/saved-questions";
 import { generateSchemaId, parseSchemaId } from "metabase/lib/schema";
 
 import { SchemaSchema } from "metabase/schema";
 import Questions from "metabase/entities/questions";
+import {
+  getCollectionVirtualSchemaId,
+  getQuestionVirtualTableId,
+} from "metabase-lib/lib/metadata/utils/saved-questions";
 
 // This is a weird entity because we don't have actual schema objects
 
diff --git a/frontend/src/metabase/entities/tables.js b/frontend/src/metabase/entities/tables.js
index b13c446b80414c229b3c07889b9433251959734a..2de9267136b44b43fe50c4b6794692e00bf04b53 100644
--- a/frontend/src/metabase/entities/tables.js
+++ b/frontend/src/metabase/entities/tables.js
@@ -23,12 +23,11 @@ import Fields from "metabase/entities/fields";
 import Questions from "metabase/entities/questions";
 
 import { GET, PUT } from "metabase/lib/api";
+import { getMetadata } from "metabase/selectors/metadata";
 import {
   convertSavedQuestionToVirtualTable,
   getQuestionVirtualTableId,
-} from "metabase/lib/saved-questions";
-
-import { getMetadata } from "metabase/selectors/metadata";
+} from "metabase-lib/lib/metadata/utils/saved-questions";
 
 const listTables = GET("/api/table");
 const listTablesForDatabase = async (...args) =>
diff --git a/frontend/src/metabase/lib/saved-questions/index.js b/frontend/src/metabase/lib/saved-questions/index.js
deleted file mode 100644
index d00d97a499bfbcf1ab062d7cb524e2177dcf71b4..0000000000000000000000000000000000000000
--- a/frontend/src/metabase/lib/saved-questions/index.js
+++ /dev/null
@@ -1 +0,0 @@
-export * from "./saved-questions";
diff --git a/frontend/src/metabase/lib/urls/browse.ts b/frontend/src/metabase/lib/urls/browse.ts
index 882066331220670c43d2fa0dc13d855222aa6915..71a45363fa5605a5f0511b22e1b9a6dae13ab1c8 100644
--- a/frontend/src/metabase/lib/urls/browse.ts
+++ b/frontend/src/metabase/lib/urls/browse.ts
@@ -1,7 +1,7 @@
 import slugg from "slugg";
 
-import { SAVED_QUESTIONS_VIRTUAL_DB_ID } from "metabase/lib/saved-questions";
 import { Database, Table } from "metabase-types/api";
+import { SAVED_QUESTIONS_VIRTUAL_DB_ID } from "metabase-lib/lib/metadata/utils/saved-questions";
 
 import { appendSlug } from "./utils";
 
diff --git a/frontend/src/metabase/models/components/ModelDetailPage/ModelUsageDetails/ModelUsageDetails.tsx b/frontend/src/metabase/models/components/ModelDetailPage/ModelUsageDetails/ModelUsageDetails.tsx
index ff93ad32afe2ec15e1f76762d20f5305315ab0e0..ac73220d29ea76535d3017ab554bf07e7ce1770d 100644
--- a/frontend/src/metabase/models/components/ModelDetailPage/ModelUsageDetails/ModelUsageDetails.tsx
+++ b/frontend/src/metabase/models/components/ModelDetailPage/ModelUsageDetails/ModelUsageDetails.tsx
@@ -10,11 +10,10 @@ import Questions, {
   getIcon as getQuestionIcon,
 } from "metabase/entities/questions";
 
-import { getQuestionVirtualTableId } from "metabase/lib/saved-questions";
-
 import type { Card } from "metabase-types/api";
 import type { State } from "metabase-types/store";
 import type { Card as LegacyCardType } from "metabase-types/types/Card";
+import { getQuestionVirtualTableId } from "metabase-lib/lib/metadata/utils/saved-questions";
 import type Question from "metabase-lib/lib/Question";
 
 import {
diff --git a/frontend/src/metabase/query_builder/components/DataSelector/DataSelector.jsx b/frontend/src/metabase/query_builder/components/DataSelector/DataSelector.jsx
index f61f2e5e8304dfa6f0287c5e9429168754b23375..b31becd7d275ad13fdb789294a3b4795cb2945cc 100644
--- a/frontend/src/metabase/query_builder/components/DataSelector/DataSelector.jsx
+++ b/frontend/src/metabase/query_builder/components/DataSelector/DataSelector.jsx
@@ -5,12 +5,6 @@ import PropTypes from "prop-types";
 import { t } from "ttag";
 import _ from "underscore";
 
-import {
-  isVirtualCardId,
-  getQuestionVirtualTableId,
-  SAVED_QUESTIONS_VIRTUAL_DB_ID,
-} from "metabase/lib/saved-questions";
-
 import EmptyState from "metabase/components/EmptyState";
 import ListSearchField from "metabase/components/ListSearchField";
 import Icon from "metabase/components/Icon";
@@ -29,6 +23,11 @@ import { PLUGIN_MODERATION } from "metabase/plugins";
 
 import { getMetadata } from "metabase/selectors/metadata";
 import { getHasDataAccess } from "metabase/new_query/selectors";
+import {
+  isVirtualCardId,
+  getQuestionVirtualTableId,
+  SAVED_QUESTIONS_VIRTUAL_DB_ID,
+} from "metabase-lib/lib/metadata/utils/saved-questions";
 import {
   SearchResults,
   convertSearchResultToTableLikeItem,
diff --git a/frontend/src/metabase/query_builder/components/DataSelector/data-search/utils.js b/frontend/src/metabase/query_builder/components/DataSelector/data-search/utils.js
index e5268f3eb556e412398df7ddec2c0e0930b6b852..695ca1e42f81dff9c54aa57348e19ed39ce0d9c6 100644
--- a/frontend/src/metabase/query_builder/components/DataSelector/data-search/utils.js
+++ b/frontend/src/metabase/query_builder/components/DataSelector/data-search/utils.js
@@ -1,4 +1,4 @@
-import { getQuestionVirtualTableId } from "metabase/lib/saved-questions";
+import { getQuestionVirtualTableId } from "metabase-lib/lib/metadata/utils/saved-questions";
 
 export function convertSearchResultToTableLikeItem(searchResultItem) {
   // NOTE: in the entire application when we want to use saved questions as tables
diff --git a/frontend/src/metabase/query_builder/components/DataSelector/saved-question-picker/SavedQuestionList.jsx b/frontend/src/metabase/query_builder/components/DataSelector/saved-question-picker/SavedQuestionList.jsx
index 354c1a067f19f6ccc2a5eb8f53a825316ae66b5d..b40778637097d3bd3fc1b077911fcd62032ac8c6 100644
--- a/frontend/src/metabase/query_builder/components/DataSelector/saved-question-picker/SavedQuestionList.jsx
+++ b/frontend/src/metabase/query_builder/components/DataSelector/saved-question-picker/SavedQuestionList.jsx
@@ -4,10 +4,10 @@ import PropTypes from "prop-types";
 
 import { PLUGIN_MODERATION } from "metabase/plugins";
 import Schemas from "metabase/entities/schemas";
-import { getCollectionVirtualSchemaId } from "metabase/lib/saved-questions";
 import EmptyState from "metabase/components/EmptyState";
 
 import { PERSONAL_COLLECTIONS } from "metabase/entities/collections";
+import { getCollectionVirtualSchemaId } from "metabase-lib/lib/metadata/utils/saved-questions";
 import {
   SavedQuestionListRoot,
   SavedQuestionListItem,
diff --git a/frontend/src/metabase/query_builder/components/DatasetEditor/DatasetFieldMetadataSidebar/MappedFieldPicker/MappedFieldPicker.tsx b/frontend/src/metabase/query_builder/components/DatasetEditor/DatasetFieldMetadataSidebar/MappedFieldPicker/MappedFieldPicker.tsx
index f8e01fba947b3c2055bc4ffd8fc6a2cb9a3f4886..e888ede585f1906f5959d7e2ffa4658317f5a4d4 100644
--- a/frontend/src/metabase/query_builder/components/DatasetEditor/DatasetFieldMetadataSidebar/MappedFieldPicker/MappedFieldPicker.tsx
+++ b/frontend/src/metabase/query_builder/components/DatasetEditor/DatasetFieldMetadataSidebar/MappedFieldPicker/MappedFieldPicker.tsx
@@ -1,10 +1,10 @@
 import React, { useCallback, useRef } from "react";
 import { t } from "ttag";
 
-import { isVirtualCardId } from "metabase/lib/saved-questions";
 import { SchemaTableAndFieldDataSelector } from "metabase/query_builder/components/DataSelector";
 
 import Fields from "metabase/entities/fields";
+import { isVirtualCardId } from "metabase-lib/lib/metadata/utils/saved-questions";
 import Field from "metabase-lib/lib/metadata/Field";
 
 import { StyledSelectButton } from "./MappedFieldPicker.styled";
diff --git a/frontend/src/metabase/query_builder/components/view/QuestionDataSource.jsx b/frontend/src/metabase/query_builder/components/view/QuestionDataSource.jsx
index 1c4ae42299eb691e368ced8c3bea1896da70fb8d..6ae9508af4de09bc4cefd962ef5eaa01c0ea6f86 100644
--- a/frontend/src/metabase/query_builder/components/view/QuestionDataSource.jsx
+++ b/frontend/src/metabase/query_builder/components/view/QuestionDataSource.jsx
@@ -3,16 +3,16 @@ import { t } from "ttag";
 import PropTypes from "prop-types";
 
 import { color } from "metabase/lib/colors";
-import {
-  isVirtualCardId,
-  getQuestionIdFromVirtualTableId,
-} from "metabase/lib/saved-questions";
 import * as Urls from "metabase/lib/urls";
 import Questions from "metabase/entities/questions";
 
 import Tooltip from "metabase/components/Tooltip";
 
 import TableInfoPopover from "metabase/components/MetadataInfo/TableInfoPopover";
+import {
+  isVirtualCardId,
+  getQuestionIdFromVirtualTableId,
+} from "metabase-lib/lib/metadata/utils/saved-questions";
 
 import { HeadBreadcrumbs } from "./HeaderBreadcrumbs";
 import { TablesDivider } from "./QuestionDataSource.styled";
diff --git a/frontend/src/metabase/schema.js b/frontend/src/metabase/schema.js
index 4e937792b8b2ebc467fbfb0990e034243cc26789..263edf3ceba966e75f463b9bb35d16f6ec3cb5de 100644
--- a/frontend/src/metabase/schema.js
+++ b/frontend/src/metabase/schema.js
@@ -2,7 +2,7 @@
 
 import { schema } from "normalizr";
 import { generateSchemaId, entityTypeForObject } from "metabase/lib/schema";
-import { SAVED_QUESTIONS_VIRTUAL_DB_ID } from "metabase/lib/saved-questions";
+import { SAVED_QUESTIONS_VIRTUAL_DB_ID } from "metabase-lib/lib/metadata/utils/saved-questions";
 import { getUniqueFieldId } from "metabase-lib/lib/metadata/utils/fields";
 
 export const QuestionSchema = new schema.Entity("questions");
diff --git a/frontend/src/metabase/selectors/metadata.js b/frontend/src/metabase/selectors/metadata.js
index 2575ad7ea24df64aa31b49597f1f3ae05f4021a7..0dbc2e6e2586e49dc7cee9b80992c37727fa63ac 100644
--- a/frontend/src/metabase/selectors/metadata.js
+++ b/frontend/src/metabase/selectors/metadata.js
@@ -1,7 +1,7 @@
 import { createSelector } from "reselect";
 
 import _ from "underscore";
-import { isVirtualCardId } from "metabase/lib/saved-questions/saved-questions";
+import { isVirtualCardId } from "metabase-lib/lib/metadata/utils/saved-questions";
 import {
   getFieldValues,
   getRemappings,
diff --git a/frontend/src/metabase/visualizations/components/ObjectDetail/ObjectDetail.tsx b/frontend/src/metabase/visualizations/components/ObjectDetail/ObjectDetail.tsx
index ee8a5b2251d03b793a81587370f3934dcd446800..4a7e674cfcd40f95d277accd48b5800e4b9c995a 100644
--- a/frontend/src/metabase/visualizations/components/ObjectDetail/ObjectDetail.tsx
+++ b/frontend/src/metabase/visualizations/components/ObjectDetail/ObjectDetail.tsx
@@ -30,7 +30,7 @@ import {
   getCanZoomNextRow,
 } from "metabase/query_builder/selectors";
 import { columnSettings } from "metabase/visualizations/lib/settings/column";
-import { isVirtualCardId } from "metabase/lib/saved-questions";
+import { isVirtualCardId } from "metabase-lib/lib/metadata/utils/saved-questions";
 import { isPK } from "metabase-lib/lib/types/utils/isa";
 import Table from "metabase-lib/lib/metadata/Table";
 import Question from "metabase-lib/lib/Question";
diff --git a/frontend/test/metabase/entities/schemas.unit.spec.js b/frontend/test/metabase/entities/schemas.unit.spec.js
index 6667e123c21fbe25b93581b5facf3b093ad6408c..e0925d208bba3383b35a2e847b33e88a0d8b98e6 100644
--- a/frontend/test/metabase/entities/schemas.unit.spec.js
+++ b/frontend/test/metabase/entities/schemas.unit.spec.js
@@ -4,7 +4,7 @@ import { getStore } from "__support__/entities-store";
 
 import Schemas from "metabase/entities/schemas";
 import Questions from "metabase/entities/questions";
-import { ROOT_COLLECTION_VIRTUAL_SCHEMA } from "metabase/lib/saved-questions";
+import { ROOT_COLLECTION_VIRTUAL_SCHEMA } from "metabase-lib/lib/metadata/utils/saved-questions";
 
 describe("schema entity", () => {
   let store;
diff --git a/frontend/test/metabase/entities/tables.unit.spec.js b/frontend/test/metabase/entities/tables.unit.spec.js
index 58496f6c554463d9ecd2b032b7fd6384fd4ae540..2884c64e0a49b40610a0eb82f47773a7b1d56ae4 100644
--- a/frontend/test/metabase/entities/tables.unit.spec.js
+++ b/frontend/test/metabase/entities/tables.unit.spec.js
@@ -1,6 +1,6 @@
 import Tables from "metabase/entities/tables";
 import Questions from "metabase/entities/questions";
-import { convertSavedQuestionToVirtualTable } from "metabase/lib/saved-questions";
+import { convertSavedQuestionToVirtualTable } from "metabase-lib/lib/metadata/utils/saved-questions";
 
 describe("table entity", () => {
   describe("saved questions | reducer", () => {
diff --git a/frontend/test/metabase/scenarios/onboarding/urls.cy.spec.js b/frontend/test/metabase/scenarios/onboarding/urls.cy.spec.js
index 7ac96de99e55edf305060ab7bda4cbecb9ae5936..2ae0cecb23c11d88a6373d51c6e9595dbb913e56 100644
--- a/frontend/test/metabase/scenarios/onboarding/urls.cy.spec.js
+++ b/frontend/test/metabase/scenarios/onboarding/urls.cy.spec.js
@@ -6,7 +6,7 @@ import {
 } from "__support__/e2e/helpers";
 import { USERS, SAMPLE_DB_ID } from "__support__/e2e/cypress_data";
 
-import { SAVED_QUESTIONS_VIRTUAL_DB_ID } from "metabase/lib/saved-questions";
+import { SAVED_QUESTIONS_VIRTUAL_DB_ID } from "metabase-lib/lib/metadata/utils/saved-questions";
 
 const { admin, normal } = USERS;