/**
 * SpecVerse Generators
 *
 * Export all generator modules + engine adapter for EngineRegistry discovery.
 */
export { AIViewGenerator } from './ai-view-generator.js';
export { UMLGenerator } from './UML-generator.js';
export { DocumentationGenerator } from './documentation-generator.js';
// Diagram engine
export { UnifiedDiagramGenerator } from './diagram-engine/index.js';
export { createPluginsFromRegistry } from './diagram-engine/index.js';
export { ERDiagramPlugin, ClassDiagramPlugin, EventFlowPlugin, LifecyclePlugin, ArchitecturePlugin, DeploymentPlugin, ManifestPlugin, BaseDiagramPlugin, } from './diagram-engine/index.js';
import { UMLGenerator } from './UML-generator.js';
import { DocumentationGenerator } from './documentation-generator.js';
import { UnifiedDiagramGenerator, createPluginsFromRegistry } from './diagram-engine/index.js';
class SpecVerseGeneratorsEngine {
    name = 'generators';
    version = '3.5.2';
    capabilities = ['generate-diagrams', 'generate-docs', 'generate-uml'];
    async initialize() {
        // Generators are stateless — no initialization needed
    }
    getInfo() {
        return { name: this.name, version: this.version, capabilities: this.capabilities };
    }
    async generateDiagrams(ast, options) {
        const generator = new UnifiedDiagramGenerator({
            plugins: createPluginsFromRegistry(),
            theme: options?.theme || 'default',
        });
        if (options?.type && options.type !== 'all') {
            const diagram = generator.generate(ast, options.type);
            const result = new Map();
            result.set(options.type, diagram);
            return result;
        }
        return generator.generateAll(ast);
    }
    async generateDocs(ast, options) {
        const generator = new DocumentationGenerator();
        return generator.generate(ast, { format: (options?.format || 'markdown') });
    }
    async generateUML(ast, options) {
        const generator = new UMLGenerator();
        return generator.generate(ast, { type: (options?.type || 'all') });
    }
}
export const engine = new SpecVerseGeneratorsEngine();
export default engine;
export { SpecVerseGeneratorsEngine };
//# sourceMappingURL=index.js.map