"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.SharedState = exports.SharedStateKey = void 0;
const state_1 = require("../../../pm/state.js");
const plugin_1 = require("./plugin.js");
var utils_1 = require("./utils.js");
Object.defineProperty(exports, "SharedStateKey", { enumerable: true, get: function () { return utils_1.SharedStateKey; } });
/**
 * This extension enables a plugin that stores internal state and handles its changes via meta-information in transactions.
 * You can get, change and subscribe to state changes using a SharedStateKey instance.
 */
const SharedState = (builder) => {
    builder.addPlugin(() => new state_1.Plugin(plugin_1.pluginSpec));
};
exports.SharedState = SharedState;
//# sourceMappingURL=SharedState.js.map
