/**
 * Server heartbeat scheduler host.
 *
 * Owns process-level scheduler lifecycle for all known workspaces in the local
 * control-plane catalog. Core decides when and how tasks run; this host starts
 * and stops one core scheduler per workspace while the daemon/server process is
 * alive.
 */
import { type HeartbeatSchedulerEvent } from '../core/heartbeat/index.js';
import type { WorkspaceDescriptor } from '../core/runtime/workspaces/index.js';
export type HeddleHeartbeatSchedulerHostOptions = {
    workspaceRoot: string;
    stateRoot: string;
    preferApiKey?: boolean;
    pollIntervalMs?: number;
    onEvent?: (workspace: WorkspaceDescriptor, event: HeartbeatSchedulerEvent) => void;
    onError?: (workspace: WorkspaceDescriptor, error: unknown) => void;
};
export declare class HeddleHeartbeatSchedulerHost {
    private readonly options;
    private readonly schedulers;
    constructor(options: HeddleHeartbeatSchedulerHostOptions);
    start(): void;
    sync(): void;
    stop(): void;
    private startWorkspaceScheduler;
    private static workspaceKey;
}
//# sourceMappingURL=heartbeat-scheduler-host.d.ts.map