livechat-widget
Version:
LiveChat Widget for Next.js applications
36 lines (35 loc) • 1.46 kB
TypeScript
import { ChatMessage } from "@/types/chat";
export declare class WebSocketService {
private url;
private socket;
private messageListeners;
private connectionListeners;
private reconnectInterval;
private reconnectAttempts;
private maxReconnectAttempts;
private reconnectDelay;
private receivedMessageIds;
private roomCode;
private appId;
private userCode;
private deleteMessageListeners;
constructor(url: string);
connect(roomCode: string, appId: string, userCode?: string): Promise<boolean>;
disconnect(): void;
getUrl(): string;
getCurrentUserCode(): string | null;
getCurrentRoomCode(): string | null;
sendMessage(message: ChatMessage): void;
addMessageListener(listener: (message: ChatMessage) => void): void;
removeMessageListener(listener: (message: ChatMessage) => void): void;
addConnectionListener(listener: (connected: boolean) => void): void;
removeConnectionListener(listener: (connected: boolean) => void): void;
addDeleteMessageListener(listener: (messageId: string) => void): void;
removeDeleteMessageListener(listener: (messageId: string) => void): void;
private notifyMessageListeners;
private notifyConnectionListeners;
private notifyDeleteMessageListeners;
isConnected(): boolean;
}
export declare function setWebSocketUrl(url: string): void;
export declare function getWebSocketService(url?: string): WebSocketService;