import { type AppsResolutionEntry, type AppsResolutionFile } from './resolution-file';
export type EnabledAppSnapshotEntry = Readonly<{
    id: string;
    runtimePort: number | null;
    installJson: AppsResolutionEntry['installJson'];
    source: AppsResolutionEntry['source'];
}>;
export type AppsResolutionIssue = Readonly<{
    kind: 'required_dependency_missing' | 'required_dependency_disabled' | 'app_manifest_load_failed' | 'app_effectively_disabled_due_to_required_dependency' | 'assigned_port_reassigned';
    severity: 'error' | 'warning' | 'info';
    message: string;
    detail: Readonly<Record<string, unknown>>;
}>;
export type EnabledAppsSnapshot = Readonly<{
    enabledApps: ReadonlyArray<EnabledAppSnapshotEntry>;
    issues: ReadonlyArray<AppsResolutionIssue>;
}>;
type ResolvedGraphState = Readonly<{
    resolutionFile: AppsResolutionFile;
    issues: ReadonlyArray<AppsResolutionIssue>;
}>;
export type AppsResolutionMaterializationResult = Readonly<{
    resolved: ResolvedGraphState;
    wroteResolutionFile: boolean;
}>;
export declare function resolveAppsGraphState(params: {
    rtwsRootAbs: string;
}): Promise<ResolvedGraphState>;
export declare function materializeAppsResolution(params: {
    rtwsRootAbs: string;
}): Promise<AppsResolutionMaterializationResult>;
export declare function loadEnabledAppsSnapshot(params: {
    rtwsRootAbs: string;
}): Promise<EnabledAppsSnapshot>;
export {};
