import WebSocket from 'ws'; import { Browser } from './browser'; import { Target } from './target'; import { CdpTargetInfo } from './types'; /** * Manages low-level CDP connection details. * * @internal */ export declare class Connection { protected browser: Browser; protected sessions: Map; protected targetSessions: Map; protected ws: WebSocket | null; protected awaitingCommands: Map; protected nextCommandId: number; protected listeners: { onMessage: (data: string) => void; onClose: () => void; }; constructor(browser: Browser); isConnected(): boolean; connect(webSocketDebuggerUrl: string): Promise; attachWebSocket(ws: WebSocket): void; detachWebSocket(): void; disconnect(): void; rejectAllForTarget(sessionId: string, errFn: (handler: CommandHandler) => Error): void; rejectAll(errFn: (handler: CommandHandler) => Error): void; getTarget(sessionId: string): Target; refreshTargets(): Promise; findTargetById(targetId: string): Target | null; protected attachIfNeeded({ targetId }: CdpTargetInfo): void; protected addSession(sessionId: string, targetInfo: CdpTargetInfo): void; protected removeSession(sessionId: string): void; sendAndForget(payload: Command): void; send(command: Command): Promise; attachedTargets(): IterableIterator; protected onClose(): void; protected onMessage(data: string): void; protected onTargetCreated(params: { targetInfo: CdpTargetInfo; }): void; protected onTargetDestroyed(params: { targetId: string; }): void; protected onAttachedToTarget(params: { sessionId: string; targetInfo: CdpTargetInfo; }): void; protected onDetachedFromTarget(params: { sessionId: string; }): void; protected onTargetInfoChanged(params: { targetInfo: CdpTargetInfo; }): void; } interface CommandHandler { id: number; method: string; sessionId?: string; params: any; resolve(result: any): void; reject(err: Error): void; } export interface Command { method: string; params?: any; sessionId?: string; timeout?: number; } export {}; //# sourceMappingURL=connection.d.ts.map