import type { ChorusResult, ChorusRunConfig, ModelInfo, RegistryLike, VoiceResult } from "./types.js"; import { synthesizeWithMainAgent } from "./agent-synthesis.js"; import { runDirectVoice } from "./direct-api.js"; import { runSubagentVoice } from "./subagent.js"; import { synthesize } from "./synthesize.js"; import { type StorePaths } from "./store.js"; import type { ChorusEventSink } from "./runtime/contracts.js"; import type { RetryPolicy } from "./runtime/retry.js"; import type { RunBudget } from "./runtime/budget.js"; import { type CachePolicy } from "./runtime/cache.js"; export declare const DEFAULT_VOICE_TIMEOUT_MS = 1800000; export declare const DEFAULT_CONDUCTOR_TIMEOUT_MS = 1800000; export declare const DEFAULT_SUBAGENT_CONCURRENCY = 5; export interface RunChorusArgs { runConfig: ChorusRunConfig; prompt: string; optimizedPrompt?: string; voiceTimeoutMs?: number; conductorTimeoutMs?: number; registry: ModelInfo[]; modelRegistry?: RegistryLike; onProgress?: ChorusEventSink; signal: AbortSignal; fetchImpl?: typeof fetch; cwd?: string; storePaths?: StorePaths; appendHistory?: (result: ChorusResult) => Promise; runVoiceDirect?: typeof runDirectVoice; runVoiceSubagent?: typeof runSubagentVoice; synthesizeFn?: typeof synthesize; synthesizeAgentFn?: typeof synthesizeWithMainAgent; synthesisMode?: "direct" | "agent"; artifactDir?: string; subagentConcurrency?: number; voiceConcurrency?: number; retryPolicy?: RetryPolicy; permissionProfile?: import("./types.js").SubagentPermissionProfile; budget?: RunBudget; cachePolicy?: CachePolicy; onSynthesisDelta?: (text: string) => void; reuseVoiceResults?: Map; resumedFromJobId?: string; resumedPreviousCostUsd?: number | null; } export type { ChorusEventSink, ChorusResultPersister, SynthesisExecutor, VoiceExecutor } from "./runtime/contracts.js"; /** * Runs one Chorus prompt through all configured voices, optionally synthesizes * their successful outputs, writes requested artifacts/history, and returns the * complete run record. Voice execution is direct HTTP/Pi API for direct mode and * rate-limited child-agent processes for subagent mode. */ export declare function runChorus(args: RunChorusArgs): Promise;