/**
 * OKR Review Service
 *
 * Implements the feedback loop for Mission OKR execution:
 * 1. Aggregate KR + task progress
 * 2. Derive recommendation (pure math)
 * 3. Trigger next action (continue / review skill / replan / escalate)
 *
 * Does NOT contain LLM logic — triggers the review-mission skill
 * when agent reasoning is needed.
 *
 * @module services/v3/okr-review.service
 */
import type { OKRReviewResult, ReviewDecision } from '../../types/v2/key-result.types.js';
/**
 * Service for executing periodic OKR reviews and processing review decisions.
 */
export declare class OKRReviewService {
    private static instance;
    private readonly logger;
    private constructor();
    static getInstance(): OKRReviewService;
    static resetInstance(): void;
    /**
     * Execute a scheduled OKR review for a mission.
     *
     * 1. Load mission
     * 2. Aggregate KR progress
     * 3. Aggregate task progress
     * 4. Derive recommendation
     * 5. Determine action based on recommendation + policy
     * 6. Persist review summary on mission
     *
     * @param missionId - Mission to review
     * @returns Review result with recommendation and action
     */
    executeReview(missionId: string): Promise<OKRReviewResult>;
    /**
     * Process a review decision from the review-mission skill.
     *
     * @param missionId - Mission ID
     * @param decision - The agent's review decision
     */
    processReviewDecision(missionId: string, decision: ReviewDecision): Promise<void>;
    /**
     * Load a mission from disk.
     */
    private loadMission;
    /**
     * Update mission fields on disk (partial merge).
     */
    private updateMissionReview;
    /**
     * Refresh a parent mission's `lastReviewSummary` using the cascade roll-up.
     *
     * Called on-demand after a child review so the parent reflects its children's
     * latest progress without a separate scheduled review. No-op when the
     * reviewed mission has no parent or the parent has vanished. Errors are
     * swallowed and logged — a roll-up refresh must never fail the child review.
     *
     * @param parentMissionId - The reviewed mission's parent (may be undefined)
     */
    private refreshParentRollup;
    /**
     * Extract previous overall progress from review summary string.
     */
    private extractPreviousProgress;
}
//# sourceMappingURL=okr-review.service.d.ts.map