/** * WebSocket Transport for SyncEngine (TRL-334) * * Provides WebSocket-based bidirectional sync transport for realtime * full-state sync. Integrates with existing SyncEngine protocol. */ import type { SyncTransport, SyncMessage, PeerId } from './types.js'; export interface WebSocketTransportOptions { /** WebSocket server URL (e.g., ws://localhost:8231/sync) */ url: string; /** Local peer identity. */ localPeerId: string; /** Reconnection delay in ms (default: 5000). */ reconnectDelay?: number; /** Maximum reconnection attempts (default: infinite). */ maxReconnectAttempts?: number; } export interface WebSocketTransportState { connected: boolean; reconnectAttempts: number; lastError?: string; } /** * WebSocket-based sync transport. * Maintains persistent connection with automatic reconnection. */ export declare class WebSocketTransport implements SyncTransport { private options; private ws; private messageHandler; private state; private reconnectTimer; constructor(opts: WebSocketTransportOptions); /** * Connect to the sync server. */ connect(): Promise; /** * Disconnect from the sync server. */ disconnect(): void; /** * Send a message to the sync server. */ send(_peerId: string, message: SyncMessage): Promise; /** * Register a handler for incoming messages. */ onMessage(handler: (message: SyncMessage) => void): void; /** * List connected peers. * Note: WebSocket transport connects to a single server, so this returns * the server as a peer if connected. */ peers(): PeerId[]; /** * Get current transport state. */ getState(): WebSocketTransportState; /** * Schedule reconnection attempt. */ private scheduleReconnect; } //# sourceMappingURL=websocket-transport.d.ts.map