/**
 * Devices host provider: the Tailscale fleet as dispatch targets.
 *
 * Bridges the devices registry (`agents devices`, ~/.agents/.history/devices/
 * registry.json) into the host pool behind the same `HostProvider` seam as
 * `local` — the Tailscale-backed device provider described in docs/fleet.md. With
 * it, a machine registered once via `agents devices sync` becomes a resolvable
 * `--device`/`--device` dispatch target, participates in capability routing, and
 * is enumerable by target pickers — not just resolvable by exact name.
 *
 * Password-auth devices are listed (the pool stays honest about what exists)
 * but marked `dispatchable: false`; resolving one for dispatch throws the same
 * typed `DeviceOffloadUnsupportedError` as before — offload rides `sshExec`,
 * whose SSH_OPTS force `BatchMode=yes`.
 *
 * Precedence is unchanged: this provider registers AFTER `local`, so an
 * enrolled host shadows a same-name device in both list dedup and resolve
 * order, exactly like the old tier-2 devices fall-through in resolveHost.
 */
import type { Host, HostProvider, HostProviderCapabilities, HostStatus } from '../types.js';
export declare class DevicesHostProvider implements HostProvider {
    readonly id: "devices";
    capabilities(): HostProviderCapabilities;
    list(): Promise<Host[]>;
    resolve(name: string): Promise<Host | null>;
    presence(name: string): Promise<HostStatus>;
}
