import { ProjectConfiguration, ProjectGraphExternalNode, StaticDependency } from '@nx/devkit';
import { GradlePluginOptions } from './gradle-plugin-options';
export interface ProjectGraphReport {
    nodes: {
        [appRoot: string]: Partial<ProjectConfiguration>;
    };
    dependencies: Array<StaticDependency>;
    externalNodes?: Record<string, ProjectGraphExternalNode>;
    buildFiles?: string[];
}
export interface ProjectGraphReportCache extends ProjectGraphReport {
    hash: string;
}
export declare function writeProjectGraphReportToCache(cachePath: string, results: ProjectGraphReport, hash: string): void;
export declare function getCurrentProjectGraphReport(): ProjectGraphReport;
export declare function getCurrentBuildFiles(): string[];
/**
 * This function populates the gradle report cache.
 * For each gradlew file, it runs the `nxProjectGraph` task and processes the output.
 * It will throw an error if both tasks fail.
 * It will accumulate the output of all gradlew files.
 * @param workspaceRoot
 * @param gradlewFiles absolute paths to all gradlew files in the workspace
 * @param options user specified gradle plugin options
 * @returns Promise<void>
 */
export declare function populateProjectGraph(workspaceRoot: string, gradlewFiles: string[], options: GradlePluginOptions): Promise<void>;
export declare function processNxProjectGraph(projectGraphLines: string[]): ProjectGraphReport;
//# sourceMappingURL=get-project-graph-from-gradle-plugin.d.ts.map