/** * Escape special characters for safe XML embedding. */ export declare function escapeXml(s: string): string; /** * Resolve the absolute path to the `vess` executable. * LaunchAgents / systemd units run with a minimal PATH that does not * include user-installed package managers (pnpm, npm, etc.), so we * must embed the full path at install time. */ export declare function resolveVessBin(): string; /** * Build a minimal PATH containing only the directories needed for the daemon: * the directory of the vess binary, the directory of the node binary, and * standard system directories. */ export declare function buildMinimalPath(vessBin: string): string; export interface ServiceInstallOptions { port?: number; /** Override home directory (for testing) */ homeDir?: string; } export declare class ServiceManager { /** * Detect current platform. */ static getPlatform(): 'macos' | 'linux' | 'unsupported'; /** * Generate macOS LaunchAgent plist content. * Pure function — all values must be provided explicitly. */ static generatePlist(opts: { logDir: string; port?: number; vessBin: string; envPath: string; }): string; /** * Generate Linux systemd user unit file content. * Pure function — all values must be provided explicitly. */ static generateSystemdUnit(opts: { port?: number; vessBin: string; envPath: string; }): string; /** * Get the path to the service file for the current platform. */ private static getServiceFilePath; /** * Install as OS service. */ static install(opts?: ServiceInstallOptions): Promise; /** * Uninstall OS service. */ static uninstall(opts?: { homeDir?: string; }): Promise; /** * Check if installed as OS service. */ static isInstalled(opts?: { homeDir?: string; }): boolean; } //# sourceMappingURL=service-manager.d.ts.map