import type { ArkmeConversationMemberItem, ArkmeConversationMemberPage, ArkmeConversationMemberPresentation, ArkmeConversationMemberCache, ArkmeSourceItem } from '../types.js'; type Source = Pick; interface LoadingOptions { page?: (sourceRef: string, cursor: string | undefined, signal: AbortSignal) => Promise; presentation?: (sourceRef: string, memberRefs: string[], signal: AbortSignal) => Promise; cached?: (sourceRef: string, signal: AbortSignal) => Promise; } export interface ConversationMembersSnapshot { items: readonly ArkmeConversationMemberItem[]; joinEvents: ArkmeConversationMemberCache['joinEvents']; selfRole: ArkmeConversationMemberItem['role']; ready: boolean; complete: boolean; cached: boolean; refreshing: boolean; error: string | undefined; } export declare const EMPTY_CONVERSATION_MEMBERS: ConversationMembersSnapshot; /** One account/runtime-scoped member directory; React only observes its snapshots. */ export declare class ConversationMembersStore { private readonly loading; private readonly now; private account; private entries; private foreground; constructor(loading?: LoadingOptions, now?: () => number); activateAccount(account: string | undefined): void; reset(): void; get(account: string | undefined, source: Source | undefined): ConversationMembersSnapshot; subscribe(account: string, source: Source, listener: () => void): () => void; ensure(account: string, source: Source, force?: boolean): Promise; private loadPages; private applyUpdate; invalidate(account: string | undefined, source: Source): void; patchSelfNickname(account: string | undefined, source: Source, memberRef: string, nickname: string): void; remove(account: string | undefined, source: Source, memberRef: string): void; clear(account: string | undefined, source: Source): void; refreshActive(): void; setForeground(foreground: boolean): void; private schedule; private publish; private cancel; private evict; } export declare const arkmeConversationMembers: ConversationMembersStore; export {}; //# sourceMappingURL=conversation-members-store.d.ts.map