/**
 * Workflow Runner - Main Orchestrator
 * ===================================
 *
 * Coordinates the complete workflow execution pipeline:
 * 1. Model execution (layer-based or flat)
 * 2. Judge scoring with hierarchical prompts
 * 3. Response conditioning (stub)
 * 4. Metrics collection
 * 5. Result assembly
 *
 * @module workflow/core/workflowRunner
 */
import type { RunWorkflowOptions, WorkflowConfig, WorkflowResult, WorkflowStreamChunk } from "../../types/index.js";
/**
 * Execute a complete workflow
 *
 * This is the main entry point that orchestrates:
 * - Model execution (respects modelGroups or flat models)
 * - Judge scoring (with hierarchical prompt resolution)
 * - Response conditioning (currently stub)
 * - Metrics calculation
 * - Result assembly
 *
 * @param config - Validated workflow configuration
 * @param options - Execution options including prompt
 * @returns Complete workflow result with scores and metrics
 *
 * @example
 * ```typescript
 * const result = await runWorkflow(config, {
 *   prompt: 'Explain quantum entanglement',
 *   timeout: 30000,
 *   verbose: true,
 * });
 *
 * console.log('Best response:', result.content);
 * console.log('Score:', result.score);
 * ```
 */
export declare function runWorkflow(config: WorkflowConfig, options: RunWorkflowOptions): Promise<WorkflowResult>;
/**
 * Execute workflow with progressive streaming support
 * Yields preliminary response (first completed model) and final synthesized response
 *
 * @param config - Validated workflow configuration
 * @param options - Execution options with streaming enabled
 * @returns AsyncGenerator yielding preliminary and final responses
 *
 * @example
 * ```typescript
 * for await (const chunk of runWorkflowWithStreaming(config, options)) {
 *   if (chunk.type === 'preliminary') {
 *     console.log('Fast response:', chunk.content);
 *   } else {
 *     console.log('Final synthesis:', chunk.content);
 *   }
 * }
 * ```
 */
export declare function runWorkflowWithStreaming(config: WorkflowConfig, options: RunWorkflowOptions): AsyncGenerator<WorkflowStreamChunk, void, undefined>;
