export default collabService; declare const collabService: CollabService; /** * Service for collaborative editing API calls. * Handles checking availability and initializing collaborative sessions. */ declare class CollabService { basePath: string; /** * Gets the base URL for the Alfresco API * * @returns {string} Base URL */ getBaseUrl(): string; /** * Gets the authentication ticket for WebSocket connection * * @returns {Promise} Authentication ticket */ getTicket(): Promise; /** * Creates the Authorization header for API calls. * Uses Basic auth with ROLE_TICKET:ticket pattern (same as Alfresco webscripts). * * @param {string} ticket - The Alfresco ticket * @returns {string} Authorization header value */ createAuthHeader(ticket: string): string; /** * Checks if collaborative editing is available for a node. * * @param {string} nodeId - The node ID to check * @returns {Promise} Availability info: { available, enabled, maxPeers, sessionId?, activePeers? } */ checkAvailability(nodeId: string): Promise; /** * Initializes a collaborative editing session. * * @param {string} nodeId - The node ID * @returns {Promise} Session info: { sessionId, version, activePeers } */ initSession(nodeId: string): Promise; /** * Gets the WebSocket URL for collaborative editing. * Note: The URL does not contain the auth ticket for security reasons. * Authentication is done via a message after connection. * * @returns {string} WebSocket URL (without auth token) */ getWebSocketUrl(): string; /** * Returns a client ID stable for the lifetime of the browser tab (window). * * Persisted in sessionStorage so that a reconnection or a page reload reuses the same ID: * the server can then recognize the rejoin and replace the stale peer instead of allocating a * new session slot. Without this, every reload leaked a slot and sessions filled up with ghost * peers (SESSION_FULL). sessionStorage is per-tab, so different tabs (or servers) still get * distinct IDs, allowing concurrent sessions. * * @returns {string} Client ID */ generateClientId(): string; } //# sourceMappingURL=CollabService.d.ts.map