/**
 * Nut.js Automation Provider
 *
 * Real desktop automation using @nut-tree-fork/nut-js.
 * Provides mouse, keyboard, window, and clipboard control.
 */
import type { MouseButton, MousePosition, MouseMoveOptions, MouseClickOptions, MouseDragOptions, MouseScrollOptions, KeyCode, KeyPressOptions, TypeOptions, HotkeySequence, WindowInfo, WindowSearchOptions, WindowSetOptions, AppInfo, AppLaunchOptions, ScreenInfo, ColorInfo, ClipboardContent, AutomationProvider, ProviderCapabilities } from './types.js';
import type { IAutomationProvider } from './automation-manager.js';
export declare class NutJsProvider implements IAutomationProvider {
    readonly name: AutomationProvider;
    readonly capabilities: ProviderCapabilities;
    private initialized;
    private nutjs;
    initialize(): Promise<void>;
    shutdown(): Promise<void>;
    isAvailable(): Promise<boolean>;
    private ensureInitialized;
    private getKey;
    getMousePosition(): Promise<MousePosition>;
    moveMouse(x: number, y: number, options?: MouseMoveOptions): Promise<void>;
    click(options?: MouseClickOptions): Promise<void>;
    doubleClick(button?: MouseButton): Promise<void>;
    rightClick(): Promise<void>;
    drag(fromX: number, fromY: number, toX: number, toY: number, _options?: MouseDragOptions): Promise<void>;
    scroll(options: MouseScrollOptions): Promise<void>;
    keyPress(key: KeyCode, options?: KeyPressOptions): Promise<void>;
    keyDown(key: KeyCode): Promise<void>;
    keyUp(key: KeyCode): Promise<void>;
    type(text: string, options?: TypeOptions): Promise<void>;
    hotkey(sequence: HotkeySequence): Promise<void>;
    getActiveWindow(): Promise<WindowInfo | null>;
    getWindows(_options?: WindowSearchOptions): Promise<WindowInfo[]>;
    getWindow(_handle: string): Promise<WindowInfo | null>;
    focusWindow(_handle: string): Promise<void>;
    minimizeWindow(_handle: string): Promise<void>;
    maximizeWindow(_handle: string): Promise<void>;
    restoreWindow(_handle: string): Promise<void>;
    closeWindow(_handle: string): Promise<void>;
    setWindow(_handle: string, _options: WindowSetOptions): Promise<void>;
    getRunningApps(): Promise<AppInfo[]>;
    launchApp(_appPath: string, _options?: AppLaunchOptions): Promise<AppInfo>;
    closeApp(_pid: number): Promise<void>;
    getScreens(): Promise<ScreenInfo[]>;
    getPixelColor(x: number, y: number): Promise<ColorInfo>;
    getClipboard(): Promise<ClipboardContent>;
    setClipboard(content: Partial<ClipboardContent>): Promise<void>;
    clearClipboard(): Promise<void>;
    private delay;
}
