import type { ArkmeBotSummary, ArkmeConversationDirectoryVisibility, ArkmeSourceItem } from '../types.js'; export type ConversationVisibilityOverlay = ReadonlySet; export type ConversationVisibilityHydration = ReadonlySet; export interface ConversationVisibilityActivityEvidence { sequence: number; activityAtMillis: number; } export interface ConversationVisibilityScope { sourceRefs: string[]; botRefs: string[]; keyByHandle: ReadonlyMap; keys: ReadonlySet; } export declare function conversationSourceVisibilityKey(source: Pick): string; export declare function conversationBotVisibilityKey(bot: Pick): string; export declare function conversationVisibilityKey(kind: 'source' | 'bot', stableKey: string): string; export declare function conversationSourceActivityEvidence(source: Pick): ConversationVisibilityActivityEvidence; export declare function conversationBotActivityEvidence(bot: Pick): ConversationVisibilityActivityEvidence; export declare function conversationVisibilityActivityAdvanced(before: ConversationVisibilityActivityEvidence, current: ConversationVisibilityActivityEvidence): boolean; export declare function emptyConversationVisibilityOverlay(): ConversationVisibilityOverlay; export declare function emptyConversationVisibilityHydration(): ConversationVisibilityHydration; export declare function markConversationVisibilityScopeHydrated(current: ConversationVisibilityHydration, scope: ConversationVisibilityScope): ConversationVisibilityHydration; export declare function conversationVisibilityScope(sources: readonly ArkmeSourceItem[], bots: readonly ArkmeBotSummary[]): ConversationVisibilityScope; export declare function applyConversationVisibilityQuerySuccess(current: ConversationVisibilityOverlay, scope: ConversationVisibilityScope, result: ArkmeConversationDirectoryVisibility, protectedKeys?: ConversationVisibilityOverlay): ConversationVisibilityOverlay; export declare function applyConversationVisibilityQueryFailure(current: ConversationVisibilityOverlay, scope: ConversationVisibilityScope, protectedKeys?: ConversationVisibilityOverlay): ConversationVisibilityOverlay; export declare function dismissConversationVisibilityEntry(current: ConversationVisibilityOverlay, entryKind: 'source' | 'bot', stableKey: string): ConversationVisibilityOverlay; //# sourceMappingURL=conversation-directory-visibility-overlay.d.ts.map