import type { AgentNodeDefinition, WorkflowEdge, WorkflowNodeContext } from "./types.js"; type DecisionAgentOptions = Omit; export type DecisionDefinition = DecisionAgentOptions & { question: string | ((context: WorkflowNodeContext) => string | Promise); choices: readonly TChoice[]; field?: string; }; /** * Build an `agent` node that asks the model to pick one of `choices` and * submit a JSON object whose chosen field is validated. Pair with * `decisionEdge` (or any `switch` edge keyed on `$.`) to route on the * result. */ export declare function decision(definition: DecisionDefinition): AgentNodeDefinition; /** * Build the matching `switch` edge for a `decision` node. Typing `cases` as * `Record` makes a missing case a compile error. */ export declare function decisionEdge(args: { from: string; choices: readonly TChoice[]; field?: string; cases: Record; }): WorkflowEdge; export {};