import { EventEmitter } from 'events';
import type { ServerConfig, CursorWindow } from './types.js';
import { CdpClient } from './cdp-client.js';
export declare class CDPBridge extends EventEmitter {
    private config;
    private client;
    private reconnectTimer;
    private refreshTimer;
    private backoffMs;
    private focusSyncSuppressedUntil;
    windows: CursorWindow[];
    activeTargetId: string;
    constructor(config: ServerConfig);
    getClient(): CdpClient | null;
    isConnected(): boolean;
    suppressFocusSync(ms: number): void;
    isFocusSyncSuppressed(): boolean;
    start(): Promise<void>;
    stop(): void;
    refreshWindows(): Promise<void>;
    switchWindow(targetId: string): Promise<void>;
    /** Switch home CDP connection to the Cursor window that currently has focus. */
    syncToForegroundWindow(): Promise<boolean>;
    private connectActive;
    private scheduleReconnect;
}
