/** * @author: jasonHzq * @description: PontxService 主类,整合文件监听、同步管理和 Web 服务功能 */ import { EventEmitter } from "events"; import { PontxManager } from "../manager.d.ts"; import type { Logger } from "../logger/types.d.ts"; import { ServiceStatus, IPontxService } from "./types.d.ts"; import type { ServiceConfig } from "../type.d.ts"; /** * PontxService 主类 * 整合文件监听、同步管理和 Web 服务功能 */ export declare class PontxService extends EventEmitter implements IPontxService { /** 服务配置 */ private config; /** 日志记录器 */ private logger; /** 服务状态 */ private status; /** PontxManager 实例 */ private manager; /** 文件监听器 */ private fileWatcher; /** 元数据同步管理器 */ private syncManager; /** Web 服务器 */ private webServer; /** 项目根目录 */ private rootDir; /** 默认服务配置 */ private static defaultConfig; getManager(): PontxManager; /** * 构造函数 * @param rootDir 项目根目录 * @param config 构造函数传入的服务配置 * @param logger 可选的日志实例(用于依赖注入) */ constructor(rootDir: string, config?: ServiceConfig, logger?: Logger); /** * 启动服务 */ start(): Promise; /** * 停止服务 */ stop(): Promise; /** * 获取服务状态 */ getStatus(): ServiceStatus; /** * 获取服务信息 */ getServiceInfo(): { status: ServiceStatus; config: ServiceConfig; fileWatchers: import("./types").FileWatcher[]; syncInfo: { lastSyncTime: Date; syncErrorCount: number; syncInterval: number; isRunning: boolean; }; webServer: { port: number; enabled: boolean; }; }; /** * 手动触发同步 */ sync(): Promise; /** * 初始化 PontxManager 并合并配置 */ private initializeManager; /** * 设置事件处理器 */ private setupEventHandlers; /** * 处理配置文件变化 */ private handleConfigChange; /** * 处理 API 锁定文件变化 */ private handleLockFileChange; } export { ServiceStatus } from "./types.d.ts"; export type { ServiceConfig } from "../type.d.ts";