import type { RubricDocument, RubricCriterion, CriterionResult, RubricSummary } from './types.js';
/** Default bound for a `command` criterion probe (ms). */
export declare const DEFAULT_COMMAND_TIMEOUT_MS = 60000;
export interface CommandEvalOptions {
    /** Working directory the probe runs in (repo / increment root). */
    cwd: string;
    /** Bounded timeout in ms. Defaults to {@link DEFAULT_COMMAND_TIMEOUT_MS}. */
    timeoutMs?: number;
}
/**
 * Run a `command` criterion's `Verify` shell probe and map the exit code to a
 * pass/fail result. Exit 0 → pass; non-zero, timeout, or spawn error → fail.
 * NEVER returns `skip`. Evidence captures a truncated tail of stdout/stderr.
 *
 * The probe runs with `shell: true` in `options.cwd`, a bounded timeout, and an
 * env with credential-like variables stripped (no token injection).
 */
export declare function evaluateCommandCriterion(criterion: RubricCriterion, options: CommandEvalOptions): CriterionResult;
interface EvaluateOptions {
    grillReport?: string;
    codeReviewReport?: string;
    judgeLlmReport?: string;
    /**
     * 0671: enable refinement-signal emission. When `projectRoot` and
     * `incrementId` are provided, each failed criterion whose evidence cites a
     * specific skill triggers an append to `.specweave/state/skill-signals.json`.
     *
     * Both fields must be present; emission is silently skipped otherwise, so
     * existing call sites continue to work unchanged.
     */
    projectRoot?: string;
    incrementId?: string;
    /**
     * Optional skills directory for pattern-match attribution. Defaults to
     * `<projectRoot>/plugins/specweave/skills` when `projectRoot` is set.
     */
    skillsRoot?: string;
    /**
     * Working directory for `command`-evaluator probes. Defaults to
     * `projectRoot`, then `reportsDir`'s parent. The probe runs here.
     */
    commandCwd?: string;
    /** Bounded timeout (ms) for `command`-evaluator probes. */
    commandTimeoutMs?: number;
}
/**
 * Evaluate all criteria in a rubric document against gate reports.
 * Returns a NEW RubricDocument with updated results (immutable).
 */
export declare function evaluateRubric(rubric: RubricDocument, reportsDir: string, options?: EvaluateOptions): Promise<RubricDocument>;
/**
 * Summarize rubric evaluation results.
 */
export declare function summarizeResults(rubric: RubricDocument): RubricSummary;
export {};
//# sourceMappingURL=rubric-evaluator.d.ts.map