import { type RecipeActionManifestDocument, type RecipeFailureCause } from '@farmslot/protocol'; import type { ResolvedLibraryRecipe } from './library.js'; import { type DefaultObserverRefs } from './passive-observations.js'; import type { ActionAdapter, ActionExecutionContext, ActionResult, RecipeLogger, RecipeRunStatus, TraceWriter } from './types.js'; export declare const DEFAULT_MAX_RECIPE_CALL_DEPTH = 8; type HudPublisher = (status: 'running' | 'pass' | 'fail', event: { nodeId: string; action: string; node: Record; recipe: unknown; index: number; total: number; context: ActionExecutionContext; error?: string; }) => Promise; export interface ExecuteRecipeOptions { ref: string; adapter?: string; recipe: Record; params: Record; prefix?: string; callStack?: readonly string[]; maxCallDepth?: number; recipes: ReadonlyMap; actionManifest: RecipeActionManifestDocument; adapters: ReadonlyMap; traceWriter: TraceWriter; logger: RecipeLogger; defaultObserverRefs: DefaultObserverRefs; createContext(nodeId: string, recipe: unknown, outputs: ReadonlyMap, getOutput: (nodeId: string) => unknown): ActionExecutionContext; registerArtifacts(artifacts: NonNullable): void; publishHudProgress?: HudPublisher; } export interface ExecuteRecipeResult { status: RecipeRunStatus; failureCause?: RecipeFailureCause; output: Record; outputs: ReadonlyMap; } export declare function executeRecipe(options: ExecuteRecipeOptions): Promise; export {}; //# sourceMappingURL=execution.d.ts.map