/**
 * Local host provider: the v1 directory.
 *
 * `list()` is the union of ssh-config `Host` stanzas (read-only, connection
 * details owned by ssh) and inline entries the user registered. The host
 * overlay (caps/os, keyed by name) is merged onto both. We never copy or
 * rewrite ssh config.
 *
 * PHNX-3315: registrations are DEVICE-SCOPED — each box writes only its own
 * `hosts:` block in `devices/<machine>/agents.yaml` (via `Meta.deviceHosts`),
 * so N boxes no longer rewrite one shared `hosts:` map (the pull conflict).
 * Reads are the cross-box UNION of every device doc, plus any lingering central
 * legacy entries drained by the migration.
 */
import type { Host, HostProvider, HostProviderCapabilities } from '../types.js';
export declare class LocalHostProvider implements HostProvider {
    readonly id: "local";
    capabilities(): HostProviderCapabilities;
    list(): Promise<Host[]>;
    resolve(name: string): Promise<Host | null>;
    register(spec: Host): Promise<Host>;
    remove(name: string): Promise<void>;
}
