import type { ReportDocument, SkillDoctorSnapshot, SkillEvalSnapshot, SkillObserveSnapshot, SkillIndexEntry, SkillIndexSummary, SkillIndex } from '../types/index.js'; export type { SkillDoctorSnapshot, SkillEvalSnapshot, SkillObserveSnapshot, SkillIndexEntry, SkillIndexSummary, SkillIndex, }; /** 测试 / 调试用:强制清掉 in-process skill-index 缓存。 */ export declare function _resetSkillIndexCache(): void; /** * 扫 reports + analyses 目录,按 skill 名聚合。reports 通过 reportStore.list() 传入 * (避免重复读盘 + 避免再写一份 list 逻辑);analysesDir 直接扫。 * * 同 skill 多份报告时取 timestamp 最新的一份。 */ export interface BuildSkillIndexOptions { /** 合并别项目 observe 卡片(机器级模式)。固定 --analyses-dir / --global 时为 false,只看该目录。 */ includeObserveCards?: boolean; /** 合并别项目 doctor 卡片(机器级模式)。固定 --doctors-dir / --global 时为 false,只看该目录。 */ includeDoctorCards?: boolean; /** 合并别项目 eval report 卡片对应的 graph sidecar。 */ includeReportCards?: boolean; /** 当前可见 eval graph sidecar 目录。 */ evalGraphDirs?: string[]; /** 当前可见 doctor graph sidecar 目录。默认跟随 doctorsDir 推导。 */ doctorGraphDirs?: string[]; } export declare function buildSkillIndex(reports: ReportDocument[], analysesDir: string, doctorsDir: string, observationsDir?: string, opts?: BuildSkillIndexOptions): SkillIndex; /** 单 skill 详情查询(用于 /skills/<name> 详情页)— 复用 buildSkillIndex 的扫描结果。 */ export declare function getSkillEntry(idx: SkillIndex, skillName: string): SkillIndexEntry | null;