export interface ScreencastFrame {
    timestamp: number;
    path: string;
    sessionId: string;
}
/**
 * ScreencastManager - Passive screencast capture for navigation events
 *
 * Listens for Page.frameStartedLoading and automatically captures 5 seconds
 * of screencast frames for jank detection. No artificial page reloads needed!
 */
export declare class ScreencastManager {
    private cdpUrl;
    private logFn;
    private debug;
    private ws;
    private buffer;
    private isCapturing;
    private navigationStartTime;
    private currentSessionId;
    private screenshotDir;
    private messageId;
    private appPort;
    private layoutShifts;
    private viewportInfo;
    private captureTrigger;
    constructor(cdpUrl: string, logFn: (msg: string) => void, appPort?: string, debug?: boolean);
    /**
     * Start listening for navigation events and capturing screencasts
     */
    start(): Promise<void>;
    /**
     * Stop capturing and cleanup
     */
    stop(): Promise<void>;
    /**
     * Handle CDP messages
     */
    private handleMessage;
    /**
     * Check URL before starting capture - only capture localhost:{appPort}
     */
    private checkUrlAndStartCapture;
    /**
     * Navigation started - begin capturing screencast
     */
    private onNavigationStart;
    /**
     * Navigation completed - save frames and stop (after delay to catch hydration)
     */
    private onNavigationComplete;
    /**
     * Received a screencast frame - add to buffer
     */
    private onScreencastFrame;
    /**
     * Stop screencast capture
     */
    private stopScreencast;
    /**
     * Install PerformanceObserver for layout shifts (passive, no reload needed)
     */
    private installCLSObserver;
    /**
     * Poll for layout shift data from the injected observer
     */
    private pollLayoutShifts;
    /**
     * Send CDP command
     */
    private send;
    /**
     * Get the most recent session ID (for fix_my_app to reference)
     */
    getLatestSessionId(): string;
}
//# sourceMappingURL=screencast-manager.d.ts.map