export declare function webSocket(urlConfigOrSource: string | WebSocketSubjectConfig): WebSocketSubject; export declare class WebSocketSubject extends AnonymousSubject { _output: Subject; constructor(urlConfigOrSource: string | WebSocketSubjectConfig | Observable, destination?: Observer); _subscribe(subscriber: Subscriber): Subscription; lift(operator: Operator): WebSocketSubject; multiplex(subMsg: () => any, unsubMsg: () => any, messageFilter: (value: T) => boolean): Observable; unsubscribe(): void; } export interface WebSocketSubjectConfig { WebSocketCtor?: { new (url: string, protocols?: string | string[]): WebSocket; }; binaryType?: 'blob' | 'arraybuffer'; closeObserver?: NextObserver; closingObserver?: NextObserver; deserializer?: (e: MessageEvent) => T; openObserver?: NextObserver; protocol?: string | Array; resultSelector?: (e: MessageEvent) => T; serializer?: (value: T) => WebSocketMessage; url: string; }