import { ContactMsg, ContactAddMsg, ChatroomMsg } from './messages'; import { Client } from 'ts-linker-sdk'; export interface WebSocketClientStatus { created: boolean; connected: boolean; login: boolean; } export interface WebSocketResp { value: object | string; } export declare type ListenerCallback = (data: WebSocketResp) => void; export declare class WebSocketClient { client: Client; interval: number; wsUrl: string; token: string; sid: string; chatToken: object; status: WebSocketClientStatus; constructor(wsUrl: string, token: string, sid: string, chatToken: object); init(): Promise<{}>; getStatus(): WebSocketClientStatus; create(): Promise<{}>; on(url: string, callback: (data: WebSocketResp) => void): void; off(url: string): void; request(url: string, data: object): Promise; connect(): Promise; ping(): Promise; authentication(): Promise; onMessage(callback: ListenerCallback): Promise; sendMessage(data: object): Promise; markServiced(data: { msg_id: string; }): Promise; getHistoryMessage(data: { contact_id: string; chat_type: string; start_time: number; limit: number; }): Promise; updateStatus(data: { status: 'on' | 'off' | 'busy'; }): Promise; getSessionLists(): Promise; getAllConversations(data: { last_pull: number; }): Promise; getAllContact(data: { last_pull: number; }): Promise; addContact(data: { to_add_username: string; reason: string; }): Promise; deleteContact(data: ContactMsg): Promise; maskingContact(data: ContactMsg): Promise; removeMaskingContact(data: ContactMsg): Promise; stickingContact(data: ContactMsg): Promise; removeStickContact(data: ContactMsg): Promise; setNoDisturbing(data: ContactMsg): Promise; removeNoDisturbing(data: ContactMsg): Promise; agreeAddContact(data: ContactAddMsg): Promise; rejectAddContact(data: ContactAddMsg): Promise; addContactServiced(data: ContactAddMsg): Promise; createChatroom(data: { subject: string; description: string; welcome_message: string; max: number; }): Promise; destroyChatroom(data: ChatroomMsg): Promise; leaveChatroom(data: ChatroomMsg): Promise; getChatroomProfile(data: ChatroomMsg): Promise; updateChatroomSubject(data: ChatroomMsg): Promise; updateChatroomDescription(data: ChatroomMsg): Promise; addChatroomAdmin(data: ChatroomMsg): Promise; removeChatroomAdmin(data: ChatroomMsg): Promise; addChatroomAdmins(data: ChatroomMsg): Promise; removeChatroomAdmins(data: ChatroomMsg): Promise; joinChatroom(data: {}): Promise; removeChatroomMember(data: ChatroomMsg): Promise; fetchStickChatroom(data: { cache_time: number; }): Promise; fetchChatroomMembers(data: ChatroomMsg): Promise; searchHistoryMessage(data: { contact_id: string; chat_type: string; keyword: string; limit: number; }): Promise; }