import type { ArkmeOfficialNotification, ArkmeOfficialNotificationSummary } from '../official-notification-contract.js'; export interface OfficialNotificationSnapshot { scope?: string | undefined; items: ArkmeOfficialNotification[]; summary: ArkmeOfficialNotificationSummary; nextCursor: string; loading: boolean; foregroundLoading: boolean; error?: string | undefined; ready: boolean; revision: number; } type ReadPriority = 'foreground' | 'background'; export declare class OfficialNotificationStore { private snapshot; private listeners; private controller; private inflight; private generation; private pending; private users; private pages; private timer; subscribe: (fn: () => void) => () => void; getSnapshot: () => OfficialNotificationSnapshot; private publish; private stop; acquire(scope?: string): () => void; private recover; invalidate(scope?: string, priority?: ReadPriority): void; refresh(priority?: ReadPriority): Promise; more(): Promise; read(scope: string, ids?: readonly string[]): Promise; } export declare const officialNotifications: OfficialNotificationStore; export declare function useOfficialNotifications(scope?: string): OfficialNotificationSnapshot; export {}; //# sourceMappingURL=official-notification-store.d.ts.map