import type { ProviderDriver, WindowCreateOptions, WindowMutation } from "../provider-engine.js"; import type { ProviderDirectoryList, ProviderFileDeleteResult, ProviderFileMkdirResult, ProviderFileRenameResult, ProviderFileStat, ProviderFileWriteOptions, ProviderFileWriteResult } from "@termfleet/core/contracts/files.js"; import type { LifecycleSnapshot } from "@termfleet/core/internal/session-lifecycle.js"; import type { Bounds, ProviderFilesystem, ProviderHealth, ProviderSnapshot, ProviderWindow, TerminalEffect } from "@termfleet/core/types.js"; type CreatedBrowserWindow = { bounds: Bounds; cdpUrl: string; id: number; src: string; terminalId: string; }; export declare class BrowserDriver implements ProviderDriver { readonly kind: "browser"; private readonly cwd; private readonly headless; private readonly host; private readonly layoutFile; private readonly iframeResolver; private readonly pendingCreatesByName; private readonly profileScope; private readonly token; private displayBounds; private lucarne; private nextWindowId; private portholeOrigin; private ready; private windows; constructor({ cwd, headless }: { cwd: string; headless?: boolean; }); initialize(): void; private boot; shutdown(): Promise; getHealth(): ProviderHealth; getPortholeUpstream(): string | undefined; getLifecycle(): LifecycleSnapshot; getSnapshot(): Promise>; getWindows(): ProviderWindow[]; private get ownedPortsOwnerId(); private publishOwnedCdpPorts; private liveSessionsByProfile; getDisplayBounds(): Bounds; getFilesystems(): ProviderFilesystem[]; getBrowserCdpUpstream(terminalId: string): string | undefined; createWindow(options?: WindowCreateOptions): Promise; private createBrowserWindow; private createdWindowResult; activateWindow(id: number): Promise<{ activated: boolean; }>; moveWindow({ bounds, id }: WindowMutation): { id: number; bounds: Bounds; }; closeWindow(id: number): { id: number; terminalId: string; }; disposeOwnedSessions(): void; resizeDisplay(bounds: Bounds): Bounds; setTerminalEffect(): TerminalEffect; captureTerminal(): string; sendTerminalInput(): never; listDirectoryByFilesystem(): ProviderDirectoryList; readFileByFilesystem(): Buffer; statFileByFilesystem(): ProviderFileStat; writeFileByFilesystem(): ProviderFileWriteResult; deleteFileByFilesystem(): ProviderFileDeleteResult; makeDirectoryByFilesystem(): ProviderFileMkdirResult; renameFileByFilesystem(): ProviderFileRenameResult; listDirectory(): ProviderDirectoryList; readFile(): Buffer; statFile(): ProviderFileStat; writeFile(_options: ProviderFileWriteOptions): ProviderFileWriteResult; deleteFile(): ProviderFileDeleteResult; makeDirectory(): ProviderFileMkdirResult; renameFile(): ProviderFileRenameResult; private requireWindow; private loadLayout; private persistLayout; private nextBounds; private expandDisplayToFitWindow; private displayBoundsForWindows; } export {};