import type { FileData, NxJsonConfiguration, ProjectGraph, ProjectGraphDependency, ProjectGraphNode, WorkspaceJsonConfiguration } from '@nrwl/devkit';
import type { ProjectFileMap } from '../file-graph';
export interface ProjectGraphCache {
    version: string;
    deps: Record<string, string>;
    pathMappings: Record<string, any>;
    nxJsonPlugins: {
        name: string;
        version: string;
    }[];
    nodes: Record<string, ProjectGraphNode>;
    dependencies: Record<string, ProjectGraphDependency[]>;
}
export declare const nxDepsDir: string;
export declare function ensureCacheDirectory(): void;
export declare function readCache(): false | ProjectGraphCache;
export declare function writeCache(packageJsonDeps: Record<string, string>, nxJson: NxJsonConfiguration, tsConfig: {
    compilerOptions: {
        paths?: {
            [k: string]: any;
        };
    };
}, projectGraph: ProjectGraph): void;
export declare function shouldRecomputeWholeGraph(cache: ProjectGraphCache, packageJsonDeps: Record<string, string>, workspaceJson: WorkspaceJsonConfiguration, nxJson: NxJsonConfiguration, tsConfig: {
    compilerOptions: {
        paths: {
            [k: string]: any;
        };
    };
}): boolean;
export declare function extractCachedFileData(fileMap: ProjectFileMap, c: ProjectGraphCache): {
    filesToProcess: ProjectFileMap;
    cachedFileData: {
        [project: string]: {
            [file: string]: FileData;
        };
    };
};
