import type { PipelineRequest, ResolvedConfig } from "../_vendor/ailf-core/index.d.ts";
/**
 * Map a PipelineRequest to a ResolvedConfig.
 *
 * This is the single mapping function shared between:
 * - API gateway (POST /v1/pipeline → PipelineRequest → ResolvedConfig)
 * - CLI --config (JSON file → PipelineRequest → ResolvedConfig)
 * - GitHub Actions (repository_dispatch payload → PipelineRequest → ResolvedConfig)
 *
 * Fields not present in PipelineRequest get sensible defaults.
 * Fields that only exist in ResolvedConfig (rootDir, promptfooUrl, etc.)
 * must be provided by the caller via the rootDir parameter.
 *
 * **Publish default:** When `jobId` is present (API-triggered evaluation),
 * `publish` defaults to `true` so the report is persisted to the Content
 * Lake and the job document gets a `reportId`. Callers can still override
 * with `publish: false`.
 */
export declare function mapRequestToConfig(request: PipelineRequest, rootDir: string): ResolvedConfig;
