import { Container } from "../utils/container.js"; export interface GoalState { condition: string; startedAt: number; turnCount: number; tokenBaseline: number; lastReason?: string; consecutiveEvalFailures: number; } export declare class GoalManager { private container; private state; private onGoalStateChange?; private onGoalEvaluating?; constructor(container: Container); private get messageManager(); private get aiManager(); setOnGoalStateChange(callback: (active: boolean, condition?: string, elapsed?: string) => void): void; setOnGoalEvaluating(callback: (evaluating: boolean) => void): void; setGoal(condition: string): void; clearGoal(): void; getGoal(): GoalState | null; isGoalActive(): boolean; incrementTurnCount(): void; getStatusString(): string; /** * Check circuit breakers. Returns a clear reason if goal should be force-cleared, null otherwise. */ checkCircuitBreakers(): string | null; /** * Evaluate whether the goal has been met using the fast model. */ evaluateGoal(abortSignal?: AbortSignal): Promise<{ isMet: boolean; reason: string; }>; /** * Parse the evaluation response from the fast model. */ private parseEvaluationResponse; private formatElapsed; }