"use strict";
/**
 * WASM Plugin Loader - Main Entry Point
 *
 * Central export module for the WASM plugin loader subsystem.
 * This is the single entry point that re-exports all public APIs from the loader modules.
 */
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.setupWasmPluginRoutes = exports.setupPluginSpecificRoutes = exports.handleLogViewerRequest = exports.backwardsCompat = exports.setWasmPluginEnabled = exports.updateWasmPluginConfig = exports.shutdownAllWasmPlugins = exports.handleWasmPluginCrash = exports.reloadWasmPlugin = exports.unloadWasmPlugin = exports.stopWasmPlugin = exports.startWasmPlugin = exports.getWasmPlugin = exports.getAllWasmPlugins = exports.registerWasmPlugin = exports.setPluginStatus = exports.restartTimers = exports.wasmPlugins = void 0;
// Import lifecycle functions first
const plugin_lifecycle_1 = require("./plugin-lifecycle");
Object.defineProperty(exports, "startWasmPlugin", { enumerable: true, get: function () { return plugin_lifecycle_1.startWasmPlugin; } });
Object.defineProperty(exports, "stopWasmPlugin", { enumerable: true, get: function () { return plugin_lifecycle_1.stopWasmPlugin; } });
Object.defineProperty(exports, "unloadWasmPlugin", { enumerable: true, get: function () { return plugin_lifecycle_1.unloadWasmPlugin; } });
Object.defineProperty(exports, "reloadWasmPlugin", { enumerable: true, get: function () { return plugin_lifecycle_1.reloadWasmPlugin; } });
Object.defineProperty(exports, "handleWasmPluginCrash", { enumerable: true, get: function () { return plugin_lifecycle_1.handleWasmPluginCrash; } });
Object.defineProperty(exports, "shutdownAllWasmPlugins", { enumerable: true, get: function () { return plugin_lifecycle_1.shutdownAllWasmPlugins; } });
const plugin_config_1 = require("./plugin-config");
Object.defineProperty(exports, "updateWasmPluginConfig", { enumerable: true, get: function () { return plugin_config_1.updateWasmPluginConfig; } });
Object.defineProperty(exports, "setWasmPluginEnabled", { enumerable: true, get: function () { return plugin_config_1.setWasmPluginEnabled; } });
// Initialize circular dependency resolution
const plugin_registry_1 = require("./plugin-registry");
(0, plugin_registry_1.initializeLifecycleFunctions)(plugin_lifecycle_1.startWasmPlugin, plugin_config_1.updateWasmPluginConfig, plugin_lifecycle_1.unloadWasmPlugin, plugin_lifecycle_1.stopWasmPlugin);
// Export types
__exportStar(require("./types"), exports);
// Export registry functions and maps
var plugin_registry_2 = require("./plugin-registry");
Object.defineProperty(exports, "wasmPlugins", { enumerable: true, get: function () { return plugin_registry_2.wasmPlugins; } });
Object.defineProperty(exports, "restartTimers", { enumerable: true, get: function () { return plugin_registry_2.restartTimers; } });
Object.defineProperty(exports, "setPluginStatus", { enumerable: true, get: function () { return plugin_registry_2.setPluginStatus; } });
Object.defineProperty(exports, "registerWasmPlugin", { enumerable: true, get: function () { return plugin_registry_2.registerWasmPlugin; } });
Object.defineProperty(exports, "getAllWasmPlugins", { enumerable: true, get: function () { return plugin_registry_2.getAllWasmPlugins; } });
Object.defineProperty(exports, "getWasmPlugin", { enumerable: true, get: function () { return plugin_registry_2.getWasmPlugin; } });
// Export route setup functions
var plugin_routes_1 = require("./plugin-routes");
Object.defineProperty(exports, "backwardsCompat", { enumerable: true, get: function () { return plugin_routes_1.backwardsCompat; } });
Object.defineProperty(exports, "handleLogViewerRequest", { enumerable: true, get: function () { return plugin_routes_1.handleLogViewerRequest; } });
Object.defineProperty(exports, "setupPluginSpecificRoutes", { enumerable: true, get: function () { return plugin_routes_1.setupPluginSpecificRoutes; } });
Object.defineProperty(exports, "setupWasmPluginRoutes", { enumerable: true, get: function () { return plugin_routes_1.setupWasmPluginRoutes; } });
//# sourceMappingURL=index.js.map