import { Duration } from '../core/miscellaneous';
import { InputBox, QuickOpenBox, Workbench } from 'vscode-extension-tester';
/**
 * Opens the command prompt and enters a command
 * @param workbench - The VSCode workbench instance
 * @param command - The command to enter in the prompt
 * @returns The InputBox or QuickOpenBox representing the command prompt
 */
export declare function openCommandPromptWithCommand(workbench: Workbench, command: string): Promise<InputBox | QuickOpenBox>;
/**
 * Runs a command from the command prompt
 * @param workbench - The VSCode workbench instance
 * @param command - The command to run
 * @param durationInSeconds - Optional duration to wait after running the command
 * @returns The InputBox or QuickOpenBox representing the command prompt
 */
export declare function runCommandFromCommandPrompt(workbench: Workbench, command: string, durationInSeconds?: Duration): Promise<InputBox | QuickOpenBox>;
/**
 * Selects a quick pick option with the specified text
 * @param prompt - The command prompt
 * @param text - The text of the quick pick option to select
 */
export declare function selectQuickPickWithText(prompt: InputBox | QuickOpenBox, text: string): Promise<void>;
/**
 * Selects a quick pick item with the exact text
 * @param prompt - The command prompt
 * @param text - The exact text of the quick pick item to select
 * @throws Error if the prompt is undefined or if the quick pick item is not found
 */
export declare function selectQuickPickItem(prompt: InputBox | QuickOpenBox | undefined, text: string): Promise<void>;
/**
 * Finds a quick pick item in the command prompt
 * @param inputBox - The command prompt
 * @param quickPickItemTitle - The text to search for in quick pick items
 * @param useExactMatch - If true, looks for exact match; if false, checks if item contains the text
 * @param selectTheQuickPickItem - If true, selects the item when found
 * @returns True if the item was found, false otherwise
 */
export declare function findQuickPickItem(inputBox: InputBox | QuickOpenBox | undefined, quickPickItemTitle: string, useExactMatch: boolean, selectTheQuickPickItem: boolean): Promise<boolean>;
/**
 * Waits for a quick pick item to appear in the command prompt
 * @param prompt - The command prompt
 * @param pickListItem - The text of the quick pick item to wait for
 * @param options - Optional configuration including timeout and error message
 */
export declare function waitForQuickPick(prompt: InputBox | QuickOpenBox | undefined, pickListItem: string, options?: {
    msg?: string;
    timeout?: Duration;
}): Promise<void>;
/**
 * Runs exact command from command palette
 * @param command - The command to execute
 * @param wait - Duration to wait after executing the command; default is 1 second
 * @returns The command prompt interface
 * @throws Error if the command is not found or execution fails
 */
export declare function executeQuickPick(command: string, wait?: Duration): Promise<InputBox | QuickOpenBox>;
/**
 * Clicks the OK button in a file path dialog
 * Also handles the Overwrite confirmation if a folder already exists
 * @throws Error if the OK button is not found
 */
export declare function clickFilePathOkButton(): Promise<void>;
/**
 * Checks if a VSCode command is available.
 * @param commandName - Name of the VSCode command to check
 * @returns boolean - true if the command is available, false otherwise
 */
export declare const isCommandAvailable: (commandName: string) => Promise<boolean>;
