/**
 * Constants and types shared across evaluation steps.
 *
 * Extracted from pipeline/steps/eval-step.ts so that the legacy step
 * files can be deleted while tests and other modules retain access
 * to these shared definitions.
 */
import type { DebugOptions, FilterOptions, StepResult } from "../_vendor/ailf-core/index.d.ts";
/**
 * Get the Promptfoo config file path for a given mode.
 *
 * Literacy variants use legacy naming for backward compatibility.
 * All other modes use the pattern: `promptfooconfig.<mode>.yaml`
 */
export declare function configFileForMode(mode: string): string;
/**
 * Get the results file path for a given mode.
 *
 * Literacy variants use legacy naming for backward compatibility.
 * All other modes use: `results/latest/eval-results-<mode>.json`
 */
export declare function resultsFileForMode(mode: string): string;
/** Extended step result that carries cache metadata for downstream steps */
export interface EvalStepResult {
    /** The computed eval fingerprint (for publishing in provenance) */
    evalFingerprint?: string;
    /** Whether this result came from a remote cache hit */
    remoteCacheHit?: boolean;
    /** The step result */
    stepResult: StepResult;
}
/** Options for the remote cache (Content Lake fingerprint lookup) */
export interface RemoteCacheOptions {
    /** Whether this is a debug run (debug runs don't use remote cache) */
    debug?: boolean;
    /** Filter options used for fingerprint computation */
    filter?: FilterOptions;
    /** Grader model identifier from models config */
    graderModel: string;
    /** Disable remote cache lookup (--no-remote-cache) */
    noRemoteCache?: boolean;
    /** Sanity API token for reading cached reports */
    sanityToken?: string;
}
/** Minimal shape of a raw Promptfoo result entry for error scanning */
export interface RawResult {
    description?: string;
    error?: string;
    gradingResult?: null | {
        pass: boolean;
    };
    provider?: {
        id?: string;
        label?: string;
    };
    success?: boolean;
    testCase?: {
        description?: string;
    };
}
/**
 * Build promptfoo filter flags from debug options.
 */
export declare function buildFilterFlags(debug?: DebugOptions): string;
/**
 * Extract the Promptfoo share URL from the eval results JSON.
 *
 * Promptfoo writes a `shareableUrl` field into the results file when
 * `PROMPTFOO_API_KEY` is set.
 */
export declare function extractShareUrl(resultsPath: string): string | undefined;
/**
 * Read the eval results JSON and produce a human-readable summary of any
 * errored or failed tests.
 *
 * Returns null if there are no errors/failures worth reporting.
 */
export declare function scanResultsForErrors(resultsPath: string): null | string;
