import type { FolderName, OpfsKey } from './types.js'; export interface OpfsMetadataCacheEntry { fullSize: number; type: string; folderName?: string; url?: string; etag?: string; lastModified?: string; evictable?: boolean; } export interface MetadataCacheLimits { maxEntries?: number; onEvictKey?: (key: OpfsKey) => void; } export declare class MetadataCacheImpl { private readonly cache; constructor(limits?: MetadataCacheLimits); get(key: OpfsKey): OpfsMetadataCacheEntry | undefined; set(key: OpfsKey, entry: OpfsMetadataCacheEntry): void; invalidateKeys(keys: Iterable): void; invalidateEntriesByFolder(folderName: FolderName): void; getEntriesByFolder(folderName: FolderName): IterableIterator<[OpfsKey, OpfsMetadataCacheEntry]>; invalidateAll(): void; } export declare function getOrCreateMetadataCache(folderName: FolderName, limits?: MetadataCacheLimits): MetadataCacheImpl; export declare function getMetadataCache(): MetadataCacheImpl | null;