import { AgentConnector } from ".";
import { WebHarness } from "@/web/harness";
import { ActionDefinition } from '@/actions';
import { BrowserOptions } from "@/web/browserProvider";
import { TabState } from '@/web/tabs';
import { Observation } from "@/memory/observation";
import { Image } from "@/memory/image";
import { ActionVisualizerOptions } from "@/web/visualizer";
export interface BrowserConnectorOptions {
    browser?: BrowserOptions;
    url?: string;
    virtualScreenDimensions?: {
        width: number;
        height: number;
    };
    minScreenshots?: number;
    visuals?: ActionVisualizerOptions;
}
export interface BrowserConnectorStateData {
    screenshot: Image;
    tabs: TabState;
}
export declare class BrowserConnector implements AgentConnector {
    readonly id: string;
    private harness;
    private options;
    private browser?;
    private context;
    private logger;
    constructor(options?: BrowserConnectorOptions);
    onStart(): Promise<void>;
    onStop(): Promise<void>;
    getActionSpace(): ActionDefinition<any>[];
    getHarness(): WebHarness;
    private captureCurrentState;
    transformScreenshot(screenshot: Image): Promise<Image>;
    getLastScreenshot(): Promise<Image>;
    collectObservations(): Promise<Observation[]>;
    getInstructions(): Promise<void | string>;
}
