/**
 * @file Evaluation Pipeline
 * Multi-scorer orchestration with configurable execution
 */
import type { PipelineExecutionOptions, PipelineResult, PipelineConfig, Scorer, ScorerInput } from "../../types/index.js";
/**
 * Evaluation Pipeline for running multiple scorers
 */
export declare class EvaluationPipeline {
    private _config;
    private _scorers;
    private _initialized;
    constructor(config: PipelineConfig);
    /**
     * Get pipeline configuration
     */
    get config(): PipelineConfig;
    /**
     * Check if pipeline is initialized
     */
    get initialized(): boolean;
    /**
     * Initialize the pipeline by loading all scorers
     */
    initialize(): Promise<void>;
    /**
     * Execute the pipeline on input
     */
    execute(input: ScorerInput, options?: PipelineExecutionOptions): Promise<PipelineResult>;
    private _validateExecutionOptions;
    /**
     * Get scorers to run based on options
     */
    private _getScorersToRun;
    /**
     * Get list of skipped scorers
     */
    private _getSkippedScorers;
    /**
     * Execute a single scorer with timeout
     */
    private _executeScorer;
    /**
     * Aggregate scores based on configuration
     */
    /**
     * Rescale a result's score to the default 0-MAX scale using its own scale info
     */
    private _rescaleToDefault;
    private _aggregateScores;
    /**
     * Add a scorer to the pipeline
     */
    addScorer(id: string, scorer: Scorer): void;
    /**
     * Remove a scorer from the pipeline
     */
    removeScorer(id: string): boolean;
    /**
     * Get a scorer by ID
     */
    getScorer(id: string): Scorer | undefined;
    /**
     * Get all scorer IDs
     */
    getScorerIds(): string[];
    /**
     * Update pipeline configuration
     */
    configure(config: Partial<PipelineConfig>): void;
    /**
     * Create a clone of this pipeline
     */
    clone(): EvaluationPipeline;
}
/**
 * Create a new evaluation pipeline
 */
export declare function createPipeline(config: PipelineConfig): EvaluationPipeline;
/**
 * Create and initialize a pipeline
 */
export declare function createAndInitializePipeline(config: PipelineConfig): Promise<EvaluationPipeline>;
