export type ArkmeCalendarInvalidationHint = { dateKey: string; dateStamp?: never; } | { dateStamp: number; dateKey?: never; }; type Listener = () => void; export interface CalendarInvalidation { dates?: string[]; hard: boolean; } /** Browser-local owner for coalesced, date-scoped Calendar invalidation hints. */ export declare class ArkmeCalendarInvalidationStore { private readonly observers; private hard; subscribe(listener: (event: CalendarInvalidation) => void): () => void; private readonly dateListeners; private readonly monthListeners; private readonly pendingDateKeys; private pendingAllDates; private flushScheduled; subscribeDate(dateKey: string, listener: Listener): () => void; subscribeMonth(monthKey: string, listener: Listener): () => void; publish(hint: ArkmeCalendarInvalidationHint): void; publishAll(options?: { hard?: boolean; }): void; listenerCount(): number; private scheduleFlush; private flush; } export declare const arkmeCalendarInvalidations: ArkmeCalendarInvalidationStore; export {}; //# sourceMappingURL=calendar-invalidation-store.d.ts.map