/**
 * Build the self-reported harness inventory a device emits in `doctor --json`
 * for cross-device divergence detection (RUSH-2027).
 *
 * Kept separate from {@link ../devices/fleet-divergence.js} — which stays a pure,
 * SSH-free comparator — because this reads the live install (resource dirs,
 * installed version homes, config repos). One call produces the {@link
 * FleetInventory} that both the local baseline and every remote box serialize
 * into their doctor payload; the comparator then diffs those payloads.
 */
import { type FleetInventory, type FleetVersionSignIn } from './fleet-divergence.js';
/**
 * Probe every installed version's sign-in state, per agent. For each version we
 * read its own home's account (via the shim-set config dir) and, when logged
 * out, decide whether that is PROVABLE: an agent that can't be inspected
 * (`!supportsAccountInspection`) never claims logged out, and a version that
 * merely lacks its own credential but shares the global login (`active`) is
 * signed in, not out. Pure reads (file-presence + cheap account parse), no
 * network, no keychain prompt. Only agents with at least one installed version
 * appear, so the map lines up with {@link FleetInventory.agentVersions}.
 */
export declare function collectLocalFleetSignIn(): Promise<Record<string, FleetVersionSignIn[]>>;
/**
 * Collect this machine's harness inventory: installed resources per kind,
 * installed version ids per agent, `.agents`/`.system` repo state, and
 * per-version sign-in. Pure reads — never mutates the install. `promptcuts` (a
 * single present/absent bit in {@link getAvailableResources}) is surfaced as a
 * one-element list so it compares like any other named resource.
 */
export declare function collectLocalFleetInventory(cwd?: string): Promise<FleetInventory>;
