import type { JobStore, ReportStore } from '../types/index.js'; interface ReportServerOptions { port?: number; /** 监听 host。默认 '127.0.0.1'(只允许本机访问,容器/远程场景看不到)。 * 暴露到容器外 / 局域网用 '0.0.0.0'。也可走 OMK_REPORT_HOST 环境变量。 */ host?: string; reportsDir?: string; /** observe-health 报告目录(项目 .omk/observe-health 或全局),或一个按请求动态解析它的函数。 * 传函数 → 每次请求重解析(长会话里项目首次 omk observe 后从 global 实时切回 project); * 传字符串 → 固定到该目录(测试 / 显式覆盖);默认动态解析 project→global 权威目录。 */ analysesDir?: string | (() => string); /** 体检报告目录(项目 .omk/doctors 或全局),或一个按请求动态解析它的函数。三模式同 analysesDir。 */ doctorsDir?: string | (() => string); observationsDir?: string; jobsDir?: string; /** 受管目录(.omk/managed 或全局),或一个按请求动态解析它的函数。只读消费,供 /managed 决策史页。 * 传函数 → 每次请求重解析(长会话里跟 omk list 同口径:项目首次 install 后从 global 实时切回 project); * 传字符串 → 固定到该目录(测试 / 显式覆盖);默认动态解析 project→global 权威目录。 */ managedDir?: string | (() => string); store?: ReportStore; jobStore?: JobStore; /** 是否把别项目的 observe-health 索引卡片合进列表 / 详情 / skill 首页(机器级总览)。 * 默认 false(固定目录 / 测试 hermetic);studio 仅在「无 --analyses-dir 且无 --global」的默认机器级模式传 true。 */ includeObserveCards?: boolean; /** 是否把别项目的 doctor 索引卡片合进 skill 首页 / 详情兜底(机器级总览)。 * 默认 false;studio 仅在「无 --doctors-dir 且无 --global」的默认机器级模式传 true。 */ includeDoctorCards?: boolean; } interface ReportServer { start(): Promise; stop(): Promise; getUrl(): string | null; } export declare function formatListenError(p: number, err: unknown): Error | null; export declare function createReportServer({ port, host: hostOption, reportsDir, analysesDir, doctorsDir, observationsDir, jobsDir, managedDir, store, jobStore, includeObserveCards, includeDoctorCards }?: ReportServerOptions): ReportServer; export {};