export interface PrereqResult { name: string; installed: boolean; version: string | null; minVersion: string; satisfied: boolean; message: string; } export interface PrereqReport { results: PrereqResult[]; allSatisfied: boolean; ghAuthenticated: boolean; ghUsername: string | null; ghProtocol: 'https' | 'ssh' | null; } /** * Compare two semver strings (e.g. "22.3.0", "18.0.0"). * Returns 1 if a > b, -1 if a < b, 0 if equal. */ export declare function compareVersions(a: string, b: string): number; /** * Check a single command exists and get its version. */ export declare function checkCommand(name: string, versionFlag: string, minVersion: string): Promise; /** * Check gh CLI authentication status. * Runs `gh auth status` and parses the output. */ export declare function checkGhAuth(): Promise<{ authenticated: boolean; username: string | null; protocol: 'https' | 'ssh' | null; }>; /** * Attempt to install gh CLI automatically. * Returns true if installation succeeded, false otherwise. */ export declare function installGhCli(): Promise<{ installed: boolean; message: string; }>; /** * Attempt to install sops and age automatically. * Returns true if both are installed after the attempt. */ export declare function installSopsAge(): Promise<{ installed: boolean; message: string; }>; /** * Ensure age key exists, generate if not present. * Returns the public key string. */ export declare function ensureAgeKey(): Promise<{ publicKey: string; keyPath: string; generated: boolean; }>; /** * Check all prerequisites and return a combined report. */ export declare function checkAllPrereqs(): Promise;