/** * TypeScript scaffolding emitter — static/structural files. * * Replaces the Nunjucks templates: * - `context.ts.njk` → emitTypeScriptContext() * - `index.ts.njk` → emitTypeScriptIndex() * - `eslint.config.js.njk` → emitEslintConfig() * * These emit files whose content depends only on the type graph * shape (not on the Declaration IR used for per-type files). */ import { TypeNode } from "../../ir/ast.js"; /** * Emit static TypeScript context classes (LoadContext, SaveContext). */ export declare function emitTypeScriptContext(): string; /** * Emit the barrel export index.ts file. * * When types are organised into group subfolders, the root index.ts re-exports * from each group's index.ts (e.g. `export * from "./connection/index"`). */ export declare function emitTypeScriptIndex(baseTypes: TypeNode[], _types: TypeNode[], includeWireTypes?: boolean, serializedNames?: Set): string; /** * Emit a group-level index.ts barrel file. * Lives at `model/{group}/index.ts` and re-exports all types in that group. */ export declare function emitTypeScriptGroupIndex(group: string, groupNodes: TypeNode[], includeWireTypes?: boolean, serializedNames?: Set): string; /** * Emit the static ESLint configuration file. */ export declare function emitEslintConfig(): string;