import type { VerifiableCriterion, VerifyBlock, VerifyTemplate } from '../../types/index.js';
/** Exported for extensibility: callers may add domain-specific templates. */
export declare const VERIFY_TEMPLATES: VerifyTemplate[];
/**
 * Match a criterion text against the built-in (and optionally injected) templates.
 * Returns the first matching template or null if none match.
 */
export declare function matchTemplate(criterion: string): VerifyTemplate | null;
/**
 * Build a VerifyBlock from a matched template, extracting numeric/scope hints
 * from the criterion text when possible.
 */
export declare function buildVerifyBlock(criterion: string, template: VerifyTemplate): VerifyBlock;
/**
 * Enrich a single criterion text with a VerifyBlock.
 * Falls back to `manual` when no template matches.
 */
export declare function enrichCriterion(criterion: string): VerifiableCriterion;
/**
 * Enrich a batch of criterion texts.
 * Empty or whitespace-only entries are silently skipped.
 */
export declare function enrichCriteria(criteria: string[]): VerifiableCriterion[];
/**
 * Parse raw markdown AC lines (e.g. "- [ ] Criterion text") into plain strings.
 * Strips list prefixes so enrichers receive clean criterion text.
 */
export declare function parseCriteriaText(lines: string[]): string[];
/**
 * Format enriched criteria as markdown list items with embedded verify blocks.
 *
 * Output format:
 * ```
 * - [ ] Criterion text
 *   <!-- verify: {"type":"grep_absent","pattern":"...","scope":"..."} -->
 * ```
 *
 * The `<!-- verify: ... -->` HTML comment is invisible in rendered markdown
 * but fully parseable by automated tooling.
 */
export declare function formatVerifiableCriteria(criteria: VerifiableCriterion[]): string;
//# sourceMappingURL=criterion-enricher.d.ts.map