export declare enum MessageType { PRIVATE = "private", GROUP = "group", MEETING = "meeting", LOCK = "lock", UNLOCK = "unlock", SYNC = "sync" } export interface ChatSocketServiceOptions { endpoint?: string; onChatConnected?: () => void; onError?: (error: any) => void; onDisconnected?: () => void; } export interface ChatMessage { id?: string; senderId: string; senderName: string; targetUserId?: string; content: string; type: MessageType; groupId?: string; sentAt: string; isSelf?: boolean; } /** * 聊天WebSocket 服务类 */ export declare class FormSocketService { private stompClient; private socket; private options; private connected; private reconnectAttempts; private maxReconnectAttempts; private reconnectDelay; private initConnectInstance; constructor(options?: ChatSocketServiceOptions); /** * 连接聊天WebSocket */ initConnect(): Promise; /** * 连接所有WebSocket */ connect(): Promise; /** * 发送群聊消息 * @param message */ sendGroupMessage(message: Omit): void; /** * 注册用户 * @param userId * @param sessionId */ registerUser(userId: string, sessionId: string): void; /** * 注册表单信息 * @param formInfoData */ registerFormInfo(formInfoData: any): void; /** * 订阅新peer加入通知 * @param callback * @param userId */ subscribeToPeerJoined(callback: (message: any) => void, userId: string): string | null; /** * 订阅已存在peers通知 * @param callback * @param userId */ subscribeToExistingPeers(callback: (message: any) => void, userId: string): string | null; /** * 订阅群聊消息 * @param formId * @param callback */ subscribeToGroupMessages(callback: (message: any) => void, formId: string): string | null; /** * 锁定组件 * @param compId * @param formId * @param userInfo */ lockComponent(compId: string, formId: string, userInfo: any): void; /** * 解锁组件 * @param compId * @param formId */ unlockComponent(compId: string, formId: string): void; /** * 同步组件数据 * @param formId * @param data */ syncComponentData(formId: string, data: any): void; /** * 取消订阅 * @param subscriptionId */ unsubscribe(subscriptionId: string): void; /** * 断开连接 */ disconnect(): void; /** * 检查连接状态 */ isConnected(): boolean; /** * 处理重连 * @param connectFn * @param resolve * @param reject * @private */ private handleReconnect; } declare const defaultFormSocketService: FormSocketService; export default defaultFormSocketService;