/** * @typedef {{socketPath: string, stop: () => Promise}} AgentProcess * @typedef {{filePath: string, optionalStandard: boolean, selected: boolean}} ResolvedIdentity * @typedef {{configPath?: string, homeDirectory?: string, loadStandardIdentities?: boolean, makeTemp?: (prefix: string) => Promise, startAgent?: (socketPath: string) => Promise, addIdentity?: (socketPath: string, input: Buffer) => Promise, writeDiagnostic?: (message: string) => void}} AgentDependencies */ /** * Runs one complete Rampway command with its configured isolated SSH agent. * * @template T * @param {{configPath: string, stage: {transport: import('#types').TransportConfig}}} prepared * @param {() => Promise} callback * @param {{manageSignals?: boolean, startAgent?: typeof startEphemeralSshAgent, writeDiagnostic?: (message: string) => void, env?: Record, homeDirectory?: string, isAgentUsable?: (socketPath: string, env?: Record) => Promise}} [dependencies] * @returns {Promise} */ export function withCommandSshCredentials(prepared: { configPath: string; stage: { transport: import("#types").TransportConfig; }; }, callback: () => Promise, { manageSignals, startAgent, writeDiagnostic, env, homeDirectory, isAgentUsable }?: { manageSignals?: boolean; startAgent?: typeof startEphemeralSshAgent; writeDiagnostic?: (message: string) => void; env?: Record; homeDirectory?: string; isAgentUsable?: (socketPath: string, env?: Record) => Promise; }): Promise; /** * @param {import('#types').SshCredentialsConfig} credentials * @param {AgentDependencies} [dependencies] * @returns {Promise<{directory: string, socketPath: string, env: Record, close: () => Promise}>} */ export function startEphemeralSshAgent(credentials: import("#types").SshCredentialsConfig, dependencies?: AgentDependencies): Promise<{ directory: string; socketPath: string; env: Record; close: () => Promise; }>; export type AgentProcess = { socketPath: string; stop: () => Promise; }; export type ResolvedIdentity = { filePath: string; optionalStandard: boolean; selected: boolean; }; export type AgentDependencies = { configPath?: string; homeDirectory?: string; loadStandardIdentities?: boolean; makeTemp?: (prefix: string) => Promise; startAgent?: (socketPath: string) => Promise; addIdentity?: (socketPath: string, input: Buffer) => Promise; writeDiagnostic?: (message: string) => void; }; //# sourceMappingURL=ssh-credentials.d.ts.map