import type { LLMMessage } from '../llm/llm-provider.js'; export interface SteeringContext { messages: LLMMessage[]; turn: number; consecutiveToolErrors: number; totalToolCalls: number; contextUsageRatio: number; sessionKey: string; } export interface SteeringRule { id: string; priority: number; cooldownTurns: number; check(ctx: SteeringContext): string | null; } export interface SteeringResult { triggered: boolean; guidances: string[]; firedRules: string[]; } export declare const BUILTIN_ERROR_RECOVERY_RULE: SteeringRule; export declare const BUILTIN_TOOL_LOOP_RULE: SteeringRule; export declare const BUILTIN_CONTEXT_PRESSURE_RULE: SteeringRule; export declare const BUILTIN_WEB_SEARCH_VARIATION_RULE: SteeringRule; export declare const BUILTIN_LOCAL_EXPLORATION_LOOP_RULE: SteeringRule; export declare const DEFAULT_STEERING_RULES: SteeringRule[]; export declare class SteeringEngine { private rules; private lastFiredTurn; constructor(rules?: SteeringRule[]); addRule(rule: SteeringRule): void; evaluate(ctx: SteeringContext): SteeringResult; reset(): void; } //# sourceMappingURL=steering.d.ts.map