import type { CanonicalState } from "../types/index.js"; import { PlanningCoordinator } from "./coordinator.js"; import { QuestionGenerator, IntentClassifier, KnowledgeExtractor, DiscoveryEvaluator, DecisionEvaluator, SideQuestManager, PlanningConfidence, ExtractedKnowledge } from "./subsystems.js"; export declare class PlanningEngine { private coordinator; private planningKey; readonly questionGenerator: QuestionGenerator; readonly intentClassifier: IntentClassifier; readonly knowledgeExtractor: KnowledgeExtractor; private objectiveSynthesizer; private discoveryEvaluator; private decisionEvaluator; private sideQuestManager; private confidenceEstimator; constructor(coordinator: PlanningCoordinator, planningKey: string); process(intent: { actor?: string; capability: string; payload?: Record; }, context?: Record): Promise<{ output: unknown; events: Array<{ type: string; payload: unknown; }>; transactionId: string; classification: { mode: number; name: string; confidence: number; }; questions: { id: string; text: string; category: string; priority: string; }[]; knowledge: ExtractedKnowledge | null; permit: { txId: string; timestamp: number; }; }>; chartMission(id: string, name: string, purpose: string, context?: Record): Promise>; commissionMission(id: string, context?: Record): Promise>; chartExpedition(id: string, missionId: string, name: string, goal: string, context?: Record): Promise>; synthesizeObjectives(expeditionId: string, knowledge: ExtractedKnowledge, state: CanonicalState): Promise<{ objectives: { id: string; title: string; purpose: string; synthesizedFrom: string; confidence: number; }[]; results: Awaited>[]; }>; recordDiscovery(id: string, expeditionId: string, description: string, context: string, impact: "low" | "medium" | "high" | "critical", state: CanonicalState): Promise> & { evaluation: ReturnType; }>; makeDecision(id: string, expeditionId: string, title: string, chosenAlternative: number, context?: Record): Promise> & { adrEvaluation: ReturnType; }>; evaluateDiscovery(discovery: { id: string; impact?: string; }, affectedObjectives?: Array<{ id: string; } | string>): ReturnType; evaluateDecision(decision: { id: string; alternatives?: unknown[]; consequences?: { positive?: unknown[]; negative?: unknown[]; }; }): ReturnType; estimateConfidence(state: { objectives?: Record; discoveries?: Record; decisions?: Record; }): ReturnType; recognizeSideQuest(description: string, parentObjectiveId?: string, expeditionId?: string): ReturnType; resolveSideQuest(sideQuestId: string): ReturnType; getActiveSideQuests(expeditionId?: string): ReturnType; }