import _ from 'lodash';
import type { ADB } from './adb';
import type { ApkManifest } from './tools/types';
export declare const APKS_EXTENSION = ".apks";
export declare const APK_EXTENSION = ".apk";
export declare const APK_INSTALL_TIMEOUT = 60000;
export declare const DEFAULT_ADB_EXEC_TIMEOUT = 20000;
/**
 * Calculates the absolute path to the given resource
 */
export declare const getResourcePath: ((relPath: string) => Promise<string>) & _.MemoizedFunction;
/**
 * Retrieves the actual path to SDK root folder from the system environment
 */
export declare function getSdkRootFromEnv(): string | undefined;
/**
 * Retrieves the actual path to SDK root folder
 */
export declare function requireSdkRoot(customRoot?: string | null): Promise<string>;
/**
 * @param zipPath
 * @param dstRoot
 */
export declare function unzipFile(zipPath: string, dstRoot?: string): Promise<void>;
export declare const getJavaHome: (() => Promise<string>) & _.MemoizedFunction;
export declare const getJavaForOs: (() => Promise<string>) & _.MemoizedFunction;
/**
 * Transforms given options into the list of `adb install.install-multiple` command arguments
 */
export declare function buildInstallArgs(apiLevel: number, options?: BuildInstallArgsOptions): string[];
/**
 * Extracts various package manifest details
 * from the given application file.
 */
export declare function readPackageManifest(this: ADB, apkPath: string): Promise<ApkManifest>;
/**
 * Options for building install arguments
 */
interface BuildInstallArgsOptions {
    replace?: boolean;
    allowTestPackages?: boolean;
    useSdcard?: boolean;
    grantPermissions?: boolean;
    partialInstall?: boolean;
}
export {};
//# sourceMappingURL=helpers.d.ts.map