/**
 * Top-level orchestration of the skill-quality scoring pipeline. Wires the stages together -
 * classify the artifact, detect its semantic shape, compose its scoring surface, run every metric,
 * then derive a recommendation - and returns the assembled SkillQualityReport.
 *
 * Three entry points sit at different I/O levels: `scoreContent` is pure (content passed in, no
 * disk read) for uploads and pastes; `scoreArtifact` reads one artifact from disk first; and
 * `scoreAllArtifacts` walks the inventory and scores everything. Keep `scoreContent` the shared
 * core so disk-backed and in-memory scoring stay identical.
 */
import { type QualityConfig } from "./quality-config.js";
import type { ArtifactEntry, ComposeOptions, SkillQualityReport } from "./skill-quality-types.js";
/**
 * Score raw content against the rubric without reading any file from disk.
 * Used by both `scoreArtifact` (which reads first) and `evaluateContent`
 * (which gets content from an upload or paste).
 *
 * @param projectRoot - absolute project root; used for path-relative composition, not as a read key.
 * @param artifact - inventory record being scored; its kind/path drive classification and composition.
 * @param rawContent - the artifact text to score; supplied by the caller, never re-read here.
 * @param config - resolved quality config providing subtype profiles, caps, and composition sources.
 * @param preReadNotes - notes from an earlier disk read (e.g. truncation) prepended to `fitNotes`.
 * @param options - composition toggles; pass `scanDisk: false` for uploads so sibling files are not read.
 * @returns the full report - score, capped metric rows, classification, shape, and recommendation;
 *   `shapeMismatch` true means the content shape differs from the scored subtype and needs review.
 */
export declare function scoreContent(projectRoot: string, artifact: ArtifactEntry, rawContent: string, config: QualityConfig, preReadNotes?: string[], options?: ComposeOptions): SkillQualityReport;
export declare function scoreArtifact(projectRoot: string, artifact: ArtifactEntry, config?: QualityConfig): SkillQualityReport;
export declare function scoreAllArtifacts(projectRoot: string, config?: QualityConfig): SkillQualityReport[];
//# sourceMappingURL=skill-quality-score.d.ts.map