import type { Logger } from '../logger.js'; import type { PoltergeistConfig } from '../types.js'; export interface DaemonInfo { pid: number; startTime: string; logFile: string; projectPath: string; configPath?: string; } export interface DaemonOptions { projectRoot: string; configPath?: string; target?: string; verbose?: boolean; logLevel?: string; } export declare class DaemonManager { private logger; private getTimeoutMs; constructor(logger: Logger); /** * Get the daemon info file path for a project */ private getDaemonInfoPath; /** * Get the log file path for a project and target */ private getLogFilePath; /** * Check if a daemon is already running for this project */ isDaemonRunning(projectPath: string): Promise; /** * Get daemon info for a running daemon */ getDaemonInfo(projectPath: string): Promise; /** * Start a daemon process with retry logic */ startDaemonWithRetry(config: PoltergeistConfig, options: DaemonOptions, maxRetries?: number): Promise; /** * Start a daemon process (internal implementation) */ private startDaemon; /** * Stop a running daemon */ stopDaemon(projectPath: string): Promise; /** * Save daemon info to file */ private saveDaemonInfo; /** * Clean up daemon info file */ private cleanupDaemonInfo; /** * Wait for a process to exit */ private waitForProcessExit; /** * Read the last N lines from the log file */ readLogFile(projectPath: string, lines?: number): Promise; } //# sourceMappingURL=daemon-manager.d.ts.map