/**
 * Mode-based constraint policy rule evaluator.
 *
 * ModeConstraintRule activates only when a specific PermissionMode is active.
 * Primarily used by the mode evaluation layer (Layer 2) to enforce mode-level
 * restrictions, but can also be used in user/managed policy rules.
 * Independently testable.
 */
import type { ModeConstraintRule, PermissionMode, CommandClassification, EvaluationStep } from '../types.js';
/** Result returned by evaluateModeConstraintRule. */
export interface ModeConstraintRuleResult {
    matched: boolean;
    step: EvaluationStep;
}
/**
 * evaluateModeConstraintRule — Evaluates a single ModeConstraintRule.
 *
 * Returns `matched: true` when:
 *   1. The active mode is listed in `rule.activeModes`, AND
 *   2. The tool name matches `rule.toolPattern`, AND
 *   3. If `rule.classifications` is set, the tool classification is in that list.
 *
 * @param rule           — The ModeConstraintRule to evaluate.
 * @param toolName       — Name of the tool being called.
 * @param activeMode     — The currently active PermissionMode.
 * @param classification — The semantic classification of the tool call (may be undefined).
 */
export declare function evaluateModeConstraintRule(rule: ModeConstraintRule, toolName: string, activeMode: PermissionMode, classification: CommandClassification | undefined): ModeConstraintRuleResult;
//# sourceMappingURL=mode-constraint.d.ts.map