/**
 * CDP Capture Adapter
 *
 * Captures video frames from any application that exposes a Chrome DevTools Protocol
 * debug port (Electron, Tauri, Chrome, React Native via Metro, etc.).
 *
 * Uses Page.startScreencast to receive JPEG frames over WebSocket, saves them
 * as a timestamped JPEG sequence in the output directory.
 */
import type { CaptureAdapter, CaptureConfig, CaptureFrame, CaptureResult } from './types';
/**
 * CDPCaptureAdapter — records JPEG frames from a CDP-enabled application.
 *
 * Lifecycle: new CDPCaptureAdapter() → isAvailable() → start(config) → stop()
 */
export declare class CDPCaptureAdapter implements CaptureAdapter {
    readonly name = "cdp";
    /** Optional frame callback for live preview */
    onFrame?: (frame: CaptureFrame) => void;
    private ws;
    private frames;
    private frameIndex;
    private startTime;
    private config;
    private outputDir;
    private framePaths;
    private stopTimer;
    private cmdId;
    private lastFrameTime;
    /**
     * Check if a CDP endpoint is reachable at the configured host/port.
     * Accepts an optional port/host override for availability checks before start().
     */
    isAvailable(port?: number, host?: string): Promise<boolean>;
    start(config: CaptureConfig): Promise<void>;
    stop(): Promise<CaptureResult>;
    private handleMessage;
    private sendCommand;
    /** HTTP GET to /json and parse CDP targets */
    private fetchTargets;
    /** Connect a WebSocket to the CDP debugger URL */
    private connectWebSocket;
}
//# sourceMappingURL=cdp-adapter.d.ts.map