import type { DaemonDefinition, DaemonStatus } from "@edenapp/types"; import { ExecutionContext } from "../execution/ExecutionContext"; import { CommandRegistry, EdenEmitter, IPCBridge } from "../ipc"; import { PackageCatalog } from "../package-manager/PackageCatalog"; import { PackageManager } from "../package-manager/PackageManager"; import { ProcessManager } from "../process-manager/ProcessManager"; import { SettingsManager } from "../settings"; import { UserManager } from "../user/UserManager"; interface DaemonNamespaceEvents { changed: { status: DaemonStatus; }; } export declare class DaemonManager extends EdenEmitter { private packageCatalog; private processManager; private settingsManager; private userManager; private executionContext; private static readonly KEY_PREFIX; private readonly loaded; private readonly runtime; private readonly supervised; private readonly intentionalStops; private shuttingDown; constructor(ipcBridge: IPCBridge, commandRegistry: CommandRegistry, packageCatalog: PackageCatalog, processManager: ProcessManager, settingsManager: SettingsManager, userManager: UserManager, executionContext: ExecutionContext, packageManager: PackageManager); initialize(): Promise; list(): Promise; updateDefinition(definition: DaemonDefinition): Promise; private loadDefinitions; setEnabled(appId: string, enabled: boolean): Promise; start(appId: string): Promise; stop(appId: string): Promise; restart(appId: string): Promise; shutdown(): Promise; dispose(): void; private handleExit; private daemonApps; private isDaemon; private requireDaemon; private defaultDefinition; private samePrincipal; private validateShape; private validateDefinition; private resolveProfile; private readPersisted; private persist; private getRuntime; private setRuntime; private markFailed; private markActive; private clearTimers; private emitStatus; } export {}; //# sourceMappingURL=DaemonManager.d.ts.map