import type { TargetInspector } from '../managers/TargetInspector';
import type { ControlPanel } from '../models/ControlPanel';
import type { CreateDonobuFlow } from '../models/CreateDonobuFlow';
import type { FlowMetadata } from '../models/FlowMetadata';
import type { ProposedToolCall } from '../models/ProposedToolCall';
import type { TargetRuntime } from './TargetRuntime';
import type { TargetRuntimeParams, TargetRuntimePlugin } from './TargetRuntimePlugin';
/**
 * {@link TargetRuntime} implementation for web (Playwright browser) targets.
 *
 * Encapsulates browser config resolution, browser context creation, device
 * name validation, control panel setup, video directory management, and the
 * `GoToWebpage` initial tool call.
 */
export declare class WebTargetRuntime implements TargetRuntime {
    readonly targetType = "web";
    readonly inspector: TargetInspector;
    readonly controlPanel: ControlPanel;
    readonly videoDir: string | undefined;
    private readonly browserContext;
    private readonly browserConfig;
    private readonly isControlPanelEnabled;
    private readonly targetWebsite;
    private constructor();
    /**
     * Create a {@link WebTargetRuntime} from the given parameters.
     *
     * Resolves browser config, validates device name, creates the browser
     * context (or uses the override), sets up the control panel, and prepares
     * the video directory.
     */
    static create(params: TargetRuntimeParams): Promise<WebTargetRuntime>;
    getMetadataFields(): Partial<FlowMetadata>;
    getInitialToolCalls(flowParams: CreateDonobuFlow): ProposedToolCall[];
    destroy(): Promise<void>;
}
/**
 * Built-in {@link TargetRuntimePlugin} for web (Playwright browser) targets.
 *
 * Registered as `type: 'web'` at startup.
 */
export declare const webTargetRuntimePlugin: TargetRuntimePlugin;
//# sourceMappingURL=WebTargetRuntime.d.ts.map