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 targetResolution;
    private screenDimensions;
    private paddingInfo;
    constructor(AgentOsClient: ExecutionRuntime, screenDimensions: {
        width: number;
        height: number;
    });
    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>;
    private scaleCoordinates;
    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>;
}
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;
}
