import { i as TerminalTester, P as Point, W as WaitOptions } from '../types-I_UaGSPL.js';

/**
 * High-Level Interaction Helpers
 * Utilities for common terminal UI interactions
 */

/**
 * Navigate menu using arrow keys
 */
declare function navigateMenu(tester: TerminalTester, direction: 'up' | 'down' | 'left' | 'right', count?: number): Promise<void>;
/**
 * Select menu item by text
 */
declare function selectMenuItem(tester: TerminalTester, itemText: string, maxAttempts?: number): Promise<void>;
/**
 * Fill form field
 */
declare function fillField(tester: TerminalTester, fieldName: string, value: string): Promise<void>;
/**
 * Submit form
 * Optionally fill form fields before submitting
 */
declare function submitForm(tester: TerminalTester, formData?: Record<string, string>): Promise<void>;
/**
 * Cancel dialog or form
 */
declare function cancel(tester: TerminalTester): Promise<void>;
/**
 * Confirm dialog
 */
declare function confirmDialog(tester: TerminalTester, accept?: boolean): Promise<void>;
/**
 * Scroll content
 */
declare function scroll(tester: TerminalTester, direction: 'up' | 'down' | 'pageup' | 'pagedown' | 'home' | 'end', count?: number): Promise<void>;
/**
 * Click on text
 */
declare function clickOnText(tester: TerminalTester, text: string): Promise<void>;
/**
 * Click at position
 */
declare function clickAt(tester: TerminalTester, position: Point, button?: 'left' | 'middle' | 'right'): Promise<void>;
/**
 * Drag from one position to another
 */
declare function drag(tester: TerminalTester, from: Point, to: Point): Promise<void>;
/**
 * Select text by dragging
 */
declare function selectText(tester: TerminalTester, startText: string, endText: string): Promise<void>;
/**
 * Copy selected text
 */
declare function copySelection(tester: TerminalTester): Promise<void>;
/**
 * Paste from clipboard
 */
declare function pasteFromClipboard(tester: TerminalTester): Promise<void>;
/**
 * Execute command in shell
 */
declare function executeCommand(tester: TerminalTester, command: string): Promise<void>;
/**
 * Wait for prompt
 */
declare function waitForPrompt(tester: TerminalTester, prompt?: string, options?: WaitOptions): Promise<void>;
/**
 * Login to application
 */
declare function login(tester: TerminalTester, username: string, password: string): Promise<void>;
/**
 * Navigate through tabs
 */
declare function switchTab(tester: TerminalTester, tabIndex: number): Promise<void>;
/**
 * Open command palette or menu
 */
declare function openCommandPalette(tester: TerminalTester): Promise<void>;
/**
 * Search for text
 */
declare function search(tester: TerminalTester, searchText: string): Promise<boolean>;
/**
 * Exit application
 */
declare function exitApplication(tester: TerminalTester, force?: boolean): Promise<void>;
/**
 * Wait for loading to complete
 */
declare function waitForLoading(tester: TerminalTester, options?: WaitOptions): Promise<void>;
/**
 * Take screenshot with annotation
 */
declare function takeAnnotatedSnapshot(tester: TerminalTester, name: string, annotations?: {
    text: string;
    position: Point;
}[]): Promise<void>;

export { cancel, clickAt, clickOnText, confirmDialog, copySelection, drag, executeCommand, exitApplication, fillField, login, navigateMenu, openCommandPalette, pasteFromClipboard, scroll, search, selectMenuItem, selectText, submitForm, switchTab, takeAnnotatedSnapshot, waitForLoading, waitForPrompt };
