export interface SSHConnectionTarget { name: string; host: string; username?: string; port?: number; keyPath?: string; compat?: boolean; } export type SSHHostOs = "windows" | "linux" | "macos" | "unknown"; export type SSHHostShell = "cmd" | "powershell" | "bash" | "zsh" | "sh" | "unknown"; export type SshPlatform = typeof process.platform; export declare function supportsSshControlMaster(platform?: SshPlatform): boolean; export interface SSHHostInfo { version: number; os: SSHHostOs; shell: SSHHostShell; compatShell?: "bash" | "sh"; compatEnabled: boolean; } interface SSHArgsOptions { platform?: SshPlatform; } export declare function getHostInfo(hostName: string): Promise; export declare function getHostInfoForHost(host: SSHConnectionTarget): Promise; export declare function ensureHostInfo(host: SSHConnectionTarget): Promise; export declare function buildRemoteCommand(host: SSHConnectionTarget, command: string, options?: SSHArgsOptions): Promise; export declare function ensureConnection(host: SSHConnectionTarget): Promise; export declare function invalidateHostMetadata(hostNames: Iterable): Promise; export declare function closeConnection(hostName: string): Promise; export declare function closeAllConnections(): Promise; export declare function getControlPathTemplate(): string; export declare function getControlDir(): string; export {};