import type { ArkmePrivateInteraction, ArkmeSourceItem } from '../types.js'; export interface ArkmePrivateInteractionProjection { latest: ArkmePrivateInteraction; unreadCount: number; attentionCount: number; version: string; } /** * Collapse occurrence pages into one deterministic projection per private * contact. The counts remain separate from direct-message unreadCount. */ export declare function projectPrivateInteractions(items: readonly ArkmePrivateInteraction[], version: string): ReadonlyMap; /** Apply a fresh server snapshot to the current (direct-message) directory. */ export declare function applyPrivateInteractionDirectory(sources: readonly ArkmeSourceItem[], projections: ReadonlyMap): ArkmeSourceItem[]; export declare function privateInteractionPreview(item: ArkmePrivateInteraction): string; /** Server directory rows carry complete per-contact counts, even on page one. */ export declare function mergePrivateInteractionSources(sources: readonly ArkmeSourceItem[], interactionRows: readonly ArkmeSourceItem[], excludedKeys?: ReadonlySet): ArkmeSourceItem[]; //# sourceMappingURL=private-interaction-directory.d.ts.map