import { NxJsonConfiguration } from '@nx/devkit';
import { ExecFileOptions } from 'node:child_process';
export declare const fileSeparator: string;
export declare const newLineSeparator: string;
/**
 * For gradle command, it needs to be run from the directory of the gradle binary
 * @returns gradle binary file name
 */
export declare function getGradleExecFile(): string;
/**
 * This function executes gradle with the given arguments
 * @param gradleBinaryPath absolute path to gradle binary
 * @param args args passed to gradle
 * @param execOptions exec options
 * @returns promise with the stdout buffer
 */
export declare function execGradleAsync(gradleBinaryPath: string, args: ReadonlyArray<string>, execOptions?: ExecFileOptions): Promise<Buffer>;
export declare function getCustomGradleExecutableDirectoryFromPlugin(nxJson: NxJsonConfiguration): string | undefined;
/**
 * This function recursively finds the nearest gradlew file in the workspace
 * @param filePathToSearch the original file to search for, relative to workspace root, file path not directory path
 * @param workspaceRoot workspace root
 * @param customExecutableDirectory a custom directory to search for the gradle wrapper file
 * @returns the relative path of the gradlew file to workspace root, throws an error if gradlew file is not found
 * It will return relative path to workspace root of gradlew.bat file on windows and gradlew file on other platforms
 */
export declare function findGradlewFile(filePathToSearch: string, workspaceRoot: string, customExecutableDirectory?: string): string;
export declare function findGradlewUsingFilePathTraversal(filePathToSearch: string, workspaceRoot: string, currentSearchPath?: string): string;
export declare function findGradlewUsingCustomExecutableDirectory(customGradleExecutableDirectory: string, workspaceRoot: string): string;
//# sourceMappingURL=exec-gradle.d.ts.map