import type { PostProcessOptions, PostProcessResult, CachedAppInfo } from '@appium/types';
import type { EspressoDriver } from '../driver.js';
export declare const APK_EXT = ".apk";
export declare const AAB_EXT = ".aab";
export declare const SUPPORTED_EXTENSIONS: string[];
/** Cached app entry with integrity path (narrower than {@link CachedAppInfo}). */
export type StrictCachedAppInfo = CachedAppInfo & {
    fullPath: string;
};
/** Whether the session targets an app already installed on the device (no app path). */
export declare function isAppOnDevice(driver: EspressoDriver): boolean;
/**
 * Unzip the given app path and return the first package that has SUPPORTED_EXTENSIONS
 * in the archived file.
 *
 * @param appPath The path to app file.
 * @returns The path to an unzipped app file path.
 * @throws If the zip did not have any SUPPORTED_EXTENSIONS packages.
 */
export declare function unzipApp(this: EspressoDriver, appPath: string): Promise<string>;
/** Post-processes configured apps and reuses a valid cache entry when possible. */
export declare function onPostConfigureApp(this: EspressoDriver, opts: PostProcessOptions): Promise<PostProcessResult | undefined>;
/** Prepare the application under test on the device. */
export declare function initAUT(this: EspressoDriver): Promise<void>;
//# sourceMappingURL=app-install.d.ts.map