import type { DeviceSshConfig } from '../tools/device-ssh.js'; import { type DeviceSshProbeResult } from '../tools/device-ssh.js'; export interface FleetDeviceConfig { alias: string; ssh: DeviceSshConfig; } export interface FleetDeviceState { alias: string; config: DeviceSshConfig; connected: boolean; probeResult?: DeviceSshProbeResult; lastSeen?: number; sessionId?: string; } export interface FleetStatus { name: string; devices: FleetDeviceState[]; summary: { total: number; connected: number; unreachable: number; }; } export declare function parseFleetConfigEnv(env?: NodeJS.ProcessEnv): FleetDeviceConfig[]; export declare class FleetManager { readonly name: string; private devices; constructor(name: string, configs: FleetDeviceConfig[]); add(config: FleetDeviceConfig): void; remove(alias: string): boolean; get(alias: string): FleetDeviceState | undefined; listAliases(): string[]; listAll(): FleetDeviceState[]; markConnected(alias: string, sessionId?: string): void; markDisconnected(alias: string): void; /** * Probe all disconnected devices for SSH availability. * Returns results for probes that complete before timeout. * Incomplete probes are skipped and not included in the result map. * * @param timeoutMs - Maximum time to wait in milliseconds (default: 5000) * Use 'fast' preset (3000ms) for quick checks, or explicit ms value. * @returns Map of alias -> DeviceSshProbeResult for completed probes. * Unprobed devices (timeout) will not have an entry. */ probeAll(timeoutMs?: number): Promise>; getStatus(): FleetStatus; } //# sourceMappingURL=fleet-manager.d.ts.map