export declare function substituteRecipeTemplating(value: string, recipeOutPaths: ReadonlyMap): string; export declare function substituteRecipeMap(obj: Record | undefined, recipeOutPaths: ReadonlyMap): Record | undefined; export declare function substituteWorkspaceToken(value: string, workspaceDir: string): string; export declare function substituteWorkspaceTokenMap(obj: Record | undefined, workspaceDir: string): Record | undefined; export interface MissingSubstitutedPath { field: string; path: string; error: string; } /** * Checks that the resolved binary path (command and args[0]) produced by * recipe substitution actually exists on the filesystem. * * Only checks `command` and `args[0]` — these are the fields where ENOENT * is most user-visible (subprocess spawn fails immediately). Other args and * env values are not checked to keep this focused. * * Returns an array of missing-path entries; an empty array means all checks * passed. The caller in resources.ts skips the declaration when non-empty. */ export declare function validateSubstitutedPaths(command: string | undefined, args: string[] | undefined): MissingSubstitutedPath[]; //# sourceMappingURL=recipe-templating.d.ts.map