/**
 * Browser Tool
 *
 * OpenClaw-inspired unified browser control interface for AI agents.
 */
import { ToolResult } from '../types/index.js';
export type BrowserAction = 'launch' | 'connect' | 'close' | 'tabs' | 'new_tab' | 'focus_tab' | 'close_tab' | 'snapshot' | 'get_element' | 'find_elements' | 'navigate' | 'go_back' | 'go_forward' | 'reload' | 'click' | 'double_click' | 'right_click' | 'type' | 'fill' | 'select' | 'press' | 'hover' | 'scroll' | 'screenshot' | 'pdf' | 'get_cookies' | 'set_cookie' | 'clear_cookies' | 'set_headers' | 'set_offline' | 'emulate_device' | 'set_geolocation' | 'evaluate' | 'get_content' | 'get_url' | 'get_title';
export interface BrowserToolInput {
    action: BrowserAction;
    cdpUrl?: string;
    headless?: boolean;
    tabId?: string;
    url?: string;
    waitUntil?: 'load' | 'domcontentloaded' | 'networkidle';
    interactiveOnly?: boolean;
    includeHidden?: boolean;
    maxElements?: number;
    labels?: boolean;
    ref?: number;
    role?: string;
    name?: string;
    text?: string;
    key?: string;
    modifiers?: string[];
    button?: 'left' | 'right' | 'middle';
    clickCount?: number;
    clear?: boolean;
    fields?: Record<string, string>;
    submit?: boolean;
    value?: string;
    label?: string;
    index?: number;
    direction?: 'up' | 'down' | 'left' | 'right';
    amount?: number;
    toElement?: number;
    fullPage?: boolean;
    element?: number;
    format?: 'png' | 'jpeg' | 'webp';
    quality?: number;
    outputPath?: string;
    cookieName?: string;
    cookieValue?: string;
    cookieDomain?: string;
    headers?: Record<string, string>;
    offline?: boolean;
    device?: string;
    viewport?: {
        width: number;
        height: number;
    };
    latitude?: number;
    longitude?: number;
    expression?: string;
    timeout?: number;
}
export declare class BrowserTool {
    private manager;
    private screenshotDir;
    constructor();
    /**
     * Execute browser action
     */
    execute(input: BrowserToolInput): Promise<ToolResult>;
    private launch;
    private connect;
    private close;
    private getTabs;
    private newTab;
    private focusTab;
    private closeTab;
    private takeSnapshot;
    private getElement;
    private findElements;
    private navigate;
    private goBack;
    private goForward;
    private reload;
    private click;
    private doubleClick;
    private rightClick;
    private type;
    private fill;
    private select;
    private press;
    private hover;
    private scroll;
    private screenshot;
    private pdf;
    private getCookies;
    private setCookie;
    private clearCookies;
    private setHeaders;
    private setOffline;
    private emulateDevice;
    private setGeolocation;
    private evaluate;
    private getContent;
    private getUrl;
    private getTitle;
}
export declare function getBrowserTool(): BrowserTool;
export declare function resetBrowserTool(): void;
export default BrowserTool;
