/** * manifest compile command — compiles .manifest sources to IR. */ interface CompileOptions { output?: string; glob?: string; diagnostics?: boolean; pretty?: boolean; merge?: boolean; entry?: string | string[]; /** Config G2 / CLI — overrides config `validation.failOn`. */ failOn?: string; /** Preview IR writes without touching the filesystem. */ dryRun?: boolean; /** * Config G8 — skip `hooks.lifecycle.beforeCompile` (used when compileCommand * already ran hooks then auto-dispatches into compileMerged). */ skipLifecycleHooks?: boolean; } /** * Config-driven merged compile — the symmetric partner to `generate --all`. * * Reads `manifest.config.yaml` (`src` glob + `output`) and produces ONE merged * IR, resolving `use` imports across files (e.g. a shared `_base.manifest` that * declares the tenant, roles, and mixin source entities). The per-file default * mode compiles each file in isolation, so any file that does * `use "../_base.manifest"` + `mixin TenantScoped` fails with "mixes unknown * entity"; this drives the merge path the project actually needs. * * `src` is typically a glob ("manifest/source/**\/*.manifest"), so it is fed * through the --glob channel. `output` may be a file (the merged IR path) or a * directory (writes `/merged.ir.json`). */ export declare function compileAllFromConfig(options?: Pick): Promise; /** * Compile command handler */ export declare function compileCommand(source: string | undefined, options?: CompileOptions): Promise; export {}; //# sourceMappingURL=compile.d.ts.map