/** * Framework Router - unified entry point for strategy-based output generation. * Routes requests to appropriate strategies based on OutputApproach. * @module */ import type { PluginManager } from "./plugin-manager.js"; import type { StrategyRegistry } from "./strategy-registry.js"; import type { OutputApproach, RouterRequest, RouterResponse } from "./types.js"; /** * FrameworkRouter - the core routing layer for the unified output ecosystem. * * Responsibilities: * 1. Validate the requested approach * 2. Retrieve the appropriate strategy * 3. Execute the strategy * 4. Run cross-cutting plugins in parallel * 5. Assemble the final RouterResponse * * @example * ```typescript * const response = await frameworkRouter.execute({ * approach: 'speckit', * input: { projectName: 'MyApp' }, * capabilities: ['diagram'], * }); * * if (response.success) { * console.log(response.output); * } * ``` */ export declare class FrameworkRouter { private readonly registry; private readonly plugins; constructor(registry?: StrategyRegistry, plugins?: PluginManager); /** * Execute a request through the appropriate strategy. */ execute(request: RouterRequest): Promise>; /** * List all registered output approaches. */ getApproaches(): OutputApproach[]; /** * Check if an approach is supported. */ supportsApproach(approach: OutputApproach): boolean; } /** * Default singleton instance. */ export declare const frameworkRouter: FrameworkRouter; //# sourceMappingURL=framework-router.d.ts.map