"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getLayout = exports.registerLayout = exports.getLayoutCapabilities = void 0;
var layouts = {};
var layoutCaps = {};
/**
 * Gets the capabilities of the given layout template
 *
 * @param name
 * @returns
 * @since 0.14
 */
function getLayoutCapabilities(name) {
    return layoutCaps[name];
}
exports.getLayoutCapabilities = getLayoutCapabilities;
/**
 * Register the given react layout template component factory function for the given
 * template name
 *
 * @export
 * @param {string} name
 * @param {LayoutFactory} factory
 * @param caps The capabilities of this template
 * @since 0.14
 */
function registerLayout(name, factory, caps) {
    layouts[name] = factory;
    layoutCaps[name] = caps;
}
exports.registerLayout = registerLayout;
/**
 * Gets the registerd react layout template component factory function for the given
 * template name
 *
 * @export
 * @param {string} name
 * @returns {LayoutFactory}
 */
function getLayout(name) {
    return layouts[name];
}
exports.getLayout = getLayout;
//# sourceMappingURL=layout.js.map