/**
 * Insight detection — 把 4 类报告(doctor / eval-评分 / eval-功能 / observe)合并成
 * 一组结构化"问题",每个 Insight 自带:
 *   - audience: 该问题主要由谁来修(skill-author / sample-author / omk-maintainer)
 *   - 多 perspective 的证据(支持现象证据 illustration: 真实 prompt / LLM 输出 / 工具调用)
 *   - 改进建议(可带可粘贴 patch 片段)
 *
 * 设计原则:
 *   - 用户语去黑话:title/message 写成"用户能复现的现象",不直接吐 omk 内部枚举
 *   - 受众 explicit:每条 insight 标谁该 own,UI 拆区,不让 skill 开发者看 omk 维护待办
 *   - action 错位修对:环境拦截 → sample.mocks(不是 skill);doctor 盲区 → omk(不是 skill)
 *   - 现象 > 统计:展开 1-2 条真实 sample 的 prompt/output/toolCall 让用户"看见"问题
 *   - 可粘贴 patch:推荐带文件位置 + 代码片段,不只是"改一段"的空话
 *
 * 6 类 detection(audience 标在每条):
 *   1. environment-blocked-mocks   sample-author  评测环境 mock 列表盖不全
 *   2. skill-doc-gap               skill-author + sample-author  skill 文档某段缺/模糊 + sample environment 没声明
 *   3. failure-mode-skill          skill-author   skill 写法上的反模式(硬编码/幻觉/跳步/误读)
 *   4. coverage-gap                sample-author  生产 + 评测都漏的文件
 *   5. production-instability      skill-author + sample-author  真实环境失败率高
 *   6. skill-too-long              skill-author   skill 文档过长 LLM 找不到段落
 *   7. omk-doctor-blindspot        omk-maintainer doctor 应该卡却没规则的反模式
 */
import type { EvaluationReport, Diagnosis, SkillIndexEntry, SkillEvalSnapshot, InsightCategory, InsightSeverity, InsightAudience, InsightPerspective, InsightIllustration, InsightEvidence, InsightPatch, InsightRecommendation, InsightStageRefs, Insight, DetectInsightsOptions } from '../types/index.js';
export type { InsightCategory, InsightSeverity, InsightAudience, InsightPerspective, InsightIllustration, InsightEvidence, InsightPatch, InsightRecommendation, InsightStageRefs, Insight, DetectInsightsOptions, };
export declare function projectDiagnosticsToInsights(diagnostics: Diagnosis[]): Insight[];
export declare function detectInsights(entry: SkillIndexEntry, evalReport: EvaluationReport | null, options?: DetectInsightsOptions): Insight[];
export declare function flattenRecommendations(insights: Insight[]): InsightRecommendation[];
/** 按 audience 分桶 — UI 拆区用。 */
export declare function groupInsightsByAudience(insights: Insight[]): Record<InsightAudience, Insight[]>;
export type _SkillEvalSnapshotForInsight = SkillEvalSnapshot;
//# sourceMappingURL=skill-insights.d.ts.map