"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.modelToHubEditableContent = modelToHubEditableContent;
const PropertyMapper_1 = require("../core/_internal/PropertyMapper");
const getPropertyMap_1 = require("./_internal/getPropertyMap");
const computeProps_1 = require("./_internal/computeProps");
/**
 * Converts an Imodel to a Hub editable content object
 *
 * @param model IModel to convert
 * @param requestOptions
 * @param enrichments  hash of enrichments to apply to the content
 */
function modelToHubEditableContent(model, requestOptions, enrichments, content = {}) {
    const mapper = new PropertyMapper_1.PropertyMapper((0, getPropertyMap_1.getPropertyMap)());
    const updatedContent = mapper.storeToEntity(model, content);
    return (0, computeProps_1.computeProps)(model, updatedContent, requestOptions, enrichments);
}
//# sourceMappingURL=modelToHubEditableContent.js.map