import { type DecryptFn } from 'graph/decrypt.js';
import { type Action, type Graph } from 'graph/index.js';
import { type Keyring, type KeysetWithSecrets } from 'keyset/index.js';
import { type SyncMessage, type SyncState } from './types.js';
/**
* Receives a sync message from a peer and updates our sync state accordingly so that
* `generateMessage` can determine what information they need. Also possibly updates our graph with
* information from them.
*
* @returns A tuple `[graph, state]` containing our updated graph and our updated sync state with
* this peer.
* */
export declare const receiveMessage: (graph: Graph, prevState: SyncState, message: SyncMessage, keys: KeysetWithSecrets | Keyring, decrypt?: DecryptFn) => [Graph, SyncState];
//# sourceMappingURL=receiveMessage.d.ts.map