import type { Tool } from '../core/tools/tool-types.js'; import type { DeviceConnectionHealth } from './device-connection-health.js'; import type { DeviceSshExecutor } from './device-ssh-session.js'; export interface DeviceSshConfig { host: string; user?: string; password?: string; port?: number; keyPath?: string; /** OpenSSH-compatible executable override for embedded hosts and tests. */ sshExecutable?: string; /** Arguments inserted before Moss-generated OpenSSH arguments. */ sshArgsPrefix?: string[]; rosDomainId?: number; } export type DeviceSshProbeFailureKind = 'auth' | 'refused' | 'unreachable' | 'dns' | 'missing-tool' | 'other'; export interface DeviceSshProbeResult { ok: boolean; detail: string; kind?: DeviceSshProbeFailureKind; } export declare function probeDeviceSsh(config: DeviceSshConfig, options?: { timeoutMs?: number; abortSignal?: AbortSignal; executor?: DeviceSshExecutor; }): Promise; export declare function createDeviceSshTools(config: DeviceSshConfig, health?: DeviceConnectionHealth, executor?: DeviceSshExecutor): Tool[]; export declare function getDeviceConfigFromEnv(): DeviceSshConfig | null; //# sourceMappingURL=device-ssh.d.ts.map