import type { DeviceSshConfig } from './device-ssh.js'; import { ProcessError, runProcess, type RunProcessResult } from '../utils/run-process.js'; export declare function shellEscape(arg: string): string; export declare function expandHomePath(value: string): string; export declare function isMissingExecutableError(err: unknown, executable: string): boolean; export declare function formatMissingSshExecutable(executable: string): string; export declare function missingSshExecutableProcessError(err: unknown, executable: string): ProcessError | null; export declare function sshFailureToError(err: unknown, executable: string): Error | null; export declare function buildSshCommand(config: DeviceSshConfig, remoteCmd: string, connectTimeout?: number): string[]; export declare const SSH_PASSWORD_ENV_VAR = "MOSS_SSH_PASSWORD"; export interface SshInvocation { bin: string; args: string[]; env: Record; askpass?: string; } export interface ResolveSshInvocationOptions { platform?: NodeJS.Platform; sshpassAvailable?: boolean; askpassPath?: string; headless?: boolean; } export declare function resolveSshInvocation(config: DeviceSshConfig, sshArgs: string[], opts?: ResolveSshInvocationOptions): SshInvocation; export declare function runSsh(config: DeviceSshConfig, sshArgs: string[], runOpts?: { timeout?: number; maxBuffer?: number; signal?: AbortSignal; runner?: typeof runProcess; resolveOpts?: ResolveSshInvocationOptions; }): Promise; export declare function sshBinFor(config: DeviceSshConfig): string; //# sourceMappingURL=ssh-utils.d.ts.map