export interface ChromeLaunchOptions { userDataDir: string; profileDirectory?: string; port?: number; headless?: boolean; chromeArgs?: string[]; executablePath?: string; readyTimeoutMs?: number; launchAttempts?: number; signal?: AbortSignal; } export interface ChromeProcess { readonly pid: number | undefined; readonly port: number; readonly browserUrl: string; readonly userDataDir: string; readonly exited: boolean; waitForExit(): Promise; shutdown(graceMs?: number): Promise; } export declare function chromeExecutableCandidates(): string[]; export declare function findChromeExecutable(executablePath?: string): string; export declare function findManagedChromePids(psOutput: string, userDataDir: string, keepPid?: number): number[]; export declare function allocateEphemeralPort(): Promise; export declare function buildChromeArgs(options: { userDataDir: string; profileDirectory?: string; port?: number; headless?: boolean; chromeArgs?: string[]; }): string[]; export declare class DevToolsReadyTimeoutError extends Error { constructor(browserUrl: string, timeoutMs: number, lastError: unknown); } export declare function waitForDevToolsEndpoint(port: number, options?: { timeoutMs?: number; fetchImpl?: typeof fetch; signal?: AbortSignal; }): Promise<{ browserUrl: string; webSocketDebuggerUrl: string; }>; export declare function launchChrome(options: ChromeLaunchOptions): Promise; export declare function buildFrontProcessScript(pid: number): string; export declare function frontProcessByPid(pid: number | undefined, runner?: (cmd: string, args: string[]) => void): boolean; export declare function buildFocusWindowScript(markerUrl: string): string; export declare function launchSetupBrowser(options: { userDataDir: string; profileDirectory?: string; executablePath?: string; chromeArgs?: string[]; signal?: AbortSignal; }): Promise; //# sourceMappingURL=chrome-launcher.d.ts.map