import { ArtifactPoller, TelemetryEmitter } from "@clef-sh/runtime";
import { AgentServerHandle } from "../server";
export interface DaemonOptions {
    poller: ArtifactPoller;
    server: AgentServerHandle;
    telemetry?: TelemetryEmitter;
    onLog?: (message: string) => void;
}
/**
 * Daemon lifecycle wrapper for containers, ECS, and standalone use.
 *
 * Starts the HTTP server, runs the poller, and handles SIGTERM/SIGINT
 * for graceful shutdown.
 */
export declare class Daemon {
    private shutdownRequested;
    private readonly options;
    private shutdownResolve?;
    private readonly shutdownPromise;
    private readonly startedAt;
    private sigTermHandler?;
    private sigIntHandler?;
    constructor(options: DaemonOptions);
    /** Start the daemon and register signal handlers. */
    start(): Promise<void>;
    /** Returns a promise that resolves when the daemon has fully shut down. */
    waitForShutdown(): Promise<void>;
}
//# sourceMappingURL=daemon.d.ts.map