import { Subject } from '../../Subject'; import { Subscriber } from '../../Subscriber'; import { Observable } from '../../Observable'; import { Operator } from '../../Operator'; import { Subscription } from '../../Subscription'; import { Observer } from '../../Observer'; export interface WebSocketSubjectConfig { url: string; protocol?: string | Array; resultSelector?: (e: MessageEvent) => T; openObserver?: Observer; closeObserver?: Observer; closingObserver?: Observer; WebSocketCtor?: { new (url: string, protocol?: string | Array): WebSocket; }; } export declare class WebSocketSubject extends Subject { url: string; protocol: string | Array; socket: WebSocket; openObserver: Observer; closeObserver: Observer; closingObserver: Observer; WebSocketCtor: { new (url: string, protocol?: string | Array): WebSocket; }; resultSelector(e: MessageEvent): any; static create(urlConfigOrSource: string | WebSocketSubjectConfig): WebSocketSubject; constructor(urlConfigOrSource: string | WebSocketSubjectConfig | Observable, destination?: Observer); lift(operator: Operator): WebSocketSubject; multiplex(subMsg: () => any, unsubMsg: () => any, messageFilter: (value: T) => boolean): Observable<{}>; protected _unsubscribe(): void; protected _subscribe(subscriber: Subscriber): Subscription; }