/// import { EventEmitter } from "events"; export interface BuildInfo { version: string; } export interface OsInfo { arch: string; name: string; version: string; } export interface ResultData { build: BuildInfo; message: string; os: OsInfo; ready: boolean; } export interface StatusResult { id: number; result: ResultData; type: string; } export interface Params { method: string; params: { [key: string]: any; }; } export class Index extends EventEmitter { id: boolean; connected: boolean; events: string[]; browsingContexts: string[]; /** * Create a new websocket connection * @param _webSocketUrl */ constructor(_webSocketUrl: string); /** * @returns {boolean} */ get socket(): WebSocket; /** * @returns {boolean} */ get isConnected(): boolean; /** * Get Bidi Status * @returns {Promise} */ get status(): Promise; /** * Resolve connection * @returns {Promise} */ waitForConnection(): Promise; /** * Sends a bidi request * @param params * @returns {Promise} */ send(params: Params): Promise; /** * Subscribe to events * @param events * @param browsingContexts * @returns {Promise} */ subscribe(events: string | string[], browsingContexts?: string | string[]): Promise; /** * Unsubscribe to events * @param events * @param browsingContexts * @returns {Promise} */ unsubscribe(events: string | string[], browsingContexts?: string | string[]): Promise; /** * Close ws connection. * @returns {Promise} */ close(): Promise; }