export type BinaryProbeCandidateStatus = "matched" | "unmatched" | "invalid" | "error"; export interface BinaryProbeCandidate { path: string; status: BinaryProbeCandidateStatus; version: string | null; output?: string; error?: string; } export interface BinaryProbeResult { version: string | null; path: string | null; expectedVersion: string; expectedMajorMinor: string | null; candidates: BinaryProbeCandidate[]; } /** * Parse and validate `aft --version` output. Accepts either a plain semver * line (`0.30.1`) or the binary's normal `aft 0.30.1` line. Random non-semver * output is rejected so PATH garbage is not reported as a healthy AFT binary. */ export declare function normalizeBinaryVersion(output: string): string | null; /** * Probe `aft --version` from the same prioritized candidate locations used by * `findAftBinary()` (cache, npm platform package, PATH, cargo fallback). * * Returns the first successfully reported version matching the expected * major.minor version, or null if nothing resolves. Errors, missing files, * invalid version output, and version mismatches are swallowed — callers get a * signal, not an exception. */ export declare function probeBinaryVersion(preferredVersion?: string): string | null; /** Detailed binary probe used by diagnostics to explain mismatched candidates. */ export declare function probeAftBinary(preferredVersion?: string): BinaryProbeResult; export declare function platformKey(platform?: string, arch?: string): string | null; export declare function findAftBinary(preferredVersion?: string): string | null; //# sourceMappingURL=binary-probe.d.ts.map