import { MossError } from '../errors.js'; import type { DeviceSshConfig, DeviceSshProbeResult } from './device-ssh.js'; export interface DeviceConnectionSnapshot { state: 'connected' | 'disconnected'; target: string; disconnectedAt?: number; reason?: string; } export interface DeviceConnectionHealthOptions { probe: (config: DeviceSshConfig, options?: { abortSignal?: AbortSignal; }) => Promise; onDisconnected?: (snapshot: DeviceConnectionSnapshot) => void; } export declare class DeviceConnectionLostError extends MossError { constructor(config: DeviceSshConfig, reason: string, operation?: string); } export declare class DeviceConnectionHealth { private readonly config; private readonly options; private state; private disconnectedAt?; private reason?; private probeInFlight?; constructor(config: DeviceSshConfig, options: DeviceConnectionHealthOptions); snapshot(): DeviceConnectionSnapshot; beforeOperation(operation: string): Promise; handleFailure(error: unknown, context: { operation: string; abortSignal?: AbortSignal; }): Promise; private probe; private disconnect; } //# sourceMappingURL=device-connection-health.d.ts.map