/**
 * Bounded-execution variant of `applyRulesToAdditions` (mmnto-ai/totem#1641).
 *
 * Routes every regex rule through the persistent-worker `RegexEvaluator`
 * so a catastrophic-backtracking pattern terminates at the configured
 * timeout rather than hanging the lint process indefinitely. Engine layer
 * is policy-free: it records `RuleTimeoutOutcome` entries and lets the
 * caller (CLI) decide whether to surface them as exit-code contributors
 * (strict) or as skipped warnings (lenient).
 *
 * Scope: regex-engine rules only. ast / ast-grep rules are not ReDoS-
 * susceptible and are evaluated by `applyAstRulesToAdditions` / the
 * compound-rule pipeline under separate bounds.
 */
import type { CompiledRule, DiffAddition, RuleEventCallback, Violation } from '../compiler-schema.js';
import { type RuleEngineContext } from '../rule-engine.js';
import type { RegexEvaluator } from './evaluator.js';
export type TimeoutMode = 'strict' | 'lenient';
export interface RuleTimeoutOutcome {
    ruleHash: string;
    file: string;
    elapsedMs: number;
    mode: TimeoutMode;
}
export interface BoundedApplyOptions {
    evaluator: RegexEvaluator;
    timeoutMode: TimeoutMode;
    repoRoot: string;
}
export interface BoundedApplyResult {
    violations: Violation[];
    timeoutOutcomes: RuleTimeoutOutcome[];
}
export declare function applyRulesToAdditionsBounded(ctx: RuleEngineContext, rules: readonly CompiledRule[], additions: readonly DiffAddition[], options: BoundedApplyOptions, onRuleEvent?: RuleEventCallback): Promise<BoundedApplyResult>;
//# sourceMappingURL=apply-rules-bounded.d.ts.map