/**
 * Key Result REST Controller
 *
 * Handles CRUD, measurement recording, and OKR aggregation
 * for Key Results attached to Missions.
 *
 * Mounted as sub-routes under /api/missions/:id/key-results
 *
 * @module controllers/mission/kr.controller
 */
import type { Request, Response, NextFunction } from 'express';
/**
 * GET /api/missions/:id/key-results — List all KRs for a mission.
 */
export declare function listKeyResults(req: Request, res: Response, next: NextFunction): Promise<void>;
/**
 * POST /api/missions/:id/key-results — Create a new KR.
 */
export declare function createKR(req: Request, res: Response, next: NextFunction): Promise<void>;
/**
 * GET /api/missions/:id/key-results/:krId — Get a single KR.
 */
export declare function getKR(req: Request, res: Response, next: NextFunction): Promise<void>;
/**
 * PUT /api/missions/:id/key-results/:krId — Update a KR.
 */
export declare function updateKR(req: Request, res: Response, next: NextFunction): Promise<void>;
/**
 * DELETE /api/missions/:id/key-results/:krId — Delete a KR.
 */
export declare function deleteKR(req: Request, res: Response, next: NextFunction): Promise<void>;
/**
 * POST /api/missions/:id/key-results/:krId/measure — Record a measurement.
 */
export declare function measureKR(req: Request, res: Response, next: NextFunction): Promise<void>;
/**
 * GET /api/missions/:id/okr-summary — Aggregated OKR progress.
 */
export declare function getOKRSummary(req: Request, res: Response, next: NextFunction): Promise<void>;
/**
 * GET /api/missions/:id/okr-summary/cascade — Cross-level cascade roll-up.
 *
 * Walks the `parentMissionId` tree so the mission's progress aggregates its
 * approved children's roll-up (company → team → project). Returns a recursive
 * {@link CascadeOKRSummary}.
 */
export declare function getCascadeOKRSummary(req: Request, res: Response, next: NextFunction): Promise<void>;
//# sourceMappingURL=kr.controller.d.ts.map