2022-09-02 00:01:55 +03:00
|
|
|
import EventEmitter2, { Listener } from "eventemitter2"
|
|
|
|
|
|
2021-06-29 03:28:53 +03:00
|
|
|
export type Bytes = Uint8Array
|
2022-04-23 12:53:08 +03:00
|
|
|
export type OnMessage = (message : Object) => any
|
2021-06-27 19:28:55 +03:00
|
|
|
|
2022-09-04 01:06:07 +03:00
|
|
|
export type ConnectionState = "none" | "connecting" | "error" | "connected" | "closed" | "reconnecting";
|
2022-09-02 00:01:55 +03:00
|
|
|
|
2022-09-05 08:25:12 +03:00
|
|
|
export type RtmtEventTypes = "open" | "close" | "connected" | "error" | "disconnected" | "message" | "connectionchange";
|
2022-09-02 00:01:55 +03:00
|
|
|
|
|
|
|
|
export interface RTMT extends EventEmitter2 {
|
2022-09-04 01:06:07 +03:00
|
|
|
get connectionState() : ConnectionState;
|
2022-09-02 00:01:55 +03:00
|
|
|
sendMessage: (channel: string, message: Object) => void;
|
|
|
|
|
addMessageListener(channel: string, callback: (message: any) => void);
|
|
|
|
|
removeMessageListener(channel: string, callback: (message: any) => void);
|
|
|
|
|
on(event: RtmtEventTypes, callback: (...value: any[]) => void): Listener | this;
|
|
|
|
|
off(event: RtmtEventTypes, callback: (...value: any[]) => void): this;
|
|
|
|
|
dispose();
|
2021-06-27 19:28:55 +03:00
|
|
|
}
|