/**
 * macOS Native Desktop Automation Provider
 *
 * Uses osascript (AppleScript) and cliclick for desktop automation on macOS.
 * cliclick is optional but recommended for reliable mouse control.
 */
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 MacOSNativeProvider extends BaseNativeProvider {
    readonly platformName = "macOS";
    readonly capabilities: ProviderCapabilities;
    private hasCliclick;
    /**
     * Execute an osascript command.
     */
    private osascript;
    /**
     * Execute an AppleScript via System Events.
     */
    private sysEvents;
    /**
     * Map a modifier key to AppleScript modifier syntax.
     */
    private mapModifier;
    /**
     * Build the AppleScript 'using' clause for modifiers.
     */
    private buildModifierClause;
    initialize(): Promise<void>;
    isAvailable(): Promise<boolean>;
    shutdown(): Promise<void>;
    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>;
}
