/**
 * pipeline/release-classification.ts
 *
 * Classifies documents in a content release for evaluation tier assignment.
 *
 * Phase 4a of the Scenario Matrix implementation.
 *
 * Given a ReleaseImpact (added/modified/removed/unchanged) and the task
 * mappings, this module classifies each document as:
 *
 * - **Tier A**: New document in an area that has existing evaluation tasks.
 *   The document can be injected into existing task contexts and evaluated.
 * - **Tier B**: New document in an area with no evaluation tasks.
 *   Only a directional probe is possible (no scored evaluation).
 * - **not-applicable**: Updated, removed, or unchanged documents (these
 *   follow the standard before/after comparison flow from Phase 2).
 *
 * @see docs/archive/exec-plans/scenario-matrix-implementation/phase-4-content-release-integration.md
 */
import type { ClassifiedReleaseDocument, ProductFeature, ReleaseClassification } from "./types.js";
import type { ReverseMapping } from "./reverse-mapping.js";
/**
 * Classify all documents in a content release for evaluation.
 *
 * @param releaseImpact - Added/modified/removed/unchanged slugs from the release
 * @param reverseMapping - Slug → affected area/task mapping
 * @param featureAreas - Set of area names that have task files
 * @param features - Product feature registry (optional, for section-based area inference)
 * @returns Release classification with per-document tier assignment
 */
export declare function classifyRelease(releaseImpact: {
    added: string[];
    modified: string[];
    removed: string[];
    unchanged?: string[];
}, reverseMapping: ReverseMapping, featureAreas: Set<string>, features?: ProductFeature[]): ReleaseClassification;
/**
 * Format a release classification for console output.
 */
export declare function formatReleaseClassificationConsole(classification: ReleaseClassification): string;
/**
 * Format a release classification as markdown for PR comments.
 */
export declare function formatReleaseClassificationMarkdown(classification: ReleaseClassification): string;
/**
 * Extract Tier A documents — new documents that can be injected into
 * existing task contexts for evaluation.
 */
export declare function getTierADocuments(classification: ReleaseClassification): ClassifiedReleaseDocument[];
/**
 * Extract Tier B documents — new documents in areas without tasks,
 * suitable for directional probes only.
 */
export declare function getTierBDocuments(classification: ReleaseClassification): ClassifiedReleaseDocument[];
