/**
* Dashboard HTML generator — orchestrates all modules into a single self-contained HTML file.
*
* Composes CSS, shared JS, and tab-specific JS into one HTML string with all data inlined.
* Each tool tab (Fitness, Simulation) has subtabs: Sessions, Catalog, Recipes.
*/
import './tool-tabs-registrations.js';
import type { StoredSession, GraphCatalog } from '@opensip-tools/contracts';
/**
* Inputs to the dashboard HTML generator.
*
* `sessions` is required; everything else has a sensible default
* (empty array / null) so a Tool that does not produce a catalog or
* recipes can call `generateDashboardHtml({ sessions })` and get a
* working dashboard.
*
* Future tool-shaped data — alarm history, dependency graphs, simulation
* traces — will land as new optional fields on this interface rather
* than as new positional parameters. That keeps the call site
* order-independent and the public API source-stable.
*/
export interface DashboardInput {
sessions: StoredSession[];
checkCatalog?: readonly unknown[];
recipeCatalog?: readonly unknown[];
graphCatalog?: GraphCatalog | null;
graphRuleCatalog?: readonly unknown[];
graphRecipeCatalog?: readonly unknown[];
editorProtocol?: string | null;
}
/** Renders a self-contained HTML dashboard string from sessions and catalog inputs. */
export declare function generateDashboardHtml(input: DashboardInput): string;
//# sourceMappingURL=generator.d.ts.map