#!/usr/bin/env node
import { type NormalizedAppsResolutionStrategy } from '../apps/configuration-file';
import { type AppsResolutionIssue } from '../apps/enabled-apps';
import { type DomindsAppDependency } from '../apps/manifest';
import { type AppsResolutionEntry, type AppsResolutionSource } from '../apps/resolution-file';
type FreshProbeSummary = Readonly<{
    appId: string;
    source: AppsResolutionSource;
    hostModuleRelPath: string;
    hostExportName: string;
    packageName: string;
    packageVersion: string | null;
}>;
type DiagnosisStatus = 'healthy' | 'degraded';
type AppDiagnosis = Readonly<{
    appId: string;
    status: DiagnosisStatus;
    declared: boolean;
    declaredAsOptional: boolean;
    lockedPackage: string | null;
    disabled: boolean;
    resolutionEntry: AppsResolutionEntry | null;
    freshProbe: FreshProbeSummary | null;
    reasons: ReadonlyArray<string>;
    nextActions: ReadonlyArray<string>;
}>;
declare function runDoctor(params: {
    rtwsRootAbs: string;
    appId: string | null;
}): Promise<{
    declaredDeps: ReadonlyArray<DomindsAppDependency>;
    declaredAppIds: ReadonlySet<string>;
    lockById: ReadonlyMap<string, {
        name: string;
        version: string | null;
    }>;
    disabledApps: ReadonlySet<string>;
    strategy: NormalizedAppsResolutionStrategy;
    resolutionById: ReadonlyMap<string, AppsResolutionEntry>;
    freshResolutionById: ReadonlyMap<string, AppsResolutionEntry>;
    issues: ReadonlyArray<AppsResolutionIssue>;
    diagnoses: ReadonlyArray<AppDiagnosis>;
}>;
declare function main(argv?: readonly string[]): Promise<void>;
export { main, runDoctor };
