export type DependencyId = 'claude' | 'codex' | 'cursor' | 'npx' | 'mermaid-cli' | 'sf-cli' | 'pandoc' | 'ffmpeg' | 'pdftotext'; export type DependencyPlatform = 'darwin' | 'linux' | 'win32'; export type PlatformInstall = { darwin: string; linux: string; win32: string; }; export type DependencyDescriptor = { id: DependencyId; binary: string; label: string; purpose: string; installCommand: string; platformInstall: PlatformInstall; installHint: string; optional: boolean; checkArgs?: string[]; minVersion?: string; }; export type DependencyStatus = { id: DependencyId; installed: boolean; version?: string; path?: string; }; export type CheckResult = { dependencies: DependencyStatus[]; missing: DependencyStatus[]; installed: DependencyStatus[]; }; export type PreflightReport = { platform: DependencyPlatform; passed: boolean; blocking: DependencyStatus[]; degraded: DependencyStatus[]; available: DependencyStatus[]; checkedAt: string; }; export declare const DEPENDENCY_REGISTRY: DependencyDescriptor[]; export declare function isBinaryAvailable(binary: string): { available: boolean; path?: string; }; export declare function getBinaryVersion(binary: string, args?: string[], resolvedPath?: string): string | undefined; export declare function checkDependency(descriptor: DependencyDescriptor): DependencyStatus; export declare function checkAllDependencies(): CheckResult; export declare function checkDependencies(ids: DependencyId[]): CheckResult; export declare function checkRuntimeDependencies(): CheckResult; export declare function checkCoreDependencies(): CheckResult; export declare function getDescriptor(id: DependencyId): DependencyDescriptor | undefined; export type InstallResult = { id: DependencyId; success: boolean; error?: string; }; export declare function installDependency(id: DependencyId): InstallResult; export declare function detectPlatform(): DependencyPlatform; export declare function runPreflight(ids?: DependencyId[]): PreflightReport; export declare function formatMissingDependencies(missing: DependencyStatus[]): string; export declare function formatPreflightReport(report: PreflightReport): string;