import type { Writable } from "node:stream"; export interface DaemonOpts { /** Base config directory. Typically ~/.harmonic-bridge. */ readonly configDir: string; /** Override the daemon-config listen address (useful for tests on port 0). */ readonly listenOverride?: { readonly host: string; readonly port: number; }; /** * If true, write a PID file at `${configDir}/daemon.pid` on start and * install a SIGHUP handler that reloads per-agent configs. Defaults to * false; production callers (the CLI) pass true. Tests leave it off to * avoid signal-handler interference across concurrent test runs. */ readonly installSignalHandlers?: boolean; /** * Test override for hold-awake timing (prime grace). Production callers * leave this unset and get the defaults. */ readonly holdOverrides?: { readonly primeGraceMs?: number; }; /** * Where per-wake lifecycle lines (spawned / exit code / spawn errors) are * written. Defaults to process.stdout, which the host's service * supervisor captures. Wake commands' own output goes to the per-agent * log files, not here. */ readonly logStream?: Writable; } export interface RunningDaemon { readonly port: number; /** Re-read per-agent configs and update the in-memory map. */ reload(): Promise; /** Graceful shutdown — stops accepting webhooks, drains in-flight wakes. */ stop(): Promise; } export declare function startDaemon(opts: DaemonOpts): Promise; //# sourceMappingURL=daemon.d.ts.map