+ void createSchemaSetFromModules(@NonNull String dataspaceName, @NonNull String schemaSetName,
+ @NonNull Map<String, String> newModuleNameToContentMap,
+ Collection<ModuleReference> moduleReferences);
+
+ /**
+ * Read schema set in the given dataspace.
+ *
+ * @param dataspaceName dataspace name
+ * @param schemaSetName schema set name
+ * @return a SchemaSet
+ */
+ SchemaSet getSchemaSet(@NonNull String dataspaceName, @NonNull String schemaSetName);
+
+ /**
+ * Deletes Schema Set.
+ *
+ * @param dataspaceName dataspace name
+ * @param schemaSetName schema set name
+ * @param cascadeDeleteAllowed indicates the allowance to remove associated anchors and data if exist
+ * @throws DataInUseException if cascadeDeleteAllowed is set to CASCADE_DELETE_PROHIBITED and there
+ * is associated anchor record exists in database
+ */
+ void deleteSchemaSet(@NonNull String dataspaceName, @NonNull String schemaSetName,
+ @NonNull CascadeDeleteAllowed cascadeDeleteAllowed);
+
+ /**
+ * Retrieve module references for the given dataspace name.
+ *
+ * @param dataspaceName dataspace name
+ * @return a list of ModuleReference objects
+ */
+ Collection<ModuleReference> getYangResourceModuleReferences(String dataspaceName);
+
+ /**
+ * Retrieve module references for the given dataspace name and anchor name.
+ *
+ * @param dataspaceName dataspace name
+ * @param anchorName anchor name
+ * @return a list of ModuleReference objects
+ */
+ Collection<ModuleReference> getYangResourcesModuleReferences(String dataspaceName, String anchorName);
+
+ /**
+ * Identify previously unknown Yang Resource module references.
+ * The system will ignore the namespace of all module references.
+ *
+ * @param moduleReferencesToCheck the moduleReferencesToCheck
+ * @returns collection of module references (namespace will be always blank)
+ */
+ Collection<ModuleReference> identifyNewModuleReferences(
+ Collection<ModuleReference> moduleReferencesToCheck);
+