import { ClusterManager } from '../core/clusterManager';
import { HeartbeatData } from '../types';
/** Handles heartbeats for the cluster manager. */
export declare class HeartbeatManager {
    private readonly manager;
    /** The interval of the heartbeat. */
    private readonly interval;
    /** The list of heartbeat data per cluster. */
    private readonly beats;
    /** Clusters currently being checked to avoid overlapping checks. */
    private readonly processing;
    /** Creates an instance of HeartbeatManager. */
    constructor(manager: ClusterManager);
    private checkCluster;
    /** Stops the heartbeat. */
    stop(): void;
    /** Gets the heartbeat data for a cluster. */
    getClusterStats(id: number): HeartbeatData;
    /** Removes a cluster from the heartbeat. */
    removeCluster(id: number): void;
    /** Adds a missed beat to a cluster. */
    private addMissedBeat;
    /** Check if cluster process/thread is actually alive. */
    private isClusterProcessAlive;
    /** Handle detected crash */
    private handleCrashedCluster;
    getHealthSummary(): {
        clusterId: number;
        status: string;
        missedBeats: number;
        restarts: number;
    }[];
}
