import { Server, ServerOptions, CloseOptions, Client } from "mock-socket"; import Queue from "./queue"; interface WSOptions extends ServerOptions { jsonProtocol?: boolean; } export declare type DeserializedMessage = string | TMessage; interface MockWebSocket extends Omit { close(options?: CloseOptions): void; } export default class WS { server: Server; serializer: (deserializedMessage: DeserializedMessage) => string; deserializer: (message: string) => DeserializedMessage; static instances: Array; messages: Array; messagesToConsume: Queue; private _isConnected; private _isClosed; static clean(): void; constructor(url: string, opts?: WSOptions); get connected(): Promise; get closed(): Promise; get nextMessage(): Promise; on(eventName: "connection" | "message" | "close", callback: (socket: MockWebSocket) => void): void; send(message: DeserializedMessage): void; close(options?: CloseOptions): void; error(options?: CloseOptions): void; } export {};