import { ADB } from 'appium-adb';
import type { AndroidDriver } from '../../driver';
/**
 * Requires that the current device is an emulator, throwing an error if not.
 *
 * @param errMsg - Error message to throw if not an emulator
 * @throws {Error} If the device is not an emulator
 */
export declare function requireEmulator(this: AndroidDriver, errMsg: string): void;
/**
 * Ensures the network speed value is valid, returning the default if not.
 *
 * @param networkSpeed - The network speed value to validate
 * @returns The validated network speed value
 */
export declare function ensureNetworkSpeed(this: AndroidDriver, networkSpeed: string): string;
/**
 * Prepares AVD arguments based on options.
 *
 * @returns An array of AVD arguments
 */
export declare function prepareAvdArgs(this: AndroidDriver): string[];
/**
 * Prepares and launches an emulator with the specified AVD name.
 *
 * @param adb - The ADB instance to use
 */
export declare function prepareEmulator(this: AndroidDriver, adb: ADB): Promise<void>;
/**
 * Creates a base ADB instance with options from driver configuration.
 *
 * @returns A configured ADB instance
 */
export declare function createBaseADB(this: AndroidDriver): Promise<ADB>;
/**
 * Pushes and installs the settings app on the device.
 *
 * @param throwIfError - Whether to throw an error if installation fails
 */
export declare function pushSettingsApp(this: AndroidDriver, throwIfError: boolean): Promise<void>;
/**
 * @deprecated
 */
export declare function initUnicodeKeyboard(this: AndroidDriver): Promise<string | null>;
/**
 * Hides the on-screen keyboard completely by setting an empty IME.
 */
export declare function hideKeyboardCompletely(this: AndroidDriver): Promise<void>;
//# sourceMappingURL=utils.d.ts.map