/**
 * WebSocket Sync Transport
 *
 * Implements SyncTransport over WebSocket for real-time peer sync.
 * Uses Bun's native WebSocket support for both server and client.
 *
 * @module trellis/sync
 */
import type { SyncTransport, SyncMessage, SyncMessageHandler, PeerId } from './types.js';
export declare class WebSocketSyncTransport implements SyncTransport {
    private localPeerId;
    private connections;
    private knownPeers;
    private messageHandler;
    constructor(localPeerId: string);
    /**
     * Connect to a remote peer's WebSocket endpoint.
     */
    connect(peerId?: string, url?: string, name?: string): Promise<void>;
    /**
     * Accept an incoming WebSocket connection (server side).
     */
    acceptConnection(peerId: string, ws: WebSocket): void;
    send(peerId: string, message: SyncMessage): Promise<void>;
    onMessage(handler: SyncMessageHandler): void;
    peers(): PeerId[];
    /**
     * Disconnect from a peer.
     */
    disconnect(peerId?: string): Promise<void>;
    /**
     * Disconnect from all peers.
     */
    disconnectAll(): void;
    /**
     * Check if connected to a specific peer.
     */
    isConnected(peerId: string): boolean;
    getLocalPeerId(): string;
}
//# sourceMappingURL=ws-transport.d.ts.map