import type { LanguageModel } from 'ai'; import type { ResolvedNode, TurnResult } from '../../types/channel.js'; import type { RunContext } from '../../types/run-context.js'; import type { AnyTool } from '../../types/effectTool.js'; import { type ModelTurnLoop } from './ModelTurnLoop.js'; /** * Shared non-speaking field extraction for collect nodes. The same model-loop * SPI as replies is used, but model prose is discarded by construction and * the flow engine remains the only author of the user-facing question. */ export declare function runSilentExtraction(node: ResolvedNode, ctx: RunContext, model: LanguageModel, maxSteps: number, agentToolDefs?: Record, modelLoop?: ModelTurnLoop): Promise;