/**
 * Linux Native Desktop Automation Provider
 *
 * Uses xdotool, xclip, wmctrl, and xrandr for desktop automation on Linux/X11.
 */
import { BaseNativeProvider } from './base-native-provider.js';
import type { ProviderCapabilities, MousePosition, MouseMoveOptions, MouseClickOptions, MouseDragOptions, MouseScrollOptions, MouseButton, KeyCode, KeyPressOptions, TypeOptions, HotkeySequence, WindowInfo, WindowSearchOptions, WindowSetOptions, AppInfo, AppLaunchOptions, ScreenInfo, ColorInfo, ClipboardContent } from './types.js';
export declare class LinuxNativeProvider extends BaseNativeProvider {
    readonly platformName = "Linux";
    readonly capabilities: ProviderCapabilities;
    private isX11;
    initialize(): Promise<void>;
    isAvailable(): Promise<boolean>;
    shutdown(): Promise<void>;
    /**
     * Map a key name to the xdotool equivalent
     */
    private mapKey;
    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>;
}
