/// <reference types="node" />
import { IManagedResource } from '../interfaces/managed.js';
import { IWatchDog } from '../interfaces/watchDog.js';
import { IncomingMessage, ServerResponse } from 'node:http';
import { Logger } from 'pino';
export declare class HealthMonitor implements IWatchDog, IManagedResource {
    private readonly _entities;
    private readonly _expectedCheckInIntervals;
    private readonly _entityCheckIn;
    private readonly _log;
    private _server?;
    constructor(log: Logger);
    start(): Promise<void>;
    requestHandler(req: IncomingMessage, resp: ServerResponse): void;
    stop(): Promise<void>;
    register(entityId: string, humanReadableName: string, expectedCheckInInterval: number): void;
    unregister(entityId: string): void;
    kick(entityId: string): void;
}
