export interface CDPEvent { method: string; params: any; sessionId?: string; } export type CDPEventHandler = (event: CDPEvent) => void; /** * Minimal Chrome DevTools Protocol client over WebSocket. * Talks to the browser debugger endpoint returned by /json/version * (or any target-level endpoint returned by attachToTarget flattening). * * Supports session-scoped commands via the CDP `sessionId` field. * No reconnection — fail-fast on lost connections. */ export declare class CDPClient { readonly url: string; private _ws; private _nextId; private readonly _pending; private readonly _handlers; private readonly _wildcardHandlers; private _closed; constructor(url: string); get connected(): boolean; connect(timeoutMs?: number): Promise; send(method: string, params?: Record, sessionId?: string): Promise; /** * Register an event listener. Pass '*' to match every event. * @returns an unsubscribe function. */ on(method: string, handler: CDPEventHandler): () => void; close(): Promise; private _onMessage; private _onClose; private _rejectAllPending; }