import type { StoredHandle, StoredFile } from '../types'; export declare class IDBStorage { private dbName; private db; private dbPromise; private maxRecentFiles; private maxCacheSize; /** Called with the records evicted by pruning, so adapters can clean up backing resources */ onFilesPruned?: (files: StoredFile[]) => void; constructor(appName: string, maxRecentFiles?: number, maxCacheSize?: number); private getDB; storeHandle(handle: FileSystemFileHandle | FileSystemDirectoryHandle, id: string, path?: string): Promise; getStoredHandles(): Promise; getHandleObject(id: string): Promise; removeHandle(id: string): Promise; clearHandles(): Promise; private pruneOldHandles; storeFile(file: StoredFile): Promise; /** * Update name/path/mimeType on an existing record without touching its * cached content. No-op (returns false) when the record does not exist. */ updateFileMetadata(id: string, updates: { name?: string; path?: string; mimeType?: string; }): Promise; storeFileDeferred(file: StoredFile): void; getStoredFile(id: string): Promise; removeFile(id: string): Promise; getStoredFiles(): Promise; clearFiles(): Promise; private pruneOldFiles; setNamedHandle(key: string, handle: FileSystemFileHandle | FileSystemDirectoryHandle): Promise; getNamedHandle(key: string): Promise<{ handle: FileSystemFileHandle | FileSystemDirectoryHandle; name: string; type: 'file' | 'directory'; } | null>; removeNamedHandle(key: string): Promise; dispose(): void; }