import { SyncAdapter, Change } from '../types';
export declare class WebSocketSync implements SyncAdapter {
    private ws;
    private url;
    private onReceiveCallback?;
    private onConnectedCallback?;
    private onDisconnectedCallback?;
    private reconnectAttempts;
    private maxReconnectAttempts;
    private reconnectTimeout;
    private pendingChanges;
    private isConnected;
    private reconnectTimer;
    private networkCheckInterval;
    constructor(config: {
        url: string;
    });
    private setupNetworkCheck;
    connect(): Promise<void>;
    private processPendingChanges;
    send(change: Change): Promise<boolean>;
    onConnected(callback: () => void): void;
    onDisconnected(callback: () => void): void;
    onReceive(callback: (change: Change) => void): void;
    close(): Promise<void>;
    disconnect(): Promise<void>;
    sendChange(change: Change): Promise<void>;
}
