UNPKG

1.89 kBTypeScriptView Raw
1/// <reference types="node" />
2import Session from './types/Session';
3import Thread from './types/Thread';
4import User from './types/User';
5import { Readable } from 'stream';
6import Message from './types/Message';
7import EventEmitter from 'events';
8import StrictEventEmitter from 'strict-event-emitter-types';
9import ClientEvents from './ClientEvents';
10export interface ClientOptions {
11 selfListen?: boolean;
12 session?: Session;
13}
14declare const Client_base: new () => StrictEventEmitter<EventEmitter, ClientEvents, ClientEvents, "addEventListener" | "removeEventListener", "removeListener" | "on" | "addListener" | "once" | "emit">;
15/**
16 * Main client class
17 */
18export default class Client extends Client_base {
19 private mqttApi;
20 private httpApi;
21 private readonly session;
22 private seqId;
23 loggedIn: boolean;
24 private options;
25 constructor(options?: ClientOptions);
26 login(email: string, password: string): Promise<void>;
27 private doLogin;
28 getSession(): Session;
29 sendMessage(threadId: string, message: string): Promise<{
30 succeeded: boolean;
31 errStr?: string;
32 }>;
33 getThreadList: (count: number) => Promise<Thread[]>;
34 sendAttachmentFile(threadId: string, attachmentPath: string, extension?: string): Promise<any>;
35 sendAttachmentStream(threadId: string, extension: string, attachment: Readable): Promise<any>;
36 getAttachmentURL(messageId: string, attachmentId: string): Promise<string>;
37 getAttachmentInfo(messageId: string, attachmentId: string): Promise<any>;
38 getStickerURL(stickerId: number): Promise<string>;
39 getThreadInfo(threadId: string): Promise<Thread>;
40 getUserInfo(userId: string): Promise<User>;
41 getMessages(threadId: string, count: number): Promise<Message>;
42 private createQueue;
43 private connectQueue;
44 private handleMS;
45 handleMessage(event: any): void;
46}
47export {};