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[]): 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;
