/**
 * pipeline/report-title.ts
 *
 * Pure function that generates descriptive report titles from provenance
 * metadata. The title is the primary display string shown in dashboards,
 * Slack digests, and Studio views — it conveys trigger context, evaluated
 * areas, source/perspective, and document scope at a glance.
 *
 * Score is intentionally omitted from the title since it is surfaced
 * heavily elsewhere in the UI. The `tag` field (on Report) is preserved
 * as a secondary label; the title is the primary display string.
 *
 * Segments are joined with ` · ` (middle dot with spaces).
 *
 * @see docs/design-docs/report-store/domain-model.md
 * @see packages/eval/src/pipeline/provenance.ts — builds the provenance input
 */
import type { EvalMode, RunTrigger } from "./types.js";
/** Input required to generate a human-readable report title. */
export interface ReportTitleInput {
    provenance: {
        /** Feature areas that were evaluated */
        areas: string[];
        /** Evaluation mode */
        mode: EvalMode;
        /** Resolved documentation source */
        source: {
            name: string;
            perspective?: string;
        };
        /** Sanity document IDs targeted (when scoped to specific documents) */
        targetDocuments?: string[];
        /** What triggered the evaluation */
        trigger: RunTrigger;
    };
    /**
     * Total number of known feature areas in the system.
     * Used to determine whether to show "All areas" vs "N areas"
     * when more than 3 areas are evaluated.
     */
    totalAreaCount?: number;
}
/**
 * Generate a descriptive report title from provenance metadata.
 *
 * The title is composed of up to four segments separated by ` · `:
 *
 * 1. **Trigger context** — what initiated the evaluation (always present)
 * 2. **Areas** — which feature areas were evaluated (omitted if empty)
 * 3. **Source context** — non-default source or perspective (omitted if default)
 * 4. **Target documents** — scoped document IDs (omitted if not scoped)
 *
 * @example
 * ```ts
 * generateReportTitle({
 *   provenance: {
 *     areas: ["GROQ", "Mutations"],
 *     mode: "baseline",
 *     source: { name: "production" },
 *     trigger: { type: "manual" },
 *   },
 * })
 * // → "Manual eval · GROQ, Mutations"
 * ```
 */
export declare function generateReportTitle(input: ReportTitleInput): string;
