import type { StringRecord } from '@appium/types';
import type { AndroidUiautomator2Driver } from '../driver';
import type { ActionResult } from './types';
/**
 * Schedules a recurring action to be performed at specified intervals.
 * @param name - Unique name for the scheduled action.
 * @param steps - Array of action steps to be executed.
 * @param maxPass - Maximum number of successful executions before stopping.
 * @param maxFail - Maximum number of failed executions before stopping.
 * @param times - Total number of times to execute the action.
 * @param intervalMs - Interval in milliseconds between action executions.
 * @param maxHistoryItems - Maximum number of history items to keep.
 * @returns The result of scheduling the action.
 */
export declare function mobileScheduleAction(this: AndroidUiautomator2Driver, name: string, steps: StringRecord[], maxPass?: number, maxFail?: number, times?: number, intervalMs?: number, maxHistoryItems?: number): Promise<any>;
/**
 * Gets the execution history for a scheduled action.
 * @param name - Name of the scheduled action.
 * @returns The action execution history containing repeats and step results.
 */
export declare function mobileGetActionHistory(this: AndroidUiautomator2Driver, name: string): Promise<ActionResult>;
/**
 * Unschedules a previously scheduled action.
 * @param name - Name of the scheduled action to unschedule.
 * @returns The result of unscheduling the action.
 */
export declare function mobileUnscheduleAction(this: AndroidUiautomator2Driver, name: string): Promise<any>;
/**
 * Performs a sequence of actions.
 * @param actions - Array of action objects to perform. Pointer actions are automatically converted to touch type.
 */
export declare function performActions(this: AndroidUiautomator2Driver, actions: StringRecord[]): Promise<void>;
/**
 * Releases all currently pressed keys and buttons.
 */
export declare function releaseActions(this: AndroidUiautomator2Driver): Promise<void>;
//# sourceMappingURL=actions.d.ts.map