import type { DeepCheckResult, DeepCheckConfig, DeepCheckType, VerifyBlock } from '../../types/index.js';
export type { DeepCheckResult, DeepCheckConfig, DeepCheckType };
/**
 * Classify criterion text into a check type using keyword heuristics.
 * Returns the type and optional config derived from the criterion.
 */
export declare function classifyCriterion(text: string): {
    type: DeepCheckType;
    config?: DeepCheckConfig;
};
/**
 * Search for a regex pattern in files matching the scope glob.
 * For grep_absent: passed when matchCount === 0.
 * For grep_present: passed when matchCount >= expected.
 */
export declare function grepCheck(config: DeepCheckConfig, projectPath: string, checkType: 'grep_absent' | 'grep_present'): Promise<DeepCheckResult>;
/**
 * Check that no file in scope exceeds the line threshold encoded in config.expected.
 */
export declare function metricCheck(config: DeepCheckConfig, projectPath: string): Promise<DeepCheckResult>;
/**
 * Check that each source file has a corresponding test file.
 * sourceGlob: e.g. "src/**\/*.ts"
 * testGlob: e.g. "tests/**\/*.test.ts"
 */
export declare function coverageCheck(sourceGlob: string, testGlob: string, projectPath: string): Promise<DeepCheckResult>;
/**
 * Verify a specific file exists.
 */
export declare function fileExistsCheck(config: DeepCheckConfig, projectPath: string): Promise<DeepCheckResult>;
/**
 * Classify a criterion and dispatch to the appropriate checker.
 * When `explicitVerify` is provided the keyword-based classifier is bypassed
 * and the verify block is used directly for the check.
 */
export declare function deepCheckCriterion(criterionText: string, projectPath: string, explicitVerify?: VerifyBlock): Promise<DeepCheckResult>;
/**
 * Run deep checks on all criteria. Returns one result per criterion.
 */
export declare function runDeepChecks(criteria: string[], projectPath: string): Promise<DeepCheckResult[]>;
//# sourceMappingURL=deep-code-checker.d.ts.map