import { type EvaluatorHost, type EvaluatorRuntime } from "../evaluator.ts"; import { type ObserverDispatcher } from "../observer-dispatcher.ts"; import { type ResolvedPluginState } from "../plugin-merger.ts"; import type { SteeringConfig, SteeringDiagnostic } from "../schema.ts"; /** * Run `buildConfig` then `resolvePlugins` over the raw layer list, * short-circuiting before `resolvePlugins` if any merge-side * diagnostic is error-class. Avoids double-emitting * `tracker-name-collision` (O2 in INVARIANTS.md). * `validateUserConfigNames` runs unconditionally so user-config name * issues surface alongside merge errors. */ export declare function runMergerPipeline(layers: readonly SteeringConfig[], defaults: SteeringConfig | undefined, builtinTrackers: readonly string[]): { merged: SteeringConfig; resolved: ResolvedPluginState | null; diagnostics: SteeringDiagnostic[]; }; /** * Render a diagnostics array into a single multi-line message * suitable for use as a thrown Error's `message`. See {@link * SteeringDiagnostic} render-format matrix for the canonical shape; * the `formatAggregatedDiagnostics: rule-based spec` describe block in * `internal/session-runtime.test.ts` pins the rules. */ export declare function formatAggregatedDiagnostics(diagnostics: readonly SteeringDiagnostic[]): string; /** * Single-line render of one diagnostic; see {@link SteeringDiagnostic} * render-format matrix for the canonical contract. */ export declare function formatSingleLineDiagnostic(d: SteeringDiagnostic): string; /** * Build the per-session evaluator + observer dispatcher from the walk- * up config rooted at `cwd`. Honors `disableDefaults` via inner-wins * peek before injecting `DEFAULT_*`. Throws on any error-class * diagnostic and on warning-class diagnostics when * `failOnWarnings !== false`; otherwise emits surviving warnings via * `console.warn`. See {@link runMergerPipeline} for the merge contract * and `finalizePluginState` for observer-drop. */ export declare function buildSessionRuntime(cwd: string, host: EvaluatorHost): Promise<{ evaluator: EvaluatorRuntime; dispatcher: ObserverDispatcher; }>; //# sourceMappingURL=session-runtime.d.ts.map