import { BetaTool } from '@anthropic-ai/sdk/resources/beta/messages/messages';
import { MODIFIER_KEY, PC_KEY, ANDROID_KEY, PC_AND_MODIFIER_KEY } from '../../../../execution/dsl';
import { BaseAgentTool, ToolResult } from './base';
import { ExecutionRuntime } from '../../../../execution/execution-runtime';
import { ControlCommand } from '../../../ui-control-commands';
export declare class OsAgentHandler {
    private AgentOsClient;
    private screenDimensions;
    runtime: 'android' | 'desktop';
    private targetResolution;
    private paddingInfo;
    constructor(AgentOsClient: ExecutionRuntime, screenDimensions: {
        width: number;
        height: number;
    }, runtime: 'android' | 'desktop');
    private updatePaddingInfo;
    static createInstance(AgentOsClient: ExecutionRuntime): Promise<OsAgentHandler>;
    getTargetResolution(): {
        width: number;
        height: number;
    };
    getScreenDimensions(): {
        width: number;
        height: number;
    };
    setTargetResolution(width: number, height: number): void;
    takeScreenshot(): Promise<string>;
    scaleCoordinates(source: 'api' | 'computer', x: number, y: number): [number, number];
    requestControl(controlCommand: ControlCommand): Promise<void>;
    mouseMove(x: number, y: number): Promise<void>;
    mouseClick(button: 'left' | 'right' | 'middle', doubleClick: boolean): Promise<void>;
    mouseScroll(dx: number, dy: number): Promise<void>;
    mouseHoldLeftButtonDown(): Promise<void>;
    mouseReleaseLeftButton(): Promise<void>;
    desktopKeyPressAndRelease(key: PC_AND_MODIFIER_KEY, modifiers?: MODIFIER_KEY[]): Promise<void>;
    desktopKeyHoldDown(key: PC_AND_MODIFIER_KEY, modifiers?: MODIFIER_KEY[]): Promise<void>;
    desktopKeyRelease(key: PC_AND_MODIFIER_KEY, modifiers?: MODIFIER_KEY[]): Promise<void>;
    typeText(text: string): Promise<void>;
    androidKeyPress(key: ANDROID_KEY): Promise<void>;
    androidKeySequencePress(keys: ANDROID_KEY[]): Promise<void>;
    executeShellCommand(command: string): Promise<void>;
    AndroidSwipeTool(startX: number, startY: number, endX: number, endY: number): Promise<void>;
    AndroidDragAndDropTool(startX: number, startY: number, endX: number, endY: number): Promise<void>;
    AndroidTapTool(x: number, y: number): Promise<void>;
    executeAndroidShellCommand(command: string): Promise<void>;
}
export declare class ScreenShotTool extends BaseAgentTool {
    private osAgentHandler;
    constructor(osAgentHandler: OsAgentHandler);
    execute(): Promise<ToolResult>;
    toParams(): BetaTool;
}
export declare class MouseMoveTool extends BaseAgentTool {
    private osAgentHandler;
    constructor(osAgentHandler: OsAgentHandler);
    execute(command: {
        x: number;
        y: number;
    }): Promise<ToolResult>;
    toParams(): BetaTool;
}
export declare class MouseClickTool extends BaseAgentTool {
    private osAgentHandler;
    constructor(osAgentHandler: OsAgentHandler);
    execute(command: {
        button: 'left' | 'right' | 'middle';
        doubleClick: boolean;
    }): Promise<ToolResult>;
    toParams(): BetaTool;
}
export declare class MouseScrollTool extends BaseAgentTool {
    private osAgentHandler;
    constructor(osAgentHandler: OsAgentHandler);
    execute(command: {
        dx: number;
        dy: number;
    }): Promise<ToolResult>;
    toParams(): BetaTool;
}
export declare class MouseDragAndDropTool extends BaseAgentTool {
    private osAgentHandler;
    constructor(osAgentHandler: OsAgentHandler);
    execute(command: {
        startX: number;
        startY: number;
        endX: number;
        endY: number;
    }): Promise<ToolResult>;
    toParams(): BetaTool;
}
export declare class MouseHoldLeftButtonDownTool extends BaseAgentTool {
    private osAgentHandler;
    constructor(osAgentHandler: OsAgentHandler);
    execute(): Promise<ToolResult>;
    toParams(): BetaTool;
}
export declare class MouseReleaseLeftButtonTool extends BaseAgentTool {
    private osAgentHandler;
    constructor(osAgentHandler: OsAgentHandler);
    execute(): Promise<ToolResult>;
    toParams(): BetaTool;
}
export declare class DesktopPressAndReleaseKeysTool extends BaseAgentTool {
    private osAgentHandler;
    constructor(osAgentHandler: OsAgentHandler);
    execute(command: {
        key: PC_KEY;
        modifiers?: MODIFIER_KEY[];
    }): Promise<ToolResult>;
    toParams(): BetaTool;
}
export declare class DesktopKeyHoldDownTool extends BaseAgentTool {
    private osAgentHandler;
    constructor(osAgentHandler: OsAgentHandler);
    execute(command: {
        key: PC_AND_MODIFIER_KEY;
        modifiers?: MODIFIER_KEY[];
    }): Promise<ToolResult>;
    toParams(): BetaTool;
}
export declare class DesktopKeyReleaseTool extends BaseAgentTool {
    private osAgentHandler;
    constructor(osAgentHandler: OsAgentHandler);
    execute(command: {
        key: PC_AND_MODIFIER_KEY;
        modifiers?: MODIFIER_KEY[];
    }): Promise<ToolResult>;
    toParams(): BetaTool;
}
export declare class TypeTool extends BaseAgentTool {
    private osAgentHandler;
    constructor(osAgentHandler: OsAgentHandler);
    execute(command: {
        text: string;
    }): Promise<ToolResult>;
    toParams(): BetaTool;
}
export declare class AndroidSingleKeyPressTool extends BaseAgentTool {
    private osAgentHandler;
    constructor(osAgentHandler: OsAgentHandler);
    execute(command: {
        key: ANDROID_KEY;
    }): Promise<ToolResult>;
    toParams(): BetaTool;
}
export declare class AndroidSequenceKeyPressTool extends BaseAgentTool {
    private osAgentHandler;
    constructor(osAgentHandler: OsAgentHandler);
    execute(command: {
        keys: ANDROID_KEY[];
    }): Promise<ToolResult>;
    toParams(): BetaTool;
}
export declare class AgentErrorTool extends BaseAgentTool {
    constructor();
    execute(command: {
        error: string;
    }): Promise<ToolResult>;
    toParams(): BetaTool;
}
export declare class ExecuteShellCommandTool extends BaseAgentTool {
    private osAgentHandler;
    constructor(osAgentHandler: OsAgentHandler);
    execute(command: {
        command: string;
    }): Promise<ToolResult>;
    toParams(): BetaTool;
}
export declare class WaitTool extends BaseAgentTool {
    constructor();
    execute(command: {
        milliseconds: number;
    }): Promise<ToolResult>;
    toParams(): BetaTool;
}
export declare class PrintTool extends BaseAgentTool {
    constructor();
    execute(command: {
        text: string;
    }): Promise<ToolResult>;
    toParams(): BetaTool;
}
export declare class AndroidSwipeTool extends BaseAgentTool {
    private osAgentHandler;
    constructor(osAgentHandler: OsAgentHandler);
    execute(command: {
        startX: number;
        startY: number;
        endX: number;
        endY: number;
    }): Promise<ToolResult>;
    toParams(): BetaTool;
}
export declare class AndroidDragAndDropTool extends BaseAgentTool {
    private osAgentHandler;
    constructor(osAgentHandler: OsAgentHandler);
    execute(command: {
        startX: number;
        startY: number;
        endX: number;
        endY: number;
    }): Promise<ToolResult>;
    toParams(): BetaTool;
}
export declare class AndroidTapTool extends BaseAgentTool {
    private osAgentHandler;
    constructor(osAgentHandler: OsAgentHandler);
    execute(command: {
        x: number;
        y: number;
    }): Promise<ToolResult>;
    toParams(): BetaTool;
}
export declare class AndroidShellCommandTool extends BaseAgentTool {
    private osAgentHandler;
    constructor(osAgentHandler: OsAgentHandler);
    execute(command: {
        command: string;
    }): Promise<ToolResult>;
    toParams(): BetaTool;
}
