import { AckCommitsEvent, Commit, CommitsEvent, ErrorCode, OnRemoteEventFn, Remote, RemoteSyncInfo, SyncEvent } from '../types'; import { MemoryStore } from './MemoryStore'; export declare class MemoryRemote implements Remote { private readonly store; private readonly userId; private readonly onEvent; private readonly remoteQueue; private closed; private readonly clientStoreId; constructor(store: MemoryStore, userId: string, { lastSyncCursor, localStoreId }: RemoteSyncInfo, onEvent: OnRemoteEventFn); private handle; send(event: SyncEvent): void; private receive; protected sendInitialEvents(lastSyncCursor: string | undefined): Promise; shutdown(): Promise; fail(message: string, code: ErrorCode, reconnect?: boolean): void; protected handleAsError(code: ErrorCode): (error: Error) => void; protected addCommits(commits: readonly Commit[]): Promise>; protected broadcast(event: SyncEvent): Promise; protected getCommits(lastSyncCursor: string | undefined): AsyncIterableIterator>; }