import { o as Group } from "./nodes.js"; import { DescribedRecipe } from "./describe.js"; //#region src/recipes.d.ts /** The 16:9 canvas the starter recipes are laid out for (the golden default). An * author overrides it via the `frame` prop to re-place elements for another size. */ interface Frame { w: number; h: number; } declare const DEFAULT_FRAME: Frame; /** The starter scaffold names. */ type RecipeName = 'lower-third' | 'title-card' | 'stat-reveal' | 'cold-open'; /** Shared frame prop. */ interface FrameProp { /** Target canvas; defaults to {@link DEFAULT_FRAME} (1920×1080). */ frame?: Frame; /** The root Group id; defaults to the recipe name. */ id?: string; } interface LowerThirdProps extends FrameProp { title?: string; subtitle?: string; accent?: string; } interface TitleCardProps extends FrameProp { title?: string; subtitle?: string; } interface StatRevealProps extends FrameProp { value?: string; label?: string; accent?: string; } interface ColdOpenProps extends FrameProp { kicker?: string; title?: string; accent?: string; background?: string; } interface RecipePropsByName { 'lower-third': LowerThirdProps; 'title-card': TitleCardProps; 'stat-reveal': StatRevealProps; 'cold-open': ColdOpenProps; } /** * The machine-readable recipe MANIFEST `describe().recipes` surfaces — one entry per * registered recipe, with its typed props (the same negative-space shape as a node's * described props). Curated alongside the factories; a test pins the two sets equal. */ declare const RECIPE_MANIFEST: DescribedRecipe[]; /** The registered recipe names (for discovery / iteration). */ declare function listRecipes(): DescribedRecipe[]; declare class UnknownRecipeError extends Error { constructor(name: string); } /** * Instantiate a starter recipe as a Group fragment. `name` is a registered recipe * ({@link RecipeName}); `props` are its typed props (all optional — every recipe is * clean-by-construction at defaults). Fail-loud on an unknown name. */ declare function recipe(name: N, props?: RecipePropsByName[N]): Group; declare function recipe(name: string, props?: Record): Group; //#endregion export { ColdOpenProps, DEFAULT_FRAME, Frame, LowerThirdProps, RECIPE_MANIFEST, RecipeName, RecipePropsByName, StatRevealProps, TitleCardProps, UnknownRecipeError, listRecipes, recipe };