/** * Python scaffolding emitter — static/structural files. * * Replaces the Nunjucks templates: * - `context.py.njk` → emitPythonContext() * - `init.py.njk` → emitPythonInit() * * Also provides: * - emitPythonGroupInit() → per-group __init__.py (re-exports group types) * * 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 the _context.py file content (LoadContext + SaveContext classes). * Replaces context.py.njk template. */ export declare function emitPythonContext(header: string): string; /** * Emit the __init__.py file content. * Replaces init.py.njk template. * * When types are organised into group subfolders, the root __init__.py imports * from each group sub-package (e.g. `from .connection import Connection`). */ export declare function emitPythonInit(baseTypes: TypeNode[], types: TypeNode[]): string; /** * Emit a group-level __init__.py that re-exports all types defined in that group. * This file lives at `model/{group}/__init__.py` and lets the root `__init__.py` * import from the group package with `from .{group} import TypeA, TypeB, ...`. */ export declare function emitPythonGroupInit(group: string, groupNodes: TypeNode[]): string;