import type { CDPSession, Page } from "playwright"; import { type FrameSubscriber, type QualityPresetConfig, type ScreencastConfig, type ScreencastFrame } from "./types.js"; export declare class ScreencastManager { private config; private currentPage; private currentSession; private isRunning; private readonly subscribers; private lastFrame; private differ; private tileMode; private frameSeq; private pipeline; private latestEvent; private draining; private lastProcessStartedAt; private readonly frameIntervalMs; private seedCaptureInFlight; private lastDeviceWidth; private lastDeviceHeight; private lastGeometryWarnAt; constructor(config?: ScreencastConfig); private enqueue; subscribe(fn: FrameSubscriber): () => void; start(page: Page): Promise; private handleScreencastFrame; private drainPendingFrames; private ackFrame; private processScreencastFrame; stop(page: Page): Promise; stopAll(): Promise; capture(page: Page): Promise; getLastFrame(): ScreencastFrame | undefined; getCurrentCdpSession(): CDPSession | undefined; restartAfterNavigation(page: Page): Promise; updateQuality(preset: QualityPresetConfig): Promise; forceCaptureAndPush(page: Page): Promise; private doForceCaptureAndPush; dispose(): Promise; }