import { type RecipeCompileOptions } from "./shared.js";
/**
* `scai provision recipe compile` — recipe (.ts or .json) → Operation IR JSON.
*
* Resolves inputs from `--input` (single file) or the config `recipes`
* glob (zero-to-many files). Writes one IR per recipe at `--output`
* (single mode), `
/.ir.json` under each source's `.scai/`
* (default multi mode), or a flat `--output-dir` artifact (the input for
* `push --from-compiled`).
*
* Tenant access is OPTIONAL and gated on `-n`: with an environment, the
* two tenant-derived COMPILE inputs `recipe push` resolves — the
* `--languages` installed-locale intersection and media-root alignment —
* are resolved here too, so a precompiled artifact carries the SAME
* localized surface + media paths a compiling push would produce. Without
* `-n` it stays pure-logic (every authored locale emitted, configured
* media root). Either way the IR is tenant-tree-shaped (`templatesRoot`
* etc. are inputs), so re-compile if the same recipe lands in a different
* tenant tree.
*/
export declare const runRecipeCompile: (options: RecipeCompileOptions) => Promise;