/** * @author: jasonHzq * @description: 文件监听器,负责监听配置文件、插件文件和 API 锁定文件的变化 */ import type { Logger } from "../logger/types.d.ts"; import { PontxManager } from "../manager.d.ts"; import { FileWatcher, IFileWatcher } from "./types.d.ts"; /** * 文件监听器实现 */ export declare class FileWatcherService implements IFileWatcher { /** 日志记录器 */ private logger; /** 配置文件路径 */ private configPath; /** PontxManager 实例 */ private manager; /** 文件监听器列表 */ private fileWatchers; /** 事件回调函数 */ private onConfigChange?; private onLockFileChange?; private lastConfigContent; /** 每个 lock 文件的最后内容缓存 */ private lastLockFileContents; constructor(configPath: string, logger: Logger); /** * 设置 PontxManager 实例 */ setManager(manager: PontxManager): void; /** * 设置事件回调 */ setEventHandlers(handlers: { onConfigChange?: () => void; onLockFileChange?: (specName: string) => void; }): void; /** * 启动文件监听 */ start(): Promise; /** * 停止文件监听 */ stop(): void; /** * 获取监听的文件列表 */ getWatchedFiles(): FileWatcher[]; /** * 监听配置文件 */ private watchConfigFile; /** * 监听 api-lock.json 文件 */ private watchLockFiles; }