import type { BlobStore, CacheLike } from "./types.js"; export interface KeyMeta { source: "local" | "upstream" | "tombstone"; } /** * Manifest for tracking key sources (local vs upstream vs tombstone). * * Individual entries stored in blob for persistence. * Aggregated manifest cached as single entry for fast cross-instance reads. */ export declare class ManifestLog { private kv; private cache; private cacheKey; constructor(blobStore: BlobStore, manifestPrefix: string, cache?: CacheLike); /** * Get the source for a specific key. * Returns null if key is not in manifest (unknown). */ getKeySource(key: string): Promise; /** * Record a key as local or upstream. */ recordAdd(key: string, source: "local" | "upstream"): Promise; /** * Record a key deletion (tombstone). */ recordDelete(key: string): Promise; /** * Delete a manifest entry (for cleanup). */ remove(key: string): Promise; /** * Delete all manifest entries. */ destroy(): Promise; /** * Get all manifest entries. */ getAll(): Promise>; /** * Get manifest state with keys map. */ getManifest(): Promise<{ keys: Map; }>; /** * Load manifest from cache or blob. * Caches aggregated result for fast repeated reads. */ private loadManifest; /** * Invalidate the cached manifest. */ private invalidateCache; } //# sourceMappingURL=manifest-log.d.ts.map