/** * Closed format-coverage registry * * One cell per (format, target). The Record over CanonicalFormat makes the * registry exhaustive at compile time: adding a value to photon-core's * OutputFormat without declaring how every target handles it fails tsc, * before any test runs. Removing a format from the type strands its entry * here and also fails tsc. * * Every cell is either a renderer (a real dispatch path in code) or an * explicit fallback (a documented downgrade) — there is no "absent" state, * which is what made silent drops possible. tests/contract/ * format-coverage.test.ts cross-checks renderer cells against the actual * dispatch code so the registry cannot drift into fiction. * * Adding a new render target = adding it to RenderTarget, which forces a * decision for all 30 formats at once. */ import type { OutputFormat } from '@portel/photon-core'; /** Literal formats; chart:* and code:* variants dispatch through their base. */ export type CanonicalFormat = Exclude; export type RenderTarget = 'cli' | 'beam' | 'bridge'; export type TargetCoverage = { kind: 'renderer'; via: string; } | { kind: 'fallback'; to: string; }; export declare const FORMAT_COVERAGE: Record>; export declare const RENDER_TARGETS: RenderTarget[]; //# sourceMappingURL=format-registry.d.ts.map