import { ISocketInitConfig, RoomMember, SocketStatusEnum, SendUpdateResponse, CommitResponse, AckResponse } from './types'; import { Awareness } from 'y-protocols/awareness.js'; interface ISocketClientConfig { wsUrl: string; roomKey: string; roomId: string; ownerEdSecret?: string; contractAddress?: string; ownerAddress?: string; onHandshakeData?: (response: { data: AckResponse; roomKey: string; }) => void; roomInfo?: { documentTitle: string; portalAddress: string; commentKey: string; }; } export declare class SocketClient { private _socketUrl; private _socket; private _webSocketStatus; private _isIntentionalDisconnect; get isConnected(): boolean; get status(): SocketStatusEnum; private _websocketServiceDid; private roomId; roomMembers: RoomMember[]; private collaborationKeyPair; private ownerKeyPair?; private contractAddress?; private ownerUcan?; private collaborationUcan?; private ownerAddress?; private roomKey; private roomInfo?; private awareness; private connectionAttemptErrorCount; private _onHandshakeData; constructor(config: ISocketClientConfig); registerAwareness(awareness: Awareness): void; private _emitWithAck; private _fetchRoomMembers; sendUpdate({ update }: { update: string; }): Promise; commitUpdates({ updates, cid }: { updates: string[]; cid: string; }): Promise; fetchLatestCommit(): Promise>; getUncommittedChanges(): Promise>; broadcastAwareness(awarenessUpdate: string): Promise; disconnect: () => void; terminateSession: () => Promise; private getCollaborationKeyPair; private isUcanValid; private getOwnerToken; private buildSessionToken; private _handleHandShake; private _handleAwarenessUpdate; connectSocket(config: ISocketInitConfig): Promise; private _onSessionTerminated; private resetSocketClient; } export {};