import Client from "./Client"; import Message from "./Message"; /** * @summary chat event type options * @see https://meta.stackexchange.com/a/218443/786798 */ export declare enum ChatEventType { MESSAGE_POSTED = 1, MESSAGE_EDITED = 2, USER_JOINED = 3, USER_LEFT = 4, ROOM_RENAMED = 5, STARS_CHANGED = 6, USER_MENTIONED = 8, MESSAGE_FLAGGED = 9, MESSAGE_DELETED = 10, FILE_ADDED = 11, MESSAGE_REPLIED = 18, MESSAGE_MOVED_OUT = 19, MESSAGE_MOVED_IN = 20 } /** * @summary chat websocket event */ export interface ChatEvent { id: ChatEventType; event_type: number; time_stamp: number; room_id: number; room_name: string; user_id: number; user_name: string; content?: string; target_user_id?: number; parent_id?: number; message_id?: number; } /** * @summary chat websocket event response (`/chats//events`) */ export interface ChatEventsResponse { ms: number; sync: number; time: number; events: ChatEvent[]; } export declare class WebsocketEvent extends Message { eventType: number; timeStamp: number; userId: number; userName: string; targetUserId: number | undefined; /** * @param {Client} client main chatexchange Client class instance * @param {ChatEvent} websocketMsg message from the chat websocket */ constructor(client: Client, websocketMsg: ChatEvent); } export default WebsocketEvent;