var FrameworkEnum;
(function (FrameworkEnum) {
  FrameworkEnum["Angular"] = "angular";
  FrameworkEnum["Vue"] = "vue";
  FrameworkEnum["React"] = "react";
  FrameworkEnum["Next"] = "next";
  FrameworkEnum["VanillaJs"] = "vanilla-js";
})(FrameworkEnum || (FrameworkEnum = {}));
/** The VegaEnvManager class manages vega environment parameters. */
class VegaEnvManager {
  constructor() {
    // The `__VEGA_VERSION__` will be replaced to a version string when running publish script.
    // eslint-disable-next-line @typescript-eslint/no-magic-numbers
    this.vegaVersion = '__VEGA_VERSION__';
    this.framework = FrameworkEnum.VanillaJs;
  }
  /**
   * The function "getVegaEnv" returns vega environment parameters.
   *
   * @returns {VegaEnvManagerType} The method is returning a VegaEnvManagerType object.
   */
  getVegaEnv() {
    return {
      version: this.vegaVersion,
      framework: this.framework,
    };
  }
  /**
   * The function sets the Vega framework to the specified value.
   *
   * @param {FrameworkEnum} framework - The framework parameter is a type that can be one of the values in the FrameworkSafeList array.
   */
  setVegaFramework(framework) {
    this.framework = framework;
  }
}
const vegaEnvManager = new VegaEnvManager();

export { FrameworkEnum as F, vegaEnvManager as v };
