import type { EnvironmentConfiguration, EnvironmentRecipeRoots } from "../../config/types.js"; import { type RecipeCommonOptions } from "./shared.js"; export interface RecipeRootsOptions extends RecipeCommonOptions { environmentName?: string; /** SXA Headless site name. Falls back to envProfiles[].site. */ site?: string; /** SXA Headless site collection. Falls back to the env profile, else discovery. */ siteCollection?: string; } export type DerivedRootsResult = { site: string; siteCollection: string; recipeRoots: EnvironmentRecipeRoots; }; /** * Resolve the site + collection — flag > env profile > discovery — and derive * the recipeRoots. `discover` is injected (callers wire `discoverSites`) so the * resolution is unit-testable without a tenant. */ export declare const resolveDerivedRoots: (inputs: { site?: string; siteCollection?: string; environment: EnvironmentConfiguration | undefined; envName: string; }, discover: (environment: EnvironmentConfiguration) => Promise>) => Promise; /** * `scai provision recipe roots` — print the recipeRoots derived from a site * (+ collection). Read-only: no tenant mutation. Lets authors materialise the * ~13 SXA paths for `sitecoreai.cli.json` instead of hand-writing them, or * inspect exactly what `recipe push` will use. */ export declare const runRecipeRoots: (options: RecipeRootsOptions) => Promise;