import type { Spec, AuditFinding, CodeState, VerifyBlock } from '../../types/index.js';
/**
 * Scan the project directory to build a CodeState for the given spec.
 */
export declare function scanCodeForSpec(spec: Spec, projectPath: string): Promise<CodeState>;
/**
 * Check whether a single criterion is satisfied in the given code state.
 * When `verifyBlock` is provided it is forwarded to deepCheckCriterion,
 * bypassing keyword-based classification (explicit beats inferred).
 *
 * Pass `sharedFileContents` (pre-built via buildBroadCache or
 * buildFileContentsCache from criterion-matcher) to avoid a redundant
 * glob+readFile pass when checking multiple criteria in the same call.
 */
export declare function checkCriterion(criterion: string, projectPath: string, codeState: CodeState, verifyBlock?: VerifyBlock, sharedFileContents?: Map<string, string>): Promise<boolean>;
/**
 * Classify the severity of a missing criterion based on its content.
 * Keywords and severity levels are loaded from src/config/drift-severity.json (SPEC-209).
 */
export declare function classifyDriftSeverity(criterion: string): 'low' | 'medium' | 'high' | 'critical';
/**
 * Run lightweight quality checks on a single file and return any findings.
 */
export declare function quickQualityCheck(file: string, projectPath: string): Promise<AuditFinding[]>;
/**
 * Check if scope and difficulty rating are consistent with each other.
 */
export declare function validateScopeDifficulty(scope: string, difficulty: number): boolean;
//# sourceMappingURL=analyzer.d.ts.map