import type { ArkmeSourceDirectory, ArkmeSourceItem, ArkmeEnvironment } from '../types.js'; export interface ArkmeNavigationCache { version: 1; userId: number; directory: ArkmeSourceDirectory; selectedSourceRef?: string; sources: Partial>; updatedAtMillis: number; selfTopics?: { environment: ArkmeEnvironment; complete: boolean; refreshedAtMillis: number; }; } export declare function readNavigationCache(userId: number, storage?: Storage): ArkmeNavigationCache | undefined; export declare function readLastNavigationCache(storage?: Storage): ArkmeNavigationCache | undefined; export declare function writeNavigationCache(cache: ArkmeNavigationCache, storage?: Storage): void; export declare function clearLastNavigationCache(storage?: Storage): void; /** Signed source/image references are valid only inside the Provider instance that issued them. */ export declare function reconcileNavigationProviderInstance(instanceId: string, storage?: Storage): boolean; /** Remove the success marker after current-instance projections failed to load so reconnect can retry. */ export declare function forgetNavigationProviderInstance(storage?: Storage): void; export declare function cachedSelectedSource(cache: ArkmeNavigationCache): ArkmeSourceItem | undefined; /** Rebind a cached selection to a source reference issued by the current Provider instance. */ export declare function reconcileSelectedSource(selected: ArkmeSourceItem | undefined, loaded: ArkmeSourceItem[]): ArkmeSourceItem | undefined; //# sourceMappingURL=navigation-cache.d.ts.map