import type { MEMOConfig } from '../model/config.js'; import type { MemoModelDTO } from '../model/semantic.js'; import type { CompletenessReport, ValidationResult } from '../validator/types.js'; import type { Diagnostic } from '../toolchain/diagnostic.js'; import type { ProviderRegistry } from '../toolchain/registry.js'; export interface ProjectSnapshot { projectRoot: string; /** Absolute path of the settings file, when the project has one. */ configPath?: string; config: MEMOConfig; model: MemoModelDTO; validation: ValidationResult; completeness: CompletenessReport; /** Provider that answered "is this valid SysML?". */ validator: string; /** Provider that answered "what can MEMO ingest?". */ lowering: string; /** * @deprecated Reads as the validator. Kept so callers written against the * single-provider shape keep working while they move to `validator`. */ compiler: string; /** Normalized diagnostics from both roles, each in its own domain. */ diagnostics: Diagnostic[]; /** * True when the model shown is the last one that built, not this revision. * * §1.1: while the current revision is broken the diagram keeps the last * good scene rather than blanking. A caller that draws needs to know which * it is holding. */ stale: boolean; } /** Drop the retained model for a project — a fresh start really is fresh. */ export declare function forgetLastGoodModel(projectRoot?: string): void; /** Build the immutable data payload consumed by exports and Architect. */ export declare function buildProjectSnapshot(projectRoot?: string, options?: { registry?: ProviderRegistry; }): Promise; /** Serialize data for an inline script without permitting script termination. */ export declare function serializeForInlineScript(value: unknown): string; //# sourceMappingURL=project-snapshot.d.ts.map