import { type AdapterMapping } from '../adapter-mapping.js'; import { type Branding } from '../branding.js'; import type { StateComparison } from '../architecture-state.js'; import type { ProjectionResult } from '../projection.js'; import type { LikeC4KindMapping } from './likec4-kind-mapping.js'; export interface LikeC4ExportDiagnostic { readonly severity: 'error'; readonly code: 'YMLC101' | 'YMLC102' | 'YMLC103' | 'YMLC104' | 'YMLC105' | 'YMLC106' | 'YMLC107' | 'YMLC108' | 'YMLC109' | 'YMLC111' | 'YMLC112'; readonly message: string; readonly subject?: string; readonly path: string; readonly pointer: string; readonly line: number; readonly column: number; } export type LikeC4ExportResult = { readonly ok: true; readonly source: string; } | { readonly ok: false; readonly diagnostics: readonly LikeC4ExportDiagnostic[]; }; export interface LikeC4ExportOptions { readonly comparison?: StateComparison; /** The banner names the host's product (#546, ADR 0158); absent, the engine. */ readonly branding?: Branding; /** Git-derived review overlay (ADR 0066): subjects new or changed in a * ref range carry metadata and view styling; nothing is authored. */ readonly gitChange?: GitChangeOverlay; } export interface GitChangeOverlay { readonly range: string; readonly added: readonly string[]; readonly modified: readonly string[]; } export declare function exportLikeC4(projection: ProjectionResult, mapping: AdapterMapping, kindMapping?: LikeC4KindMapping, options?: LikeC4ExportOptions): LikeC4ExportResult;