import type { ArkmeBotSummary, ArkmeGroupBotCandidate } from '../types.js'; export interface MentionBotData { group: readonly ArkmeGroupBotCandidate[]; private: readonly ArkmeBotSummary[]; } export interface MentionBotSnapshot extends MentionBotData { ready: boolean; loading: boolean; error: boolean; } export declare const EMPTY_MENTION_BOTS: MentionBotSnapshot; /** Renderer memory only. Account/environment and conversation are part of every key. */ export declare class MentionBotCache { private readonly now; private readonly entries; private readonly listeners; private revision; constructor(now?: () => number); readonly getRevision: () => number; readonly subscribe: (listener: () => void) => () => void; get(key: string | undefined): MentionBotSnapshot; clear(): void; invalidate(key: string, removedBotRef?: string): void; load(key: string, fetch: () => Promise, force?: boolean): Promise; private publish; } export declare const mentionBotCache: MentionBotCache; export declare function mentionBotCacheKey(account: string | undefined, kind: string | undefined, sourceKey: string | undefined): string | undefined; //# sourceMappingURL=mention-bot-cache.d.ts.map