import type { AndroidUiautomator2Driver } from '../driver';
import type { SendKeysOpts } from 'appium-android-driver';
/**
 * Presses a key code with optional metastate and flags.
 * @param keycode - Android key code to press.
 * @param metastate - Optional meta state modifier keys.
 * @param flags - Optional flags for the key event.
 */
export declare function pressKeyCode(this: AndroidUiautomator2Driver, keycode: string | number, metastate?: number, flags?: number): Promise<void>;
/**
 * Long presses a key code with optional metastate and flags.
 * @param keycode - Android key code to long press.
 * @param metastate - Meta state modifier keys.
 * @param flags - Optional flags for the key event.
 */
export declare function longPressKeyCode(this: AndroidUiautomator2Driver, keycode: string | number, metastate: number, flags?: number): Promise<void>;
/**
 * Presses a key code with optional metastate, flags, source, and long press support.
 * @param keycode - Android key code to press.
 * @param metastate - Optional meta state modifier keys.
 * @param flags - Optional flags for the key event.
 * @param isLongPress - Whether to perform a long press. Defaults to false.
 * @param source - Optional input device source. One or more InputDevice.SOURCE_* values (default is SOURCE_KEYBOARD).
 *                 Multiple source values can be combined using the logical OR operator.
 *                 See https://developer.android.com/reference/android/view/InputDevice for details.
 */
export declare function mobilePressKey(this: AndroidUiautomator2Driver, keycode: number, metastate?: number, flags?: string, isLongPress?: boolean, source?: number): Promise<void>;
/**
 * Types the given Unicode string. The focus should already be on the destination input field.
 * @param text - Text to type. Can be a string, number, or boolean.
 * @returns True if the input text has been successfully sent to adb.
 * @throws {errors.InvalidArgumentError} If the text argument is not provided.
 */
export declare function mobileType(this: AndroidUiautomator2Driver, text: string | number | boolean): Promise<boolean>;
/**
 * Sends keys to the current element.
 * @param params - Options containing the text to send and optional replace flag.
 */
export declare function doSendKeys(this: AndroidUiautomator2Driver, params: SendKeysOpts): Promise<void>;
/**
 * Sends a key event to the device.
 * @param keycode - Android key code to send.
 * @param metastate - Optional meta state (ignored in this implementation).
 */
export declare function keyevent(this: AndroidUiautomator2Driver, keycode: string | number, metastate?: number): Promise<void>;
//# sourceMappingURL=keyboard.d.ts.map