/**
 * Preflight-scoring config — knob for how heavily the W0198 symbol-existence
 * preflight contributes to the `code-correctness` dimension.
 *
 * The deterministic preflight (`SymbolPreflightReport`) and the LLM rubric
 * both feed into `code-correctness` per D0010. This config sets the relative
 * share of the two lanes: `codeCorrectnessWeight: 0.4` means preflight is
 * 40% of the dimension, rubric 60%.
 *
 * Authored in `packages/eval/config/preflight-scoring.ts` via
 * `definePreflightScoring()`. Loaded lazily by the scoring step; absence
 * means "use the default" rather than "disable" — disabling the preflight
 * entirely is a separate axis (no manifest, no resolver wired).
 *
 * @see docs/design-docs/two-stage-grader-symbol-preflight.md
 */
export interface PreflightScoringConfig {
    /**
     * Preflight's relative share of the `code-correctness` dimension, in
     * `[0, 1]`. The complementary `1 - codeCorrectnessWeight` is the LLM
     * rubric's share. Default `0.4`.
     */
    codeCorrectnessWeight: number;
}
/** Default preflight share of `code-correctness` when no config file is authored. */
export declare const DEFAULT_PREFLIGHT_CODE_CORRECTNESS_WEIGHT = 0.4;
/**
 * W0198 Phase 6 — describes the deterministic symbol-preflight lane to the
 * grader. When supplied to the literacy compiler, the rubric for the
 * `code-correctness` dimension is prefixed with a system instruction telling
 * the grader to treat the preflight's existence findings as ground truth and
 * confine its code-correctness judgment to non-existence concerns (idiomatic
 * usage, code organization, type safety, completeness).
 *
 * The actual per-test findings live on the deterministic lane (Phase 4
 * artifact + Phase 5 score merge) and never enter the grader prompt — the
 * lanes are kept structurally independent so the rubric never sees, and
 * therefore cannot relitigate, an existence verdict.
 *
 * Lives in `@sanity/ailf-core` so the `CompilationContext` port and the
 * eval-package compiler can both reference the same shape without creating
 * a cross-package import cycle.
 */
export interface PreflightRubricContext {
    /**
     * Names of the packages currently in the framework-level package-surface
     * manifest. The grader is shown this list so it knows the boundary of the
     * deterministic lane (named imports from these packages are existence-
     * checked; everything else falls through to the rubric).
     */
    readonly packages: readonly string[];
}
