import { spawnSync } from "node:child_process"; import { type EngineProfilesConfig } from "@ai-kod/config"; import { type Redis, type RedisOptions } from "ioredis"; import type { EngineSpec, ExternalSetupConfig, PreflightResult } from "./types.js"; interface CommandDescriptor { name: string; command: string; args: string[]; required: boolean; } interface PreflightCheckerDependencies { spawnSync?: typeof spawnSync; redisFactory?: (options: RedisOptions) => Redis; } export declare class PreflightChecker { private readonly commands; private readonly runCommand; private readonly createRedisClient; private readonly spawnPtyRef; private readonly ptyLoadError?; constructor(commands?: CommandDescriptor[], dependencies?: PreflightCheckerDependencies); run(config?: ExternalSetupConfig, options?: { engineProfiles?: EngineProfilesConfig; extraEngines?: EngineSpec[]; engineRootDir?: string; dryRun?: boolean; autoInstall?: boolean; }): Promise; private installDependency; private checkNodeVersion; private checkCommand; private checkRedis; private collectEngineDiagnostics; private checkCommandWithAliasFallback; private isMissingBinary; private resolveShellAlias; private runShellProbe; private parseAliasReference; private extractAliasCommand; private normalizeAliasCommand; private stripQuotes; private stripShellArtifacts; private getShellPath; private canProbeAliases; private describeEnvFiles; private resolveEnvPath; private extractEnvFileKeys; } export {};