/**
 * Multi-agent pipeline tester.
 *
 * Runs a sequence of AI endpoint calls where each step's output feeds into
 * the next step's input via template substitution ({{prev.field}} / {{input.key}}).
 *
 * Each step can assert its output before proceeding, enabling fail-fast or
 * continue-on-fail pipelines.
 */
import type { JudgeRubric, JudgeConfig, JudgeResult } from "./judge.js";
export interface PipelineStep {
    name: string;
    endpoint: string;
    method?: string;
    headers?: Record<string, string>;
    inputTemplate: string;
    outputCapture: string;
    assertions: JudgeRubric[];
    onFail?: "stop" | "continue";
}
export interface PipelineConfig {
    steps: PipelineStep[];
    input?: Record<string, string>;
    judgeModel?: string;
    judgeProvider?: string;
    baseUrl?: string;
}
export interface PipelineStepResult {
    stepName: string;
    passed: boolean;
    output: string | null;
    assertionResults: JudgeResult[];
    error?: string;
    durationMs: number;
}
export interface PipelineRunResult {
    passed: boolean;
    stepsCompleted: number;
    stepResults: PipelineStepResult[];
    durationMs: number;
    tokensUsed: number;
}
export declare function substituteTemplate(template: string, prevOutput: unknown, inputVars: Record<string, string>): string;
export declare function runPipeline(config: PipelineConfig, options: {
    baseUrl: string;
    judgeConfig?: JudgeConfig;
}): Promise<PipelineRunResult>;
//# sourceMappingURL=pipeline-runner.d.ts.map