/**
 * Render the device registry into an OpenSSH `ssh_config` include block.
 *
 * Writing a managed include (e.g. `~/.ssh/config.d/agents`) makes every tool
 * that speaks ssh — plain `ssh`/`scp`/`rsync`/`git`, and `agents sessions
 * --device` — resolve the registry's logical device names transparently, without
 * each of them learning about the registry. `agents ssh` stays the value-add
 * layer (preflight, password-from-bundle auth, platform-aware exec) on top.
 *
 * `renderSshConfig` is a pure function (registry in, config text out) so the
 * exact rendering is unit-testable.
 */
import { type DeviceProfile, type DeviceRegistry } from './registry.js';
/** The HostName an ssh client should dial for a device: DNS name first, then IP. */
export declare function hostNameFor(device: DeviceProfile): string | undefined;
/**
 * Render the whole registry into ssh_config text. Devices are emitted in
 * stable alphabetical order (so the file does not churn between runs) and
 * addressless devices are skipped.
 */
export declare function renderSshConfig(reg: DeviceRegistry): string;
