50 lines
1.5 KiB
TypeScript
50 lines
1.5 KiB
TypeScript
import { TypedEmitter } from "tiny-typed-emitter";
|
|
import { PushClientEvents } from "./interfaces";
|
|
export declare class PushClient extends TypedEmitter<PushClientEvents> {
|
|
private readonly HOST;
|
|
private readonly PORT;
|
|
private readonly MCS_VERSION;
|
|
private readonly HEARTBEAT_INTERVAL;
|
|
private loggedIn;
|
|
private streamId;
|
|
private lastStreamIdReported;
|
|
private currentDelay;
|
|
private client?;
|
|
private heartbeatTimeout?;
|
|
private reconnectTimeout?;
|
|
private persistentIds;
|
|
private static proto;
|
|
private pushClientParser;
|
|
private auth;
|
|
private constructor();
|
|
static init(auth: {
|
|
androidId: string;
|
|
securityToken: string;
|
|
}): Promise<PushClient>;
|
|
private initialize;
|
|
getPersistentIds(): Array<string>;
|
|
setPersistentIds(ids: Array<string>): void;
|
|
connect(): void;
|
|
private buildLoginRequest;
|
|
private buildHeartbeatPingRequest;
|
|
private buildHeartbeatAckRequest;
|
|
private onSocketData;
|
|
private onSocketConnect;
|
|
private onSocketClose;
|
|
private onSocketError;
|
|
private handleParsedMessage;
|
|
private handleHeartbeatPing;
|
|
private handleHeartbeatAck;
|
|
private convertPayloadMessage;
|
|
private getStreamId;
|
|
private newStreamIdAvailable;
|
|
private scheduleHeartbeat;
|
|
private sendHeartbeat;
|
|
isConnected(): boolean;
|
|
private getHeartbeatInterval;
|
|
private getCurrentDelay;
|
|
private resetCurrentDelay;
|
|
private scheduleReconnect;
|
|
close(): void;
|
|
}
|