/**
 * Wrapper for agent-browser CLI
 *
 * Provides a TypeScript interface to agent-browser commands for browser automation.
 * Uses the CLI approach for reliability and to leverage agent-browser's daemon architecture.
 */
export interface AgentBrowserOptions {
    /** Run in headed mode (visible browser window) */
    headed?: boolean;
    /** Connect to existing browser via CDP port */
    cdpPort?: number;
    /** Session name for isolation */
    session?: string;
    /** Timeout in milliseconds */
    timeout?: number;
}
export interface SnapshotElement {
    ref: string;
    role: string;
    name?: string;
    text?: string;
}
export interface SnapshotResult {
    elements: SnapshotElement[];
    raw: string;
}
export interface ScreenshotResult {
    success: boolean;
    path?: string;
    error?: string;
}
export interface ActionResult {
    success: boolean;
    output?: string;
    error?: string;
}
/**
 * Open a URL in the browser
 */
export declare function openUrl(url: string, options?: AgentBrowserOptions): Promise<ActionResult>;
/**
 * Take a snapshot of the current page (accessibility tree with refs)
 */
export declare function snapshot(options?: AgentBrowserOptions & {
    interactive?: boolean;
    compact?: boolean;
}): Promise<SnapshotResult>;
/**
 * Click an element by ref or selector
 */
export declare function click(target: string, options?: AgentBrowserOptions): Promise<ActionResult>;
/**
 * Type text into the focused element
 */
export declare function type(text: string, options?: AgentBrowserOptions): Promise<ActionResult>;
/**
 * Fill an input field (by ref or selector)
 */
export declare function fill(target: string, value: string, options?: AgentBrowserOptions): Promise<ActionResult>;
/**
 * Scroll the page
 */
export declare function scroll(direction: "up" | "down" | "left" | "right", amount?: number, options?: AgentBrowserOptions): Promise<ActionResult>;
/**
 * Take a screenshot
 */
export declare function screenshot(outputPath: string, options?: AgentBrowserOptions & {
    fullPage?: boolean;
}): Promise<ScreenshotResult>;
/**
 * Get console messages from the browser
 */
export declare function getConsoleMessages(options?: AgentBrowserOptions): Promise<string[]>;
/**
 * Get page errors
 */
export declare function getErrors(options?: AgentBrowserOptions): Promise<string[]>;
/**
 * Navigate back
 */
export declare function back(options?: AgentBrowserOptions): Promise<ActionResult>;
/**
 * Navigate forward
 */
export declare function forward(options?: AgentBrowserOptions): Promise<ActionResult>;
/**
 * Reload the page
 */
export declare function reload(options?: AgentBrowserOptions): Promise<ActionResult>;
/**
 * Close the browser
 */
export declare function close(options?: AgentBrowserOptions): Promise<ActionResult>;
/**
 * Get the current URL
 */
export declare function getCurrentUrl(options?: AgentBrowserOptions): Promise<string | null>;
/**
 * Get page title
 */
export declare function getTitle(options?: AgentBrowserOptions): Promise<string | null>;
/**
 * Evaluate JavaScript in the browser
 */
export declare function evaluate(expression: string, options?: AgentBrowserOptions): Promise<ActionResult>;
/**
 * Wait for an element to appear
 */
export declare function waitFor(selector: string, options?: AgentBrowserOptions & {
    timeout?: number;
}): Promise<ActionResult>;
/**
 * Check if agent-browser is installed and accessible
 */
export declare function isAgentBrowserAvailable(): boolean;
/**
 * Get agent-browser path for debugging
 */
export declare function getAgentBrowserBinaryPath(): string;
//# sourceMappingURL=agent-browser.d.ts.map