/** * @fileoverview Mode dispatch for `opensip-tools graph`. * * Extracted from `cli/graph.ts` so the orchestrator there stays focused * on flag validation, run-scope resolution, and result dispatch. Owns: * * - `runGateMode` (--gate-save / --gate-compare) * - `runCatalogJsonMode` (--catalog-output) * * `--report-to` (the old `runReportMode`) moved to the composition root in * ADR-0011 Phase 5: graph returns its `SignalEnvelope` and the root's * `deliverSignals` owns cloud egress + the `--report-to` SARIF upload. */ import type { GraphCommandOptions } from './graph-options.js'; import type { Catalog, Indexes } from '../types.js'; import type { Signal, ToolCliContext } from '@opensip-tools/core'; export declare function runGateMode(opts: GraphCommandOptions, signals: readonly Signal[], cli: ToolCliContext, resolutionMode?: 'exact' | 'fast'): Promise; /** * Catalog-JSON emission mode (Phase 3 Task 3.4 per opensip DEC-498). * Walks the engine's `Catalog` + `Indexes`, derives opensip-compatible * symbol/edge IDs, and writes a `CatalogExport` JSON document to the * `--catalog-output ` file. Phase 6's `EngineSubprocessPort` * invokes this mode per commit-sync run. * * Synchronous file write — catalog payloads are bounded (per-package * fan-out limits per-run scope) and we want backpressure if disk is * full rather than a deferred-write surprise. */ export declare function runCatalogJsonMode(opts: GraphCommandOptions, result: { readonly catalog: Catalog | null; readonly indexes: Indexes | null; readonly signals: readonly Signal[]; readonly cacheHit: boolean; }, cli: ToolCliContext, startedAt: string): void; //# sourceMappingURL=graph-modes.d.ts.map