/** * Host facts probe — gathers platform information from a remote host. * * Runs a small number of SSH commands after connectivity is verified to * detect OS family, package manager, init system, and architecture. * Results are cached on ExecutionContext for use by all resources. */ import type { Transport } from "../ssh/types.ts"; import type { DistroFamily, HostFacts, InitSystem, PackageManager } from "./types.ts"; /** * Parse key=value pairs from /etc/os-release content. * * Handles both quoted and unquoted values. Returns a map of key → value. */ export declare function parseOsRelease(content: string): Map; /** * Derive the OS family from os-release ID and ID_LIKE fields. * * ID_LIKE is checked first (space-separated list of parent distros), * then ID is used as a fallback. */ export declare function classifyDistro(id: string, idLike: string): DistroFamily; /** * Detect the first available package manager from command probe output. */ export declare function detectPkgManager(probeOutput: string): PackageManager; /** * Detect the init system from command probe output. */ export declare function detectInitSystem(probeOutput: string): InitSystem; /** * Probe a remote host for platform facts. * * Runs 3 SSH commands: * 1. `cat /etc/os-release` — parse ID, ID_LIKE, VERSION_ID * 2. `command -v apt-get dnf yum apk 2>/dev/null; uname -m` — package manager + arch * 3. `command -v systemctl openrc-init 2>/dev/null` — init system * * On any failure, returns graceful defaults (distro: 'unknown', etc.). */ export declare function probeHostFacts(connection: Transport): Promise; //# sourceMappingURL=facts.d.ts.map