import { AndroidSdkTools } from './androidSdk/AndroidSdkTools';
/**
 * A Wrapper around the Gradle commands.
 */
export declare class GradleWrapper {
    private process;
    private androidSdkTools;
    private projectLocation;
    private gradleCmd;
    /**
     * Builds a new GradleWrapper
     * @param {NodeJS.Process} process NodeJS process information.
     * @param {AndroidSdkTools} androidSdkTools Android SDK to be used when building a project.
     * @param {string} projectLocation The location of the Android project.
     */
    constructor(process: NodeJS.Process, androidSdkTools: AndroidSdkTools, projectLocation?: string);
    /**
     * Invokes `gradle bundleRelease` for the Android project.
     */
    bundleRelease(): Promise<void>;
    /**
     * Invokes `gradle assembleRelease` for the Android project.
     */
    assembleRelease(): Promise<void>;
    /**
     * Executes gradle commands with custom arguments.
     * @param args - Arguments supplied to gradle, also considered gradle tasks.
     */
    executeGradleCommand(args: string[]): Promise<void>;
}
