export type AppsResolutionStrategyOrderItem = 'local' | 'npx';
export type AppsResolutionStrategy = Readonly<{
    order?: ReadonlyArray<AppsResolutionStrategyOrderItem>;
    localRoots?: ReadonlyArray<string>;
}>;
export declare const DEFAULT_APPS_RESOLUTION_STRATEGY: AppsResolutionStrategy;
export type NormalizedAppsResolutionStrategy = Readonly<{
    order: ReadonlyArray<AppsResolutionStrategyOrderItem>;
    localRoots: ReadonlyArray<string>;
}>;
export type AppsConfigurationSchemaVersion = 1;
export type AppsConfigurationFile = Readonly<{
    schemaVersion: AppsConfigurationSchemaVersion;
    resolutionStrategy?: AppsResolutionStrategy;
    disabledApps?: ReadonlyArray<string>;
}>;
export declare const APPS_CONFIGURATION_REL_PATH: string;
export declare function parseResolutionStrategy(v: unknown, at: string): {
    ok: true;
    strategy: AppsResolutionStrategy;
} | {
    ok: false;
    errorText: string;
};
export declare function normalizeAppsResolutionStrategy(raw: AppsResolutionStrategy | undefined): NormalizedAppsResolutionStrategy;
export declare function loadAppsConfigurationFile(params: {
    rtwsRootAbs: string;
}): Promise<Readonly<{
    kind: 'ok';
    file: AppsConfigurationFile;
    filePathAbs: string;
    exists: boolean;
}> | Readonly<{
    kind: 'error';
    errorText: string;
    filePathAbs: string;
}>>;
export declare function writeAppsConfigurationFile(params: {
    rtwsRootAbs: string;
    file: AppsConfigurationFile;
}): Promise<void>;
export declare function writeAppsConfigurationFileIfChanged(params: {
    rtwsRootAbs: string;
    file: AppsConfigurationFile;
}): Promise<void>;
export declare function isAppDisabledInConfiguration(file: AppsConfigurationFile, appId: string): boolean;
export declare function setAppDisabledInConfiguration(params: {
    existing: AppsConfigurationFile;
    appId: string;
    disabled: boolean;
}): AppsConfigurationFile;
