import type { WorldReactionContext, WorldReactionContextPage } from '../world-reaction-contract.js'; import { ReactionLibraryStore } from './reaction-library.js'; import { ReactionPreviewStore } from './reaction-preview-store.js'; export type WorldReactionContextState = { status: 'loading' | 'ready' | 'error' | 'unsupported' | 'unavailable'; context?: WorldReactionContext; message?: string; }; type Prepare = (accountKey: string, refs: string[], signal: AbortSignal) => Promise; /** Batch mounted World cards. Missing server support is remembered until an explicit retry. */ export declare class WorldReactionContexts { private readonly prepare; private scope; private controller; private entries; private listeners; private revision; private timer; private reading; private unsupported; constructor(prepare?: Prepare); readonly subscribe: (listener: () => void) => () => void; readonly getSnapshot: () => number; setScope(scope?: string): void; state(scope: string, ref: string): WorldReactionContextState | undefined; watch(scope: string, ref: string): () => void; retry(scope: string, ref: string): void; unavailable(scope: string, targetId: string): void; reprepare(scope: string, targetId: string): void; markUnsupported(scope: string): void; private schedule; private flush; private publish; } export declare const worldReactionContexts: WorldReactionContexts; export declare const worldCloudReactionPreview: ReactionPreviewStore; export declare const worldLocalReactionLibrary: ReactionLibraryStore; export declare const worldReactionPreview: ReactionPreviewStore; export {}; //# sourceMappingURL=world-reactions.d.ts.map