import { LogProvider } from "../../logging"; import { HealthCheckMessage, HealthCheckResponseMessage, UpstreamMessageOrigin } from "../../messaging"; import { HealthCheckStatus } from "./health-check-status"; import { HealthCheckStatusChangedHandler } from "./health-check-status-changed"; export type HealthCheckManagerParams = { provider: LogProvider; sendHealthCheck: (message: HealthCheckMessage) => void; getUpstreamMessageOrigin: () => UpstreamMessageOrigin; }; export declare class HealthCheckManager { private readonly logger; private readonly sendHealthCheck; private readonly getUpstreamMessageOrigin; private _status; private lastHealthCheckResponse; private readonly events; private connectionId; private healthCheckInterval; private static readonly statusChangedKey; private sendHealthCheckInterval; private healthCheckTimeout; constructor({ provider, sendHealthCheck, getUpstreamMessageOrigin, }: HealthCheckManagerParams); get status(): HealthCheckStatus; get isRunning(): boolean; get lastCheckCounter(): number | null; get lastCheckTime(): number | null; start({ healthCheckInterval: interval, connectionId, }: { healthCheckInterval: number; connectionId: string; }): void; stop(): void; handleResponse(message: HealthCheckResponseMessage): void; private sendHealthCheckMessage; private startTimeout; private clearInterval; private clearTimeout; private setUnhealthy; private setHealthy; private emitStatusChanged; onStatusChanged(handler: HealthCheckStatusChangedHandler): void; offStatusChanged(handler: HealthCheckStatusChangedHandler): void; } //# sourceMappingURL=health-check-manager.d.ts.map