import { Agent } from "./base";
import { AgentContext } from "../core/context";
import { Tool, IMcpClient } from "../types";
import { LanguageModelV1Prompt } from "@ai-sdk/provider";
export declare const AGENT_NAME = "Computer";
export default abstract class BaseComputerAgent extends Agent {
    constructor(llms?: string[], ext_tools?: Tool[], mcpClient?: IMcpClient, keyboardKeys?: string[]);
    protected abstract screenshot(agentContext: AgentContext): Promise<{
        imageBase64: string;
        imageType: "image/jpeg" | "image/png";
    }>;
    protected abstract typing(agentContext: AgentContext, text: string): Promise<void>;
    protected abstract click(agentContext: AgentContext, x: number, y: number, num_clicks: number, button_type: "left" | "right" | "middle"): Promise<void>;
    protected abstract scroll(agentContext: AgentContext, amount: number): Promise<void>;
    protected abstract move_to(agentContext: AgentContext, x: number, y: number): Promise<void>;
    protected abstract press(agentContext: AgentContext, key: string): Promise<void>;
    protected abstract hotkey(agentContext: AgentContext, keys: string): Promise<void>;
    protected abstract drag_and_drop(agentContext: AgentContext, x1: number, y1: number, x2: number, y2: number): Promise<void>;
    private buildInitTools;
    protected handleMessages(agentContext: AgentContext, messages: LanguageModelV1Prompt, tools: Tool[]): Promise<void>;
}
export { BaseComputerAgent };
//# sourceMappingURL=computer.d.ts.map