/**
 * VegaModuleLoader provides a lazy loading mechanism for Vega's public API modules.
 *
 * Instead of eagerly injecting all modules into `globalThis` at startup (as `vega.esm.js`
 * does for backward compatibility), consumers can use the lean entry (`vega-lean.esm.js`)
 * which registers only `VegaModuleLoader` on `globalThis`, then load modules on demand:
 *
 * ```js
 * const VegaThemeManager = await VegaModuleLoader.load('VegaThemeManager');
 * ```
 *
 * This results in significantly smaller initial bundle sizes for vanilla JS consumers
 * who only need a subset of Vega's public API modules.
 *
 * VegaModuleLoader is available in ALL entry points (full browser, lean browser,
 * and framework loaders), so it can be used alongside eager injection too.
 *
 * ⚠ AUTO-GENERATED — do not edit manually.
 *   Source of truth: src/global/scripts/vanilla-js-global-setup.ts
 *   Generator:       scripts/generate-vega-module-loader.js
 *   Re-generate:     yarn generate:module-loader
 */
export declare const VegaModuleLoader: {
  /**
   * Lazily load a Vega module by name.
   *
   * @param moduleName - The name of the module to load (e.g. 'VegaThemeManager')
   * @returns A Promise that resolves to the module's value
   *
   * @example
   * ```js
   * const VegaThemeManager = await VegaModuleLoader.load('VegaThemeManager');
   * VegaThemeManager.applyBranding('gp');
   * ```
   */
  load<T = unknown>(moduleName: string): Promise<T>;
  /**
   * Returns the list of all available module names that can be loaded.
   */
  getAvailableModules(): string[];
};
