import type { ModelInfo, ModelRef, RegistryLike, TokenUsage, VoiceResult } from "./types.js"; import { runSubagentVoice } from "./subagent.js"; export interface AgentSynthesisArgs { conductor: ModelRef; prompt: string; optimizedPrompt?: string; voices: VoiceResult[]; totalVoices: number; registry: ModelInfo[]; modelRegistry?: RegistryLike; signal: AbortSignal; fetchImpl?: typeof fetch; cwd?: string; artifactDir?: string; timeoutMs?: number; runSubagentVoiceImpl?: typeof runSubagentVoice; onDelta?: (text: string) => void; } export interface AgentSynthesisResult { synthesis: string; activityLog?: string; usage?: TokenUsage; costUsd: number | null; } export declare function synthesizeWithMainAgent(args: AgentSynthesisArgs): Promise; export declare function buildMainAgentPrompt(args: { prompt: string; optimizedPrompt?: string; voices: VoiceResult[]; totalVoices: number; registry?: ModelInfo[]; conductor?: ModelRef; }): string;