import { type RecipeCompileOptions } from "./shared.js"; /** * `scai provision recipe list` — pure-logic recipe discovery. * * Loads the recipe set (the same `.ts` / `.json` files `compile` and `push` * read), orders it by cross-recipe apply-rank (the exact order `push` * applies in — see `stableTopologicalSortWithinRanks`), and emits one * `{ handle, kind, rank, dependsOn, languages }` per recipe plus the * set-wide `languages` union. * * No tenant contact and no compile-to-IR — this only reads local files, so * it's cheap and needs no environment credentials. Its purpose is to let a * driver (the orchestrator's batched `recipe_sync` workflow) partition the * set into dependency-safe push batches without re-deriving the recipe * graph itself: * * - `rank` is the coarse apply tier (`RECIPE_APPLY_RANK`) — templates * before content, content before designs, designs before sites. * - `dependsOn` is the recipe's in-set cross-recipe handle references — * the SAME edges the sequential apply order topo-sorts by, so a driver * can schedule independent same-rank recipes as parallel waves: a * recipe may push concurrently with anything that is neither an * ancestor nor a descendant in (rank, dependsOn). * - `languages` is the recipe's authored locale inventory (verbatim * codes — base languages keep their `--languages` expansion * semantics), letting the driver scope localize passes to exactly the * authored surface instead of unscoped (= every registered locale). * * NOTE for drivers: `--handles`-scoped pushes drop the synthetic * cross-recipe aggregate IRs (`__available-renderings__` & co) — after all * batches, run one `recipe push --aggregates-only` step to land the * shared-item writes exactly once. */ export declare const runRecipeList: (options: RecipeCompileOptions) => Promise;