/**
 * Browser Launch Setup — Executor-level browser initialization
 *
 * Extracted from executor/index.ts (Phase 04).
 * Handles:
 * 1. Browser launch flag resolution and override parsing
 * 2. Browser attach config + exposure resolution + blocked-override warning
 * 3. Optional browser attach runtime resolution (devtools WebSocket)
 * 4. Browser MCP ensure + sync-to-config-dir
 */
import { type BrowserLaunchOverride } from '../../utils/browser';
export interface BrowserLaunchSetupResult {
    /** CLI override flag if --browser-launch / --no-browser-launch was passed */
    browserLaunchOverride: BrowserLaunchOverride | undefined;
    /** args list with --browser-launch* flags removed */
    argsWithoutBrowserFlags: string[];
    /** Devtools WebSocket env vars if browser attach runtime is active */
    browserRuntimeEnv: Record<string, string> | undefined;
}
/**
 * Phase 1 — resolve browser CLI flags and attach config.
 * Call this immediately after resolveExecutorProxy so that
 * argsWithoutBrowserFlags is available for downstream parsing.
 *
 * @returns partial setup result (no async work yet)
 */
export declare function resolveBrowserLaunchFlags(argsWithoutProxy: string[]): {
    browserLaunchOverride: BrowserLaunchOverride | undefined;
    argsWithoutBrowserFlags: string[];
};
/**
 * Phase 2 — resolve async browser attach runtime and MCP setup.
 * Must be called AFTER phase-1 and AFTER ensureWebSearchMcpOrThrow().
 */
export declare function resolveBrowserRuntime(browserLaunchOverride: BrowserLaunchOverride | undefined, inheritedClaudeConfigDir: string | undefined): Promise<Pick<BrowserLaunchSetupResult, 'browserRuntimeEnv'>>;
//# sourceMappingURL=browser-launch-setup.d.ts.map