import type { ArkmeSourceItem } from '../types.js'; export interface ArkmeNotificationActivationSnapshot { revision: number; activationId?: string; source?: ArkmeSourceItem; navigationApplied: boolean; surfaceCommitted: boolean; } export declare class ArkmeNotificationActivationStore { private snapshot; private readonly listeners; readonly getSnapshot: () => ArkmeNotificationActivationSnapshot; readonly subscribe: (listener: () => void) => (() => void); publish(source: ArkmeSourceItem): ArkmeNotificationActivationSnapshot | undefined; publish(activationId: string | undefined, source: ArkmeSourceItem): ArkmeNotificationActivationSnapshot | undefined; markNavigationApplied(revision: number): boolean; markSurfaceCommitted(revision: number): boolean; /** Atomically take an activation only after both independent UI owners commit it. */ takeReady(revision: number): ArkmeNotificationActivationSnapshot | undefined; /** Explicit lifecycle cleanup compatibility; presentation owners must use the commit barrier. */ consume(revision: number): boolean; private mark; private emit; } export declare const arkmeNotificationActivation: ArkmeNotificationActivationStore; //# sourceMappingURL=notification-activation-store.d.ts.map